Applications/DevOps

What Is Infrastructure-as-Code (IaC), and Why It Is the Future of Cloud Automation

Joe Pearlman By Joe Pearlman Solution Principal, Cloud Native CI/CD and IaC DevOps, Dell Technologies Consulting June 3, 2019

Everyone needs a big green button. (Source of image: Creative Commons)

Do CIOs, CTOs and key infrastructure stakeholders desire to have cloud automation capabilities interact and integrate with Service Management requests? Do they want this consumption model now, as in ServiceNow? The ITSM integration is very attainable, especially through the writing of a few lines of code. Infrastructure-as-Code delivers the Big Green Button—the code to deploy infrastructure. As part of this solution, the infrastructure gains transparency through a service catalogue. This enablement factors in how to transform teams from traditional scripting and automation to Infrastructure-as-Code.

The typical workflow includes cross-functional teamwork managed by a product lead. In turn, IT services such as provisioning a VM, spinning up microservices or a back-end database are requested through a Service Catalogue. APIs are central to taking automation once accessed via scripting and now orchestrated and configured via code.

In a common scenario pictured below, platform automation is built on top of the CI/HCI hardware, uses built-in Cloud Automation capabilities and is customized to respond to a service request through Infrastructure-as-Code.

Figure 1: Common scenario.

What Infrastructure-as-Code (IaC) Is

Infrastructure-as-Code (IaC) is a DevOps rooted methodology for Operations and Infrastructure teams to deploy infrastructure categories of compute, network and storage using best practices like Agile, Version Control and Continuous Delivery Pipelines.

The benefits of IaC include deployed infrastructure that is secure, compliant, resilient and performant. Since it implements best practices and transformative elements of DevOps, it scales and better supports continuous improvement.

Key Terms and Concepts

Take a moment to understand or review these relevant key elements.

  1. Agile
  2. Version Control
  3. Pipeline
  4. Service Catalog

A conceptual understanding of these terms will foster effective conversations owing to the growing recognition of this need. Many CTOs identify these topics as their next operational challenge because they pave the way to transform their organization, hone skillsets and contribute to employee retention; they also produce improved organizational performance that can be linked to measurements and metrics. This is a win for technology leaders looking to showcase their accomplishments and innovation. Transformation is a win, and then scale is achievable.

Key Concept Description
Agile Break work into smaller pieces and maintain in a backlog. Identify these pieces or actionable work items in terms of scope, testing and a well-defined result called a definition-of-done. Iterate through this work in 2-week durations, or Sprints.
Version Control It is a tool or system that keeps track of changes to your code. This provides the users and team with a history of the changes and functionality to manage changes of related files as a unit of work, this set of files makes up a configuration or application available to be deployed in a repeatable and reliable fashion.
Pipeline A workflow that can be visualized as connected boxes in a diagram. One simple use case for a pipeline is the end to end deployment of an infrastructure component like a VM. For example, it starts with a process running that downloads the source code from version control, validates the code, builds in networking, then deploys an image of a VM to a cloud or IaaS environment.
Service Catalogue The finishing touches of an infrastructure service is to make it available to the organization in a user-friendly manner. The service catalogue is by definition a self-service model that lifts the manual intervention aspect of deploying or managing infrastructure services.

Strategic Service Management

The need to expedite ITSM integration through implementation of services using an IaC methodology and code has been identified as highly desirable to addressing critical business problems. An actionable catalogue item built for customer fulfillment and collaboratively provides the flexibility to address market needs. In the article, 4 Ways to Marry ITSM and DevOps, Ericka Chickowski illustrates the strategic nature as follows:

DevOps tends to focus on the software delivery lifecycle and on building and delivering software. For its part, ITSM tends to have a broader focus; it’s really looking at all aspects of customer engagement, from fulfilling standard services to ongoing support and operations activities.

IaC fits well into this blueprint.

From a technical perspective, this process constructs a foundational cloud platform that provides automated service delivery via programable APIs or a pre-existing service catalogue. The cloud platform is built upon modern converged or hyperconverged infrastructure (CI/HCI) solutions, and demonstrates best practices that springboard off of Infrastructure-as-Code paradigms.

Through a consulting lens, we have a lean philosophy to help organizations either building it for or with their teams. An Agile approach works here because it breaks down the problem, and hopefully silos in the future, to meet this strategic demand.

Figure 2: “Do For” or “Do With.”

Demonstrate Best Practices – “Do For”

This type of engagement employs an agile project methodology to quickly deliver high value services and platform components to Customer; and is timeboxed to fixed timeframe.

This practice typically leverages an outsourced team model. Delivering entirely remotely entails limited exposure with the customer team until the last Sprint where a turnover and knowledge transfer happens.

The customer will use a set of defined tools in order to deliver self-service as part of the engagement. It also necessitates that the best practices team has remote access and privileges to access the customer environment where these tools live and version control to establish delivery of an IT Service Management experience including the underlying toolsets beginning with Cloud Automation on the CI/HCI system. This is accomplished via a preconfigured infrastructure pipeline.

Seed Transformation – “Do With”

From outsourcing, let’s visit the value proposition of an insourcing engagement. There are similarities as delivery is fixed price and same duration, and naturally the delivery team follows an Agile methodology.

This model provides the customer with early stages of transformation. Seeding transformation ties together a delivery team structure and model, onsite and remote, fully partnered with infrastructure team members who will be responsible for building pipelines and evolving this practice in-house. This offering is a catalyst for sustainable change.

Benefits of a “Do With” offering instantiates the minimum viable platform, processes, and practices associated with Infrastructure-as-Code. In order to seed transformation, this type of offering also introduces and employs key process, skills, and engineering practices critical for sustainable change. Over the course of these types of engagements, the customer team will:

  • Develop expertise by pairing and collaborating with SMEs;
  • Practice software engineering, Agile and Continuous Delivery;
  • Partner with internal stakeholders, like development teams, to build customer-centric solutions.

Summary

Our two-pronged approach to ITSM and IaC combine the best of Cloud Automation and IaC to enable an organization to consume Infrastructure in their Service Management request system. I often hear from IT organizations across industries, they have tried unsuccessfully on one or more occasions to bring IaC skills to their people and transform their shops from automation only centered on tasks and manually executed scripts and in how they manage tooling.

These approaches, one might say, points of view, give companies a choice of targeted consulting engagements to break through legacy constraints and execute on their transformation roadmap.

To learn about how Dell Technologies can provide you with a Big Green Button click here.

Joe Pearlman

About Joe Pearlman


Solution Principal, Cloud Native CI/CD and IaC DevOps, Dell Technologies Consulting

Joe Pearlman is a Solution Principal for Dell Technologies Consulting focused on Cloud Native CI/CD and Infrastructure-as-Code (IaC) DevOps based out of New Jersey.

Previously he worked in Delivery on DevOps and IaC projects spanning industries of telecommunications, finance and banking, insurance, retail and travel since joining the company in 2013. His experience in DevOps began well before DevOps the term was coined some 10 years ago. The provenance of the Continuous Delivery operating model, a key foundation to DevOps and IaC, equal to the importance of Agile in this quickly evolving field, has finally received its due recognition in Digital Transformation.

The best thing about working at Dell is the great people we work with and the level of engagement we have with our teams and customers. Each conversation builds on the next, and each solution comprises a high level of dedication and collaboration. Being in this new role, Joe has seen this through our impressive case studies and content ever-focused on winning an opportunity to deliver excellence to our clients.

Read More

Share this Story
Join the Conversation

Our Team becomes stronger with every person who adds to the conversation. So please join the conversation. Comment on our posts and share!

Leave a Reply

Your email address will not be published. Required fields are marked *