27
Professional Development in ServiceNow Bosshard & Partner Tech Talk - 12. März 2021

Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

Professional Development in ServiceNow

Bosshard & Partner Tech Talk - 12. März 2021

Page 2: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

Customer & Platform Lifecycle

Vanilla

Apps & Changes

Plattform Upgrade

Back to the box

2

Use of OOB features and plugins

+ Customer enhancements and customizations on the platform

+ ServiceNow release cycle introduces new features and plugins

- Adapt customizations to make use of the new platform features

Page 3: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

Customer & Platform Changes over Time

3

0

10

20

30

40

50

60

0 2 4 6 8 10 12 14

ServiceNow Customer Ideal

• Customers not trying to stay close to the box will divert over time and have limited access to new features

• Important to stay as close to out of the box as possible from day 1

• Not wrong to change and enhance the platform but requires strict rules

• Track customizations and plan for platform upgrade

Page 4: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

Software Development Lifecycle

Req. Analyse Design Impl. Test Review Deploy Maint.

Page 5: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

Classic Implementation

Classic Way

Req. Analyse Design Impl. Test Review Deploy Maint.

Source Change Code Test Cases UAT

Cost estimation

Page 6: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

ServiceNow Implementation

ServiceNow Way

Req. Analyse Design Impl. Test Review Deploy Maint.

Change

Costs

Page 7: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

Today ServiceNow Development Challenges

Planning

What is the baseline to plan and design customizations and enhancements?

Review

How to review structural changes on the platform from update set XML?

Quality Audit

Are changes implemented and deployed as originally designed?

Costs

What do I get and are the cost estimates correct?

Page 8: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

Professional Tools & Processes

Req. Analyse Design Impl. Test Review Deploy Maint.

ERM4SN

Establish Quality Gates

CICD Server

Page 9: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

ERM4SN

Page 10: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

ERM4SN Features Overview

• Baseline Class & ER Diagram• Assist to understand the object

structure

• Support the design phase of enhancements

• Code Review of Structural Changes• Capture changes in release sets

• Track and review changes over releases

• Schema Health• Customization & configuration

dashboard

• Indicate modified tables and attributes

• Verify Changes and Costs• Validate modifications across multiple

environment

• Identify implementation faults on early stage

Page 11: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

Planning

Baseline Class & ER Diagram• Help to understand the object

structure

• Support the design phase of enhancements

• Are key for larger applications like Config Management (CMDB)

Page 12: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

Review

Structural Changes• Capture changes in release sets

• Track and review changes over releases

• Never miss a change on an attribute

Page 13: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

Health

Schema Configuration• Customization & configuration

dashboard

• Indicate modified tables and attributes

Page 14: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

Quality

Verify Changes• Validate modifications across

multiple environment

• Ensure design consistency

• Identify implementation faults on early stage

Page 15: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

Customer Benefits

Be professional• Plan, design and verify in one place

Be fast• Quicker access to change relevant information

Be safe• Reduce platform maintenance and upgrade costs

• Bring transparency into ServiceNow development and cost estimates

Page 16: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

ERM4SNhttps://demo.erm4sn.com

Try ERM4SN for 30 days, for free

https://www.erm4sn.com/free-trial

Page 17: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

CI/CD Introduction

?

Feature branch

Create

Unit Tests

Push to

origin

Run Tests

Merge to

Master

Master

Deploy

Raise Pull

Request

Page 18: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

CI/CD Process Overview with ServiceNow

DEV

CI/CD Server

Build Tool

PROD TEST

Refresh “Master”Extract update set

to branch

Build (doc, quality, test)

on DEV

Push branch to origin

Raise pull request

Deliver to PRODDeploy / Test on

TEST

Export Update set

Run ATF

Reject

Approve

ATF

Close update set

Run CI/CD pipeline

Release TestUAT

All files

Peer-Review

Run ATF

Page 19: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

Benefits of CICD

• Transparency and traceability of development process• Add version control to update-set deployment

• Automation aids fast release of new features

• Improved quality at relatively lower costs• enable easy code review

• run and rerun test cases (ATF, Tosca)

• Decoupled CICD process enabling easy switch off to return to OOB

• Enable people to adopt DevOps

Page 20: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

CICD Server Features

• Emulate local developer

• Set up Git repository & webhooks automatically

• Extract update set XML as human-readable files (js, html, css, json)

• Pre-flight deployment to test environment to resolve conflicts

• Embedded build on source environment

• Run ATF suites & tests with headless test runner

• Trigger pull request on build run

• Git diff-based deployment to target (merged update set)

Page 21: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

Open Source and freely available.

To get your own CICD Server, clone example projecthttps://github.com/bmoers/sn-cicd-example

The CICD—Integration Applicationhttps://github.com/bmoers/sn-cicd-integration

To contribute to project, fork GIT Projecthttps://github.com/bmoers/sn-cicd

Demo Videohttps://www.youtube.com/watch?v=u5I-fxvMcX4

CICD Server—Source Code

© Hulatocat by Haley Carroll

Page 22: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

Key takeaways

Design & plan changes properly

Monitor customization

level

In the long run, quality is crucial

Establish code review process

No change without ATF test

No change in Global

Page 23: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

Thank You

.. -. / -.-. --- -.. . / .-- . / - .-. ..- ... -

Page 24: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

As a ServiceNow Customer, you want to …

24

… Know how the ServiceNow way of things works

… Understand the benefits and risks of changes from the first day on

… Get a deep understanding how the platform works and ensure that all design decisions and implementations are correct

… Ensure the quality of changes is high and follows best practices

… Avoid making irreversible mistakes

… Ensure that Investments in the platform and enhancements are sustainable

Page 25: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

Today ServiceNow Development Challenges

Planning / Design• What is best practice?

• How is a similar application structured and implemented?

• What features brings ServiceNow out of the box?

• How does the OOB CMDB model look like?

• Does a CI already exist with a similar name?

• How are tables related to each other?

• How does the hierarchy of a table look like?

• What siblings does a table have?

• Is there already an existing field?

Quality / Review• How close are we out of the box?

• Why was there a new CI class / table introduced?

• Was a change implemented as designed?

• What table or filed has changed?

• Who was in charge of a change?

• Are environments in sync?

Page 26: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

Requirements to run CICD on ServiceNow Development

• Everything must be in code• no manual tasks• all data loads• system configuration changes• data sources

• Dynamic Configuration• use system name (host name) in system properties

• Test cases must be in place• ATF or external test tool

• Grouped in Application (scoped or global)• build against “global” will just not make an sense

Page 27: Professional Development in ServiceNow · 2021. 3. 16. · CI/CD Process Overview with ServiceNow DEV CI/CD Server Build Tool PROD TEST Refresh “Master” Extract update set to

Tech Stack

• Jira• Plan Releases• Link Jira Task to GIT Branch / Update set

• Bitbucket / GitLab / GitHub• GIT Repository• Pull-Request web hook to CICD Server

• Bamboo / GitHub Actions• CICD Pipeline Execution• Run additional stages like Tosca test

automation• Deploy / Deliver Update set

• CI/CD Server• Dockerized NodeJs Application

• Express.js, Socket.io

• Gulp for embedded Build• EsLint, JsDoc3, Gulp-Git

• Mocha for embedded Testing• ATF Mocha wrapper / ATF REST API in

ServiceNow• Headless Puppeteer ATF test runner

(Chrome)

• CICD Integration• Scoped application in ServiceNow