Leveraging DevOps Infrastructure as Code to Improve Cloud Provisioning Time by 65%

Improving Cloud Provisioning Time

Infrastructure provisioning used to be a highly manual process for Digital Service Providers (DSPs). Infrastructure engineers would rack and stack the servers and will manually configure them. Then they will install the applications over the provisioned hardware. This was a time-consuming process, with much accuracy and consistency issues. Then came the cloud computing process and it completely changed the way companies build, scale, and maintain technology products. Engineers can click a few buttons to provision servers, databases, and other infrastructure. This technological advancement improved productivity exponentially. However, the provisioning aspects of cloud remained a manual process. This results in configuration consistency issues, and the efficiency of the overall process is highly dependent on the efficiency of the infrastructure engineer/architect handling the infrastructure process.

Major challenges with manual provisioning of cloud infrastructure

  • Configuration consistency
  • High cost
  • Limited efficiency
  • Longer time in provisioning infrastructure

The above challenges can be tackled using DevOps Infrastructure as Code (IaC) methodology.

Leveraging cloud configuration orchestrator width=

Leveraging cloud configuration orchestrator for effective implementation of DevOps Infrastructure as Code (IaC) 

DSPs need to build a cloud configuration orchestrator that contains all the infrastructure information using customizable schemas. The schemas should be editable and must contain infrastructure code, application code, and scaling policies as code.

  1. Infrastructure configurations as code: The configurations of cloud infrastructure are defined in a codified way using customizable configuration files.

The below features of cloud configuration orchestrator aid in achieving efficient codification of infrastructure:

  • Pre-built configuration files: The orchestrator contains pre-built configuration files for different cloud providers to provide the infrastructure. The configuration files in JSON format can be easily adapted per the chosen cloud provider and business needs.
  • Execution plan- generation and preview: The orchestrator shows a preview of actions before it modifies/manipulates the infrastructure to execute the plan. This allows DevOps engineers to correct any errors that might have happened during the codification process.
  • Single command decommissions: The orchestrator contains commands to decommission/destroy the infrastructure. For example, a sample QA infrastructure deployed to test the features can be destroyed using a single command.
  • Multi-cloud deployment: A single script can be used to perform multi-cloud deployment, thereby mixing resources from multiple cloud vendors in a single deployment plan to build an application that is more resilient to cloud service outages.

Defining infrastructure in a codified form reduces the provisioning time by 55-60% and reduces the dependency of the cloud architect’s expertise.

  1. Application configurations as code:  The configurations of the applications to be deployed on the infrastructure provisioned should be available in customizable schemas.

Key features to be built on cloud configuration orchestrator for codifying the application deployment process:

  • Reusable and customizable schemas: Develop schemas to provision applications on the infrastructure commissioned. It reduces significant time compared to installing separate applications on the infrastructure. The schemas can be created in JSON format and easily reused for managing or upgrading the applications in the infrastructure.
  • Grouping applications: Within orchestrator, DSPs can describe the application groups and install applications for the entire group. For example, eight app servers can be grouped, and video recording management applications can be installed on all the databases in a single go.
  • Parallel provisioning of applications: Once the infrastructure is provisioned, the deployment of applications can be done in parallel with one script. This reduces a significant amount of time. Video recording management and recommendation engine can be parallelly installed across two different app servers or two groups of app servers at the same time.
  • Resource schedulers: The resource grid can be used to schedule provisioning of applications during specific time frames when the expected incoming load on infrastructure is least. For example, patch upgrades for RMS application can be scheduled post the peak hours of incoming traffic to avoid any configuration drifts.
  • Third-party integrations: This orchestrator can be integrated with other provisioning tools such as Chef, Ansible, Puppet, etc. for specific application provisioning.

Defining applications in a codified form reduces the total time to market by 35-40%. The benefit is further compounded as the complexity in infrastructure increases.

  1. Scaling policy configurations as code: Setting up the monitoring mechanism and defining the most appropriate scaling policies is critical for efficient auto-scale implementation.

The below configuration files in cloud configuration orchestrator aid in setting up a robust step scaling policy:

  • Instance launch configuration: This is a customizable configuration file that an auto-scaling group uses to launch instances.
  • Auto-scaling group: Customizable configuration file to group instances. Grouping can be done based on the instance characteristics. This enables scaling policies to be applied at the group level.
  • Auto-scaling policy: This contains the type of auto-scaling policy to be carried out (dynamic, step, or predictive) and the variables under each of the auto-scaling policy.

Codification of scaling policy allows the management of infrastructure without involving the console. This reduces the complexity and dependency on cloud architects. 

Sample scaling policy as code

Benefits of using Infrastructure as Code (IaC) for cloud provisioning:

With cloud configuration orchestrator in place, DSPs can realize significant benefits in provisioning and managing infrastructure such as:

  1. Time taken: Reduction in infrastructure provisioning time by 65%
  2. Configuration consistency: Improved configuration consistency by 27%
  3. Lead time:  Reduction in total lead time by 58%

By Deepak Jayagopal

The Report.png
Viral Infection Wearabletech
Disaster Recovery Plan.png
Answer To Everything.png
Brian Rue
What’s Holding DevOps Back And How Developers and Businesses Can Vault Forward to Improve and Succeed Developers spend a lot of valuable time – sometimes after being woken up in the middle of the night ...
Oxylabs
A conversation with Aleksandras Šulženko – Product owner at Oxylabs.io In a global economy where change happens by the second, one of the best ways to keep up with industry information, including your competitors, is ...
Bitcoin electricity
Bitcoin Heating? Bitcoin mining or cryptocurrency mining has been widely vilified for it’s environmental impact. Why it does draw a huge amount of energy, more and more of it is coming from renewable sources and ...
Shared vs dedicated
Shared Server and a Dedicated Server A customer-facing Internet presence is just about mandatory for modern businesses. Websites are essential instruments for companies venturing into the eCommerce space or simply wishing to provide customers with ...
Alex Vakulov
Ransomware Database Targeting The scourge of ransomware is undoubtedly the most severe cyber security concern for home users and organizations these days. It revolves around taking important data hostage and demanding money, usually hard-to-trace cryptocurrency ...
  • Plural Site

    Pluralsite

    Pluralsight provides online courses on popular programming languages and developer tools. Other courses cover fields such as IT security best practices, server infrastructure, and virtualization.

  • Isc2

    ISC2

    (ISC)² provides IT training, certifications, and exams that run online, on your premises, or in classrooms. Self-study resources are available. You can also train groups of 10 or more of your employees. If you want a job in cybersecurity, this is the route to take.

  • App Academy

    App Academy

    Immersive software engineering programs. No experience required. Pay $0 until you're hired. Join an online info session to learn more

  • Cybrary

    Cybrary

    CYBRARY Open source Cyber Security learning. Free for everyone, forever. The world's largest cyber security community. Cybrary provides free IT training and paid IT certificates. Courses for beginners, intermediates, and advanced users are available.