Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
Professional Development in ServiceNow
Bosshard & Partner Tech Talk - 12. März 2021
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
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
Software Development Lifecycle
Req. Analyse Design Impl. Test Review Deploy Maint.
Classic Implementation
Classic Way
Req. Analyse Design Impl. Test Review Deploy Maint.
Source Change Code Test Cases UAT
Cost estimation
ServiceNow Implementation
ServiceNow Way
Req. Analyse Design Impl. Test Review Deploy Maint.
Change
Costs
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?
Professional Tools & Processes
Req. Analyse Design Impl. Test Review Deploy Maint.
ERM4SN
Establish Quality Gates
CICD Server
ERM4SN
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
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)
Review
Structural Changes• Capture changes in release sets
• Track and review changes over releases
• Never miss a change on an attribute
Health
Schema Configuration• Customization & configuration
dashboard
• Indicate modified tables and attributes
Quality
Verify Changes• Validate modifications across
multiple environment
• Ensure design consistency
• Identify implementation faults on early stage
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
ERM4SNhttps://demo.erm4sn.com
Try ERM4SN for 30 days, for free
https://www.erm4sn.com/free-trial
CI/CD Introduction
✓
❌
❌
?
✓
Feature branch
Create
Unit Tests
Push to
origin
Run Tests
Merge to
Master
Master
Deploy
Raise Pull
Request
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
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
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)
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
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
Thank You
.. -. / -.-. --- -.. . / .-- . / - .-. ..- ... -
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
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?
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
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