35,99 €
This HashiCorp Terraform Associate (003) exam guide simplifies technical content relating to the exam and helps you learn using real-world examples. The book is aligned with the latest exam objectives, which enables you to streamline your learning experience instead of referring to multiple sources for preparation. Moreover, the book is designed to serve as a "one-stop solution" for readers with varied levels of experience in Terraform.
You'll learn how to efficiently provision and manage cloud and on-premises infrastructure using Terraform. As you progress, you’ll focus on essential commands, state management techniques, and best practices. Later chapters will show you how to harness the power of Terraform modules for code reusability and scalability. You’ll also gain insights into advanced topics such as debugging, troubleshooting, and leveraging Terraform Cloud and Terraform Enterprise for collaborative infrastructure management. This book provides you with lifetime access to supplementary practice resources such as mock exams, flashcards, and exam tips from experts.
By the end of this book, you’ll have the knowledge and skills you need to confidently tackle the Terraform Associate certification exam and excel in your career.
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Seitenzahl: 366
Veröffentlichungsjahr: 2024
Prepare to pass the Terraform Associate exam on your first attempt
Chandra Mohan Dhanasekaran
Manjunath H. Gowda
Copyright © 2024 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
Authors: Chandra Mohan Dhanasekaran and Manjunath H. Gowda
Reviewers: Salim Tekin and Mehdi Laruelle
Publishing Product Manager: Anindya Sil
Senior-Development Editor: Ketan Giri
Development Editor: Kalyani S.
Presentation Designer: Salma Patel
Editorial Board: Vijin Boricha, Megan Carlisle, Simon Cox, Ketan Giri, Saurabh Kadave, Alex Mazonowicz, Gandhali Raut, and Ankita Thakur
First Published: May 2024
Production Reference: 1310524
Published by Packt Publishing Ltd.
Grosvenor House
11 St Paul’s Square
Birmingham
B3 1RB
ISBN: 978-1-80461-884-4
www.packtpub.com
Chandra Mohan Dhanasekaran, a.k.a. Chandru D, is an AWS Certified Solutions Architect at Philips, focused on designing world-class resilient and cost-efficient solutions for customers in the public cloud. His previous experience includes stints at banking giants including JP Morgan Chase & Co. and Danske Bank, the largest bank in Denmark and very popular in the Nordic countries. He has close to 15 years of professional IT experience in different domains and various technology stacks ranging from mainframes to frontend, distributed, and container technologies. He has always had a profound love for mainframe systems and is fascinated by the advantages of using IaC tools and cloud services. You can find him at almost all AWS events and meetups around Bengaluru, and he loves to connect with people.
He always looks to explore new and blossoming open source technologies and is a fan of serverless technologies and Kubernetes. You can connect with him on LinkedIn: https://www.linkedin.com/in/chandrud
Outside of work, he loves cooking for the kids at the weekend and enjoys jogging whenever he finds time. He’s also a die-hard Manchester United fan and watching “Rafa” (Rafael Nadal) around the tennis court is something he can’t afford to miss!
Manjunath H. Gowda is a VP of cloud engineering at Lentra.ai. Previously, he worked at AWS as a solutions architect, helping customers migrate to AWS and build cloud-native solutions in the AWS cloud. While working as a freelance consultant, he helped several startups with their AWS architecture, cost optimization, infrastructure security assessment, and automation using IaC tools. He has a special interest in cloud security and infra-automation using IaC tools such as CloudFormation and Terraform.
When not in front of a laptop, he plays cricket and loves long-distance cycling. He is a loyal RCB fan who genuinely believes in the RCB slogan, “Ee sala cup namde”.
You can connect with him at https://www.linkedin.com/in/manju712/.
Salim Tekin is a seasoned Senior DevOps Engineer, currently spearheading the optimization of the Data Science Platform at Generali Germany. Prior to this role, he served as a Cloud Engineer Consultant at Deloitte, where he specialized in crafting tailored cloud solutions. Before his tenure at Deloitte, Salim showcased his versatility as an ADAS Engineer at Bertrandt, simultaneously holding the role of Product Owner for Connectivity Backend on the 'Harry' project. With a rich skill set including Certified Kubernetes Administration and Development, AWS & GCP Architecture, and proficiency in tools like Terraform and Prometheus, Salim excels in driving efficiency and scalability in complex technological landscapes. Holding a Diploma in Industrial Engineering with a focus on Electronics & Informatics, Salim combines academic prowess with practical expertise to deliver impactful solutions. Outside of work, Salim enjoys staying abreast of the latest technological advancements and spending time with family and friends.
Mehdi Laruelle is a seasoned professional with a diverse background in the industry. With extensive experience working for major players and startups, he's honed his skills as a consultant, particularly in the realm of cloud, DevOps culture and tools. His proficiency extends to HashiCorp software like Terraform and Vault, among others. Passionate about sharing knowledge, Mehdi actively engages in training, writing articles, and organizing meetups. As the co-organizer of the HashiCorp User Group France meetup, he fosters a community of learning and collaboration. His expertise is widely recognized, earning him distinctions as a HashiCorp Ambassador, AWS Community Builder, and AWS Authorized Instructor (AAI). You can find him on GitHub under the username "mehdilaruelle".
Thanks for purchasing this book!
Do you like to read on the go but are unable to carry your print books everywhere?
Is your eBook purchase not compatible with the device of your choice?
Don’t worry, now with every Packt book you get a DRM-free PDF version of that book at no cost.
Read anywhere, any place, on any device. Search, copy, and paste code from your favorite technical books directly into your application.
The perks don’t stop there, you can get exclusive access to discounts, newsletters, and great free content in your inbox daily.
Follow these simple steps to get the benefits:
Scan the QR code or visit the link below:https://packt.link/free-ebook/9781804618844
Submit your proof of purchase.That’s it! We’ll send your free PDF and other benefits to your email directly.In the ever-evolving era of technology, the software applications being built are expected to be scalable in nature at the very minimum. The term scalability means the ability of an application or system to always match the growing needs of its user base and handle the increase in the number of users without any problems. This is applicable to all types of applications, including web applications, backend microservices, and internal apps. Such scalable apps are well suited for deployment in the cloud rather than on-premises because of the dynamic resource needs and because automating the scaling process (both scaling up and scaling down) will reap greater benefits. This is exactly where Infrastructure as Code (IaC) adds value.
In this chapter, you will explore IaC in detail and the various aspects of this framework through the following topics:
What is IaC?Basic concepts of IaCIaC tools on the marketIaC use casesBenefits of IaCBy the end of this chapter, you will have a firm understanding of IaC concepts, which will help you build your knowledge of the Terraform tool and focus on getting the HashiCorp Terraform Associate 003 certification in the subsequent chapters.
This book and its accompanying online resources are designed to be a complete preparation tool for your AZ-204 Exam.
The book is written in a way that you can apply everything you’ve learned here even after your certification. The online practice resources that come with this book (Figure 1.1) are designed to improve your test-taking skills. They are loaded with timed mock exams, interactive flashcards, and exam tips to help you work on your exam readiness from now till your test day.
Before You Proceed
To learn how to access these resources, head over to Chapter 11, Accessing the Online Practice Resources, at the end of the book.
Figure 1.1 – Dashboard interface of the online practice resources
Here are some tips on how to make the most out of this book so that you can clear your certification and retain your knowledge beyond your exam:
Read each section thoroughly.Make ample notes: You can use your favorite online note-taking tool or use a physical notebook. The free online resources also give you access to an online version of this book. Click the BACK TO THE BOOK link from the Dashboard to access the book in Packt Reader. You can highlight specific sections of the book there.Chapter Review Questions: At the end of this chapter, you’ll find a link to review questions for this chapter. These are designed to test your knowledge of the chapter. Aim to score at least 75% before moving on to the next chapter. You’ll find detailed instructions on how to make the most of these questions at the end of this chapter in the Exam Readiness Drill - Chapter Review Questions section. That way, you’re improving your exam-taking skills after each chapter, rather than at the end.Flashcards: After you’ve gone through the book and scored 75% more in each of the chapter review questions, start reviewing the online flashcards. They will help you memorize key concepts.Mock Exams: Solve the mock exams that come with the book till your exam day. If you get some answers wrong, go back to the book and revisit the concepts you’re weak in.Exam Tips: Review these from time to time to improve your exam readiness even further.This chapter covers the following main topics:
The benefits of cloud computingCloud deployment modelsCloud service modelsThe core concepts of AzureThis is an introductory chapter on IaC that covers aspects such as use cases, different tools, and benefits that require no prior experience. However, basic knowledge of code development practices, public and private clouds, automation, DevOps, containers, and virtualization will help you understand the chapter better.
There are a couple of exercises at the end of this chapter to help you get a feel for using IaC tools. To complete them, you need the following:
Amazon Web Services (AWS) account ID with administrator accessAWS CLI version 2.x.xTerraform CLI version 1.5.x or laterVisual Studio Code or any text editorThe GitHub repository for the chapter contains the graphics and sample scripts used in the chapter and can be found here:
https://github.com/PacktPublishing/Hashicorp-Certified-Terraform-Associate-003-Exam-guide-Second-Edition/tree/main/ch1
In simple terms, IaC is the process of managing and provisioning an infrastructure through code instead of manual processes. In software engineering, you usually come across code development in programming languages such as Java, Python, and so many others that follow the Software Development Life Cycle (SDLC) process and then store them in a version-controlled source management tool such as GitHub or Bitbucket when they’re ready. They are then deployed in the appropriate infrastructure where needed, either manually or with the help of an automated CI/CD pipeline.
The concept of IaC revolves around similar practices, such as creating a set of configuration scripts that will exactly provide the same infrastructure every time when executed and are also version controlled and properly tested.
IaC tools help us define the infrastructure in human-readable configuration files that can be applied multiple times, and they provide the same infrastructure every time without any changes from the desired state.
Figure 1.1 shows the IaC workflow and how it can transform the configuration scripts or files into real-world infrastructure components.
Figure 1.2 – IaC workflow
“Company X wants to build a next-generation e-commerce web application that will be used by millions of its customers. The solution will have multiple microservices working with different architectures and will be deployed in a cloud that needs to run 24x7 for 365 days a year.”
There are two ways to provide the infrastructure needed to run this application:
Traditional approachIaC-based approachIn the traditional approach, there are clear segregations of responsibilities among the different teams involved, such as application development teams for app development, infrastructure teams for provisioning the resources to deploy the application, and operations teams to support the solution in production.
Once the entire solution has been developed and is ready for production, the development team will get in touch with the infrastructure team and share the requirements to run the application, usually with the ticketing mechanism. Then the infrastructure team will have a dedicated person/team to work on the task and make necessary planning for the deployment.
The planning process will involve procuring the dependent software and the required licenses and installing them on the server where the app will be running. The team will also spend time creating the scripts that need to be run manually before the deployment to get the environment ready.
The operations team will work on the monitoring part of the web application and come up with approaches such as health checks and mail notifications when there are any issues to support the deployment. There will be situations where the incoming traffic will increase rapidly, which requires scaling, and they might need to contact the infrastructure team to deploy multiple instances to serve the traffic, and the manual process will repeat once again. If there are any manual errors in this approach, that will delay the deployment of additional instances, which will affect the business.
As you can see, there are different bottlenecks in the overall execution and the temporary delays will have a bigger impact, and that is where the IaC approach will add real value.
In the IaC approach, based on DevOps principles, the application development team will also be responsible for the infrastructure provisioning, and they might support the application in production.
Once the application is ready to be deployed, the team focuses on creating the configuration scripts that will provision the required infrastructure on the cloud or on-premises setup. The team would be comfortable with going with the cloud-based deployment to make use of fully managed services and the pay-as-you-go model to avoid upfront costs.