When talking about the value of cloud the conversation has long shifted from cost reduction (plus moving from capital to operational expenses) to business agility. In order to gain or keep a step ahead of the competition it’s vital for companies large and small to be able to quickly roll out new and innovative solutions. As such, unprecedented time-to-market and inherent scaling capabilities are the key strengths associated with cloud these days and within that context the topic that gets the most attention these days is microservices.
To those not yet familiar with the term or its general meaning I’d recommend reading the correspondent document written by James Lewis and Martin Fowler: Microservices. From a technical point of view the main idea is to break down large(r) software systems into smaller autonomous services that are loosely-coupled and which communicate with each other using remote protocols (in contrast to local in-memory invocation). It’s the opposite of a monolithic architecture, which has the tendency to become so complex over time that one can no longer rapidly make changes or develop new features without the risk of unintentionally breaking individual parts or even the whole system altogether!
While the whole notion of Microservices is independent from a specific technology by design (!!!), it is easy to spot some shared ideas and concepts with their close kin – SaaS. In this context, the concept of a 12-factor app has become a widely accepted stereotype and architectural guideline for cloud applications and both stress the importance of a respective organisational setup (team owns the entire life-cycle from idea to operation) and DevOps (incl. continuous delivery).
It is easy to see how Microservices and Platform-as-a-Service (PaaS) go hand-in-hand and some go even further calling “cloud the natural habitant for Microservcies” (Reference: Stefan Tilkov, InnoQ). Consequently, I was intrigued by the idea to demonstrate how-to develop Microservices on the SAP HANA Cloud Platform during this year’s SAP TechEd.
The corresponding source code is available at Github as the new master branch (2.x) of the Enterprise Granny sample application:https://github.com/SAP/cloud-enterprise-granny
In part II of this blog post mini series I’ll elaborate on the basic architecture of the Granny application and why I believe it’s a good blueprint for microservices – check it out: Microservices on HCP – Part II
For all those interested to dig deeper … the Enterprise Granny series will continue to highlight and discuss key aspects mentioned in the presentation and even go beyond these topics. So, if that’s your cup of tea make sure to subscribe to the repo to get notified of changes!
Happy coding everyone!
For those interested in the topic and planning to attend SAP TechEd this year – please check-out session “DEV203 – Developing Cloud-Native Apps on SAP HANA Cloud Platform” where we’ll continue the conversatio