Modern Cloud Infrastructure with AWS and Pulumi
Published by Pearson
Build, deploy, and manage your AWS cloud infrastructure using Pulumi and Python
Have you or your team missed or forgotten to deploy a change that was in your staging or development environment? Does your environment lack consistency or fail during deployment? Cloud engineering democratizes the cloud for software engineers by adopting and applying software engineering practices such as version control, tests, continuous integration, and continuous deployments to your infrastructure. Pulumi and Terraform are both open-source projects that let you can manage infrastructure as code on any cloud.
Pulumi has the advantage of using general purpose languages like Python and JavaScript instead of learning a domain-specific language like HashiCorp Configuration Language (HCL) which Terraform requires. By the end of this course, you will learn how to create, modify, and destroy infrastructure using Python. You will also learn how to test your infrastructure using your favorite testing framework. Finally, you will learn to submit your code/infrastructure changes for review to automatically deploy it - sounds like a software, right?
These principles will unlock your team’s potential in dynamic ways. Your team will be able to build, deploy, maintain, and test infrastructure faster and lower the maintenance of your multiple complex environments. They will also remove the siloes which traditionally exist between the “who” is responsible for the infrastructure and the “who” using it.
What you’ll learn and how you can apply it
By the end of the live online course, you’ll understand:
- The differences between Pulumi and Terraform
- The Pulumi architecture and use cases
- How Pulumi and Python can manage a complex environment lifecycle
And you’ll be able to:
- Create a Pulumi project
- Utilize both Python and Pulumi to set up a Cloud infrastructure on AWS
- Provision AWS Services (such as MySQL RDS, S3, EC2) with Pulumi
- Use Pulumi to tear-down your cloud infrastructure
This live event is for you because...
- You are a DevOps engineer or software engineer who wants to use Python and Infrastructure-as-Code tools to manage your cloud infrastructure
- You are looking to improve infrastructure management collaboration in your team between DevOps and Software Engineers
- You want an intermediate to advanced approach to automate your cloud stack’s build and configuration
Prerequisites
- Familiarity with cloud infrastructure
- Familiarity with a source control manager like Git
- Familiarity with a programming language such as Python
Course Set-up
- GitHub Link: https://github.com/helkhalfi/modern-cloud-engineering-aws-pulumi
- For those following along: A Pulumi account (free personal account)
- For those following along: An AWS account with enough permission to create and destroy resources
Recommended Preparation
- Read: Infrastructure as Code, 2nd Edition by Kief Morris
- Watch: Developing Infrastructure as Code with Terraform LiveLessons by Robert Jordan
Recommended Follow-up
- Read: The Definitive Guide to AWS Infrastructure Automation by Bradley Campbell
- Read: Python for DevOps by Noah Gift, Kennedy Behrman, Alfredo Deza, Grig Gheorghiu
- Watch: From IT to DevOps by Paul Furlan
Schedule
The time frames are only estimates and may vary according to how the class is progressing.
Segment 1: Pulumi vs Terraform(30 minutes)
- Benefits of infrastructure-as-software
- Comparison between Pulumi and Terraform
- Q&A
Segment 2: Starting with Pulumi(40 minutes)
- The Basics of Pulumi
- Pulumi Projects
- Pulumi State Management
- Pulumi Secrets & Resources
- Installing Pulumi and Initiating a New Project
Break (5 minutes)
Segment 3: Build Your Environment, Pt. 1(30 minutes)
- Architecture of our development environment
- Create your VPC (Virtual Private Cloud) using Pulumi and Python
- Create S3 buckets using Pulumi and Python
- Compare Terraform vs. Pulumi regarding the exercises above
Segment 4: Build Your Environment, Pt. 2(30 minutes)
- Create EC2 instances using Python SDK
- Create an Amazon RDS for MySQL using Python SDK
- Tear down your infrastructure
- Compare Terraform vs. Pulumi regarding the exercises above
Break (5 minutes)
Segment 5: Pulumi in Production(30 minutes)
- Promote changes from staging to production
- Test the Pulumi projects
- Branding and version control strategies
Course wrap-up and next steps (10 minutes)
Your Instructor
Hichame El Khalfi
Hichame El Khalfi is software engineer and manager. He has 18 years of hands-on experience designing, architecting, writing, and shipping software across 4 continents for different industries. He is currently leading a Data Engineering team to build, run, and scale the organization’s AI/ML Decisioning platform. Hichame worked at several start-up on in AdTech, Analytics as well as financial firms. Hichame holds a Master of Science in Distributed Systems Engineering and a Master in Business Informatics, both from Université Paris-Est Créteil.