questions Flashcards
- What is Infrastructure as Code?
Infrastructure as Code (IaC) is the managing and provisioning of infrastructure through code instead of through manual processes.
You write and execute the code to define, deploy, update, and destroy your infrastructure
- What are the benefits of IaC?
Faster speed and consistency with automation:
- We can bring up the servers with one script and scale up and down based on our load with the same script.
Code reusability and versioning
Efficient software development lifecycle
Reduced management overhead
Decreased risk
Stable & consistent environments for faster iterations
Makes changes idempotent, consistent, repeatable, and predictable.
Cost optimization
Self-documenting
- How does using IaC make it easy to provision infrastructure?
Automating infrastructure provisioning with IaC means that developers don’t need to manually provision and manage servers, operating systems, storage, and other infrastructure components each time they develop or deploy an application. Codifying your infrastructure gives you a template to follow for provisioning
It standardizes workflows across different infrastructure providers (e.g.VMware, AWS, Azure, GCP, etc.) by using a common syntax across all of them.
- What is Idempodent in terms of IaC?
The idempotent characteristic provided by IaC tools ensures that, even if the same
code is applied multiple times, the result remains the same.
- What are Day 0 and Day 1 activities?
IaC can be applied throughout the lifecycle, both on the initial build, as well as throughout the life of the infrastructure.
Commonly, these are referred to as Day
0 and Day 1 activities.
“Day 0” code provisions and configures your initial
infrastructure.
“Day 1” refers to OS and application configurations you apply after you’ve initially built your infrastructure.
- What are the use cases of Terraform?
Application Infrastructure Deployment: - Scaling and Monitoring Tools Multi-Cloud Deployment Self-Service Clusters Policy Compliance and Management PaaS (Platform as a Service) Application Setup (ex. Heroku) Software Defined Networking Kubernetes Deployments Parallel or Disposable Environments Software Demos Multi-Tier Applications Resource Schedulers
- What are the advantages of Terraform?
Orchestration, not merely configuration Immutable infrastructure Declarative, not procedural code Client-only architecture Portability Automation Reliability Clearly mapped resource dependencies Consistent workflow Elegant user experience Strong Community OpenSource