Devops in Python: Infrastructure as Python

Zadka, Moshe

  • 出版商: Apress
  • 出版日期: 2022-08-01
  • 售價: $1,650
  • 貴賓價: 9.5$1,568
  • 語言: 英文
  • 頁數: 240
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1484279956
  • ISBN-13: 9781484279953
  • 相關分類: DevOpsPython
  • 立即出貨 (庫存=1)


Chapter 1 (Installing Python)

Different ways to install Python:

- Compiling from source

- OS packages

- pyenv

Chapter 2 (Packaging) (31 pages - 11 new pages)

How pip works and how to build packages.

The following sections need to change

Section about pip (adds 4 pages)

- Add explanation about how the resolver works

- Explain pip-compile

Poetry and pipenv (changes 2 pages, adds 2 pages)

- Needs to be separated into two sections

- Poetry section updated to reflect changes in Poetry

- Pipenv section updated to reflect changes in Pipenv and wheel (rewritten, changes 1 page, adds 2 pages)

- python -m build and setup.cfg

- Add details about binary wheels and manylinux

- Show a complete example

Chapter 3: Interactive usage

How to use the interactive interpreter, other text-mode interactive consoles, and Jupyter.

Chapter 4: OS Automation (16 pages - 4 new pages)

Automating OS-related things like files and processes.

Section about files (2 pages added)

- Cover using struct to parse binary data

- Cover pathlib

New section: low-level networking (2 pages) Cover socket, socket options, and how it relates

to TCP networking.

5 Chapter 5: Testing (30 pages - 10 new pages)

Writing unit tests for DevOps code.

Section about testing files (4 pages added)

- Improve performance of file testing using tmpfs and preloading libraries

- Add information about temporary directory context manager

Section about testing networking (4 pages added)

- Show how to test httpx with the WSGI support

- Show how to test low-level socket networking with DI

Section about testing processes (2 pages changed)

- Mention run and Popen

- Show how to write tests with DI on run and Popen

6 Chapter 6: Text manipulation

How to work with text: searching, modifiying, formatting, etc.

Chapter 7: Requests -> httpx (rewritten - 10 new pages)

- Focus on httpx instead

- Cover async usage

Chapter 8: Cryptography

Symmetric and asymmetric encryption and digital signatures, and how to use them in DevOps


Chapter 9: Paramiko

Using paramiko to automate SSH use.

Chapter 10: Salt Stack

Using salt stack and writing new modules.

Chapter 11: Ansible

Using ansible and writing new modules.

Chapter 12: Docker (5 new pages)

- Clean up examples - they are hard to read

- Show complete example of layering, not just talk in theory

- Show complete example of running, not just talk in theory

- Add section about how to build containers for Python applications

Chapter 13: AWS

Automating AWS using the boto3 library.

New: Chapter 14: Kubernetes (10 pages)

Chapter goal: Learn how to automate k8s with Python and how to run Python applications on k8s

- Packaging Python applications for kubernetes

- Using secrets

- Thinking in Pods

- Automating k8s from Python using the REST API

- Writing k8s operators with Python

New: Chapter 15: Terraform (5 pages)

- Using the Terraform Python CDK

- Generating Terraform JSON from Python


Moshe has been involved in the Linux community since 1998, helping in Linux "installation parties". Moshe has been programming Python since 1999 and has contributed to the core Python interpreter. Moshe has been a DevOps/SRE since before those terms existed, caring deeply about software reliability, build reproducibility, and other such things. They have worked in companies as small as three people and as big as tens of thousands - usually in someplace around where software meets system administration.