DevOps with SAP Business Technology Platform
In my previous blog I have covered that the SAP cloud products are getting popular and companies moving towards DevOps culture. SAP Solution Manager 7.2 is a tool that meets best practice of Agile which would help to get started with practices for DevOps. In this article I will share my understanding how SAP BTP offers a rich set of Dev-Ops related services supporting the development and operations of cloud solutions. This article will be a helpful insight for anyone planning to do a product development in SAP BTP,
When it comes to development in cloud, it’s about Continuous Business Development which is driven by DevOps team.
SAP BTP provides the tools and guidance that enable efficient development and operations
Multiple developments projects can be done on SAP BTP, we should ensure all projects are tracked and documented properly.
Plan & Setup
It’s all starts with Plan & setup phase.
- On-boarding of the team and setup of SAP BTP platform happens in this phase.
There are 2 types of teams
- Cloud Development Team
- Cloud Administrator / Center of Excellence
Cloud Development Team – build and operate the application. They follow DevOps approach. They will be responsible to maintain the application after go-live.
Cloud Administrator – setups and maintain cloud landscape. They ensure to provide stable and secure cloud landscape. They support the development team by providing required guidance.
- Setting up Account Model
The Sub Account Model are usually created according to organizational setup and different use cases. SAP recommends creating at least three subaccounts for staged development.
Development – development purposes and testing individual increments in the cloud
Quality – Integration testing and production like environment prior to public go-live. In some highly Dev-Ops driven companies this account is not created, there will be only production without quality as testing occurs in development.
Production – for Business application which are public.
When multiple development projects are running then there would be multiple sub account for DEV and consolidated subaccount for TEST and PROD.
This account model is highly followed for DevOps culture where the focus will be on Continuous Business Development – Continuous Integration / Continuous Delivery
- Access to Platform Users
The Cloud development team is granted access to DEV subaccounts and spaces. All developers will be provided with Developer & Application User Admin roles, which will enable them to develop, assign roles and test the application functionalities.
The Cloud Administrator team would have access to TEST and PROD subaccounts and spaces.
- Plan for Failover
Failover solution plan is to ensure high availability of applications running in public i.e PROD subaccounts. Failover can happen due to unexpected downtime.
The application is deployed in two different data centers in parallel. When active data center experiences downtime, the traffic is redirected to the secondary one. Both applications in primary and secondary data centers are kept in sync with the help of continuous integration and delivery pipeline.
In Kyma Environment the component Service of Kubernetes replicate application to another node avoid downtime. Service component acts like load balancer which helps to access App from node which is available.
Develop & Test
The various tools and environment available for development in SAP BTP is covered in Full Stack Development offered by SAP Business Technology Platform
Continuous Integration and Delivery (CI/CD)
CIDS is a service in SAP BTP which has functionality to configure and run predefined continuous integration and delivery pipelines that test, build and deploy developments like SAP UI5/Fiori Application. SAPUI5 supports QUnit testing.
In CIDS setup connections for GitHub repository, Environment, Cloud connector are done. After setup of CIDS is complete the pipelines are configured in GitHub, Development Tool so that the automation of pipeline execution is enabled once these setups are completed.
Deliver & Change
After the development of the application is complete, it must be deployed and delivered to TEST and PROD environments. By deploying the application in two different data center failover can be avoided.
The applications can be deployed from one subaccount to another using CI/CD approach with the pipelines or implementing change and transport (CTS+).
Monitor & Operate
Once the application is deployed in PROD and running in public, following options are available to monitor: –
- Integration Monitoring
- Message flow monitoring
- User Experience Monitoring
- Availability, connection performance, users who access application at different location
- Trace Analysis
- Performance of application, trace inbound and outbound requests
- Exception Management
- Error handling
The SAP BTP enables an integrated DevOps management, where it enables to access the landscape for analysis and management. Such enriched offerings come together enable to identify areas that might need improvement.