Welcome!

Microservices Expo Authors: TJ Randall, Liz McMillan, Elizabeth White, Pat Romanski, AppDynamics Blog

Related Topics: Microservices Expo

Microservices Expo: Article

Business Agility Depends on DevOps

Business agility depends on development and operations collaboration

True business agility is not about doing more application updates faster.  True business agility is about doing more application changes faster without sacrificing the application's performance or service quality.

From my perspective, achieving that second part of business agility means preventing application performance and service quality problems.  For the longest time IT operations have focused solely on remediating problems, which is not the same thing.  When someone's focus is on remediation, they quickly realize that it is easier to remediate problems when the environment does not change very often.  So no matter how much IT operations teams have streamlined their application problem resolution processes, there has still been an undercurrent of resistence to the constant change that is business agility.

Resistence is futile, and operations teams know this.  They recognize that they must also tackle problem prevention earlier in the application lifecycle.  The more experience one has in trying to manage the performance or service quality of constantly changing applications the more it becomes clear that the number of application performance problems depends on:

  • how well the application is engineered for the production environment,
  • how well application updates are managed; and
  • how well defect and problem knowledge are shared across development and operations.

Those issues are driving the growing interest development and operations collaboration (DevOps). Let us look at each to understand why.

1) How well the application is engineered for the production environment.
The final production deployment configuration often bears little resemblance to the application architect's original Visio diagrams.  Operations teams map the application service model, designed by software architects and developers, to the resource environments available from physical, virtual, or cloud infrastructure. This mapping activity has become an engineering effort as the complexity of the applications has grown.  This means there is often a big difference between software design and deployment configuration.  This difference often results in miscues that cause organizations to have as much as 50% their deployments rolled back.

Rollbacks can be caused by configuration had problems such as incorrect IP addresses.  That type of problem occurs when developers with no operations experience are managing this application engineering effort. Rollbacks can also be caused when the placement of the distributed components caused unexpected application performance and service quality problems.  That type of problem occurs when operations folks with little insight into the application design are managing the application configuration effort. The converse is also true, when development teams have little insight into how production deployments are configured, they can create application architectures that are not as scalable in production as in the test environment. Skills from both development and operations must be applied during the deployment configuration effort to prevent these problems.

2) How well application updates are managed.
Back when tiered web application deployments were new, I did research showed that when enterprises went from client/server to tiered web application architectures, application updates jumped from bi-annual to monthly events.   Now I'm beginning to track that the combination of SOA and agile programming means weekly (sometimes daily) application updates. It seems obvious to me that weekly application updates done with release management tools and processes designed for bi-annual updates will result in poorly performing applications.  The application service quality is even worse when those release management tools and processes used by infrastructure administrators with hardware and OS configurations expertise but little insight into application design and configuration.  If the goal is business agility without sacrificing application service quality then application development and operations teams need new collaborative means to manage how updates get done.

3) How well defect and problem knowledge flow across development and operations teams.
Defect knowledge from development teams is extremely useful because it allows operations teams to create infrastructure workarounds (such as throwing more hardware at the problem or staging server restarts).  These workarounds protect application service quality while buying the development team time to resolve the problem.

Problem knowledge from operations teams is useful because it allows agile developers to improve their application design for better performance as they work on the next round of user requirements. Therefore, it seems obvious to me that the more difficult communications is between development and operations, the more application problems there will be in production.  The chasm between development and operations groups has to be bridged with effective collaboration for application service quality to be maintain in the face of constant change.  Effective collaboration  is not about more meetings, reports, email trails and CYA activities.  It is about enabling the different groups to share the right information with the right people at the right time.

So there's my take on three key issues that determine how agile a business can actually become. From my perspective, fostering application collaboration between development and operations should be a cornerstone capability of those solutions if they are to deliver true business agility. I'm interested in hearing your perspectives.

More Stories By Jasmine Noel

Jasmine Noel is a founding partner of Ptak, Noel & Associates. She has over 15 years experience analyzing and consulting on IT management issues. She currently focuses on technologies and processes that organizations require to design, engineer and manage the performance and service quality of business applications, workloads and services. Noel served previously as director of systems and applications management at Hurwitz Group, where she formulated and managed the company’s research agenda. She was also a senior analyst at D.H. Brown Associates, where her responsibilities included technology trend analysis in the network and systems management space. Noel is regularly quoted in and contributed articles to several leading publications and content portals on various IT management topics. She holds a bachelor of science from the Massachusetts Institute of Technology and a master of science from the University of Southern California.

Microservices Articles
At its core DevOps is all about collaboration. The lines of communication must be opened and it takes some effort to ensure that they stay that way. It’s easy to pay lip service to trends and talk about implementing new methodologies, but without action, real benefits cannot be realized. Success requires planning, advocates empowered to effect change, and, of course, the right tooling. To bring about a cultural shift it’s important to share challenges. In simple terms, ensuring that everyone k...
Is advanced scheduling in Kubernetes achievable?Yes, however, how do you properly accommodate every real-life scenario that a Kubernetes user might encounter? How do you leverage advanced scheduling techniques to shape and describe each scenario in easy-to-use rules and configurations? In his session at @DevOpsSummit at 21st Cloud Expo, Oleg Chunikhin, CTO at Kublr, answered these questions and demonstrated techniques for implementing advanced scheduling. For example, using spot instances and co...
Today most companies are adopting or evaluating container technology - Docker in particular - to speed up application deployment, drive down cost, ease management and make application delivery more flexible overall. As with most new architectures, this dream takes significant work to become a reality. Even when you do get your application componentized enough and packaged properly, there are still challenges for DevOps teams to making the shift to continuous delivery and achieving that reducti...
Skeuomorphism usually means retaining existing design cues in something new that doesn’t actually need them. However, the concept of skeuomorphism can be thought of as relating more broadly to applying existing patterns to new technologies that, in fact, cry out for new approaches. In his session at DevOps Summit, Gordon Haff, Senior Cloud Strategy Marketing and Evangelism Manager at Red Hat, discussed why containers should be paired with new architectural practices such as microservices rathe...
With the rise of Docker, Kubernetes, and other container technologies, the growth of microservices has skyrocketed among dev teams looking to innovate on a faster release cycle. This has enabled teams to finally realize their DevOps goals to ship and iterate quickly in a continuous delivery model. Why containers are growing in popularity is no surprise — they’re extremely easy to spin up or down, but come with an unforeseen issue. However, without the right foresight, DevOps and IT teams may lo...
Kubernetes is a new and revolutionary open-sourced system for managing containers across multiple hosts in a cluster. Ansible is a simple IT automation tool for just about any requirement for reproducible environments. In his session at @DevOpsSummit at 18th Cloud Expo, Patrick Galbraith, a principal engineer at HPE, will discuss how to build a fully functional Kubernetes cluster on a number of virtual machines or bare-metal hosts. Also included will be a brief demonstration of running a Galer...
DevOps is under attack because developers don’t want to mess with infrastructure. They will happily own their code into production, but want to use platforms instead of raw automation. That’s changing the landscape that we understand as DevOps with both architecture concepts (CloudNative) and process redefinition (SRE). Rob Hirschfeld’s recent work in Kubernetes operations has led to the conclusion that containers and related platforms have changed the way we should be thinking about DevOps and...
In his session at 20th Cloud Expo, Mike Johnston, an infrastructure engineer at Supergiant.io, will discuss how to use Kubernetes to setup a SaaS infrastructure for your business. Mike Johnston is an infrastructure engineer at Supergiant.io with over 12 years of experience designing, deploying, and maintaining server and workstation infrastructure at all scales. He has experience with brick and mortar data centers as well as cloud providers like Digital Ocean, Amazon Web Services, and Rackspace....
"There is a huge interest in Kubernetes. People are now starting to use Kubernetes and implement it," stated Sebastian Scheele, co-founder of Loodse, in this SYS-CON.tv interview at DevOps at 19th Cloud Expo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
Modern software design has fundamentally changed how we manage applications, causing many to turn to containers as the new virtual machine for resource management. As container adoption grows beyond stateless applications to stateful workloads, the need for persistent storage is foundational - something customers routinely cite as a top pain point. In his session at @DevOpsSummit at 21st Cloud Expo, Bill Borsari, Head of Systems Engineering at Datera, explored how organizations can reap the bene...