Tackling the Complexity of Modern DevOps

In the late 1990s and early 2000s, the rise of the professional Configuration Manager brought new techniques for continuous integration and deployment. The integration of software configuration management and build and test tools helped decrease the ever-increasing complexity of product development. The proliferation of the internet and adoption of public clouds shifted delivery of software from physical CDs and DVDs to on-demand downloads and software as a service. This led to the emergence of multiple product releases per day and the release->break->fix->release approach to product deployment. And without physical media, the cost to release a software product was reduced.

But things are changing again and other factors have propelled DevOps, and the new Configuration Management Build Engineer, into the limelight. Techniques such as function as a service (FaaS), micro-services, and cloud-aware apps are driving new development, test, and deployment models. The complexity of applications is increasing as the number of services and functions increase dramatically.  Additionally, infrastructure is being offered as a service on-premises (private cloud) and off-premises (public cloud). Emerging hybrid cloud models require the orchestration of deployed services across those clouds to give even more flexibility to the deployment of applications. The adoption of those new development techniques is making the job of managing and reliably releasing and maintaining software and services extremely complex.

Everything is working fine now, why change? There is something to be said about having a well-vetted process that has already been automated. Why mess with it? Good question! The benefits of modernization can mostly be seen through an increase in reliability, highly predictive performance, decreased costs, increased flexibility, and decreased build/test/deploy cycle times.

With a little up-front planning, you can get a handle on modern DevOps processes in your enterprise. Here are some things to consider when developing your new DevOps solution:

  1. De-coupling services, deployment and infrastructure. Decreasing the dependencies between the different layers of the solution means things can change independent of each other and will increase your reliability and scalability.
  2. Understanding and planning for a hybrid cloud. What is the difference between multiple clouds and hybrid cloud. Is your infrastructure one big pool of resources or segmented along cloud barriers?
  3. Managing multiple environments. How do you manage multiple environments across an abstracted infrastructure? How do you enforce policies, security, and compliance across environments?
  4. Continuous integration and delivery. Create automation for build, test, and deployment through code pipelining and integration with hybrid orchestration and infrastructure.
  5. Setting up a multi-environment, hybrid cloud deployment system. Evaluate different solutions that map to your new modern DevOps system.
  6. What about FaaS in modern DevOps? How does FaaS play into this new way of doing things?

I’ll be tackling each of those six issues in more depth in a series of blogs over the next few months. If you want to learn more in the meantime, check out intel.com/cloud or watch my webcast on DevOps and hybrid cloud.

Read the whole series:

Published on Categories Cloud ComputingTags , , , ,
Darren Pulsipher

About Darren Pulsipher

Darren is an Enterprise Solution Architect in the Data Center Group at Intel. He works directly with governments and enterprise organizations to help them understand the cloud components and elements they need to consider to achieve their goals. He addresses workload migration, developing in the cloud, hyperconverged infrastructure, and modern data center architectures. Prior to joining Intel, Darren was the CIO of a juice company called Xango. His research has resulted in patents in cloud and grid computing infrastructures and his technology has been used in companies to decrease product development lifecycle time through build, test and deployment optimization and virtualization. Darren is a published author with 3 books on technology and technology management, and over 50 articles published in several different industry trade magazines.