50 million code deployments in 2014. That’s 1.5 deployments per second by Amazon’s state-of-the-art DevOps program. While your company may not be quite at this level – few are – you don’t need to be at an Amazon level to make a difference in your organization. Taking steps toward this lofty goal can make substantial differences in meeting increasing business demands for faster, better and more frequent software deployments. Therein lies the need for Modern DevOps.
This article introduces the concept modern DevOps starting with an historical perspective and real world scenarios factoring into the need for this practice. We then describe key components and responsibilities of a “typical” DevOps organization, and then close with several benefits your organization can expect from implementing such practices.
Just What is DevOps..
On one side of your technology staff you have software development. On the other, operations. Using the analogy from the airline industry, think of developers as the team responsible for building the airliner. Just as designers, engineers, supply chain personnel and mechanics assemble the plane at Boeing or Airbus, software developers build your company’s technology product. Once built, the product must be moved to production and used. In our example of manufacturing an aircraft, once construction is complete, the plane then has to fly. After-all, no revenue comes from planes that don’t fly. Likewise, no revenue is made from software that fails to make it to production for customers to use. It is the operations staff of the airline who keep the plane fueled and flying day-in and day-out. In this case think, mechanics, pilots, flight attendants, food service and cleaning staff and even air traffic controllers. Similarly, the operations staff at your organization consist of hardware and networking experts, system administrators and increasingly, software engineers charged with maintaining and operating your technology product on a daily basis, making sure that it is available 7 days a week 24 hours a day. This part of the technology department often keeps a lower profile than the development staff, which typically has, or should have, frequent contact with your business users.
Think of DevOps as the intersection of development and operations. Their job is to speed up the Software Development Life Cycle process as much as possible, thus allowing software developers to focus on what they do best – software development. The DevOps staff addresses building, testing and promoting technology product to the various platforms, which might include development, test and of course the various stages of production.