Skip to content

Latest commit

 

History

History
79 lines (48 loc) · 3.9 KB

iac.md

File metadata and controls

79 lines (48 loc) · 3.9 KB

Infrastructure as Code

After you've mastered cloud computing and can manually operate on any cloud platform, the next step is to get started with [Infrastructure as code or configuration]. (https://learn.hashicorp.com/tutorials/terraform/infrastructure-as-code)

To master this phase, you can choose from a variety of programmatic or declarative languages/tools.

It is suggested that you understand the declarative language provided by the cloud platform on which you work (eg: ARM for azure, cloudformation for AWS, Google cloud deployment manager). Then begin using Terraform (as the most popular and widely used across all clouds)

There are numerous players with various purpose-built Declarative/programmatic languages that will require learning for various usecases. The guides on this page will exclusively cover opensource/commodity tools and technologies. Aside from that, there are numerous SaaS providers who enable continuous infrastructure through code with their own proprietary code. DSL (Domain specific language)

Categories include

Cloud infrastructure provisioning and lifecycle management

The following is the bare essentials to learn for infrastructure as code and automation. This is needed for cloud provisioning and lifecycle management. You could choose a learning path of any one.

Other low adoption tools exist as well, which is more just fun to experiment with rather than used full-fledge at production scale

There are also tools that can be used for more advanced approaches (eg: IaC GitOps through kubernetes crossplane).

Application deployment, Configuration Management and infrastructure orchestration

A relatively more-wider and greyer scoped set of tools that will aid in system administration of large scale cloud setups. From managing servers, server configurations, application configurations and deployments.

The most widely adopted are the following

There are lots of other configuration management tools, that can range from simple (eg: cloudinit to more expansive), but which is comparably much lesser adopted than the above 4.

Security, Compliance and Governance

TBD

Learning Paths

Terraform

What you will learn

  • Expert in provisioning and managing infrastructure in any of the cloud platforms using Terraform
    • Creation, publishing and usage of modules in terraform
    • Manage multi-stack, multi-region, multi-environment setup in the cloud using terraform
    • Backend state management

Time Commitment

Recommended Time:

  • Starting from scratch to basic operational knowledge : 1 weeks (at 4 hours per day)

Learning Paths

complexity Material
standard-path hashicorp learn

Usecases Yardstick

  • Try to complete the same usecase ony using terraform
    • Develop modules for Network, databases, storage and compute separately
    • Assemble the modules to deploy the full stack
    • Provision and manage terraform state using a block storage (eg: blob or S3 buckets)