Among the many configuration management tools available, Ansible has some distinct advantages—it’s minimal in nature, you don’t need to install anything on your nodes, and it has an easy learning curve. This practical guide shows you how to be productive with this tool quickly, whether you’re a developer deploying code to production or a system administrator looking for a better automation solution. Author Lorin Hochstein shows you how to write playbooks (Ansible’s configuration management scripts), manage remote servers, and explore the tool’s real power: built-in declarative modules. You’ll discover that Ansible has the functionality you need and the simplicity you desire. Understand how Ansible differs from other configuration management systems Use the YAML file format to write your own playbooks Learn Ansible’s support for variables and facts Work with a complete example to deploy a non-trivial application Use roles to simplify and reuse playbooks Make playbooks run faster with ssh multiplexing, pipelining, and parallelism Deploy applications to Amazon EC2 and other cloud platforms Use Ansible to create Docker images and deploy Docker containers
Automating Configuration Management and Deployment the Easy Way
Author: Lorin Hochstein
Publisher: O'Reilly Media
Among the many configuration management tools available, Ansible has some distinct advantages--it's minimal in nature, you don't need to install anything on your nodes, and it has an easy learning curve. With this updated second edition, you'll learn how to be productive with this tool quickly, whether you're a developer deploying code to production or a system administrator looking for a better automation solution. Authors Lorin Hochstein and Ren� Moser show you how to write playbooks (Ansible's configuration management scripts), manage remote servers, and explore the tool's real power: built-in declarative modules. You'll discover that Ansible has the functionality you need--and the simplicity you desire. Manage Windows machines, and automate network device configuration Manage your fleet from your web browser with Ansible Tower Understand how Ansible differs from other configuration management systems Use the YAML file format to write your own playbooks Work with a complete example to deploy a non-trivial application Deploy applications to Amazon EC2 and other cloud platforms Create Docker images and deploy Docker containers with Ansible This book is best read start to finish, with later chapters building on earlier ones. Because it's written in a tutorial style, you can follow along on your own machine. Most examples focus on web applications.
Implement container management, deployment, and orchestration within the Ansible ecosystem
Author: Aric Renzo
Publisher: Packt Publishing Ltd
Automate the container lifecycle from image build through cloud deployment using the automation language you already know. About This Book Use Ansible Container as an integral part of your workflow to increase flexibility and portability. Manage the container life cycle using existing Ansible roles and automate the entire container build, deployment and management process. A step-by-step guide that will get you up and running from building a simple container image to deploying a complex, multi-container app in the cloud. Who This Book Is For This book is aimed at DevOps engineers, administrators and developers who already have some familiarity with writing and running Ansible playbooks, and want to learn how to use Ansible to implement containerization. What You Will Learn Increase your productivity by using Ansible roles to define and build images Learn how to work with Ansible Container to manage, test, and deploy your containerized applications. Increase the flexibility and portability of your applications by learning to use Ansible Discover how you can apply your existing Ansible roles to the image build process Get you up and running from building a simple container image to deploying a complex, multi-container app in the cloud. Take an indepth look at the architecture of Ansible Container, and learn how to build re-usable container images, reliably and efficiently. In Detail Today many organizations are adopting containerization and DevOps methodologies to improve the flexibility and reliability of deploying new applications. Building custom application containers often means leveraging brittle and oftentimes complex Dockerfiles that can lead to cumbersome, multi-layered containers. Ansible Container brings a new workflow for managing the development of containers from development all the way through to production. The goal of this book is to get you up and running with Ansible Container so that you can create container images from Ansible roles, run containers locally, and deploy them to the cloud. We'll progress from a simple, single container application, to a complex application consisting of multiple, connected containers. You'll learn how to run the application locally, how to deploy it to an OpenShift cluster running locally, and how to deploy it to a Kubernetes cluster running in the cloud. Along the way, you'll see how to use roles to define each image or micro-service, and how to share your completed project with the Ansible community. Next, you will be able to take full advantage of Ansible Container, and use it to automate the container lifecycle in your own projects. By the end of this book,you will gain mastery of the Ansible Container platform by building complex multi-container projects ready for deployment into production. Style and approach This book will walk you through Ansible Containerization from building a simple container image to deploying a complex, multi-container app in the cloud. You will get an in-depth understanding of how to effectively manage containers using Ansible 2.
Proven and Actionable Recipes to Automate and Manage Network Devices Using Ansible
Author: Karim Okasha
Take your network automation skills to the next level with practical recipes on managing network devices from a variety of vendors like Cisco, Juniper, and Arista Key Features Use Ansible to automate network infrastructure with the help of step-by-step instructions Implement network automation best practices to save cost, avoid critical errors, and reduce downtime Deliver a robust automation framework by integrating Ansible with NAPALM, NetBox, and Batfish Book Description Network Automation Cookbook is designed to help system administrators, network engineers, and infrastructure automation engineers to centrally manage switches, routers, and other devices in their organization's network. This book will help you gain hands-on experience in automating enterprise networks and take you through core network automation techniques using the latest version of Ansible and Python. With the help of practical recipes, you'll learn how to build a network infrastructure that can be easily managed and updated as it scales through a large number of devices. You'll also cover topics related to security automation and get to grips with essential techniques to maintain network robustness. As you make progress, the book will show you how to automate networks on public cloud providers such as AWS, Google Cloud Platform, and Azure. Finally, you will get up and running with Ansible 2.9 and discover troubleshooting techniques and network automation best practices. By the end of this book, you'll be able to use Ansible to automate modern network devices and integrate third-party tools such as NAPALM, NetBox, and Batfish easily to build robust network automation solutions. What you will learn Understand the various components of Ansible Automate network resources in AWS, GCP, and Azure cloud solutions Use IaC concepts to design and build network solutions Automate network devices such as Cisco, Juniper, Arista, and F5 Use NetBox to build network inventory and integrate it with Ansible Validate networks using Ansible and Batfish Who this book is for This Ansible network automation book is for network and DevOps engineers interested in automating complex network tasks. Prior understanding of networking and basic Linux knowledge is required.
Terraform has emerged as a key player in the DevOps world for defining, launching, and managing infrastructure as code (IAC) across a variety of cloud and virtualization platforms, including AWS, Google Cloud, and Azure. This hands-on book is the fastest way to get up and running with Terraform. Gruntwork co-founder Yevgeniy (Jim) Brikman walks you through dozens of code examples that demonstrate how to use Terraform’s simple, declarative programming language to deploy and manage infrastructure with just a few commands. Whether you’re a novice developer, aspiring DevOps engineer, or veteran sysadmin, this book will take you from Terraform basics to running a full tech stack capable of supporting a massive amount of traffic and a large team of developers. Compare Terraform to other IAC tools, such as Chef, Puppet, Ansible, and Salt Stack Use Terraform to deploy server clusters, load balancers, and databases Learn how Terraform manages the state of your infrastructure and how it impacts file layout, isolation, and locking Create reusable infrastructure with Terraform modules Try out advanced Terraform syntax to implement loops, if-statements, and zero-downtime deployment Use Terraform as a team, including best practices for writing, testing, and versioning Terraform code
Terraform has become a key player in the DevOps world for defining, launching, and managing infrastructure as code (IaC) across a variety of cloud and virtualization platforms, including AWS, Google Cloud, Azure, and more. This hands-on second edition, expanded and thoroughly updated for Terraform version 0.12 and beyond, shows you the fastest way to get up and running. Gruntwork cofounder Yevgeniy (Jim) Brikman walks you through code examples that demonstrate Terraform’s simple, declarative programming language for deploying and managing infrastructure with a few commands. Veteran sysadmins, DevOps engineers, and novice developers will quickly go from Terraform basics to running a full stack that can support a massive amount of traffic and a large team of developers. Explore changes from Terraform 0.9 through 0.12, including backends, workspaces, and first-class expressions Learn how to write production-grade Terraform modules Dive into manual and automated testing for Terraform code Compare Terraform to Chef, Puppet, Ansible, CloudFormation, and Salt Stack Deploy server clusters, load balancers, and databases Use Terraform to manage the state of your infrastructure Create reusable infrastructure with Terraform modules Use advanced Terraform syntax to achieve zero-downtime deployment
Deploy a SharePoint farm in a repeatable, predictable, and reliable fashion using Infrastructure as Code (IaC) techniques to automate provisioning. Savvy IT pros will learn how to use DevOps practices and open source tools to greatly reduce costs, and streamline management operations for SharePoint farms deployed via Amazon Web Services (AWS), Azure, or on premise. DevOps for SharePoint will help you navigate the complex challenges of deploying and managing SharePoint Server farms. You will learn how to reduce time-consuming tasks and errors when generating development, testing, or production environments. And you will benefit from learning proven methods to apply Microsoft updates with minimal downtime and productivity loss. Whether you are a SharePoint architect, IT pro, or developer helping customers with the SharePoint platform, this book will teach you the most useful DevOps practices to tackle those issues and broaden your skill set. What You’ll Learn Understand the basics of the most popular open source tools—Vagrant, Packer, Terraform, and Ansible—and how to use them in the context of deploying and scaling a SharePoint farm Use Vagrant to build SharePoint development environments in less than an hour, and add automated testing Use Packer to create a “golden image” with preconfigured settings, and then use it as the base image in your Terraform configuration for both AWS and Azure farms Use Terraform to scale your SharePoint farm topology Use Red Hat’s Ansible Playbooks to perform configuration management on your farm Use Terraform to deploy immutable infrastructure environments using IaC (Infrastructure as Code) Use InSpec 2.0 to stay in compliance by testing your cloud infrastructure Use Ansible to apply Microsoft updates and patches Who This Book Is For IT pros and developers who are looking to expand their knowledge and take a modern approach by using open source technologies to work with Microsoft products. Experience installing SharePoint, and a basic understanding of either Azure or AWS, is helpful.
This book is your concise guide to Ansible, the simple way to automate apps and IT infrastructure. In less than 250 pages, this book takes you from knowing nothing about configuration management to understanding how to use Ansible in a professional setting. You will learn how to create an Ansible playbook to automatically set up an environment, ready to install an open source project. You’ll extract common tasks into roles that you can reuse across all your projects, and build your infrastructure on top of existing open source roles and modules that are available for you to use. You will learn to build your own modules to perform actions specific to your business. By the end you will create an entire cluster of virtualized machines, all of which have your applications and all their dependencies installed automatically. Finally, you'll test your Ansible playbooks. Ansible can do as much or as little as you want it to. Ansible: From Beginner to Pro will teach you the key skills you need to be an Ansible professional. You’ll be writing roles and modules and creating entire environments without human intervention in no time at all – add it to your library today. What You Will Learn Learn why Ansible is so popular and how to download and install it Create a playbook that automatically downloads and installs a popular open source project Use open source roles to complete common tasks, and write your own specific to your business Extend Ansible by writing your own modules Test your infrastructure using Test Kitchen and ServerSpec Who This Book Is For Developers that currently create development and production environments by hand. If you find yourself running apt-get install regularly, this book is for you. Ansible adds reproducibility and saves you time all at once. Ansible: From Beginner to Pro is great for any developer wanting to enhance their skillset and learn new tools.
Leverage Ansible 2 to automate complex security tasks like application security, network security, and malware analysis
Author: Madhu Akula
Publisher: Packt Publishing Ltd
Automate security-related tasks in a structured, modular fashion using the best open source automation tool available About This Book Leverage the agentless, push-based power of Ansible 2 to automate security tasks Learn to write playbooks that apply security to any part of your system This recipe-based guide will teach you to use Ansible 2 for various use cases such as fraud detection, network security, governance, and more Who This Book Is For If you are a system administrator or a DevOps engineer with responsibility for finding loop holes in your system or application, then this book is for you. It's also useful for security consultants looking to automate their infrastructure's security model. What You Will Learn Use Ansible playbooks, roles, modules, and templating to build generic, testable playbooks Manage Linux and Windows hosts remotely in a repeatable and predictable manner See how to perform security patch management, and security hardening with scheduling and automation Set up AWS Lambda for a serverless automated defense Run continuous security scans against your hosts and automatically fix and harden the gaps Extend Ansible to write your custom modules and use them as part of your already existing security automation programs Perform automation security audit checks for applications using Ansible Manage secrets in Ansible using Ansible Vault In Detail Security automation is one of the most interesting skills to have nowadays. Ansible allows you to write automation procedures once and use them across your entire infrastructure. This book will teach you the best way to use Ansible for seemingly complex tasks by using the various building blocks available and creating solutions that are easy to teach others, store for later, perform version control on, and repeat. We'll start by covering various popular modules and writing simple playbooks to showcase those modules. You'll see how this can be applied over a variety of platforms and operating systems, whether they are Windows/Linux bare metal servers or containers on a cloud platform. Once the bare bones automation is in place, you'll learn how to leverage tools such as Ansible Tower or even Jenkins to create scheduled repeatable processes around security patching, security hardening, compliance reports, monitoring of systems, and so on. Moving on, you'll delve into useful security automation techniques and approaches, and learn how to extend Ansible for enhanced security. While on the way, we will tackle topics like how to manage secrets, how to manage all the playbooks that we will create and how to enable collaboration using Ansible Galaxy. In the final stretch, we'll tackle how to extend the modules of Ansible for our use, and do all the previous tasks in a programmatic manner to get even more powerful automation frameworks and rigs. Style and approach This comprehensive guide will teach you to manage Linux and Windows hosts remotely in a repeatable and predictable manner. The book takes an in-depth approach and helps you understand how to set up complicated stacks of software with codified and easy-to-share best practices.