With its long history, it is natural for SAP customers to use traditional versions of its enterprise products. This means developers continue to work with and build monolithic programs. They are unable to leverage the scalability delivered by cloud-based applications. But there is a lifeline now for the SAP ecosystem that wants to drive the benefits of scalability. The lifeline comes in the form of SAP Cloud Platform (SCP). With the introduction of Cloud Foundry in SCP (open source, industry-standard), this Platforms-as-a-Service (PaaS) offering can be used for developing and hosting applications in private and public cloud environments. This is significant as a growing number of cloud developers so far have been addressing the challenge of scalability using other platforms such as Amazon Web Services, Google Cloud Platform, Microsoft Azure, etc. Now, the SAP stack itself allows them to conveniently develop integrated cloud-native applications.
SAP’s Cloud Application Programming Model makes it possible to break down business applications into smaller, logical units that can be scaled up or down—which was earlier not possible in SAP. The new capabilities are game-changing and makes the development even more robust. Now it is possible to develop multi-tenant applications that can scale effortlessly and dynamically. Additionally, it offers a consistent end-to-end programming model that includes languages, libraries and APIs tailored for full-stack development on SAP Cloud Platform.
Why use the Cloud Application Programming Model?
From the customer adoption perspective, there are two major patterns that are emerging. First, when enterprises with monolithic ERP environments want to extend the features and functions available to them, they build in cloud and plug the application into their ERP. This is especially pronounced in enterprises that have existing SAP SaaS products like S/4HANA Cloud, SuccessFactors and Concur.
As an example, an Asian company creating printed communication products discovered that its out-of-the-box SAP did not support pricing flexibility. It, therefore, went ahead and leveraged the SAP Cloud Platform for development. Using the cloud-native application, the company is now able to update product pricing and marketing literature and produce PDF, CSV or Excel output for distribution. This has provided the company with business agility and shorter time-to-market that are critical to staying competitive.
Second, when enterprises want to innovate using new technologies like Machine Learning and IoT, they use a cloud environment and connect back to ERP.
Look at the American utility company that is innovating its gas distribution leveraging the SAP Cloud Platform for development. It is now safer and more efficient. The utility did this by leveraging smart technologies like IoT to capture data from its pipeline network (pipe thickness, weather conditions, corrosion, etc.) and Machine Learning, to intelligently set threshold values for generating maintenance alerts and decision support.
On target with faultless cloud development
To achieve the kind of flexibility and modernization that the print company and the utility have achieved, it helps to delve deeper and understand the possibilities in SAP. In general, there are 12 factors that define a cloud native appi:
I. Codebase: One codebase tracked in revision control, many deploys
II. Dependencies: Explicitly declare and isolate dependencies
III. Config: Store config in the environment
IV. Backing services: Treat backing services as attached resources
V. Build, release, run: Strictly separate build and run stages
VI. Processes: Execute the app as one or more stateless processes
VII. Port binding: Export services via port binding
VIII. Concurrency: Scale out via the process model
IX. Disposability: Maximize robustness with fast startup and graceful shutdown
X. Dev/prod parity: Keep development, staging, and production as similar as possible
XI. Logs: Treat logs as event streams
XII. Admin processes: Run admin/management tasks as one-off processes
There are a few critical factors that score over traditional ERP. These include No. I, VI and VIII (above) — “One codebase tracked in revision control, many deploys”, “execute the app as one or more stateless processes” and “scale out via the process model”. In other words, traditional ERP software is neither multi-tenant nor based on microservices architecture; a lack of the latter means that scaling per feature is not possible. However, with SAP Cloud Application Programming Modelii, developers can now deliver end-to-end cloud-native applications in a simple and efficient way.
Why risk failure?
An important component of the SAP Cloud Application Programming Model is Core Data Services (CDS) used to build data models and service definitions on a conceptual level. CDS is at the center of putting scalability into the hands of developers.
The models and definitions built using CDS are used for data, service and UI layer inputs. These inputs get translated to native artifacts such as SQL database schemas and interpreted to automatically serve requests at runtime. This enables scalability. CDS views are part of SAP’s new programming modeliii.
Enterprises that do not adopt cloud-native applications for SAP risk the failure of the entire application since they are unable to scale the application in parts. This is an important reason for enterprises to quickly embark on using the new cloud-native development capabilities around SAP.
iiiThe core intent is to push the logic from the application server to the client side and the database