Rust for DevOps
- Offered byCoursera
Rust for DevOps at Coursera Overview
Duration | 15 hours |
Total fee | Free |
Mode of learning | Online |
Official Website | Explore Free Course |
Credential | Certificate |
Rust for DevOps at Coursera Highlights
- Earn a certificate from Duke University
- Add to your LinkedIn profile
Rust for DevOps at Coursera Course details
- What you'll learn
- Apply DevOps principles and workflows to build, deploy, and operate applications using technologies like Rust, containers, logging, and monitoring.
- Instrument applications with logging and monitoring using frameworks like ELK stack and Prometheus to gain observability into systems.
- Automate system administration tasks like file parsing, command execution, and cron jobs using Rust to improve efficiency.
- Rust For DevOps is an intermediate level course for software engineers, system administrators, and technical professionals looking to apply DevOps principles using Rust. This course is for you if you have beginner level programming experience and are familiar with Linux, Git, and Docker fundamentals. Through video lessons and coding exercises, you will gain practical Rust skills to build, deploy, and monitor applications using DevOps workflows. You will implement containerization, instrument your code for observability, and automate common administration tasks like file parsing and cron jobs. By the end, you will have the Rust and DevOps skills to rapidly develop robust large-scale applications, regardless of your specific technical role.
Rust for DevOps at Coursera Curriculum
DevOps Fundamentals
Meet your Course Instructor: Alfredo Deza
About this course
Introduction
Core DevOps Principles
What is automation?
Foundations of logging and monitoring
Visibility and accountability
Real-world examples of applied DevOps
Introduction
Version control and source code management
Testing and validation
Packaging and versioning
Linting and formatting
Using Rust vs. Python
Introduction
Exploring the concepts of containerization
Benefits of using containers for DevOps
What are container registries
Distroless containers with Rust
Cloud scaling and elasticity with containers
Course Structure and Discussion Etiquette
Getting Started
What is DevOps?
Preface of Python for DevOps book
Introduction to version control with Git
Linting in Rust
Introduction to Docker containers
Core DevOps Principles
Meet and Greet (optional)
Implementing logging and monitoring strategies
Introduction
Logging and monitoring intersection
Overview of monitoring tools
Push and Pull strategies
Granularity and retention policies
Introduction
Installing the ELK stack
Configuring the ELK stack
Adding a Prometheus endpoint in Rust
Connecting Prometheus and Grafana
Exposing a custom monitoring endpoint
Monitoring and logging strategies in Azure
Introduction
Adding logging to a Rust application
Using logging in Rust
Controlling verbosity levels
Structured logging
What is Prometheus?
What is the ELK Stack?
Installing the ELK stack
ELK stack installation repository
External lab: Exposing a custom monitoring endpoint
External Lab: Getting started with the ELK stack and Docker-Compose
External lab: Add logging in a Rust application
External lab: Add structured logging to a Rust application
The Log crate
Instrumenting a Rust project
Logging and monitoring
Automating System management
Introduction
Overview of automation tasks you can build
Crawling the filesystem
Building a Rust CLI to parse files
Parsing log files with Rust
Using Cron to automate recurring tasks
Introduction
Overview of complexities of running external programs
Strategies for parsing system command output
Avoiding issues with the path
Error reporting and handling techniques
File logging for error reporting
Introduction
When to use compliance
Using JSON with Rust
Building a compliance program
Improving reporting logic
Program reporting strategies
Cron reference
Handle errors in Rust
External lab: Report and parse device output
External lab: Using JSON with Rust
External lab: Use exit status codes for reporting
Iterate through data in Rust
Automating System Management
Crawling the filesystem
Parsing log files with Rust
CI/CD Platforms
Introduction
What is CI/CD
Components of a job
Overview of the Jenkins platform
Introduction to GitHub Actions
Introduction
Automating common tasks
Managing interdependent jobs
Building a matrix job
Handling logic in workflows
Introduction
Identifying project needs
Setting up code linting for Pull Requests
Setting up Dockerfile linting for Pull Requests
Packaging and releasing a container application
Learn GitHub Actions
External lab: Update a workflow for Pull Request checks
Using a matrix for your Github Action jobs
External lab: Build a matrix job for tests
Creating starter workflows for your organization
External lab: Build an end-to-end containerization pipeline for a Rust project
CI/CD Platforms