The Linux DevOps Handbook Customize and Scale Your Linux Distributions to Accelerate Your DevOps Workflow
Build a solid foundation in DevOps and Linux systems as well as advanced DevOps practices such as configuration, IAC, and CI/CD Key Features Master Linux basics, the command line, and shell scripting Become a DevOps expert by mastering Docker, Git, monitoring, automation, and CI/CD Implement network...
Otros Autores: | , |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Birmingham, England :
Packt Publishing
[2023]
|
Edición: | First edition |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009784625706719 |
Tabla de Contenidos:
- Cover
- Title Page
- Copyrights and credits
- Contributors
- Table of Contents
- Preface
- Part 1: Linux Basics
- Chapter 1: Choosing the Right Linux Distribution
- Technical requirements
- What exactly is a Linux distribution?
- What makes distributions different?
- Introducing the distributions
- Debian
- Ubuntu Linux
- Red Hat Enterprise Linux (RHEL)
- Fedora Linux
- CentOS
- Rocky Linux
- Alpine
- Summary
- Chapter 2: Command-Line Basics
- Technical requirements
- The Linux command line - shell
- Getting to know your shell
- I call to thee
- The filesystem structure
- Running a program
- The command to teach you all commands
- Know your environment
- Where in the PATH am I?
- Know your rights
- Interacting with the system
- Process this
- Looking for something?
- Let's be manipulative
- Summary
- Exercises
- Resources
- Chapter 3: Intermediate Linux
- Technical requirements
- Globs
- Automating repetitive tasks
- Cron jobs
- Systemd timer
- Software installation
- Debian and Ubuntu
- CentOS, RHEL, and Fedora
- Alpine Linux
- Managing users
- Adding users
- Modifying users
- Removing users
- Managing groups
- Secure Shell (SSH) protocol
- Configuring OpenSSH
- Creating and managing SSH keys
- Summary
- Exercises
- Chapter 4: Automating with Shell Scripts
- Technical requirements
- Backing up a database
- Understanding scripting
- Understanding Bash built-ins and grammar
- Variables
- Parameters
- Loops
- Conditional execution - if statement
- Understanding the backup script - first steps
- Handling errors and debugging
- Summary
- Exercises
- Part 2: Your Day-to-Day DevOps Tools
- Chapter 5: Managing Services in Linux
- Technical requirements
- Understanding Linux services in detail
- The history of Linux service management
- systemd
- OpenRC
- SysV init.
- A few words about Upstart, an alternative
- Summary
- Chapter 6: Networking in Linux
- Networking in Linux
- ISO/OSI as a networking standard
- Physical layer
- Data link layer - MAC, VLAN
- Network layer - IPv4 and IPv6
- Transport layer - TCP and UDP
- Session layer
- Presentation layer - SSL and TLS
- Application layer - HTTP and FTP
- Firewalls
- iptables
- nftables
- ufw
- firewalld
- Advanced topics
- NAT
- Port forwarding
- Interface bonding
- TCP multipath
- BGP
- Summary
- Chapter 7: Git, Your Doorway to DevOps
- Technical requirements
- Basic Git commands
- Configuring the local Git environment
- Setting up a local Git repository
- Local versus remote Git repositories
- Interacting with remote repositories
- What's the git diff command?
- Viewing the commit history
- Branching
- Squashing commits using an interactive rebase
- Solving Git conflicts
- GitFlow and GitHub Flow
- Global git configuration - .gitconfig
- Ignoring some files using a .gitignore configuration file
- Summary
- Chapter 8: Docker Basics
- Technical requirements
- Virtualization versus containerization
- Virtualization
- Containerization
- Anatomy of Docker
- OverlayFS
- What is an image?
- What is a container runtime?
- cgroups
- Docker commands
- docker build
- docker run
- docker start
- docker stop
- docker ps
- docker login
- docker pull
- docker push
- docker image
- docker exec
- docker logs
- docker rm
- docker rmi
- docker network
- docker volume
- Dockerfile
- FROM
- COPY and ADD
- EXPOSE
- ENTRYPOINT and CMD
- RUN
- LABEL
- ENV and ARG
- VOLUME
- USER
- WORKDIR
- Docker image registries
- Docker networking
- None network
- Bridge mode
- Host mode
- Overlay
- Summary
- Chapter 9: A Deep Dive into Docker
- Docker advanced use cases
- Running public images.
- Running a debugging container
- Cleaning up unused containers
- Docker volumes and bind mounts
- Docker networking advanced use cases
- Security features of Docker
- Docker for CI/CD pipeline integration
- Docker Compose
- Advanced Dockerfile techniques
- Multi-stage build
- ADD command use cases
- Secrets management
- Docker orchestration
- Docker Swarm
- Kubernetes and OpenShift
- Summary
- Part 3: DevOps Cloud Toolkit
- Chapter 10: Monitoring, Tracing, and Distributed Logging
- Differences between monitoring, tracing, and logging
- Cloud solutions
- CloudWatch Logs and metrics
- AWS X-Ray
- Open source solutions for self-hosting
- Prometheus
- Grafana
- SigNoz
- New Relic Pixie
- Graylog
- Sentry
- SaaS solutions
- Datadog
- New Relic
- Ruxit
- Splunk
- Log and metrics retention
- Full retention
- Time-based retention
- Event-based retention
- Selective retention
- Tiered retention
- Summary
- Chapter 11: Using Ansible for Configuration as Code
- Technical requirements
- CM systems and CaC
- SaltStack
- Chef
- Puppet
- CFEngine
- Ansible
- Basics of using Ansible
- Tasks
- Roles
- Plays and playbooks
- Ansible Galaxy
- Handling secrets
- Ansible Vault
- SOPS
- Other solutions
- Ansible Tower and alternatives
- Advanced topics
- Debugging
- Linting Ansible playbooks
- Speeding up SSH connections
- Dynamic inventory
- Summary
- Further reading
- Chapter 12: Leveraging Infrastructure as Code
- Technical requirements
- What is IaC?
- IaC versus Configuration as Code
- IaC projects worth knowing
- AWS CloudFormation
- AWS Cloud Development Kit
- Terraform
- Cloud Development Kit for Terraform
- Pulumi
- Terraform
- Terraform modules
- Terraform state
- Terraform CLI
- HCL in depth
- Variables
- Comments
- Terraform meta-arguments
- Terraform examples with AWS.
- EC2 instance module
- Summary
- Exercises
- Chapter 13: CI/CD with Terraform, GitHub, and Atlantis
- Technical requirements
- What is CI/CD?
- An example of CI/CD pipelines
- Continuously integrating and deploying your infrastructure
- Integration testing
- Deployment
- CI/CD with Atlantis
- Deploying Atlantis to AWS
- Running Terraform using Atlantis
- Summary
- Exercises
- Chapter 14: Avoiding Pitfalls in DevOps
- Technical requirements
- Too much or not enough automation
- Repetitive tasks
- Time-consuming tasks
- Manual and error-prone tasks
- Tasks with version control integration
- Tasks with repeatable patterns
- Tasks with well-defined APIs or interfaces
- Tasks with clear and well-defined requirements
- Not understanding the technology
- Stay curious and proactive
- Start with the basics
- Hands-on learning
- Collaborate and share knowledge
- Stay updated
- Failure to adopt a collaborative culture
- Lack of leadership
- Siloed organizational structure
- Lack of trust and communication
- Tool-centric approach
- Neglecting testing and QA
- Increased software defects
- Deployment failures
- Security vulnerabilities
- Lack of documentation
- Inadequate test coverage
- Lack of continuous improvement
- Poor monitoring and feedback loops
- Real-time
- Comprehensive
- Scalable
- Actionable
- Continuously improving
- Inadequate security and compliance measures
- What are security measures?
- Characteristics of good security measures
- Lack of scalability and flexibility
- DevOps is only for small teams or projects
- Inability to scale infrastructure
- Flexibility compromises stability
- Lack of flexibility in release management
- Lack of proper documentation and knowledge sharing
- Technical documentation
- API documentation
- User documentation
- Process documentation.
- Operational documentation
- Release notes and changelogs
- Overcoming resistance to change
- Summary
- Index
- Other Books You May Enjoy.