I’ve have seen the different changes happening in the IT Service Consumption and Delivery models in the past 15 years.
Initially it was all domain or industry focused monolithic architectures and centred around systems of records - We have seen these type of solutions for airline industries, automobile, Telco, Banking, Healthcare etc.
Later the data and processing elements got distributed giving rise to the client server architecture with various permutation and combinations of what gets done at each end. Managing multiple of these IT systems and their lifecycle and interactions, meant we need focus on integration. IT team really then started looking what value each systems are delivering and how to integrate them to provide value to the business.
Services Oriented Architecture brought in the view of making sure that the Business and IT are aligned and the IT can deliver at the speed the business wants to transform. The services were carefully designed or even put through litmus test to make sure the services are aligned to the business goals to be part of the catalog. They are more coarse grained and today SOA has become business as normal when it comes to building enterprise applications.
On the other side, we also witnessed some of the smart folks trying to see how to monetise a service and brought in the API economy. At the same time, we started seeing the emergence of the Cloud as the new consumption and delivery model for IT, which meant if you have a function-worthy service ( infrastructure, middleware or platform, software or pretty much anything)that people can use, you could monetise the service and at the same time for the consumer - it meant you have to pay for only what you use.
And for the consumer or a solution builder — if you have many functions or capabilities delivered as a service in the market, then it becomes easy to build the solution combining these capabilities. This becomes a better approach than trying to stand up a single monolithic application which takes ages to develop without any guarantee on its life. For the provider - then it becomes how to break the complex into simple and scale the simple — micro functionalities which can meet the requirements and are highly available as well as that can be deployed, updated and scaled leveraging the cloud.
With the customers having the choice of cloud deployment and consumption model, it is just the right time to dig deeper into what it takes to build Cloud Native solutions or understand Microservices approach in its details.
As we embrace this approach, I thought it will be good thing to look at the What, Why and how of microservices - which prepares us for the next era of computing.
I’ve been learning some of the 101 on microservices in the last couple of years. Lot of it has been on-the-job learning working to develop and secure IBM’s Cloud Operating Environment or IBM Cloud Platform.
This week is the Navarathri festival in India and as part of the vijayadashmi and ayuda puja - this is an occasion when weapons are worshipped by soldiers and tools are revered by artisans. This is just the right time to focus or provide specific attention to one’s profession and its related tools and connotes that a divine force is working behind it to perform well and for getting the proper reward. ( https://en.wikipedia.org/wiki/Ayudha_Puja)
So for an architect this is the just the right time to pick up some new skills and tools. Earlier I had blogged on SOA, Security and Cloud Reference Architecture. Quite few people told me that they have benefitted through reading my stepbystep blog to cloud - . So thought will use the same platform to share my learning or path to sharpening this new tool - micro services.
Plan is to cover the What, Why and How of micro services in the next set of posts. Narrowed down the below set of things as a straw-man for this journey.
What are Microservices
· What are Microservices - Define Microservices
· Key Benefits
· Compare Micro-services with Monolithic Architecture Reasons for transitioning to Cloud Native Architectures
· Examples or Method for identifying, specifying microservices
How to build Microservices or Technologies for Micro-services
· Front end
· Backend for frontend
· Data & Microservices
· Security for Microservices
· Dev-Ops for Micro-services
· Continuous Integration
· Build pipelines and Continuous
· Delivery Operations – Deployment & monitoring
Keep your comments and inputs coming in and collectively we can learn faster. Follow the tag microservices and you should be able to pull out all the relevant posts. Nothing is complete with out trying things out yourself. So we will try to do more hands-on than the theory. Some of the earlier said guidance in my blog (http://ibm.co/sreek) or Cloud 101 still remains. We wont duplicate things here but will share links to useful reads and reference material. Again I will end this post by saying in many ways or because of various reasons - This is the right time to do microservices.