Preface
Part 1: Introduction to DevOps and role of Python in DevOps
1
Introducing DevOps Principles
Exploring automation
Automation and how it relates to the world
How automation evolves from the perspective of an operations engineer
Understanding logging and monitoring
Logging
Monitoring
Alerts
Incident and event response
How to respond to an incident (in life and DevOps)
Site reliability engineering
Incident response teams
Post-mortems
Understanding high availability
SLIs, SLOs, and SLAs
RTOs and RPOs
Error budgets
,How to automate for high availability?
Delving into infrastructure as a code
Pseudocode
Summary
2
Talking about Python
Python 101
Beautiful-ugly/explicit-implicit
Simple-complex-complicated
Flat-nested/sparse-dense
Readability-special cases-practicality-purity-errors
Ambiguity/one way/Dutch
Now or never
Hard-bad/easy-good
Namespaces
What Python offers DevOps
Operating systems
Containerization
Microservices
A couple of simple DevOps tasks in Python
Automated shutdown of a server
Autopull a list of Docker images
, Summary
3
The Simplest Ways to Start Using DevOps in Python
Immediately
Technical requirements
Introducing API calls
Exercise 1 – calling a Hugging Face Transformer API
Exercise 2 – creating and releasing an API for consumption
Networking
Exercise 1 – using Scapy to sniff packets and visualize packet size over time
Exercise 2 – generating a routing table for your device
Summary
4
Provisioning Resources
Technical requirements
Python SDKs (and why everyone uses them)
Creating an AWS EC2 instance with Python’s boto3 library
Scaling and autoscaling
Manual scaling with Python
Autoscaling with Python based on a trigger
Containers and where Python fits in with containers
Simplifying Docker administration with Python