3 options
The Linux DevOps Handbook : Customize and Scale Your Linux Distributions to Accelerate Your DevOps Workflow / Damian Wojslaw and Grzegorz Adamowicz.
- Format:
- Book
- Author/Creator:
- Wojslaw, Damian, author.
- Adamowicz, Grzegorz, author.
- Language:
- English
- Subjects (All):
- Linux.
- Operating systems (Computers).
- Computer software--Development.
- Computer software.
- Physical Description:
- 1 online resource (428 pages)
- Edition:
- First edition.
- Place of Publication:
- Birmingham, England : Packt Publishing, [2023]
- Biography/History:
- Wojsaw Damian: Damian Wojsaw has been working in the IT industry since 2001. He specializes in administration and troubleshooting of Linux servers. Being a system operator and support engineer he has found DevOps philosophy a natural evolution of the way sysops work with developers and other members of the software team. Adamowicz Grzegorz: Grzegorz Adamowicz has been working in the IT industry since 2006 in a number of positions, including Systems Administrator, Backend Developer (PHP, Python), Systems Architect and Site Reliability Engineer. Professionally was focused on building tools and automations inside projects he is involved in. He's also engaged with the professional community by organizing events like conferences and workshops. Grzegorz worked in many industries including Oil & Gas, Hotel, Fintech, DeFI, Automotive, Space and many more.
- Summary:
- 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 networking, manage services, and leverage Infrastructure as Code (IaC) Purchase of the print or Kindle book includes a free PDF eBook Book Description The Linux DevOps Handbook is a comprehensive resource that caters to both novice and experienced professionals, ensuring a strong foundation in Linux. This book will help you understand how Linux serves as a cornerstone of DevOps, offering the flexibility, stability, and scalability essential for modern software development and operations. You'll begin by covering Linux distributions, intermediate Linux concepts, and shell scripting to get to grips with automating tasks and streamlining workflows. You'll then progress to mastering essential day-to-day tools for DevOps tasks. As you learn networking in Linux, you'll be equipped with connection establishment and troubleshooting skills. You'll also learn how to use Git for collaboration and efficient code management. The book guides you through Docker concepts for optimizing your DevOps workflows and moves on to advanced DevOps practices, such as monitoring, tracing, and distributed logging. You'll work with Terraform and GitHub to implement continuous integration (CI)/continuous deployment (CD) pipelines and employ Atlantis for automated software delivery. Additionally, you'll identify common DevOps pitfalls and strategies to avoid them. By the end of this book, you'll have built a solid foundation in Linux fundamentals, practical tools, and advanced practices, all contributing to your enhanced Linux skills and successful DevOps implementation. What you will learn Understand how to manage infrastructure using Infrastructure as Code (IaC) tools such as Terraform and Atlantis Automate repetitive tasks using Ansible and Bash scripting Set up logging and monitoring solutions to maintain and troubleshoot your infrastructure Identify and understand how to avoid common DevOps pitfalls Automate tasks and streamline workflows using Linux and shell scripting Optimize DevOps workflows using Docker Who this book is for This book is for DevOps Engineers looking to extend their Linux and DevOps skills as well as System Administrators responsible for managing Linux servers, who want to adopt DevOps practices to streamline their operations. You'll also find this book useful if you want to build your skills and knowledge to work with public cloud technologies, especially AWS, to build and manage scalable and reliable systems.
- Contents:
- 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
- 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
- Exercises
- Resources
- Chapter 3: Intermediate Linux
- 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
- Chapter 4: Automating with Shell Scripts
- 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
- Part 2: Your Day-to-Day DevOps Tools
- Chapter 5: Managing Services in Linux
- Understanding Linux services in detail
- The history of Linux service management
- systemd
- OpenRC
- SysV init.
- A few words about Upstart, an alternative
- 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
- Chapter 7: Git, Your Doorway to DevOps
- 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
- Chapter 8: Docker Basics
- 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
- 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
- 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
- Chapter 11: Using Ansible for Configuration as Code
- 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
- Debugging
- Linting Ansible playbooks
- Speeding up SSH connections
- Dynamic inventory
- Further reading
- Chapter 12: Leveraging Infrastructure as Code
- 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 modules
- Terraform state
- Terraform CLI
- HCL in depth
- Comments
- Terraform meta-arguments
- Terraform examples with AWS.
- EC2 instance module
- Chapter 13: CI/CD with Terraform, GitHub, and Atlantis
- 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
- Chapter 14: Avoiding Pitfalls in DevOps
- 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
- Index
- Other Books You May Enjoy.
- Notes:
- Includes index.
- Description based on print version record.
- ISBN:
- 9781803237909
- 1803237902
- OCLC:
- 1407093975
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.