Cloud Infrastructure

Published date: April 15, 2024, Version: 1.0

Overview

Cloud infrastructure capabilities refer to the features and functionalities provided by cloud service providers to support various aspects of hosting, managing, and delivering applications and services in the cloud. These capabilities are designed to empower organizations with the flexibility, scalability, reliability, and security required to meet their specific needs.

Automated infrastructure provisioning:

  • High-performing organizations use Infrastructure as Code (IaC) to automate the provisioning of their cloud infrastructure. They use tools like Terraform, CloudFormation, or Azure Resource Manager to define their infrastructure as code, which allows them to version control, test, and deploy their infrastructure changes in a consistent and repeatable manner.

Scalable infrastructure:

  • High-performing organizations can scale their cloud infrastructure up or down based on demand. They use auto-scaling groups, load balancers, and other cloud-native tools to automatically adjust their infrastructure to handle spikes in traffic or workload.

Resilient infrastructure:

  • High-performing organizations design their cloud infrastructure to be resilient to failures. They use multiple availability zones, fault-tolerant services, and automated disaster recovery processes to ensure that their applications can continue to run even when parts of the infrastructure fail.

Secure infrastructure:

  • High-performing organizations prioritize security and compliance in their cloud infrastructure. They use identity and access management (IAM) tools to control access to their resources, encrypt data in transit and at rest, and implement other security best practices to protect their applications and data.

 Cloud Infrastructure practices

The core principles and practices of cloud infrastructure management are founded on the concept of shared responsibilities and self-service capabilities between development and operations teams. By leveraging Infrastructure-as-Code and GitOps practices, the traditional physical constraints of on-premises ecosystems are eliminated, granting developers complete control over their infrastructure management and state. Simultaneously, the primary role of operations groups shifts to enabling, guiding, supporting, and setting boundaries for these self-service capabilities.

  1. Reconfigure processes, architecture, and governance to comply with regulatory requirements in a cloud-native manner.

  2. Develop a shared infrastructure architecture that allows teams to independently deploy and modify configurations, ensuring logical separation between environments, facilitating cost allocation, and preventing excessive cloud usage and unused infrastructure.

  3. Establish a product development capability specifically for your cloud infrastructure platform.

  4. Assist procurement in transitioning from capital investments to a metered service model for infrastructure.

  5. Educate developers on how to build applications optimized for cloud environments.

  6. Facilitate the adoption of modern Site Reliability Engineering (SRE) practices by operations teams, including adopting infrastructure-as-code to replace manual ticket-based configuration management.

  7. Strategize and implementing the integration between cloud-native and non-cloud systems, such as mainframes and packaged software/COTS applications.

Adoption Expectations

System Components MVP MVP+

Document existing infrastructure provisioning process

+

+

Adopt recommended IaC tool

+

+

Adopt CI/CD tool for infrastructure deployment

+

+

Develop automated infrastructure deployment scripts

+

+

Track deployments and versions

+

+

Setup auto-scaling

 

+

Setup automated disaster recovery

 

+

Implement access model and security best practices

 

+

 

Tools

Functionality Tool Name

Infrastructure as Code (IaC) tool

Terraform, CloudFormation, Azure Resource Manager

CI/CD tools

Azure DevOps, Jenkins, GitHub Actions

Roles

Name  Responsibilities

Solution Architect

Design and propose solutions based on cloud native technologies and approaches

System Architect

Design and propose solutions based on cloud native technologies and approaches

Build Engineer

Integrated automated pipelines with Cloud infrastructure

System Engineer

Develop and maintain Cloud Infrastructure

App Admin

Configure and maintain Apps in Cloud Infrastructure

Operations Manager

Manage teams and activities related to Cloud Infrastructure