Cloud computing gave rise to a variety of new technologies that are needed for efficient cloud deployments. DevOps and Software Defined Environments (SDE) are among those. These two technologies are designed to support similar IT infrastructures. Let’s explore how DevOps and SDE are designed to complement each other.
What is DevOps?
DevOps is a software development approach that automatically correlates the tasks between development and operations to continuously deliver the required functionality. In the process it also improves collaboration between the two teams.
Overall, DevOps accelerates the deployment of new services and for fast and automated deliveries without new infrastructure expenses.
What is a Software Defined Environment?
The deployment of systems of engagement and systems of records on cloud depends on responsive and adaptive infrastructures. The Software Defined Environment (SDE) approach was developed to cater to such a need.
SDE delivers next-generation infrastructure automation by dynamically assigning the compute, storage and network resources to satisfy application requirements, based on best available resources and the Service Level Agreements (SLAs) that are in place. SDEs provide an “application-aware” infrastructure to support complex applications and systems of engagement (mobile, social, big data and cloud).
DevOps and SDE together
This next-gen infrastructure automation cannot rely on traditional Software Development Life Cycle (SDLC) approaches, because of their disconnected and discontinuous nature of delivery. The DevOps approach is a better choice. DevOps and SDE are complementing approaches, excelling at the following:
Improve agility of business applications, both traditional and new engagement models
Manage the development lifecycle through rapid change, from prototype to production
Automate infrastructure across compute, storage and network resources to achieve improved economics
Make near real time adjustments of infrastructure to the changing requirements of the business layer
Scale on demand to enable cloud service providers to grow their business and rapidly deliver new services
You can learn more about SDE on my other blogs: The Value of SDE for cloud Part I and Part II.
Significance of DevOps for SDE
DevOps can be key to a client’s SDE adoption roadmap. SDE adoption is not a one-step process, but is a journey and clients are highly encouraged to take a phased approach (as recommended in the figure below) to implementing it effectively.
In SDE Phase I, the base domain automation and optimization are established. This could be the right place to introduce DevOps to initiate the software delivery automation process. In this phase they can virtualize across all the resources and make those resources programmable.
In SDE Phase II, cross domain automation and integration are recommended, thus broadening the automation processes. DevOps is designed to take on the incremental integration steps, and provide accelerated deployment without interruption to the previously defined patterns of deployments.
In SDE Phase III, the clients will be ready to adopt the next-gen technologies such as social media, big data and enterprise mobile solutions by leveraging policy-based analytics tools that can continuously optimize the environment in near real time. DevOps will play a crucial role in providing continuous software delivery capabilities, so SDE can proactively and continuously assign resources to the workloads.
DevOps will not only implement agile development lifecycle processes with tools, but will also embed a continuous delivery approach to business and IT cultures. It will span the entire SDE adoption roadmap. The goal of DevOps is to enable continuous delivery of software-driven innovation, allowing businesses to adapt and grow at an incremental pace. In summary, DevOps delivers the following for SDE:
Iterative and frequent deployments using repeatable and reliable processes
Continuously monitoring and validation of operational quality characteristics
Manages multiple customer configurations and versions of software deployed across servers by automating and managing configurations and version deployments
So I believe SDE should inevitably be supported by DevOps for more successful cloud deployments. Let us know what you think by commenting here and by contacting me @sperepa.
Acknowledgement: I would like to thank Marty Wolfe, also a blogger at Thoughts on Cloud, for engaging me to work on this topic and to contribute to our IBM Academy of Technology study called “SDE Entry Points.”
Sujatha (Suj) Perepa
IBM Software Client Architect