Course Description
The DevOps Bootcamp combines our DevOps Pipeline and Deploying Infrastructure at Scale courses into a single continuous class. The duration is 10-days and is intended for the same audience from start to finish.
Participants will reinforce their skills with more than 40-hours of hands-on lab work throughout the 10-days, ensuring they truly know how to test and deploy applications on an enterprise scale.
- We’ll start from the beginning with how to use git to version, backup, share and collaborate code of any kind.
- Then we’ll progress into learning Configuration Management to configure machines to become any type of server (such as a database server or webserver).
- We’ll follow this by full integration for automated testing with CI/CD, to ensure that any code is automatically linted and tested before being deployed.
- Once we have VM’s configured to serve up our applications, we’ll push the seven major development languages through a CI/CD pipeline: JavaScript, Python, Go, Java, C++, Ruby and TypeScript. You can choose this entire list of code languages, or just the subset that are used in your environment.
- We’ll track issues with our code in a tool like Jira.
- The artifacts we create through the process will be stored in an artifact storage platform like Nexus or JFrog Artifactory
- We’ll use an Infrastructure as Code tool (like Terraform) to create secure networking components in AWS Cloud, Google Cloud Platform or Azure Cloud. Then we’ll use Infrastructure as Code to launch VM’s in the cloud and configure those VM’s to become Docker hosts using Configuration Management
- We’ll deploy our code to these Docker containers
- Finally, we’ll use Kubernetes or OpenShift to manage our application containers and scale up our application delivery to handle most any level of customer demand
Choose the exact toolchain you want below and generate a course outline, or choose the ‘generic’ options for a tool-agnostic outline:
Course Duration
Standard Duration is 10-days. Customization to the course agenda may increase the number of days needed for the course.
Course Agenda
Course Duration as Configured: 6 Days
Infrastructure Platform: AWS Cloud
- Installing and using the AWS CLI (Command Line Interface)
- AWS Networking
- VPC's (Virtual Private Clouds)
- Subnets
- Internet Gateways
- Route Tables
- Route Table Associations
- Creating AWS Networking Components
- Launching VMs in AWS Cloud
Git: Source Control Management: Generic Git
- Purpose and overview of Git
- Use cases for Git
- Git flow
- Git providers
- Git configuration
- Finding help on Git
- Creating Local Git Repositories
- Basic Commands: add, commit, status, log
- Comparing commits: git diff
- Using a Repository: git push
- Branches: creating, merging and deleting
- Resolving merge conflicts
- Managing Pull Requests
- Using SSH keys with git platform private repositories
Continuous Integration / Continuous Delivery (CI/CD): Generic CI/CD
- CI/CD = Continuous Integration / Continuous Deployment
- Purpose & history
- Architecture
- Initializing CI/CD
- Project and Workflow configurations
- CI/CD as Code
- Managing your Projects and Workflows
- Managing credentials and secrets
- Distributing workloads
- Integrating with Source Control Management
- Triggering builds automatically
- Notifications: Approvals, Successes and Failures
- Requiring human input
- Automated configuration management with linting
- Integration testing using CI/CD
- CI/CD Integration with managed nodes
- Continuous deployment through CI/CD
Configuration Management: Generic Configuration Management
- Purpose and Use Cases for configuration management
- Architecture and Call Flow
- Creating idempotent policies to manage server configurations
- Linting and Integration Testing
- Adding managed nodes to your infrastructure
Notifications: Generic Notifications
- Integrating CI/CD with instant messaging
- Using instant messaging for CI/CD approvals and notifications
Containerization: Docker
- Purpose and use case for Docker
- Docker Hub
- Basic Docker commands
- Docker Networking
- Launching and debugging NGINX containers
- Mounting Volumes to containers
- Docker mount points: Multiple containers, one shared code location
- Launching Docker hosts and Docker containers automatically
- Port mapping with containers
- Launching multi-tiered architectures (web servers and load balancers): an automated approach
- Customizing containers with Docker Hub and Dockerfiles
- Reducing infrastructure bloat: Buster-Slim Docker containers
Managed OS: Linux Only
- Management of Linux Servers only
Container Management: Generic Orchestration
- Container Orchestration overview and use case
- Orchestration architecture
- Installation and configuration
- Master and node server components
- Creating load-balanced clusters
- Deploying Apps through Container Orchestration
- Scaling Apps
- Monitoring and App repair
- Updating Containerized Applications
Artifact Storage: Generic Artifact Storage
- Artifact overview
- Common artifact platforms
- Repository types
- Integrating artifact storage with CI/CD
- Uploading files from CI/CD to artifact storage
- Deploying Code & Artifacts
Requirements:
- Access to *.aws.amazon.com/*
- Access to *.docker.com/*
Course Availability: Contact for Availability