Developing Resilient Microservices on SAP Cloud Platform using Open Source Components

Decompose applications into microservices to improve modularity, development, testing, and resistance to failures

Overview

Applications that are developed to run on the SAP Cloud Platform Cloud Foundry Environment can be built as microservices based applications. Each microservice contributes certain functionality to the overall application and interacts with other microservices as well as external services. Improve overall availability of an application by implementing resilient patterns into your microservices based applications.

You can implement various resilience patterns to achieve different levels of resilience based on your needs.

  • Unit Isolation –split systems into parts and isolate the parts against each other. The entire system must never fail.
  • Shed Load – Implement a rate limiter, which sheds any extra load an application can’t handle, to ensure than an application is resilient to spikes in the number of requests. any request that is processed by an application consumes resources like CPU, memory, IO, and so on. If requests come at a rate that exceeds an application’s available resources, the app may become unresponsive, behave inconsistently, or crash.
  • Retry – enable an application to handle transient failures when it tries to connect to a service or network resource, by transparently retrying a failed operation.
  • Timeout – wait for a predetermined length of time and take alternative action if that time is exceeded.
  • Circuit Breaker – when connecting to a remote service or resource, handle faults that might take a variable amount of time to recover from.
  • Bounded Queue – limit request queue sizes in front of heavily used resources.

The solution diagram above illustrates a basic architectural pattern for developing resilient microservices on SAP Cloud Platform using open source component.

Download the technical guide 
 

Bill of Material - SAP Cloud Platform components for licensing considerations

Please note that the following Bill of Material is for reference purposes only. The following table is only an example of the SAP Cloud Platform services and components required for this use case. Please consult your SAP Account Executive regarding your specific licensing needs.  

SAP Cloud Platform Services

Function

Licensing metrics

Example

RabbitMQ on SAP Cloud Platform

Access to open source message broker RabbitMQ for asynchronous communication between applications

3 Nodes: 1 Master and 2 Slaves

X-Small: 1 CPU cores, 1 GB Memory, 10 GB Disk Space

PostgreSQL

Relational database for always-on, web applications. Application persistence for a transactional system

2 Nodes: 1 master and 1 slave

X-Small: 2 CPU cores, 4 GB memory, 200 GB Disk Space, 110 Max connections

SAP Cloud Platform Application Runtime

Operate polyglot cloud applications in Cloud Foundry on SAP Cloud Platform

GB Memory

Up to 100

Customers can use the SAP Cloud Platform pricing estimator to calculate the required investment for a particular project. Scale up or down on services as required.

Members and partners of SAP PartnerEdge* can evaluate the development of an application for this use case – most development licensing is covered by the packs offered by SAP’s partner licensing services. Click here for details.

*excluding open ecosystem basic.