Microservices
The image depicts a top level birds idea of how the two different strategies differ

Microservices

#Microservices is basically breaking down your one application and "DECENTRALIZING" them into multiple applications.

For example in a company like Amazon which enables selling of products, it may have Orders application (one microservice), Products application (second microservice) and Shipping application (third microservice).

Each one is "INDEPENDENT" of the other and probably operates with its own architecture (which can be monolithic), own application memory process, own database, own development team, own boss. Microservices seemingly enables a Scrum of several Scrum teams, each with its own product manager (or more specifically "service" manager). The idea is one service does not stop the other, each is "UNSTOPPABLE", can "DEPLOY AND RUN FAST" and can "PRODUCE MINIATURE CLONES" on demand.

Martin Fowler encourages to go for microservices (distributed model) only if you are pushed to, else you should be fine with your monolithic architecture (which is our simple client server model) because microservices increases many lines of communication which adds to the complexity.

The monolithic architecture is like talking to one boss but a microservice architecture is like talking to many bosses. At times, we have the need for two or more bosses to work together. This can be messy if not thought out and implemented well.

Martin Fowler emphasizes that if you go for microservice architecture, make sure you have atleast taken care of four things i.e.

  • Availability (service has to be available else business can stop)
  • Monitoring (some thing and maybe someone has to monitor that these individual services are orchestraing well to represent a full end business service to the customer)
  • Rapid Deployment (it should be quick to deploy a single service without having to worry about the other services)
  • DevOps culture (Continuous development, testing, integration means product builds and up and running faster through demanding scrums, at desired velocity)

In Microsoft world, if one orchestrates the use of Azure cloud, Azure functions, Azure service fabric, Docker containers and Visual Studio Team services, then I see a possible microservice architecture model. Additionally I would emphasize that one should clearly see a positive difference in cost, simplicity, reusability, speed and future needs before burning the client's pockets with any architecture.

Here is a nice video from Martin Fowler to help you understand the Microservices architecture better.

https://www.youtube.com/watch?v=2yko4TbC8cI

To view or add a comment, sign in

More articles by James DSouza

  • Digital Rupee and e-RUPI: The blockchain financial footprint and poverty eliminator of nation

    These days we hear a lot of buzz about artificial intelligence and India really wants this feather to reach out to the…

    1 Comment
  • How to know if EVM code is hacked ?

    This article talks about how SHA (Secure Hash Algorithm) can be used in Electronic Voting Machine. But why would we…

  • Yes I can ! create an AI app

    Visit partyrock.aws website and sign-in.

  • Designing AWS Infrastructure as per Distance

    Initially I was introduced to AWS Infrastructure namely Regions, Availability Zone and Edges infrastructure locations…

  • What is "Data at rest" or "Data in transit" ?

    To begin with, let us consider some data such as your bank account number. Lets assume you want to remember your bank…

    2 Comments
  • What is 'Availability' in cloud?

    The term ‘Availability’ is often heard in cloud. Here I try to explain in simple form for my students, if it helps.

  • What is Scalability in cloud?

    When we study AWS cloud, We often come across the term 'Scalability'. So here I try to explain it in simple form for my…

    2 Comments
  • Discovering Digital India

    Generative AI (Artificial Intelligence) and Water Positive were the terms that caught my attention as I spent a…

    1 Comment
  • How to stream a live cricket match using AWS?

    How can we use AWS to stream a live cricket match ? Let us understand first what is an image ? Think of an image as a…

  • BITCOIN Q/A

    What is bitcoin? Bitcoin is online money. It stays on computers and computers only.

    1 Comment

Others also viewed

Explore content categories