Enterprise DevOps & Cloud Infrastructure

Erik Reinert

Erik Reinert

TheAltF4Stream
7 hours, 55 minutes CC
Enterprise DevOps & Cloud Infrastructure

Course Description

Get hands-on experience with DevOps concepts for large-scale environments, covering role-based access, DNS, resource management, and automated service orchestration. Delve into GitOps for streamlined deployment and fine-tune CI/CD pipelines. Learn secret management with Doppler, implement GitHub Actions, and manage AWS resources efficiently. The course culminates in real-world Terraform automations, dynamic configurations, and managing developer service components, ensuring you are well-equipped to handle the demands of enterprise cloud infrastructure.

This course and others like it are available as part of our Frontend Masters video subscription.

Preview
Close

Course Details

Published: October 30, 2023

Learn Straight from the Experts Who Shape the Modern Web

Your Path to Senior Developer and Beyond
  • 200+ In-depth courses
  • 18 Learning Paths
  • Industry Leading Experts
  • Live Interactive Workshops
Get Unlimited Access Now

Table of Contents

Introduction

Section Duration: 15 minutes
  • Introduction
    Erik Reinert begins the course by talking about why an important characteristic of DevOps engineers is the ability to identify and break down common problems within an organization and build solutions using standardized practices. The course Introducing DevOps for Developers introduced these concepts, and this course will see them practically applied in enterprise scenarios.
  • Three Ws
    Erik reviews the Three W's of strategy. What problems are we trying to solve? Who are we solving it for? Why are we solving this problem?

Problems

Section Duration: 31 minutes
  • Organization Problems
    Erik discusses organizational problems solved by DevOps, including role-based access control, domains/DNS, networking, and resource allocation (compute, storage, etc).
  • Source Control & Service Management
    Erik walks through developer problems surrounding source control and service management. The best solutions support developers and enable them to only deal with the source code and the mechanisms around deploying it. A question about handling hot-fixes is also discussed in this lesson.
  • Continuous Delivery & Continuous Integration
    Erik discusses the importance of developer empowerment in DevOps practices and the responsibility of different team members when something goes wrong, emphasizing the need for developers to take ownership of their services, configurations, and deployments. A real-world example of how empowering developers led to more frequent and efficient deployments is also included in this lesson.
  • Logging & Metrics
    Erik compares the logging responsibilities of DevOps with software developers. Developers need access to logs and metrics able to access logs for monitoring and troubleshooting. DevOps provides access to the logs, but it's the developer's responsibility to check them.

Automation

Section Duration: 1 hour, 13 minutes
  • Introduction to GitOps
    Erik introduces GitOps, explaining that it is a paradigm or practice that emphasizes using Git as a single source of truth for declarative infrastructure and applications. The benefits of GitOps, including infrastructure as code, automated deployments, reproducibility, rollbacks, and enhanced collaboration, are also discussed in this lesson.
  • Terraform & Pulumi
    Erik compares automation tools Terraform and Pulumi. Terraform is an industry-standard tool for declarative infrastructure automation. Pulumi takes an imperative approach using programming languages for infrastructure configuration. DevOps engineers should choose a tool that aligns with their specific needs and preferences rather than following trends.
  • Automation Tools Q&A
    Erik answers questions about testing frameworks, workflow differences, syntax variations, migration challenges, and the sustainability of using multiple languages with Pulumi. Maintaining a single source of truth is critical for effective infrastructure management.
  • Automation Providers
    Erik discusses the importance of automation providers to streamline infrastructure management, improve collaboration, and lower the cost of managing the infrastructure. Automation providers require financial investment, but the investment frees up time and resources that would normally be required to build the same infrastructure management. to address more critical business challenges. Erik also provides insights on choosing the right automation provider by focusing on solving specific problems, leveraging existing tools, and prioritizing essential features for your organization's needs.
  • Automation Providers Q&A
    Erik answers questions about automation providers including the role of tools like Ansible in infrastructure management and managing permissions and keys.
  • Continuous Integration & Delivery CI/CD
    Erik compares Continuous Integration (CI) and Continuous Delivery (CD). CI involves automating code integration from multiple contributors into a single project and validates changes. CD focuses on delivering software in short cycles, getting it into production as quickly as possible. While CI and CD are often used together, they are not the same thing, and mixing the two should be done carefully.
  • CI/CD Q&A
    Erik answers questions about CI/CD processes and advises against relying on manual scripts. The benefits of using cloud or CI/CD provider tools to run containers is also discussed in this lesson.

Cloud Providers

Section Duration: 49 minutes
  • Self-Hosted vs Cloud Providers
    Erik addresses common misconceptions about self-hosting being easier or cheaper than cloud hosting, highlighting the complexities and maintenance involved in self-hosted solutions. The decision between self-hosting and using cloud providers should be based on an organization's specific needs, resources, and confidence in managing infrastructure.
  • Infrastructure Setup
    Erik discusses the service providers used throughout the course, including Doppler for secret management, GitHub Actions for CI/CD, Terraform for automation, and AWS as the chosen cloud provider. A question about secrets management is also discussed in this lesson.
  • Terraform Cloud Components
    Erik introduces the infrastructure automation process with Terraform components. A modular approach to managing various infrastructure components with a GitOps workflow adds flexibility and allows for easy scalability and updates across multiple environments.
  • Developer Service Components
    Erik outlines the logical separation of developer service components. This structure gives developers access to their code repositories and deployments while allowing DevOps to manage the workspaces. The workshop materials repositories are also provided and contain the final solutions and branches for each step in the process.

Environments Setup

Section Duration: 50 minutes

Terraform Automations

Section Duration: 29 minutes

Dynamic Configurations

Section Duration: 44 minutes

Version Control

Section Duration: 26 minutes

GitHub Automation

Section Duration: 51 minutes

AWS Automation

Section Duration: 59 minutes

Service Infrastructure Automation

Section Duration: 35 minutes

Wrapping Up

Section Duration: 8 minutes
  • Wrapping Up
    Erik wraps up the course by discussing how automation could be extended further by abstracting the network and cluster resources. Workspace outputs can be referenced by related workspaces, which reduces the need to duplicate workspaces for new network resources.

Learn Straight from the Experts Who Shape the Modern Web

  • In-depth Courses
  • Industry Leading Experts
  • Learning Paths
  • Live Interactive Workshops
Get Unlimited Access Now