How Micro Services Framework Promote Agile & DevOps?

How Micro Services Framework Promote Agile & DevOps?

Abstract

Due to rapid eruption of new disrupting technologies and changing market demands operations (business) teams expect supporting IT applications should also change with lightening swiftness. Traditional SDLC or hybrid iterative models fail to address this challenge as they all focus on capturing and freezing the requirements upfront. This results in exhaustive requirement specifications given by operations peoples with minimal interaction with development teams that too only at the beginning of the project. That result in large monolith application with multiple functionalities tightly bundled together which cause multiple performances, maintenance, usability issues.

Agile and DevOps methodology addresses frequent changing requirements through small sprint size and increased operations and developer community interaction. Micro services addresses the how part of it, through development of multiple, modular, micro services providing various features of the system

Background

As we know when traditional waterfall model is followed for development of mid-size to large system. Exhaustive requirements are collected first by business people, followed by architecture and design by architects followed by development, testing and deployment by developers, testers and operations people respectively.

In this process as we can notice different stakeholders are involved at different phase of time in the project and there is minimal scope of exhaustive interaction between them. This leads to development of large monolith application after a long lead time.

Long lead time results in

  1. Outdated product by the time it is released - due to rapidly changing business needs
  2. High risk till final product is delivered as business peoples have no visibility on how project is progressing
  3. Exhaustive requirements specifications
  4. Operations and development team work in silos
  5. Tight coupling leads to poor maintainability & scalability
  6. Portability and deployment challenges due to large size
  7. Sluggish releases

 

AGILE – DevOps @ Rescue

The challenges mentioned above could be addressed through deployment of agile and DevOps methodologies. As:

  1. The agile approach sought to remove the overhead and risk of large-scale software development by using smaller work increments, frequent iterations, and prototyping as a means of collaboration with users.
  2. Agile/DevOps, also led to the popularization of continuous integration (CI) in the software industry, a common practice from extreme programming. CI sought to combine software components as early in the lifecycle as possible in order to minimize the impact of code integration issues.
  3. Latest models integrated ‘Continuous Deployment’ (CD) as well. Agile’s primary scope was on the development of software, while CD extended that scope to include production deployment, an operations task.
  4. Organizations found that combining development and operations responsibilities in the same team led to highly effective continuous delivery practices. As collaboration increased between Dev and ops team, so did empathy.
  5. Developers designed solutions that included an operational perspective from the outset, and operations people used an engineering approach to tackle problems that were previously dealt with procedurally. Greater use of automation in day-to-day tasks resulted in greater system stability and resilience.
  6. In agile software architecture, we tend to think of something that is built using a collection of small, loosely coupled components/services that collaborate together to satisfy an end-goal. This style of architecture provides agility in a number of ways. Small, loosely coupled components/services can be built, modified and tested in isolation, or even ripped out and replaced depending on how requirements change. This style of architecture also lends itself well to a very flexible and adaptable deployment model, since new components/services can be added and scaled if needed.

Micro Services

Agile says divide large complex work in to small simple tasks – Micro services also focus on breaking large complex system in to small simple cluster of micro services.

Agile stresses on incremental and iterative development – Development of incremental micro services framework with iteration and retrospective of amount of work done complies the same

Agile encourages frequent and exhaustive co-ordination between business people, operations people and developers and while development of micro services framework this can be ensured without any issue.

If we look at agile manifesto in detail we find development of micro services framework easily gels with the same as shown in table below:

 

But, Are micro services practical?

Yes, they are proven and practical.  Companies like companies like Amazon, Netflix, SoundCloud, and Gilt (now part of HBC Digital) encountered an architectural bottleneck when they reached a certain scale.

This barrier motivated them to focus on the architecture and other IT services. In this endeavor, they decomposed their monolithic applications to tiny, modular micro services that interact via Restful API and other network-based messaging protocols.

As we can see in diagram given below using micro services provide:

  1. Define precise Spring Backlog
  2. Better and frequent Interaction between operations and development teams
  3. Reduced risk
  4. Incremental evolution
  5. Portable and easy to deploy on different environments (cloud, in premise)

 

Conclusion

Micro services is a not a theoretical concept but it’s a successful case study that evolved over the period of time.

Through implementation of micro services architecture one can deploy agile and DevOps practices effectively with minimal efforts that leads to fastest development of quality software product and achieve highest customer satisfaction.

Shiv Dutta

Principal Machine Learning Lead @Cleareye.ai Gen AI | NLP | Vision | Recommender Engine | Spark ML Sklearn Pandas Machine Learning | Deep Learning | GNN | Mlflow | Azure ML | Sagemaker | Agentic AI | Langraph

8y

Nice article

To view or add a comment, sign in

More articles by Ashutosh Sabde

  • DevOps-Automation For Corporate Garden

    Once a farmer gets selected for a post of Gardner in Multinational Fortune 500 company. On first day of reporting, he…

    4 Comments
  • Building Enterprise Architecture Marathonously

    As Enterprise Architecture (EA) is generally essential for long-term strategic objectives a needs lot of planning and…

    2 Comments
  • Marathon - Another way to acheive and sustain your agility for long time.

    While running Tata Mumbai (Full) Marathon 2019 a thought was rattling in my mind. How marathon and agile go hand in…

    5 Comments
  • Agility For Academic Institutions

    Introduction Considering current market, trends in industry where new business models, digitization patterns are…

    1 Comment
  • Art of Modernizing Complex and Huge Legacy Batch Jobs Applications...

    Context One of the major risk associated with Legacy Transformation or package implementation is the risk of missing…

  • Agile for Managed Services Projects (MSPs)

    Scenario Project manager from production support team approach “Agile Coach/Scrum Master” to discuss issues related to…

  • Digitization of Backlog Items Prioritization

    Why? In good old days, doctors used to do surgeries based on their own intellect, talent, experience and with the help…

  • Agile and Wellness

    While doing TCS Agile Ninja Coach Program one thing strike to my mind is – agile way working brings great amount of…

    4 Comments
  • DevOps & Block Chain

    DevOps DevOps is the process of making development and operations team work together and bring synergy and harmony in…

    3 Comments
  • RISK ANALYSIS USING COGNITIVE TECHNOLOGIES

    Abstract Risk analysis and management is one of the crucial aspects in banking, finance, retail, manufacturing, SCM…

    1 Comment

Insights from the community

Others also viewed

Explore topics