Hands-on DevOps with Linux


Book Description

Manage Linux Servers on-premises and cloud with advanced DevOps techniques using Kubernetes Ê KEY FEATURESÊÊ _ Detailed coverage on architecture of Web Servers, Databases, and Cloud Servers. _ Practical touch on deploying your application and managing cloud infrastructure using Docker and Terraform. _ Simplified implementation of Infrastructure as Code with Vagrant. _ Explore the use of different cloud services for better provisioning, scalability, and reliability of enterprise applications. DESCRIPTIONÊ Hands-on DevOps with Linux brings you advanced learnings on how to make the best use of Linux commands in managing the DevOps infrastructure to keep enterprise applications up-to-date. The book begins by introducing you to the Linux world with the most used commands by DevOps experts and teaches how to set up your own infrastructure in your environment. The book covers exclusive coverage on production scenarios using Kubernetes and how the entire container orchestration is managed.Ê Throughout the book, you will get accustomed to the most widely used techniques among DevOps Engineers in their routine.Ê You will explore how infrastructure as code works, working with Vagrant, Docker and Terraform through which you can manage the entire cloud deployment of applications along with how to scale them on your own. WHAT YOU WILL LEARN _ Create Infrastructure as Code to replicate the configuration to your infrastructure. _ Learn best methods and techniques to build continuous delivery pipeline using Jenkins. _ Learn to Distribute and scale your applications using Kubernetes. _ Get insights by analyzing millions of server logs using Kibana and Logstash. WHO THIS BOOK IS FORÊÊ This book is best suited for DevOps Engineers and DevOps professionals who want to make best use of Linux commands in managing the DevOps infrastructure daily. It is a good handy guide for Linux administrators and system administrators too to get familiar with the use of Linux in Devops and advance their skillset in DevOps. Ê TABLE OF CONTENTS 1. Getting started with Linux 2. Working with Bash 3. Setting up a service 4. Configuring a reverse proxy with Nginx 5. Deploying your application using Docker 6. Automating your Infrastructure as Code 7. Creating your infrastructure using cloud services 8. Working with Terraform 9. Working with Git 10. Continuous integration and Continuous Delivery using Jenkins 11. Deploying and scaling your application using Kubernetes 12. Logs with open source Tools




Hands-On DevOps with Vagrant


Book Description

Vagrant is a tool used to build and manage virtualized environments with ease. Vagrant as a tool has evolved over time from support to virtualization to managing end to end DevOps and infrastructure management. Through this book, you’ll be able to quickly install and configure Vagrant to perfectly suit your DevOps and infrastructure needs.




Hands-On Linux for Architects


Book Description

Explore practical use cases to learn everything from Linux components, and functionalities, through to hardware and software support Key FeaturesGain a clear understanding of how to design a Linux environmentLearn more about the architecture of the modern Linux operating system(OS)Understand infrastructure needs and design a high-performing computing environmentBook Description It is very important to understand the flexibility of an infrastructure when designing an efficient environment. In this book, you will cover everything from Linux components and functionalities through to hardware and software support, which will help you to implement and tune effective Linux-based solutions. This book gets started with an overview of Linux design methodology. Next, you will focus on the core concepts of designing a solution. As you progress, you will gain insights into the kinds of decisions you need to make when deploying a high-performance solution using Gluster File System (GlusterFS). In the next set of chapters, the book will guide you through the technique of using Kubernetes as an orchestrator for deploying and managing containerized applications. In addition to this, you will learn how to apply and configure Kubernetes for your NGINX application. You’ll then learn how to implement an ELK stack, which is composed of Elasticsearch, Logstash, and Kibana. In the concluding chapters, you will focus on installing and configuring a Saltstack solution to manage different Linux distributions, and explore a variety of design best practices. By the end of this book, you will be well-versed with designing a high-performing computing environment for complex applications to run on. By the end of the book, you will have delved inside the most detailed technical conditions of designing a solution, and you will have also dissected every aspect in detail in order to implement and tune open source Linux-based solutions What you will learnStudy the basics of infrastructure design and the steps involvedExpand your current design portfolio with Linux-based solutionsDiscover open source software-based solutions to optimize your architectureUnderstand the role of high availability and fault tolerance in a resilient designIdentify the role of containers and how they improve your continuous integration and continuous deployment pipelinesGain insights into optimizing and making resilient and highly available designs by applying industry best practicesWho this book is for This intermediate-level book is for Linux system administrators, Linux support engineers, DevOps engineers, Linux consultants or any open source technology professional looking to learn or expand their knowledge in architecting, designing and implementing solutions based on Linux and open source software. Prior experience in Linux is required.




Hands-On System Programming with Linux


Book Description

Get up and running with system programming concepts in Linux Key FeaturesAcquire insight on Linux system architecture and its programming interfacesGet to grips with core concepts such as process management, signalling and pthreadsPacked with industry best practices and dozens of code examplesBook Description The Linux OS and its embedded and server applications are critical components of today’s software infrastructure in a decentralized, networked universe. The industry's demand for proficient Linux developers is only rising with time. Hands-On System Programming with Linux gives you a solid theoretical base and practical industry-relevant descriptions, and covers the Linux system programming domain. It delves into the art and science of Linux application programming— system architecture, process memory and management, signaling, timers, pthreads, and file IO. This book goes beyond the use API X to do Y approach; it explains the concepts and theories required to understand programming interfaces and design decisions, the tradeoffs made by experienced developers when using them, and the rationale behind them. Troubleshooting tips and techniques are included in the concluding chapter. By the end of this book, you will have gained essential conceptual design knowledge and hands-on experience working with Linux system programming interfaces. What you will learnExplore the theoretical underpinnings of Linux system architectureUnderstand why modern OSes use virtual memory and dynamic memory APIsGet to grips with dynamic memory issues and effectively debug themLearn key concepts and powerful system APIs related to process managementEffectively perform file IO and use signaling and timersDeeply understand multithreading concepts, pthreads APIs, synchronization and schedulingWho this book is for Hands-On System Programming with Linux is for Linux system engineers, programmers, or anyone who wants to go beyond using an API set to understanding the theoretical underpinnings and concepts behind powerful Linux system programming APIs. To get the most out of this book, you should be familiar with Linux at the user-level logging in, using shell via the command line interface, the ability to use tools such as find, grep, and sort. Working knowledge of the C programming language is required. No prior experience with Linux systems programming is assumed.




The DevOps Handbook


Book Description

Increase profitability, elevate work culture, and exceed productivity goals through DevOps practices. More than ever, the effective management of technology is critical for business competitiveness. For decades, technology leaders have struggled to balance agility, reliability, and security. The consequences of failure have never been greater―whether it's the healthcare.gov debacle, cardholder data breaches, or missing the boat with Big Data in the cloud. And yet, high performers using DevOps principles, such as Google, Amazon, Facebook, Etsy, and Netflix, are routinely and reliably deploying code into production hundreds, or even thousands, of times per day. Following in the footsteps of The Phoenix Project, The DevOps Handbook shows leaders how to replicate these incredible outcomes, by showing how to integrate Product Management, Development, QA, IT Operations, and Information Security to elevate your company and win in the marketplace.




Linux in Action


Book Description

Summary Linux in Action is a task-based tutorial that will give you the skills and deep understanding you need to administer a Linux-based system. This hands-on book guides you through 12 real-world projects so you can practice as you learn. Each chapter ends with a review of best practices, new terms, and exercises. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology You can't learn anything without getting your hands dirty including Linux. Skills like securing files, folders, and servers, safely installing patches and applications, and managing a network are required for any serious user, including developers, administrators, and DevOps professionals. With this hands-on tutorial, you'll roll up your sleeves and learn Linux project by project. About the Book Linux in Action guides you through 12 real-world projects, including automating a backup-and-restore system, setting up a private Dropbox-style file cloud, and building your own MediaWiki server. You'll try out interesting examples as you lock in core practices like virtualization, disaster recovery, security, backup, DevOps, and system troubleshooting. Each chapter ends with a review of best practices, new terms, and exercises. What's inside Setting up a safe Linux environment Managing secure remote connectivity Building a system recovery device Patching and upgrading your system About the Reader No prior Linux admin experience is required. About the Author David Clinton is a certified Linux Server Professional, seasoned instructor, and author of Manning's bestselling Learn Amazon Web Services in a Month of Lunches. Table of Contents Welcome to Linux Linux virtualization: Building a Linux working environment Remote connectivity: Safely accessing networked machines Archive management: Backing up or copying entire file systems Automated administration: Configuring automated offsite backups Emergency tools: Building a system recovery device Web servers: Building a MediaWiki server Networked file sharing: Building a Nextcloud file-sharing server Securing your web server Securing network connections: Creating a VPN or DMZ System monitoring: Working with log files Sharing data over a private network Troubleshooting system performance issues Troubleshooting network issues Troubleshooting peripheral devices DevOps tools: Deploying a scripted server environment using Ansible




DevOps Culture and Practice with OpenShift


Book Description

A practical guide to making the best use of the OpenShift container platform based on the real-life experiences, practices, and culture within Red Hat Open Innovation Labs Key FeaturesLearn how modern software companies deliver business outcomes that matter by focusing on DevOps culture and practicesAdapt Open Innovation Labs culture and foundational practices from the Open Practice LibraryImplement a metrics-driven approach to application, platform, and product, understanding what to measure and how to learn and pivotBook Description DevOps Culture and Practice with OpenShift features many different real-world practices - some people-related, some process-related, some technology-related - to facilitate successful DevOps, and in turn OpenShift, adoption within your organization. It introduces many DevOps concepts and tools to connect culture and practice through a continuous loop of discovery, pivots, and delivery underpinned by a foundation of collaboration and software engineering. Containers and container-centric application lifecycle management are now an industry standard, and OpenShift has a leading position in a flourishing market of enterprise Kubernetes-based product offerings. DevOps Culture and Practice with OpenShift provides a roadmap for building empowered product teams within your organization. This guide brings together lean, agile, design thinking, DevOps, culture, facilitation, and hands-on technical enablement all in one book. Through a combination of real-world stories, a practical case study, facilitation guides, and technical implementation details, DevOps Culture and Practice with OpenShift provides tools and techniques to build a DevOps culture within your organization on Red Hat's OpenShift Container Platform. What you will learnImplement successful DevOps practices and in turn OpenShift within your organizationDeal with segregation of duties in a continuous delivery worldUnderstand automation and its significance through an application-centric viewManage continuous deployment strategies, such as A/B, rolling, canary, and blue-greenLeverage OpenShift’s Jenkins capability to execute continuous integration pipelinesManage and separate configuration from static runtime softwareMaster communication and collaboration enabling delivery of superior software products at scale through continuous discovery and continuous deliveryWho this book is for This book is for anyone with an interest in DevOps practices with OpenShift or other Kubernetes platforms. This DevOps book gives software architects, developers, and infra-ops engineers a practical understanding of OpenShift, how to use it efficiently for the effective deployment of application architectures, and how to collaborate with users and stakeholders to deliver business-impacting outcomes.




DevOps for the Desperate


Book Description

DevOps for the Desperate is a hands-on, no-nonsense guide for those who land in a DevOps environment and need to get up and running quickly. This book introduces fundamental concepts software developers need to know to flourish in a modern DevOps environment including infrastructure as code, configuration management, security, containerization and orchestration, monitoring and alerting, and troubleshooting. Readers will follow along with hands-on examples to learn how to tackle common DevOps tasks. The book begins with an exploration of DevOps concepts using Vagrant and Ansible to build systems with repeatable and predictable states, including configuring a host with user-based security. Next up is a crash course on containerization, orchestration, and delivery using Docker, Kubernetes, and a CI/CDpipeline. The book concludes with a primer in monitoring and alerting with tips for troubleshootingcommon host and application issues. You'll learn how to: Use Ansible to manage users and groups, and enforce complex passwords Create a security policy for administrative permissions, and automate a host-based firewall Get started with Docker to containerize applications, use Kubernetes for orchestration, and deploycode using a CI/CD pipeline Build a monitoring stack, investigate common metric patterns, and trigger alerts Troubleshoot and analyze common issues and errors found on hosts




Python for DevOps


Book Description

Much has changed in technology over the past decade. Data is hot, the cloud is ubiquitous, and many organizations need some form of automation. Throughout these transformations, Python has become one of the most popular languages in the world. This practical resource shows you how to use Python for everyday Linux systems administration tasks with today’s most useful DevOps tools, including Docker, Kubernetes, and Terraform. Learning how to interact and automate with Linux is essential for millions of professionals. Python makes it much easier. With this book, you’ll learn how to develop software and solve problems using containers, as well as how to monitor, instrument, load-test, and operationalize your software. Looking for effective ways to "get stuff done" in Python? This is your guide. Python foundations, including a brief introduction to the language How to automate text, write command-line tools, and automate the filesystem Linux utilities, package management, build systems, monitoring and instrumentation, and automated testing Cloud computing, infrastructure as code, Kubernetes, and serverless Machine learning operations and data engineering from a DevOps perspective Building, deploying, and operationalizing a machine learning project




Linux Kernel Programming


Book Description

Learn how to write high-quality kernel module code, solve common Linux kernel programming issues, and understand the fundamentals of Linux kernel internals Key Features Discover how to write kernel code using the Loadable Kernel Module framework Explore industry-grade techniques to perform efficient memory allocation and data synchronization within the kernel Understand the essentials of key internals topics such as kernel architecture, memory management, CPU scheduling, and kernel synchronization Book DescriptionLinux Kernel Programming is a comprehensive introduction for those new to Linux kernel and module development. This easy-to-follow guide will have you up and running with writing kernel code in next-to-no time. This book uses the latest 5.4 Long-Term Support (LTS) Linux kernel, which will be maintained from November 2019 through to December 2025. By working with the 5.4 LTS kernel throughout the book, you can be confident that your knowledge will continue to be valid for years to come. You’ll start the journey by learning how to build the kernel from the source. Next, you’ll write your first kernel module using the powerful Loadable Kernel Module (LKM) framework. The following chapters will cover key kernel internals topics including Linux kernel architecture, memory management, and CPU scheduling. During the course of this book, you’ll delve into the fairly complex topic of concurrency within the kernel, understand the issues it can cause, and learn how they can be addressed with various locking technologies (mutexes, spinlocks, atomic, and refcount operators). You’ll also benefit from more advanced material on cache effects, a primer on lock-free techniques within the kernel, deadlock avoidance (with lockdep), and kernel lock debugging techniques. By the end of this kernel book, you’ll have a detailed understanding of the fundamentals of writing Linux kernel module code for real-world projects and products.What you will learn Write high-quality modular kernel code (LKM framework) for 5.x kernels Configure and build a kernel from source Explore the Linux kernel architecture Get to grips with key internals regarding memory management within the kernel Understand and work with various dynamic kernel memory alloc/dealloc APIs Discover key internals aspects regarding CPU scheduling within the kernel Gain an understanding of kernel concurrency issues Find out how to work with key kernel synchronization primitives Who this book is for This book is for Linux programmers beginning to find their way with Linux kernel development. If you’re a Linux kernel and driver developer looking to overcome frequent and common kernel development issues, or understand kernel intervals, you’ll find plenty of useful information. You’ll need a solid foundation of Linux CLI and C programming before you can jump in.