Automating Cloud Deployments
Home » Courses » Networking in Public Cloud Deployments » Automating Cloud Deployments
Automating Cloud Deployments
Migrating to cloud infrastructure won't increase the speed- or reliability of application deployment if you continue to use the traditional manual processes, or configure one-off environments with GUI.
This module will describe the principles of automated workload deployment and commonly-used tools, and introduce infrastructure-as-code concepts.
2:17:08 Automating the Cloud |
||
Ned Bellavance described cloud deployment automation using infrastructure-as-code tools. His presentation included:
|
||
Introduction | 4:14 | 2020-03-05 |
Infrastructure as Code Concepts | 24:47 | 2020-03-05 |
Infrastructure as Code Tools | 13:05 | 2020-03-05 |
Introducing Terraform | 34:07 | 2020-03-09 |
Using Terraform with Azure | 22:36 | 2020-03-05 |
Terraform and Config Management | 15:16 | 2020-03-05 |
Automating Terraform | 23:03 | 2020-03-05 |
Slide Deck | 2.3M | 2020-02-25 |
3:03:09 Network- and Services Deployment Tools |
||
Most traditional state management and tools and automation frameworks can be used to automate cloud deployments. This section briefly describes the architecture of three most common automation tools (Chef, Puppet, and Ansible), and introduces the concepts of version control and reviews. |
||
Agenda, Biases, and Guidelines | 10:20 | 2021-06-18 |
39:14 Configuration and State Management Tools |
||
Configuration and State Management Tools | 19:04 | 2021-06-18 |
Puppet, Salt and Terraform | 15:23 | 2021-06-18 |
The Importance of Good Data | 4:47 | 2021-06-18 |
37:57 Related Python Libraries |
||
Connectivity Libraries | 15:22 | 2021-06-18 |
Text Parsing Libraries | 22:35 | 2021-06-18 |
1:07:38 Automation Frameworks |
||
Why Is Ansible so Popular? | 19:08 | 2021-07-08 |
Ansible Versions and Ansible Galaxy | 13:19 | 2021-07-08 |
Ansible Overview | 22:28 | 2021-07-08 |
Beyond Ansible (including Nornir) | 12:43 | 2021-07-08 |
15:40 Version Control Systems |
||
Version Control and Review Systems | 15:40 | 2021-07-08 |
12:20 More Information |
||
Questions & Answers | 12:20 | 2021-07-08 |
Python Networking Tools, Libraries, and Frameworks | ||
1:25:42 Free items Git and GitHub |
||
Git is the source-control tool of choice not only for most open source project, but also for extremely large teams like Facebook or Microsoft Windows development team. It seems a bit convoluted when you start, but you’ll quickly discover its benefits in this Getting started with Git tutorial by Scott Lowe. If you’re familiar with another version control tool, or want to learn more about Git, I’d highly recommend reading the Pro Git book. I would also suggest you invest more time in understanding Git concepts than trying to remember a few quick recipes and move on. |
||
Git and GitHub | 23:10 | 2023-11-25 |
Git Branches | 29:22 | 2023-11-25 |
Git Remotes | 21:45 | 2023-11-25 |
Useful Tips | 11:25 | 2023-11-25 |
Slide Deck | 545K | 2017-01-17 |
Hands-on exercises |
||
Practice Your Git | 205K | 2017-08-14 |
Git Recipe Explained | ||
Git books and other online courses |
||
Git Magic | ||
Simple and humorous introduction to Git basics |
||
Pro Git book | ||
A must-read book for everyone aiming to master Git |
||
Git Notes for Professionals | ||
Another must-read book full of Git tips and tricks |
||
Git Immersion (recommended by Bruno Wollmann) | ||
Git in 15 minutes | ||
GitHub on-demand training | ||
Git branching strategies |
||
Gitflow (a commonly used branching approach) | ||
Patterns for Managing Source Code Branches (Martin Fowler) | ||
Git branching guidance (Microsoft.com) | ||
Comparing Git workflows (atlassian.com) | ||
Git Feature Branch Workflow (atlassian.com) | ||
Using Git |
||
Using Git branches in NetDevOps (Leslie Carr, RIPE 71) | ||
GitOps: A Path to More Self-service IT (Tom Limoncelli, ACM Queue) | ||
How to find stuff in Git | ||
Confusing Git terminology | ||
Recipes-of-last-resort for the times when nothing else works | ||
Contributing to Open-Source Projects with Git | ||
Popular git config options | ||
Git Tips & Tricks by Scott Chacon (GitButler) | ||
More Git Tips & Tricks (Hacker News) | ||
Git details for the curious |
||
git branches: intuition & reality | ||
Inside Git directory | ||
git rebase: what can go wrong? | ||
How git cherry-pick and revert use 3-way merge | ||
57:45 Free items PowerShell Introduction |
||
You could use PowerShell instead of Linux CLI to automate Azure deployments. If you want to go down that path, and are not familiar with PowerShell, you might find this introductory presentation useful. |
||
Introduction to PowerShell | 26:17 | 2017-05-29 |
Hands-on PowerShell | 19:24 | 2017-05-29 |
Using REST API with PowerShell | 12:04 | 2017-07-04 |
Additional Resources |
||
Slide Deck | 1.7M | 2017-02-11 |
Source code for Mitja's PowerShell demos | ||
19:49:00 Ansible for Networking Engineers |
||
Ansible includes numerous AWS, Azure and GCP management modules, and if you plan to use it in your other automation projects you might as well try to use it to automate your cloud deployments (although you might find other tools like Terraform easier to use). |
||
51:29 Safely Managing Automation Secrets |
||
In this presentation David Barroso focused on two important automation aspects:
|
||
Introduction | 10:54 | 2022-10-26 |
Encrypted Environment and Inventory | 11:11 | 2022-10-26 |
HashiCorp Vault 101 | 7:44 | 2022-10-26 |
Storing Secrets in HashiCorp Vault | 9:12 | 2022-10-26 |
Building a PKI with HashiCorp Vault | 10:21 | 2022-10-26 |
Summary | 2:07 | 2022-10-26 |
Automating Cloud Infrastructure Deployments |
||
You might find the following sections even more useful when you'll start automating network- and security infrastructure. Revisit them while working on the hands-on exercises in the following modules. | ||
1:57:43 Automating AWS Deployments |
||
AWS API has numerous idiosyncrasies: it's a strict Create/Read/Update/Delete API, you need multiple API calls to create an object, objects can be referenced by IDs, but not by names... This section explains the peculiarities of AWS API, and describes how to use bash scripts, Ansible playbooks, CloudFormation templates, and Terraform configuration files to create, update, or delete anything from a single AWS object to a full-blown application stack. |
||
AWS Automation Principles | 18:03 | 2020-04-13 |
Creating and Updating a Single Object | 19:21 | 2020-04-13 |
Example: Create a Single Object with Multiple Automation Tools | 11:55 | 2020-04-13 |
Creating an Object Hierarchy | 18:26 | 2020-04-13 |
Using Ansible AWS Modules | 11:29 | 2020-04-13 |
Example: Use Automation Tools to Create an Object Hierarchy | 14:37 | 2020-04-13 |
Example: Full Infrastructure Stack Deployment with Ansible | 23:52 | 2020-04-13 |
New AWS Features |
||
Tag EC2 Resources on Creation | ||
Source Code for Automation Examples |
||
Bash scripts | ||
Ansible playbooks | ||
CloudFormation templates | ||
Terraform configuration files | ||
1:12:31 Automating Azure Deployments |
||
It's a pleasure to work with Azure API: objects have names, you can refer to them by names, and the API uses create-or-update approach, making automation scripts or playbooks extremely easy to develop or understand. This section explains the principles of Azure API, and describes how to use bash scripts, Ansible playbooks, Terraform configuration files, and Resource Manager Tempaltes to create, update, or delete networking- and compute infrastructure. |
||
Azure Automation Principles | 17:34 | 2020-05-11 |
Creating and Updating Azure Objects | 15:33 | 2020-05-11 |
Dealing with Object Hierarchy | 14:19 | 2020-05-11 |
Creating Azure Virtual Machines | 3:59 | 2020-05-11 |
Using Ansible Azure Modules | 7:11 | 2020-05-11 |
Azure Resource Manager Templates Overview | 13:55 | 2020-05-11 |
Source Code for Automation Examples |
||
Bash scripts | ||
Ansible playbooks | ||
Resource Manager templates | ||
Terraform configuration files | ||
Hands-On Exercises |
||
Select an Infrastructure-as-Code Tool |
||
In this assignment you'll select a public cloud provider you'd like to work with, create your public cloud account, select an IaC tool of your choice, and create some simple public cloud infrastructure with that tool. |
||
Hands-on assignment: select an infrastructure-as-code tool | 3.6K | 2020-01-03 |
Submit your homework | ||
Overview: Submitting Hands-On Exercise Solutions | ||
More to Explore |
||
Additional Resources |
||
This section contains links to external blog posts, podcasts... that you might find useful after mastering the basics of public cloud automation. |
||
Lessons learned running Terraform in large-scale AWS production | ||
Why we use Terraform and not Ansible or CloudFormation |