Infrastructure as Code (IaC) is gaining popularity and developers today are deploying their application environments through IaC tools to the cloud. However, it can become extremely difficult and time-consuming to manage the state of the infrastructure that has been deployed. This book will provide a complete walkthrough of deploying a SpringBoot application on AWS with multiple environments like production, staging and development. Everything is orchestrated through GitHub Actions and executed through Terraform Cloud to monitor changes in your infrastructure and manage its state.
You'll start by reviewing how your infrastructure can be stored in code by spinning up an EC2 server first through the console, then AWS CLI and then using Terraform. You'll then be presented with a practical scenario of setting up a simple EC2 server in a multi-environment (production, staging and development) using GitHub Actions and Terraform Cloud. In the advanced section that follows, this simple EC2 server is expanded into an application that is deployed on an AWS EKS (Elastic Kubernetes Service) using AWS RDS (Relational Database Service) exposed through an AWS ALB (Application Load Balancer) protected using AWS ACM (AWS Certificate Manager), and accessible by setting the AWS Route53.
The book then builds up on this infrastructure and demonstrates how it can be deployed in a multi-environment scenario by implementing accounts through AWS organizations. You'll see how to put in restrictions through Service Control Policies, how to protect secrets using AWS Secrets Manager, and how to work with least privileges using IRSA (IAM Roles for Service Accounts). Finally, you'll make the infrastructure more observable using Graphana, Prometheus, and AWS OpenSearch, run security tools, host Route53 zones dynamically based on environments, and implement CloudWatch Alarms for various use cases.
Chapter 1: What is GitOps?.- Chapter 2: Introduction to AWS.- Chapter 3: Introduction to Terraform.- Chapter 4: Introduction to SpringBoot App on AW and EKS.- Chapter 8. Authentication and Authorization.- Chapter 9. Security and Secrets Management.- Chapter 10. Observability.- Appendix A: Manually Delete Resources.- Appendix B: Destroy on Terraform Cloud.- Appendix C: Code Compatability.
Rohit Salecha is a technology enthusiast with over 11 years of experience in IT and the Cybersecurity industry. He loves to find security flaws in the web applications and api's, automate boring tasks and tinker around with new tech and help design secure by default systems. Lately, he has become quite smitten by the DevOps technologies and techniques and loves tinkering around with them.
Über den Autor
Rohit Salecha is a technology enthusiast with over 11 years of experience in IT and the Cybersecurity industry. He loves to find security flaws in the web applications and api's, automate boring tasks and tinker around with new tech and help design secure by default systems. Lately, he has become quite smitten by the DevOps technologies and techniques and loves tinkering around with them.
nnnnnnnn
Inhaltsverzeichnis
Chapter 1: What is GitOps?.- Chapter 2: Introduction to AWS.- Chapter 3: Introduction to Terraform.- Chapter 4: Introduction to SpringBoot App on AW and EKS.- Chapter 8. Authentication and Authorization.- Chapter 9. Security and Secrets Management.- Chapter 10. Observability.- Appendix A: Manually Delete Resources.- Appendix B: Destroy on Terraform Cloud.- Appendix C: Code Compatability.
Klappentext
Manage the state of the infrastructure deployed on cloud through a continuous integration and continuous deployment (CI/CD) pipeline.
rn
Infrastructure as Code (IaC) is gaining popularity and developers today are deploying their complete production environments through IaC tools to cloud environments. However, it can become extremely difficult and time-consuming to manage the state of the infrastructure that has been deployed. Practical GitOps features practical examples like deploying a WordPress application on AWS Elastic Kubernetes Service, Elastic File Service, and Relational Database Service as viable solutions to managing the process.
Split into two parts, the first will focus around the practical, hands-on tasks involved like setting up WordPress on AWS using Terraform as well as exploring best practices regarding infrastructure management and exploring Kubernetes and GitHub Actions in relation to a multi-environment setting. The second will look at the challenges that developers and sysadmins face whilst deploying infrastructures onto cloud environments like authentication, authorization, security, back-end and disaster management.rn
What You'll Learn
- Perform proper state management with Terraform
- See how most of your infrastructure can be stored in code and deployed on every commit
- Execute a review of your infrastructure changes
Who This Book Is For
Developers, infrastructure administrators, Cloud professionals, DevOps professionals, managers and other professionals who wish to understand the most practical ways to deploy infrastructure through code in a continuous manner