Change management in hybrid landscapes
-
Upload
chris-kernaghan -
Category
Technology
-
view
258 -
download
1
Transcript of Change management in hybrid landscapes
Change Management in Hybrid LandscapesChris Kernaghan
Principal Consultant
2
What are Hybrid Landscapes
• Multiple Location On Premise and Cloud Hosted and Cloud
• Multiple Stack ABAP and HCP ABAP and SaaS
• Mutliple Technology ABAP and BI ABAP and JAVA (PaaS) ABAP and SaaS
3
The Challenge to SAP System Owners
• Multiple application and development platforms
• Release cycles not aligned with the business
• Landscape complexity
• Data quality issues
• Incomplete testing
• Competition
4
Why do we have Change Management
ITIL DefinitionThe goal of the change management process is to ensure that standardized methods and procedures are used for efficient and prompt handling of all changes, in order to minimize the impact of change-related incidents upon service quality, and consequently improve the day-to-day operations of the organization• Auditing and compliance
• Legal requirement to record changes made and by whom• Record the life cycle of a system
• Ability to map the functionality/implementation of a system from cradle to grave• Provide consistency
• Deploying changes the same way, for example using automation
• Reviewing change and measuring against standards• Increase stability
• Rejecting changes which have insufficient testing evidence• Improve practice
• Measuring success and failure of change requests and implementations
5
Is current Change Management going to cope• There are lots of environment management methodologies
• DevOps
• Lean
• Agile
• ITIL• No-One likes change management – but they all think it is necessary
• Developers - Stifle innovation
• Operations - Disrupt operations and never handed over properly
• Business – Take way too long to deliver anything
• Users – Rarely deliver expected outcomes
6
Why does traditional SAP Change take so long
• Inter-connected modules
• Multiple partners/stakeholders
• Agreeing downtime
• Manual testing
• Unit Testing – often incomplete/bad data
• Integration Testing – often not enough people or environments
• UAT – often not a priority item
• Compliance and Auditing
7
Typical SAP Release cycle (Traditional)
Release 1
Month 1 Month 2 Month 3
Hypercare
UAT Testing
Development
Refresh Pre-Prod
Regression Testing
Go Live
HardFreeze
Move to QAS
Unit Testing
Integration Testing
SoftFreeze
No Newentries
Hybrid Release cycle
8
Month 1 Month 2 Month 3
Hyper care
UAT Testing
Refresh Pre-Prod
Regression TestingDevelopment Unit Testing Move to QAS Integration
TestingHyper care
UAT Testing
Refresh Pre-Prod
Regression TestingDevelopment Unit Testing Move to QAS Integration
Testing
Hypercare
Go Live
OP HardFreeze
OP SoftFreeze
Code deploy
9
Continuous movement
• Continuous Integration is a development practice that requires developers to integrate code into a shared
repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early.
• Continuous Delivery is a series of practices designed to ensure that code can be rapidly and safely
deployed to production by delivering every change to a production-like environment and ensuring business applications and services function as expected through rigorous automated testing.
• Continuous Deployment is the next step of continuous delivery: Every change that passes the automated tests
is deployed to production automatically. Continuous deployment should be the goal of most companies that are not constrained by regulatory or other requirements.
10
Continuous Pipelines
Write code
Write code
Unit test
Unit Test
Transport to QAS
Transport to QAS
Integration Tests
Application Acceptance
Tests
UAT Tests
Deploy to PRD
Deploy to PRD
Post Deploy Tests
Write code Unit Test Transport to QAS
Application Acceptance
Tests
Deploy to PRD
Post Deploy Tests
ManualStep
AutomatedStep
Automated Process
Manual Process
Non-Automated pipeline
Continuous Delivery pipeline
Continuous Deployment pipeline
11
Traditional SAP landscape
OpentextWindows 2012SQL Server 2012
GRC Windows 2012SQL Server 2012
ReportingAd-hoc reportingusing Live office & web Intelligence BObj
General LedgerPayrollControllingAP/AR
Archiving
Data servicesExtractTransformLoad (ETL)
Integration engine
UserPresentation layer
SAP PI
SolutionMgr.
BW 7.4Windows 2012
PI 7.4Windows 2012SQL Server 2012
NW Portal 7.4Windows 2012SQL Server 2012
Business Objects 4 & Data ServicesWindows 2012SQL Server 2012
Business object explorerDashboard and Web intelligence
TREX 7.10Windows 2012
Solution Manager 7.1 SPS 9Windows 2012SQL Server 2012
Business Objects 4.1Windows 2012SQL Server 2012
SAP ECC 6 EhP 7 Windows 2012SQL Server 2012
SAP Portal
BOdsBW on HANA
BObj
OpenText
TREX
Compliance Risk identification/management
BW
GRC
ECC
MDM
NW 7.4 ABAP MDMWindows 2012SQL Server 2012SAP
Web Dispatcher
NW 7.4Windows 2012
NW CE
NW CE 7.2Windows 2012SQL Server 2012
HP Quality Centre
NW 7.4Windows 2012SQL Server 2012Centralised
Testing and Defect management
SUP Relay ServerReverse Proxy
SAP SUP
Sybase Unwired Platform 2.3Windows 2012SQL Server 2012
DMZ
12
Hybrid Architecture
AWS
SuccessFactors
Ariba
SAPHanaCloud
Platform
S4 Landscape CustomerDMZ
HANADB/CI
ApplicationServer(s)
Gateway/FioriServer
SLT Server
PIServer
User
Internal Network
Other SAPsystems
Non-SAP systems
SAP Cloud Connector
SAP DataServices
B.ObjApp tier
B.ObjDatabase
Hadoop Master
HadoopNode1
HadoopNode2
HadoopNode3
S3 Storage
PaaSDev
Support
13
Change Management Technologies
• SAP CTS+
• A change management system from SAP to be envied
• Business Objects Promotion Management
• A rarely used tool
• SAP HANA Transports
• A transport mechanism which is not SAP Dependent
• SAP NWDI (Prior to CTS+)
• A horrific implementation which was usually underspeced
• PaaS Platforms – SAP HCP
• Lots of new an exciting tools and processes
14
Hybrid Architecture with Support Systems
Non-SAP Development Support
GitHub
SuccessFactors
Ariba
SAPHanaCloud
Platform
S4 Landscape CustomerDMZ
HANADB/CI
ApplicationServer(s)
Gateway/FioriServer
PIServer
User
Jenkins
SAP Cloud Connector
SAP DataServices
B.ObjApp tier
B.ObjDatabase
SeleniumWeb driver
CucumberChef/Puppet
15
Example process flow for HCP developments
GitHub
SAPHanaCloud
PlatformS4 Landscape
CustomerDMZ
HANADB/CI
InfrastructureConfig Manager
Gateway/FioriServer
Developer
SAP Cloud Connector
Jenkins
Git Repo
1
2Cucumber
Build Artifacts
User
ApplicationServer
3
4
3
5
6
6
16
Infrastructure Management
Most infrastructure can be managed via either a Management Console or an API
How to manage Infrastructure which is often outside formal control or uses technology which falls outside the experience of your staff
Old World• Plan and document each
server • Manually build the
Application stack• Manually monitor and
check the landscape• Implement a change
process to reduce changes• Deal with issues reactively
New World• Plan and document each
server • Define the server in code
and deploy for automated build
• Server automatically integrated into monitoring framework during build
• Configuration management software monitors configuration against build scripts
• Automated Notification of violations/issues
17
Infrastructure as Code examples
Amazon Cloud Formation script
Chef Kernel replacement example
Puppet configuration check
18
Code ManagementOld ABAP/JAVA World• Single Code line for each
application• Standard editor • Automated build/compile
process upon commit• Single code repository• Limited sharing of code• Abstraction of change making it
difficult to see objects in change• Difficult to merge to trunk
across different environments
New ABAP/JAVA/HCP World• External repositories (Github)• Multiple editors – SE80, WebIDE,
Eclipse• Automated build processes• Increased code sharing capability• Requirement for additional tools to
provide more complete processes• New tools to SAP ecosystem• Multiple code lines and applications
to be managed – object locking• Merge to trunk can be a nightmare
In today’s world of multiple SAP environments, a change and release tools should be considered. The ability to inspect changes and evaluate for pre-requisites, version conflicts and limited testing is invaluable with project timelines.
19
Build Management and Automated testing
Old ABAP/JAVA World
• Automated build process (Activation/NWDI)
• Single toolset to fit all • 3rd Party automated testing –
rarely used• Configurable deployment –
rarely used• Single stream actions• Abstraction of change making it
difficult to see objects in change• Configurable alerting of steps –
rarely used
New ABAP/JAVA/HCP World• OpenSource web testing frameworks
available• Need to build an integrated
deployment process• Multiple stream actions• Multiple toolsets• Easy to see object level changes with
right tools• Configurable alerts used heavily • Automated deployment used heavily
Hybrid Release cycle
20
Month 1 Month 2 Month 3
Hyper care
UAT Testing
Refresh Pre-Prod
Regression TestingDevelopment Unit Testing Move to QAS Integration
TestingHyper care
UAT Testing
Refresh Pre-Prod
Regression TestingDevelopment Unit Testing Move to QAS Integration
Testing
Hypercare
Go Live
OP HardFreeze
OP SoftFreeze
Code deploy
21
The art of the possible
• Everything as Code
• Software defined (SD) networks
• SD Storage
• SD Servers and OS configuration• Ability to have two different cadences of change
• Multiple code deploys for applications with single SAP Releases
• Use of configuration management tools to keep landscapes in sync and monitor them
• Faster development of discrete applications
• Higher degrees of automation increases velocity
• Limiting development to standard exposed On-Premise functions enables faster testing
22
Conclusion – Call to action
• Leverage your existing digital resources internally to learn about how to do this type of development
• Do not throw out your existing processes – enhance them
• Trust your developers • Share code and experiences with peer groups• Introduce Peer Review to your change process• Implement higher degrees of automation to your
processes – you don’t need really expensive license heavy tools in an UI5/Fiori/Dynpro/HTMGui world