Skip to content

Latest commit

 

History

History

03-scalable-java-app

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Scalable Java Application on AWS Using Terraform

java-aws

Project Documentation & Walkthrough

Refer the following document for the step by step project walkthrough.

Project Documentation: Deploy Scalable Java Applications on AWS Using Terraform

Java Application

For this project you can use the open source pet clinic application (Java Spring Boot)

https://github.com/spring-projects/spring-petclinic

Tools/Services

  • DevOps Tools

    • Jenkins
    • Packer
    • Ansible
    • Terraform
  • AWS Services

    • Application Load Balancer (L7)
    • Autoscaling Group
    • AWS secrets manager
    • RDS (MySQL)

Project Workflow

  • Build Java application
  • Use Packer & Ansible to build the AMI With application code
    • configure application logging
    • configure cloudwatch agent with the application log location.
  • Use Teraaform to provision the following
    • MySQL RDS instance and store the username and password in AWS secrets manager
    • Provision Application Load Blancer
    • Create a launch template With the Application AMI
    • Provision Autoscaling Group with Launch tempalate that use AMI built by packer and attach it to Loadbalancer.
  • Verify application by accessing it using Load Balancer endpoint.
  • Verify application logs in Cloudwatch

Other Useful Resources

  1. RDS password Rotation With Terraform