The Linux DevOps Handbook: Customize and scale your Linux distributions to accelerate your DevOps workflow / Руководство по Linux DevOps: Настраивайте и масштабируйте свои дистрибутивы Linux для ускорения рабочего процесса DevOps Год издания: 2023 Автор: Wojslaw Damian, Adamowicz Grzegorz / Войслав Дамиан, Адамович Гжегож Издательство: Packt Publishing ISBN: 978-1-80324-566-9 Язык: Английский Формат: PDF Качество: Издательский макет или текст (eBook) Интерактивное оглавление: Да Количество страниц: 428 Описание: 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) 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. Создайте прочную основу в системах DevOps и Linux, а также в передовых практиках DevOps, таких как конфигурирование, IAC и CI/CD Ключевые функции Освоите основы Linux, командную строку и сценарии оболочки Станьте экспертом DevOps, освоив Docker, Git, мониторинг, автоматизацию и CI/CD Внедрение сетей, управление службами и использование инфраструктуры в виде кода (IaC) Описание книги Руководство по Linux DevOps - это всеобъемлющий ресурс, предназначенный как для начинающих, так и для опытных профессионалов, обеспечивающий прочную основу в Linux. Эта книга поможет вам понять, как Linux служит краеугольным камнем DevOps, предлагая гибкость, стабильность и масштабируемость, необходимые для разработки и эксплуатации современного программного обеспечения. Вы начнете с рассмотрения дистрибутивов Linux, промежуточных концепций Linux и сценариев оболочки, чтобы разобраться с автоматизацией задач и оптимизацией рабочих процессов. Затем вы перейдете к освоению основных повседневных инструментов для решения задач DevOps. По мере изучения сетевого взаимодействия в Linux вы будете обладать навыками установления соединений и устранения неполадок. Вы также узнаете, как использовать Git для совместной работы и эффективного управления кодом. В книге вы познакомитесь с концепциями Docker для оптимизации рабочих процессов DevOps и перейдете к передовым практикам DevOps, таким как мониторинг, трассировка и распределенное ведение журнала. Вы будете работать с Terraform и GitHub над внедрением конвейеров непрерывной интеграции (CI)/непрерывного развертывания (CD) и использовать Atlantis для автоматизированной доставки программного обеспечения. Кроме того, вы определите распространенные подводные камни DevOps и стратегии, позволяющие их избежать. К концу этой книги вы заложите прочную основу в Linux, практических инструментах и передовых практиках, которые помогут вам развить навыки работы с Linux и успешно внедрить DevOps. Что вы узнаете Поймите, как управлять инфраструктурой, используя инструменты Infrastructure as Code (IaC), такие как Terraform и Atlantis Автоматизируете повторяющиеся задачи с помощью сценариев Ansible и Bash Настроите решения для ведения журнала и мониторинга для обслуживания и устранения неполадок в вашей инфраструктуре Определите и поймете, как избежать распространенных ошибок DevOps Автоматизируете задачи и оптимизируете рабочие процессы с помощью Linux и сценариев shell Оптимизируете рабочие процессы DevOps с помощью Docker Для кого предназначена эта книга Эта книга предназначена для инженеров DevOps, стремящихся расширить свои навыки работы с Linux и DevOps, а также для системных администраторов, ответственных за управление серверами Linux, которые хотят внедрить методы DevOps для оптимизации своей работы.Вы также найдете эту книгу полезной, если хотите развить свои навыки и знания для работы с общедоступными облачными технологиями, особенно AWS, для создания масштабируемых и надежных систем и управления ими.
Примеры страниц
Оглавление
Preface xv Part 1: Linux Basics 1 Choosing the Right Linux Distribution 3 Technical requirements 3 What exactly is a Linux distribution? 3 What makes distributions different? 4 Introducing the distributions 8 Debian 8 Ubuntu Linux 9 Red Hat Enterprise Linux (RHEL) 10 Fedora Linux 11 CentOS 12 Rocky Linux 12 Alpine 13 Summary 14 2 Command-Line Basics 15 Technical requirements 15 The Linux command line – shell 16 Getting to know your shell 16 I call to thee 18 The filesystem structure 18 Running a program 21 The command to teach you all commands 22 Know your environment 25 Where in the PATH am I? 26 Know your rights 27 Interacting with the system 31 Process this 32 Looking for something? 37 Let’s be manipulative 40 Summary 42 Exercises 42 Resources 43 3 Intermediate Linux 45 Technical requirements 45 Globs 46 Automating repetitive tasks 48 Cron jobs 48 Systemd timer 49 Software installation 49 Debian and Ubuntu 50 CentOS, RHEL, and Fedora 53 Alpine Linux 54 Managing users 58 Adding users 59 Modifying users 59 Removing users 60 Managing groups 60 Secure Shell (SSH) protocol 61 Configuring OpenSSH 62 Creating and managing SSH keys 64 Summary 66 Exercises 66 4 Automating with Shell Scripts 67 Technical requirements 67 Backing up a database 67 Understanding scripting 68 Understanding Bash built-ins and grammar 69 Variables 70 Parameters 71 Loops 72 Conditional execution – if statement 73 Understanding the backup script – first steps 75 Handling errors and debugging 80 Summary 87 Exercises 88 Part 2: Your Day-to-Day DevOps Tools 5 Managing Services in Linux 91 Technical requirements 91 Understanding Linux services in detail 91 The history of Linux service management 92 systemd 92 OpenRC 97 SysV init 100 A few words about Upstart, an alternative 106 Summary 106 6 Networking in Linux 107 Networking in Linux 107 ISO/OSI as a networking standard 108 Physical layer 108 Data link layer – MAC, VLAN 109 Network layer – IPv4 and IPv6 110 Transport layer – TCP and UDP 118 Session layer 122 Presentation layer – SSL and TLS 123 Application layer – HTTP and FTP 126 Firewalls 129 iptables 130 nftables 132 ufw 133 firewalld 134 Advanced topics 134 NAT 134 Port forwarding 135 Interface bonding 136 TCP multipath 136 BGP 137 Summary 138 7 Git, Your Doorway to DevOps 139 Technical requirements 139 Basic Git commands 140 Configuring the local Git environment 141 Setting up a local Git repository 141 Local versus remote Git repositories 144 Interacting with remote repositories 145 What’s the git diff command? 147 Viewing the commit history 148 Branching 150 Squashing commits using an interactive rebase 151 Solving Git conflicts 152 GitFlow and GitHub Flow 153 Global git configuration – .gitconfig 154 Ignoring some files using a .gitignore configuration file 156 Summary 158 8 Docker Basics 159 Technical requirements 159 Virtualization versus containerization 159 Virtualization 160 Containerization 161 Anatomy of Docker 162 OverlayFS 163 What is an image? 164 What is a container runtime? 165 cgroups 166 Docker commands 167 docker build 168 docker run 168 docker start 169 docker stop 170 docker ps 170 docker login 171 docker pull 172 docker push 173 docker image 173 docker exec 174 docker logs 175 docker rm 175 docker rmi 175 docker network 176 docker volume 177 Dockerfile 178 FROM 178 COPY and ADD 179 EXPOSE 179 ENTRYPOINT and CMD 180 RUN 180 LABEL 181 ENV and ARG 181 VOLUME 182 USER 182 WORKDIR 183 Docker image registries 183 Docker networking 184 None network 184 Bridge mode 185 Host mode 186 Overlay 187 Summary 187 9 A Deep Dive into Docker 189 Docker advanced use cases 189 Running public images 190 Running a debugging container 191 Cleaning up unused containers 192 Docker volumes and bind mounts 194 Docker networking advanced use cases 195 Security features of Docker 197 Docker for CI/CD pipeline integration 205 Docker Compose 207 Advanced Dockerfile techniques 212 Multi-stage build 212 ADD command use cases 213 Secrets management 214 Docker orchestration 216 Docker Swarm 216 Kubernetes and OpenShift 220 Summary 221 Part 3: DevOps Cloud Toolkit 10 Monitoring, Tracing, and Distributed Logging 225 Differences between monitoring, tracing, and logging 226 Cloud solutions 227 CloudWatch Logs and metrics 228 AWS X-Ray 238 Open source solutions for self-hosting 239 Prometheus 240 Grafana 241 SigNoz 242 New Relic Pixie 242 Graylog 243 Sentry 244 SaaS solutions 245 Datadog 245 New Relic 246 Ruxit 247 Splunk 248 Log and metrics retention 248 Full retention 249 Time-based retention 249 Event-based retention 249 Selective retention 249 Tiered retention 249 Summary 250 11 Using Ansible for Configuration as Code 251 Technical requirements 251 CM systems and CaC 251 SaltStack 253 Chef 254 Puppet 256 CFEngine 257 Ansible 258 Basics of using Ansible 261 Tasks 263 Roles 263 Plays and playbooks 264 Ansible Galaxy 275 Handling secrets 277 Ansible Vault 277 SOPS 278 Other solutions 280 Ansible Tower and alternatives 280 Advanced topics 281 Debugging 281 Linting Ansible playbooks 283 Speeding up SSH connections 285 Dynamic inventory 286 Summary 287 Further reading 287 12 Leveraging Infrastructure as Code 289 Technical requirements 290 What is IaC? 290 IaC versus Configuration as Code 290 IaC projects worth knowing 290 AWS CloudFormation 291 AWS Cloud Development Kit 293 Terraform 294 Cloud Development Kit for Terraform 294 Pulumi 296 Terraform 298 Terraform modules 300 Terraform state 302 Terraform CLI 305 HCL in depth 317 Variables 317 Comments 318 Terraform meta-arguments 319 Terraform examples with AWS 322 EC2 instance module 323 Summary 333 Exercises 333 13 CI/CD with Terraform, GitHub, and Atlantis 335 Technical requirements 335 What is CI/CD? 336 An example of CI/CD pipelines 337 Continuously integrating and deploying your infrastructure 342 Integration testing 342 Deployment 354 CI/CD with Atlantis 356 Deploying Atlantis to AWS 356 Running Terraform using Atlantis 362 Summary 365 Exercises 365 14 Avoiding Pitfalls in DevOps 367 Technical requirements 367 Too much or not enough automation 368 Repetitive tasks 368 Time-consuming tasks 369 Manual and error-prone tasks 369 Tasks with version control integration 369 Tasks with repeatable patterns 369 Tasks with well-defined APIs or interfaces 369 Tasks with clear and well-defined requirements 370 Not understanding the technology 370 Stay curious and proactive 371 Start with the basics 371 Hands-on learning 372 Collaborate and share knowledge 372 Stay updated 372 Failure to adopt a collaborative culture 372 Lack of leadership 373 Siloed organizational structure 373 Lack of trust and communication 374 Tool-centric approach 375 Neglecting testing and QA 376 Increased software defects 377 Deployment failures 377 Security vulnerabilities 377 Lack of documentation 378 Inadequate test coverage 378 Lack of continuous improvement 378 Poor monitoring and feedback loops 378 Real-time 379 Comprehensive 379 Scalable 380 Actionable 380 Continuously improving 380 Inadequate security and compliance measures 380 What are security measures? 381 Characteristics of good security measures 381 Lack of scalability and flexibility 382 DevOps is only for small teams or projects 383 Inability to scale infrastructure 383 Flexibility compromises stability 383 Lack of flexibility in release management 384 Lack of proper documentation and knowledge sharing 384 Technical documentation 385 API documentation 385 User documentation 385 Process documentation 386 Operational documentation 386 Release notes and changelogs 386 Overcoming resistance to change 387 Summary 387 Index 389 Other Books You May Enjoy 404
Wojslaw Damian, Adamowicz Grzegorz / Войслав Дамиан, Адамович Гжегож - The Linux DevOps Handbook: Customize and scale your Linux distributions to accelerate your DevOps workflow / Руководство по Linux DevOps [2023, PDF, ENG] download torrent for free and without registration
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum