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

Virtualization, cloud, containers, server automation, and software-defined networking are meant to simplify IT operations. But many organizations adopting these technologies have found that it only leads to a faster-growing sprawl of unmanageable systems. This is where infrastructure as code can help. With this practical guide, author Kief Morris of ThoughtWorks shows you how to effectively use principles, practices, and patterns pioneered through the DevOps movement to manage cloud age infrastructure. Ideal for system administrators, infrastructure engineers, team leads, and architects, this book demonstrates various tools, techniques, and patterns you can use to implement infrastructure as code. In three parts, you’ll learn about the platforms and tooling involved in creating and configuring infrastructure elements, patterns for using these tools, and practices for making infrastructure as code work in your environment. Examine the pitfalls that organizations fall into when adopting the new generation of infrastructure technologies Understand the capabilities and service models of dynamic infrastructure platforms Learn about tools that provide, provision, and configure core infrastructure resources Explore services and tools for managing a dynamic infrastructure Learn specific patterns and practices for provisioning servers, building server templates, and updating running servers

This book is the "Hello, World" tutorial for building products, technologies, and teams in a startup environment. It's based on the experiences of the author, Yevgeniy (Jim) Brikman, as well as interviews with programmers from some of the most successful startups of the last decade, including Google, Facebook, LinkedIn, Twitter, GitHub, Stripe, Instagram, AdMob, Pinterest, and many others. Hello, Startup is a practical, how-to guide that consists of three parts: Products, Technologies, and Teams. Although at its core, this is a book for programmers, by programmers, only Part II (Technologies) is significantly technical, while the rest should be accessible to technical and non-technical audiences alike. If you’re at all interested in startups—whether you’re a programmer at the beginning of your career, a seasoned developer bored with large company politics, or a manager looking to motivate your engineers—this book is for you.

Over 60 proven, practical, and actionable recipes to automate and manage your IT infrastructure quickly and effectivelyAbout This Book* Bring down your delivery timeline from days to hours by treating your server configurations and VMs as code, just like you would with software code.* Take your existing knowledge and skill set with your existing tools (Puppet, Chef, Docker) to the next level and solve IT infrastructure challenges.* Use practical recipes to use code to provision and deploy servers and applications and have greater control of your infrastructure.Who This Book Is ForThis book is for DevOps engineers and developers working in cross-functional teams or operations and would now switch to IAC to manage complex infrastructures.What You Will Learn* Integrate CloudInit on AWS, DigitalOcean, OpenStack, CoreOS* Provision your infrastructure using Ansible, Terraform and Vagrant* Manage your system using Puppet, Ansible, Docker and Chef* Monitor and maintain your system using Docker, Chef, Puppet and Terrafrom* Explore the best practices to automate all the things, from cloud infrastructure to operating systems configuration.In DetailThe basic idea of Infrastructure as code (IAC) is that IT infrastructure is treated as software. IT infrastructure provisioning process is built, treated, and managed through code, rather than scripting or manual process. That means code is used to automate the process of setting up and configuring a virtual machine, container, and so on.Did you always wanted to define your IT infrastructure problems using code? If yes, you have come to the right place! Here we show you how to use the best tools of the infrastructure-as-code ecosystem with code hardened in production. We'll deploy repeatable infrastructures and services on Amazon Web Services, OpenStack, Google Cloud or Digital Ocean using Terraform and Ansible. We'll manipulate the best bits from Cloud-Init and its derivatives (like the CoreOS flavor) to easily reproduce initial machines bootstrapping process. We'll discover how to simulate consistent environments locally or remotely using Vagrant. Now we have a fully automated and working base infrastructure knowledge, we'll automate many system tasks, using Chef or Puppet. We'll build various Docker containers for those environments and orchestrate them with tools like docker-compose, with a focus on automated cloud infrastructures services.Throughout the book we'll learn the best tips working on infrastructure with code and teams.This Infrastructure-as-Code cookbook will help you use the right tool for your job, and get you started on all essential techniques.

A hands-on, introductory book about managing infrastructure with Terraform. Start small and then build on what you learn to scale up to complex infrastructure. Written for both developers and sysadmins. Focuses on how to build infrastructure and applications with Terraform. The book contains: Chapter 1: An Introduction to Terraform Chapter 2: Installing Terraform Chapter 3: Building our first application Chapter 4: Provisioning and Terraform Chapter 5: Collaborating with Terraform Chapter 6: Building a multi-environment architecture Chapter 7: Infrastructure testing Updated for Terraform 0.10!

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

Legend has it that Google deploys over a billion application containers a week. How is that possible? The company decided to share the process through an open source project called Kubernetes, which replicates many of the features found in its internal system. This practical book will prepare you to take advantage of everything the Kubernetes platform has to offer. Rather than an exact copy of its internal Borg system, Kubernetes is an upgrade based on lessons Google learned over the last decade. Kubernetes is also designed to integrate with the most robust container ecosystem: Docker. Developers and Ops practitioners can easily deploy a demo Kubernetes environment and kick the tires, but when it comes time to scale to hundreds of nodes, you’re going to need a reliable field guide. Kubernetes: Up and Running will help you: Learn how to make zero down-time application deployments with Kubernetes Track metrics and logs for every container running in your cluster Discover patterns for running large-scale application deployments that work for big players such as Google, Twitter, and Facebook Explore topics including Kubernetes components (kubelet, API, scheduler, replication controllers); containers; distributed computing; service discovery; and continuous delivery

Validate your AWS skills. This is your opportunity to take the next step in your career by expanding and validating your skills on the AWS cloud. AWS has been the frontrunner in cloud computing products and services, and the AWS Certified Solutions Architect Official Study Guide for the Associate exam will get you fully prepared through expert content, and real-world knowledge, key exam essentials, chapter review questions, access to Sybex’s interactive online learning environment, and much more. This official study guide, written by AWS experts, covers exam concepts, and provides key review on exam topics, including: Mapping Multi-Tier Architectures to AWS Services, such as web/app servers, firewalls, caches and load balancers Understanding managed RDBMS through AWS RDS (MySQL, Oracle, SQL Server, Postgres, Aurora) Understanding Loose Coupling and Stateless Systems Comparing Different Consistency Models in AWS Services Understanding how AWS CloudFront can make your application more cost efficient, faster and secure Implementing Route tables, Access Control Lists, Firewalls, NAT, and DNS Applying AWS Security Features along with traditional Information and Application Security Using Compute, Networking, Storage, and Database AWS services Architecting Large Scale Distributed Systems Understanding of Elasticity and Scalability Concepts Understanding of Network Technologies Relating to AWS Deploying and Managing Services with tools such as CloudFormation, OpsWorks and Elastic Beanstalk. Learn from the AWS subject-matter experts, review with proven study tools, and apply real-world scenarios. If you are looking to take the AWS Certified Solutions Architect Associate exam, this guide is what you need for comprehensive content and robust study tools that will help you gain the edge on exam day and throughout your career.

Written in an engaging, easy-to-follow style, this practical guide will teach you to create test suites and automated acceptance Tests with the Robot Framework.If you are an automation engineer, QA engineer, developer or tester who is looking to get started with Robot Framework, as well as find a standardized testing solution, this book is ideal for you. No prior knowledge of Robot Framework or acceptance testing is required, although a basic knowledge of Python is required for few sections of the book.

Get a hands-on introduction to the Chef, the configuration management tool for solving operations issues in enterprises large and small. Ideal for developers and sysadmins new to configuration management, this guide shows you to automate the packaging and delivery of applications in your infrastructure. You’ll be able to build (or rebuild) your infrastructure’s application stack in minutes or hours, rather than days or weeks. After teaching you how to write Ruby-based Chef code, this book walks you through different Chef tools and configuration management concepts in each chapter, using detailed examples throughout. All you need to get started is command-line experience and familiarity with basic system administration. Configure your Chef development environment and start writing recipes Create Chef cookbooks with recipes for each part of your infrastructure Use Test Kitchen to manage sandbox testing environments Manage single nodes with Chef client, and multiple nodes with Chef Server Use data bags for storing shared global data between nodes Simulate production Chef Server environments with Chef Zero Classify different types of services in your infrastructure with roles Model life stages of your application, including development, testing, staging, and production

Learn to design, build, and manage your infrastructure on the most popular of all the Cloud platforms—Amazon Web Services About This Book Learn how to leverage various Amazon Web Services (AWS) components and services to build a secure, reliable, and robust environment to host your applications on Deep dive into the core AWS service offerings with hands-on tutorials, real-world use case scenarios, and best practices A self-paced, systematic, and step-by-step guide to learning and implementing AWS in your own environment Who This Book Is For This book is for those who want to learn and leverage AWS. Although no prior experience with AWS is required, it is recommended that you have some hands-on experienceofLinux, Web Services, and basic networking What You Will Learn A brief introduction to Cloud Computing and AWS accompanied by steps to sign up for your first AWS account Create and manage users, groups, and permissions using AWSS Identity and Access Management services Get started with deploying and accessing EC2 instances, working with EBS Volumes and Snapshots Customize and create your very own Amazon Machine Image Design and deploy your instances on a highly secured, network isolated environment using Amazon VPC Effectively monitor your AWS environment using specialized alarms, custom monitoring metrics, and much more Explore the various benefits of Database-as-a-Service offerings and leverage them using Amazon RDS and Amazon DynamoDB Take an in-depth look at what's new with AWS, including EC2 Container Service and Elastic File System In Detail AWS is at the forefront of Cloud Computing today. Many businesses are moving away from traditional datacenters and toward AWS because of its reliability, vast service offerings, lower costs, and high rate of innovation. Because of its versatility and flexible design, AWS can be used to accomplish a variety of simple and complicated tasks such as hosting multitier websites, running large scale parallel processing, content delivery, petabyte storage and archival, and lots more. Whether you are a seasoned sysadmin or a rookie, this book will provide you with all the necessary skills to design, deploy, and manage your applications on the AWS cloud platform. The book guides you through the core AWS services such as IAM, EC2, VPC, RDS, and S3 using a simple real world application hosting example that you can relate to. Each chapter is designed to provide you with the most information possible about a particular AWS service coupled with easy to follow hands-on steps, best practices, tips, and recommendations. By the end of the book, you will be able to create a highly secure, fault tolerant, and scalable environment for your applications to run on. Style and approach This in-depth and insightful guide is filled with easy-to-follow examples, real-world use cases, best practices, and recommendations that will help you design and leverage AWS.

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.

This book is for system engineers and administrators who have a fundamental understanding of information management systems and infrastructure. It helps if you've already played around with Chef; however, this book covers all the important topics you will need to know. If you don't want to dig through a whole book before you can get started, this book is for you, as it features a set of independent recipes you can try out immediately.

The overwhelming majority of a software system’s lifespan is spent in use, not in design or implementation. So, why does conventional wisdom insist that software engineers focus primarily on the design and development of large-scale computing systems? In this collection of essays and articles, key members of Google’s Site Reliability Team explain how and why their commitment to the entire lifecycle has enabled the company to successfully build, deploy, monitor, and maintain some of the largest software systems in the world. You’ll learn the principles and practices that enable Google engineers to make systems more scalable, reliable, and efficient—lessons directly applicable to your organization. This book is divided into four sections: Introduction—Learn what site reliability engineering is and why it differs from conventional IT industry practices Principles—Examine the patterns, behaviors, and areas of concern that influence the work of a site reliability engineer (SRE) Practices—Understand the theory and practice of an SRE’s day-to-day work: building and operating large distributed computing systems Management—Explore Google's best practices for training, communication, and meetings that your organization can use