# artemmkin/infrastructure-as-code-tutorial

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/artemmkin-infrastructure-as-code-tutorial).**

2,306 stars · 418 forks · Apache-2.0

## Links

- GitHub: https://github.com/Artemmkin/infrastructure-as-code-tutorial
- awesome-repositories: https://awesome-repositories.com/repository/artemmkin-infrastructure-as-code-tutorial.md

## Topics

`ansible` `docker` `docker-compose` `googlecloudplatform` `infrastructure-as-code` `kubernetes` `packer` `terraform` `vagrant`

## Description

This project serves as an educational resource for mastering automated infrastructure provisioning, configuration management, and container orchestration. It provides structured learning paths and hands-on exercises designed to teach the principles of defining and managing server environments through version-controlled configuration files.

The repository distinguishes itself by offering specific, practical tutorials for industry-standard automation tools. It covers the deployment of cloud resources through declarative configuration files, the automation of server setup and software maintenance using repeatable scripting patterns, and the management of containerized application lifecycles within clusters.

The material encompasses core infrastructure concepts including declarative resource graphing, idempotent configuration, and provider-based API abstraction. It also addresses the broader operational methodologies required for immutable image creation and container-based environment isolation. The project is documented as a collection of guides and training modules intended to facilitate the transition from manual setup processes to automated infrastructure workflows.

## Tags

### Education & Learning Resources

- [Infrastructure as Code Tutorials](https://awesome-repositories.com/f/education-learning-resources/educational-resources/reference-and-media/tutorials-media-curated-lists/technical-tutorials/systems-infrastructure/infrastructure-as-code-tutorials.md) — Offers hands-on exercises and guides for learning infrastructure provisioning and configuration management tools.

### DevOps & Infrastructure

- [Infrastructure as Code](https://awesome-repositories.com/f/devops-infrastructure/infrastructure/infrastructure-as-code.md) — Defines and manages data center environments through version-controlled text files for repeatable provisioning.
- [Cloud Infrastructure Automation](https://awesome-repositories.com/f/devops-infrastructure/cloud-infrastructure-automation.md) — Provides command-line tools for managing cloud resources and cluster provisioning via APIs. ([source](https://github.com/artemmkin/infrastructure-as-code-tutorial#readme))
- [Cloud Provisioning](https://awesome-repositories.com/f/devops-infrastructure/cloud-provisioning.md) — Offers tools and guides for deploying and managing virtual computing resources in cloud environments.
- [Containerized Application Management](https://awesome-repositories.com/f/devops-infrastructure/containerized-application-management.md) — Provides platforms for deploying, configuring, and modifying containerized applications via manifests.
- [Resource Declarations](https://awesome-repositories.com/f/devops-infrastructure/declarative-infrastructure-definitions/resource-declarations.md) — Instantiates and declares cloud resources using provider packages with input and output dependency management.
- [Cluster Orchestrators](https://awesome-repositories.com/f/devops-infrastructure/high-availability-clustering/cluster-orchestrators.md) — Automates the setup and coordination of cluster topologies to manage distributed application lifecycles.

### Operating Systems & Systems Programming

- [Immutable Image Distribution](https://awesome-repositories.com/f/operating-systems-systems-programming/os-development-distributions/custom-image-builders/immutable-image-distribution.md) — Distributes signed, read-only system images to eliminate configuration drift across deployment targets.

### Software Engineering & Architecture

- [Cloud Provider Abstractions](https://awesome-repositories.com/f/software-engineering-architecture/cloud-provider-abstractions.md) — Decouples core logic from platform-specific cloud and hypervisor APIs through standardized interface layers.
- [Configuration Management Workflows](https://awesome-repositories.com/f/software-engineering-architecture/configuration-management-workflows.md) — Implements methodologies for maintaining consistent system settings across diverse environments.
- [Container Isolation](https://awesome-repositories.com/f/software-engineering-architecture/execution-control/namespace-isolation/namespace-provisioners/container-isolation.md) — Provides mechanisms for isolating operating system environments using kernel namespaces to ensure consistent application execution.
- [System State Idempotency](https://awesome-repositories.com/f/software-engineering-architecture/idempotency-mechanisms/system-state-idempotency.md) — Ensures system-level configurations and software installations are applied consistently without redundant operations.

### Part of an Awesome List

- [DevOps and Infrastructure](https://awesome-repositories.com/f/awesome-lists/devops/devops-and-infrastructure.md) — Tutorials for infrastructure as code practices.
