Digital platform: Journey from Monolithic to Microservices, Server to serverless

Mandar Marulkar, CIO, KPIT Technologies | Monday, 09 October 2017, 06:15 IST

Whichever way you define it, the term “server-less” is actually a misnomer. The servers are not being replaced – We continue to use servers involved in running our app; it’s just that we’re not managing these servers (our cloud provider takes care of them). Serverless computing al­lows us to build and run applications and services with­out thinking about servers. Serverless applications don't require us to provision, scale, and manage any servers like typically in the IaaS. We can build them for virtually for any type of application or backend service, and every­thing required to run and scale the application with high availability is handled by the provider.

In that sense the focus of the software developer becomes the app at hand rather than the infrastructure that is needed to deploy and run that app. I believe this is a welcome improvement as it allows the energies and efforts of the developer remain focused on his/her own competencies. Key benefits are that there is no need to provision or maintain any servers. There is no software or runtime to install, maintain, or administer. Applica­tions can be scaled automatically or by adjusting its ca­pacity through toggling the units of consumption (e.g. throughput, memory) rather than units of individual servers. Serverless applications have built-in availabil­ity and fault tolerance. We don't need to architect for these capabilities since the services running the appli­cation provide them by default and most important we don't have to pay for idle capacity. There is no need to pre or over-provision capacity for things like compute and storage.

Your question, about whether this is a step towards pure development, well I have my doubts. What is ‘Pure development’ is a relative term. There are languages like Angular JS and R that inherently don’t set any infra pa­rameters so are they more pure than a Java or C++? My belief is that going Serverless makes economic sense that is the most influential lever in choosing it in the enter­prise application portfolio.

Microservices are fast becoming the architecture pat­tern of choice for most enterprises. We are amongst the early adopters of this paradigm and began our shift to this form of architecture two years back. The journey be­gan by choosing the right PaaS solution (Pivotal Cloud Foundry)and we have never looked back after that. Our Smart Enterprise platform that powers our Intelligent ERP and Smart Campus platforms. The points which influenced our choice of microservice architecture were - Faster and simpler deployments and rollbacks, ability to have multiple parallel deliveries (by different teams) and the resultant predictability in the overall availability of functionality. I believe that Microservices cannot be seen in isolation, what is driving up the adoption is a combination of the following factors – evolution of PaaS, autonomous teams, Continuous Delivery and overall push for agile business processes. Every service must be small enough to be handled by a single team. This will help reap the benefits like selective scaling, high resilience against fail­ure and reduction in risks by way of smaller yet incremental changes being brought in. I believe all these benefits can be reaped if architected right!

Technologies like AWS Lambada or Google Computes etc. don’t di­rectly influence the microservice adoption, they rather act as catalysts. At KPIT we are using the on prem­ise version of Cloud Foundry and are able to reap benefits that micros­ervices have to offer. However, we have been using Lambada for quite a few scenarios and have also explore­dAzure functions to demonstrate quick design turn arounds for new ideas. In the moment analytics, per­sona and context based content and stream based analysis of data are the areas where we at KPIT are at the forefront. We have been early adop­ters in many of these technologies and are setting the benchmark as to what can be achieved using the digi­tal technologies. We see API market place becoming mainstream soon and on the IoT front too, the overall IoT platform capabilities are expect­ed to improve by leaps and bounds. I personally feel that in a couple of years the IoT platforms will become as omnipresent as the operating sys­tems are today.

KPIT’s Journey through Monolithic to Microservices

As mentioned earlier, we took the leap towards microservices architec­ture two years back. It began with the choice of the right PaaS i.e. Cloud Foundry. We then set about creating our digital platform using this PaaS. We named this platform ‘Smart En­terprise’. This platform helped us deliver our award winning digital transformation initiative ‘Smart En­terprise’. We have identified seven pillars of Digital Transformation – Smart Campus, Smart Collabo­ration, Smart Business Processes, Smart Insights, Smart Workforce, Smart Relationships and Smart In­fra. We have gone about creating this platform from the ground up and have followed the twelve factor app ideology for microservice de­velopment. What has helped is that the embracing of DevOps and Agile methodology. A strict adherence to the Agile rituals, use of CI/CD tools and use of digital technologies has led to us developing a platform that now hosts hundreds of microservic­es. As we speak, we are moving away from our existing monolithic appli­cation stack to microservices based stack to deliver new age Systems of Engagement & Intelligence.As part of this project we are in the process of rolling out the new intelligent ERP (i-ERP) based user engagement system that provides our colleagues a context aware application that is easy to use and interacts with the SAP S/4 HANA based Systems of record. This entire application is based on the microservice based framework running on pivotal cloud foundry. We are using cognitive services from the public cloud providers like Goog­le, Microsoft and Amazon Web Ser­vices.

Don't Miss ( 1-5 of 25 )