Python and Terraform Infrastructure as code, standards and practices

Python and Terraform Infrastructure as code, standards and practices
Author:
Publisher: jideon francisco marques
Total Pages: 448
Release: 2024-02-23
Genre: Computers
ISBN:

How this book is organized: A roadmap I organized this book into three sections with 13 chapters. Part 1 introduces IaC and how you, as an individual, write it. • Chapter 1 defines IaC and its benefits and principles. The chapter explains that the book has examples in Python, run by HashiCorp Terraform, and deployed to Google Cloud Platform (GCP). I also discuss the tools and use cases you’ll encounter in your IaC journey. • Chapter 2 dives into the principle of immutability and how you can migrate existing infrastructure resources to IaC. It also covers the practices of writing clean IaC. • Chapter 3 offers a few patterns for dividing and grouping infrastructure resources into modules. Each pattern includes an example and a list of use cases. • Chapter 4 covers how to manage dependencies among infrastructure resources and modules and decouple them with dependency injection and some common patterns. Part 2 describes how to write and collaborate on IaC as a team. • Chapter 5 organizes the practices and considerations for expressing IaC in different repository structures and sharing it across your team. • Chapter 6 provides an infrastructure testing strategy. It describes each type of test and how to write them for IaC. • Chapter 7 applies continuous delivery to IaC. It covers a high-level view of branching models and how your team can use them to change infrastructure. • Chapter 8 provides techniques to build secure and compliant IaC, including testing and tagging. Part 3 covers how to manage IaC across your company. • Chapter 9 applies immutability to infrastructure changes, including an example for blue-green deployments. • Chapter 10 refactors a large body of IaC to improve its maintainability and mitigate the blast radius of failed changes to one codebase. • Chapter 11 describes reverting IaC and rolling forward changes to the system. • Chapter 12 addresses the use of IaC to manage cloud computing costs. It includes an example for cost estimation of IaC. • Chapter 13 completes the book with practices to manage and update IaC tools. You will find that many concepts build on each other throughout the book, and it may help to read the chapters in order if you have not previously practiced IaC. Otherwise, you can choose the sections that best apply to the challenges you face in your IaC practice.

Terraform: Up & Running

Terraform: Up & Running
Author: Yevgeniy Brikman
Publisher: "O'Reilly Media, Inc."
Total Pages: 417
Release: 2019-09-06
Genre: Computers
ISBN: 149204685X

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

Infrastructure as Code

Infrastructure as Code
Author: Kief Morris
Publisher: "O'Reilly Media, Inc."
Total Pages: 430
Release: 2020-12-08
Genre: Computers
ISBN: 1098114620

Six years ago, Infrastructure as Code was a new concept. Today, as even banks and other conservative organizations plan moves to the cloud, development teams for companies worldwide are attempting to build large infrastructure codebases. With this practical book, Kief Morris of ThoughtWorks shows you how to effectively use principles, practices, and patterns pioneered by DevOps teams to manage cloud-age infrastructure. Ideal for system administrators, infrastructure engineers, software developers, team leads, and architects, this updated edition demonstrates how you can exploit cloud and automation technology to make changes easily, safely, quickly, and responsibly. You'll learn how to define everything as code and apply software design and engineering practices to build your system from small, loosely coupled pieces. This book covers: Foundations: Use Infrastructure as Code to drive continuous change and raise the bar of operational quality, using tools and technologies to build cloud-based platforms Working with infrastructure stacks: Learn how to define, provision, test, and continuously deliver changes to infrastructure resources Working with servers and other platforms: Use patterns to design provisioning and configuration of servers and clusters Working with large systems and teams: Learn workflows, governance, and architectural patterns to create and manage infrastructure elements

The Terraform Book

The Terraform Book
Author: James Turnbull
Publisher: James Turnbull
Total Pages: 332
Release: 2016-12-31
Genre: Computers
ISBN: 0988820250

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.12!

Terraform in Action

Terraform in Action
Author: Scott Winkler
Publisher: Simon and Schuster
Total Pages: 604
Release: 2021-08-24
Genre: Computers
ISBN: 1638350310

"An outstanding source of knowledge for Terraform enthusiasts of all levels." - Anton Babenko, Betajob Terraform in Action shows you how to automate and scale infrastructure programmatically using the Terraform toolkit. Summary In Terraform in Action you will learn: Cloud architecture with Terraform Terraform module sharing and the private module registry Terraform security in a multitenant environment Strategies for performing blue/green deployments Refactoring for code maintenance and reusability Running Terraform at scale Creating your own Terraform provider Using Terraform as a continuous development/continuous delivery platform Terraform in Action introduces the infrastructure-as-code (IaC) model that lets you instantaneously create new components and respond efficiently to changes in demand. You’ll use the Terraform automation tool to design and manage servers that can be provisioned, shared, changed, tested, and deployed with a single command. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Provision, deploy, scale, and clone your entire stack to the cloud at the touch of a button. In Terraform, you create a collection of simple declarative scripts that define and manage application infrastructure. This powerful infrastructure-as-code approach automates key tasks like versioning and testing for everything from low-level networking to cloud services. About the book Terraform in Action shows you how to automate and scale infrastructure programmatically using the Terraform toolkit. Using practical, relevant examples, you’ll use Terraform to provision a Kubernetes cluster, deploy a multiplayer game, and configure other hands-on projects. As you progress to advanced techniques like zero-downtime deployments, you’ll discover how to think in Terraform rather than just copying and pasting scripts. What's inside Cloud architecture with Terraform Terraform module sharing and the private module registry Terraform security in a multitenant environment Strategies for performing blue/green deployments About the reader For readers experienced with a major cloud platform such as AWS. Examples in JavaScript and Golang. About the author Scott Winkler is a DevOps engineer and a distinguished Terraform expert. He has spoken multiple times at HashiTalks and HashiConf, and was selected as a HashiCorp Ambassador and Core Contributor in 2020. Table of Contents PART 1 TERRAFORM BOOTCAMP 1 Getting started with Terraform 2 Life cycle of a Terraform resource 3 Functional programming 4 Deploying a multi-tiered web application in AWS PART 2 TERRAFORM IN THE WILD 5 Serverless made easy 6 Terraform with friends 7 CI/CD pipelines as code 8 A multi-cloud MMORPG PART 3 MASTERING TERRAFORM 9 Zero-downtime deployments 10 Testing and refactoring 11 Extending Terraform by writing a custom provider 12 Automating Terraform 13 Security and secrets management

Beginning Kubernetes on the Google Cloud Platform

Beginning Kubernetes on the Google Cloud Platform
Author: Ernesto Garbarino
Publisher: Apress
Total Pages: 331
Release: 2019-11-28
Genre: Computers
ISBN: 1484254910

Use this beginner’s guide to understand and work with Kubernetes on the Google Cloud Platform and go from single monolithic Pods (the smallest unit deployed and managed by Kubernetes) all the way up to distributed, fault-tolerant stateful backing stores. You need only a familiarity with Linux, Bash, and Python to successfully use this book. Proficiency in Docker or cloud technology is not required. You will follow a learn-by-doing approach, running small experiments and observing the effects. Google open sourced Kubernetes in 2015 and now it is the industry standard in container orchestration. It has been adopted by all leading vendors of cloud, on-prem, and hybrid infrastructure services: Microsoft (Azure AKS), Amazon (AWS EKS), IBM (IBM Cloud Kubernetes Services), Alibaba Cloud (ACK), RedHat (OpenShift), and Pivotal (PKS). Even though Kubernetes is offered by all of the market-leading cloud providers, the Google Cloud Platform (GCP) offers an integrated shell (Google Cloud Shell) and a $300 credit to get started, which makes it the ideal platform to not only learn Kubernetes but also to implement final production workloads. What You Will Learn Set up a Kubernetes cluster in GCPDeploy simple Docker images using monolithic PodsArrange highly available and highly scalable applications using DeploymentsAchieve zero-downtime deployments using the Service controllerExternalize configuration using ConfigMaps and SecretsSet up batch processes and recurrent tasks using Jobs and CronJobsInstall horizontal (sidecar pattern) services using DaemonSetsImplement distributed, stateful backing stores using StatefulSets Who This Book Is For Beginners with basic Linux admin and scripting skills (Bash and Python). Proficiency with Docker is not required as all examples in the book use off-the-shelf public images from Docker Hub.

Python for DevOps

Python for DevOps
Author: Noah Gift
Publisher: O'Reilly Media
Total Pages: 506
Release: 2019-12-12
Genre: Computers
ISBN: 1492057665

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

Infrastructure as Code

Infrastructure as Code
Author: Kief Morris
Publisher: "O'Reilly Media, Inc."
Total Pages: 362
Release: 2016-06-09
Genre: Computers
ISBN: 149192439X

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

Infrastructure as Code for Beginners

Infrastructure as Code for Beginners
Author: Russ McKendrick
Publisher: Packt Publishing Ltd
Total Pages: 222
Release: 2023-05-31
Genre: Computers
ISBN: 1837636176

Master Infrastructure as Code (IaC) and streamline your DevOps workflows using Terraform and Ansible Purchase of the print or Kindle book includes a free eBook in the PDF format Key Features Employ effective strategies and approach IaC projects efficiently by diving deep into its fundamentals Understand the working of Terraform and Ansible and integrate them into your CI/CD workflows Work with real-world examples of IaC across multiple cloud providers (Azure & AWS) Book DescriptionThe Infrastructure as Code (IaC) approach ensures consistent and repeatable deployment of cloud-based IaaS/PaaS services, saving you time while delivering impeccable results. Infrastructure as Code for Beginners is a practical implementation guide that helps you gain a clear understanding of the foundations of Infrastructure as Code and make informed decisions when implementing it. With this book, you’ll uncover essential IaC concepts, including planning, selecting, and implementing the right tools for your project. With step-by-step explanations and real-world examples, you'll gain a solid understanding of the benefits of IaC and the scope of application in your projects. You'll learn about the pros, cons, and best practices of different IaC tools such as Terraform and Ansible, and their use at different stages of the deployment process along with GitHub Actions. Using these tools, you'll be able to design, deploy, and secure your infrastructure on two major cloud platforms, Microsoft Azure and Amazon Web Services. In addition, you'll explore other IaC tools such as Pulumi, AWS CloudFormation, and Azure Bicep. By the end of this book, you’ll be well equipped to approach your IaC projects confidently.What you will learn Determine the right time to implement Infrastructure as Code for your workload Select the appropriate approach for Infrastructure-as-Code deployment Get hands-on experience with Ansible and Terraform and understand their use cases Plan and deploy a workload to Azure and AWS clouds using Infrastructure as Code Leverage CI/CD in the cloud to deploy your infrastructure using your code Discover troubleshooting tips and tricks to avoid pitfalls during deployment Who this book is for This book is for cloud engineers, software developers, or system administrators responsible for deploying resources to host applications. Ideal for both beginners and experienced professionals seeking to deepen their knowledge. Experience in manually deploying resources for applications in public clouds such as AWS or Microsoft Azure is a must. A basic understanding of programming or scripting languages, such as Python, Bash, PowerShell, etc. as well as familiarity with version control systems like Git, is a prerequisite.