Working in a new cloud world
As part of the move to cloud, enterprises quickly learn about the importance of automation. Software-defined environments rely on automation to deliver cloud services, deploy applications, govern usage and secure environments. In fact, automation is the key to realizing most of the benefits associated with cloud. It’s also a disruptive, game-changing mechanism that will impact employees’ skill sets, established processes and embedded technologies. Understanding the implications and developing strategies to address each area will help mitigate the risks.
Why is cloud so different—and what role does automation play? For starters, cloud infrastructure can be deployed and configured with the use of code. There are numerous approaches to automate deployment and configuration of infrastructure and application stacks. Many large companies adopting cloud choose to integrate their continuous integration/continuous delivery pipeline (CI/CD) with “infrastructure as code” deployments. Integrating these two processes creates the ability to operate scalable, self-healing systems with rapid release functionality.
In fact, leveraging automation via infrastructure as code is usually one of the first things enterprises want to do when transitioning to cloud. As shown in Figure 1, infrastructure as code allows developers to deploy and configure network, storage, compute, database, operating systems, security and other components to create a complete application/workload environment—all with a few keystrokes or API calls.
Figure 1: Full cloud stack deployment automation approaches
AWS makes it extremely easy to leverage infrastructure as code through a tool like AWS CloudFormation, and provides several ways to implement it in their cloud environment, spanning most major programming languages (Python, Java, NodeJS, JSON) and configuration automation tools (Chef, Puppet, Ansible). The time it takes to complete depends on the complexity of the environment, but it is far quicker than any legacy deployment.
Implications to people, process and technology
Speed and agility are the name of the game with cloud; however, it’s important to understand how these new ways of working in cloud can affect traditional people, processes and technologies in the IT department. Adequate preparation and effective change management techniques will play a major factor in your company’s successful journey to cloud. A simple comparison highlights the disruptive nature:
|Traditional Model||Cloud Model|
|IT infrastructure resources work in data centers with responsibilities such as physically racking servers and plugging cables into machines.||DevOps resources deploy, configure, secure, monitor and govern cloud resources and environments using a preferred programming language software development kit, AWS Command Line Interface (CLI) or third-party configuration automation tools.|
|Legacy deployments at large enterprises undergo a set of regimented processes that are time consuming with several stages, technology silos and dependencies.||Infrastructure as code deployments deliver resources quickly, consistently and usually without human intervention.|
|Software development lifecycle includes “heavy weight,” manual processes with thick RACIs designed to manage and reduce risk in a traditional waterfall deployment.||Software development lifecycle has self-service and automation to manage delivery, deployment and risk, often in ways that are ubiquitous to the user.|
Summing up the comparison above, operating in a software-defined environment like AWS shifts the role traditional IT has played, enabling application development teams to deploy on-demand and at will. Not surprisingly, this change—even when it is being done correctly—can feel tumultuous to IT people and organizations in the short term, until they gain the requisite skills, experience and organizational structure to work comfortably in AWS’s cloud environment. Automation represents a paradigm shift that can create a temporary sense of chaos that will stress-test any organization.
Bottom line: these are possible but not permanent experiences along the cloud journey. More importantly, the disruption can be minimized with tried-and-true practices, such as:
Upgrade the RACI—Review legacy RACI and understand what will be different in cloud before adopting infrastructure as code. Prepare for these changes by developing a cloud operating model RACI that encompasses automation and outlines the steps to deploy infrastructure and provision, configure and secure components. This provides clarity across all relevant IT departments and reduces risk associated with controls failing to identify issues.
Shift the risk—Extend the shared responsibility model to include the application development teams. Delegate risk to the appropriate application development teams and ensure they are held to the same standards. For example, in the traditional model, a central security team would be responsible for deploying network encryption. Conversely, with infrastructure as code, the application development team can be made responsible for deploying the encryption with detective controls ensuring they comply.
Train people for software-defined environment—Develop or access online training to upskill IT resources and smooth the transition to infrastructure as code and a cloud operating model. Resources with cloud skills are in high demand and it can be difficult to hire enough people to meet immediate and ongoing needs. Proactively addressing this need will minimize resource constraints.
Minimize throwaway efforts—Consider consulting with professionals who have been through the journey with large organizations and understand the complete cloud transformation process. Working with a provider with experienced resources will help you understand the options, impacts of decisions and ultimately prevent expending resources for efforts that are not applicable, scalable or successful.
To learn more ways to preempt the people and process changes during your company’s cloud transformation, see Accenture AWS Business Group DevOps page.