Skip to content

Nayanshivhare/Java-Application-AWS-Elastic-BeanStalk

Repository files navigation

Re- Architecting and Integrating Java based Web-App on AWS Cloud Native

AWS

💻 Tech Stack

Apache Tomcat Elastic Beanstalk RDS Instance Amazon ElastiCache Amazon MQ Route53 Cloud Front Apache Maven Java JavaScript TypeScript CSS3 NodeJS MySQL

🔭 Objective

To increase scalability, availability, and cost-efficiency while leveraging the full set of AWS services, I am re-architecting web application from an on-premises infrastructure to a cloud-native architecture on AWS. I used memcached for caching, RDS instances for database management, Route53 for DNS management, and CloudFront for content delivery in addition to Amazon MQ for messaging and queuing. This re-architecture will help us with following benefits:

  1. Increase the scalability of our application.
  2. decrease downtime and improve reliability by utilizing AWS's built-in redundancy and failover features.
  3. Cut costs by utilizing the pay-as-you-go pricing model of AWS services.

☁️ Architecutre Diagram

image

🎯 Steps for Implementation

  1. Login to AWS Account
  2. Create following services in AWS:
    • Key pair
    • Secuirty Group- For Backend Services
    • Amazon Elastic Cache- Memcached
    • Amazon Active MQ
  3. Create Elastic Beanstalk Environemnt
  4. Update Security group to allow traffic from Elastic Beanstalk Security Group
  5. Update Security group to allow traffic from internal traffic
  6. Launch Ec2 to intialize Database
  7. Login to Ec2 and login to database
  8. Initialize database
  9. Change healthcheck on Elastic Beanstalk to our application /login
  10. Add 445 https Listener to ELB
  11. Build Artifact with Backend Information
  12. Deploy Artifact to Beanstalk
  13. Create CDN with ssl cert
  14. Update entry in DNS
  15. Test the url

Screenshots on Implementation

Create Elastic Beanstalk Environemnt

Creating RDS

image image image image image image image image

Intializing Database from Ec2 instance

image image image image image image image

image

image image image image

Creating Amazon Active MQ

image image image image image image image

Creating ElasticCache Memcached

image image image image image image image image image

Building Stage

Our application code is residing in Github repository. We will clone it, build it on our machine and deploy the artifect on elastic beanstalk.

Open your git bash

Use git clone in your current directory

image

image

image

image

image

image

image

image

Enter details of endpoints, username, & password

image

esc

:wq

cd ../../..

Using Maven to build my application artifacts

image image image image image

Use your Elasticbeanstalk link to connect to your deployed application

image image

Configure Application Load Balancer

image image image image

Click to apply

Route53 to create CNAME record

image image image image

Setting Cloud Front

image image image image image image image image image image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published