SRE concepts part 9 ( Stability versus Agility )

SRE concepts part 9 ( Stability versus Agility )

The ninth article in the series about SRE Concepts/Topics is about?one topic, "Stability versus Agility".

Stability versus Agility

As soon Agile development made its way into the IT world, discussions arose in the rusty message boards across all the major platforms: better, Stability or Agility? Few were able to present reasonable arguments. However, with the rapid growth of the need for DevOps engineers and Site Reliability Engineers, those old boards trembled again with thousands of opinions.

When it comes to DevOps or Site Reliability Engineering, both Stability and Agility are crucial. A Site Reliability Engineer has to consider both parameters when building and deploying an application. However, with the rapid product development lifecycles, it sometimes is favorable to prioritize Agility over Stability.

Agility in Product Development and Deployment

Agility is one of the critical aspects of both DevOps and SRE. A more agile product development cycle means faster product delivery. However, to ensure that the minimum stability requirements are met, some stability factors are considered, even in an Agile environment.

Usually, following a stable development lifecycle ensures maximum Stability along with the required Agility.?

Using automation tools can undoubtedly improve the Agility of the development cycle while ensuring Stability.

Stability in Development and Deployment

The most stable product development cannot be the most agile one as well. However, there are some tools and strategies you can implement to ensure both. Continuous development and deployment are some of the primary tools in any DevOps engineer's hands.

An engineer can ensure that the code they're writing is not causing any instability in the application using continuous deployment and integration tools. They do not have to check every line for compatibility issues manually.

Even though many such automated tools and strategies help maintain a balance between Stability and Agility, sometimes, it is essential to prioritize one of them. Usually, people often prioritize Agility over Stability.

Finding the Balance

One of the crucial jobs of a Site Reliability Engineer is to ensure a balance between Stability and Agility. A Site Reliability Engineer has to ensure that an application's Stability doesn't affect the Agility at which a developer can work.

Some studies even found that more reliable applications often increase the developer's Agility since they don't have to examine every line. A Site Reliability Engineer may choose to achieve this balance in any practical way.

Once the application becomes reliable, the engineer can rapidly deploy the application and wait for the results. Even though an unexpected rise in availability is good, a Site Reliability Engineer always wants an app to be predictable and have a steady growth. Even though "Boring" is terrible in other domains, it is desirable for product behavior.

Conclusion

Agility and Stability are the Yin and Yang of product development and deployment. Achieving the right balance between these two extremes is the best way to ensure a product's success. A product has to be reliable, all the while having a rapid deployment phase. It is what makes the job of a Site Reliability Engineer quite interesting.

Closing remarks

This article was the ninth post on SRE concepts. I did enjoy writing these articles a lot and I will continue writing articles but I do think I will start a series about a different subject until I can think of more material for the SRE concepts series.

If you want to read back the other eight, I have included the links below. Feel free to repost them anywhere you want.



Johannes Klug

Cloud || DevOps || Software Development

3 年

Learning to work with XP, TDD and building my code in pipelines in my formative years as software dev made me embrace the idea that stability and agility are not two extremes on a scale but more complementary concepts. Focusing on agility without ensuring stability leads to a chaotic product, neglecting agility in favor of perceived stability will lead to a product that becomes increasingly crystalline in its structure and ironically brittle, with almost any change being a liability. In DevOps I want both (and more): I want to have an agile value stream, a quickness to respond to changes (if you want you could call it fluidity), but I want to have certainty that the system is reliable under constant changes. Agile Processes ensure the former, SRE tooling helps to enable the latter.

回复
Amanda Pinto

Founder DevOps Bootcamp | O maior ecossistema DevOps do Brasil!

3 年

Incredible!

回复
Aravind Belavadi

Platform Engineering & SRE Leader | Championing Unified, Secure Software Development & Boosting Developer Productivity through Superior Experience

3 年

Thank you Marcel Koert for very insightful writings on SRE concepts. I found them to be a mini-handbook.

回复
Sebastian V.

Enabler of people | Reliability Engineering Advocate | Podcast Host | CNO - Chief Naming Officer

3 年

I really enjoy following your series Marcel Koert. Keep writing please.

要查看或添加评论,请登录

Marcel Koert的更多文章

  • Observability 2.0 tooling

    Observability 2.0 tooling

    This blog is also available as video : https://youtu.be/k8xWIrwsLUg Observability has evolved significantly in recent…

  • Migrating to OpenTelemetry

    Migrating to OpenTelemetry

    This can also be found as a video on Youtube : https://youtu.be/Gs9FXEUEMZM Migrating to OpenTelemetry (OTEL) from a…

  • The future of OpenTelemetry OTEL

    The future of OpenTelemetry OTEL

    The future of OpenTelemetry (OTEL) is a fascinating topic, as it continues to evolve as the de facto standard for…

  • The EU Cybersecurity Act: Transforming the IT Landscape

    The EU Cybersecurity Act: Transforming the IT Landscape

    There was also a video created from this blog please check it out : https://youtu.be/GCv0gBqD128 Introduction In an era…

  • History of OpenTelemetry

    History of OpenTelemetry

    OpenTelemetry (OTEL) is one of the most significant projects in modern observability, offering a set of APIs…

  • Introduction to Blockchain and Decentralized Systems

    Introduction to Blockchain and Decentralized Systems

    Please also look at the video that was created from this blog post : https://youtu.be/6501cfG8A84 Blockchain technology…

  • Unlocking Insights: The Power of OpenTelemetry

    Unlocking Insights: The Power of OpenTelemetry

    Please also check out the video that was produced from this BLOG post : https://youtu.be/9JtY9Y3j-4Q OpenTelemetry…

  • Introduction to 5G Networks and Beyond

    Introduction to 5G Networks and Beyond

    Welcome to this article; here is also a link to the video of this blog article."The 5G Effect: How It's Changing Our…

  • Exploring the Evolution of Observability: From 1.0 to 2.0 from an SRE Perspective

    Exploring the Evolution of Observability: From 1.0 to 2.0 from an SRE Perspective

    In the realm of Site Reliability Engineering (SRE), one of the most critical aspects of ensuring that systems remain…

    1 条评论
  • Human behaviour and SRE

    Human behaviour and SRE

    Human behaviour plays a significant role in determining the reliability of a DevOps organisation. Here are some ways in…

社区洞察

其他会员也浏览了