As an employee at EY, I had the privilege of access to Udemy for Business. I decided to further enhance my DevOps skills by enrolling in the "DevOps Projects | 20 Real-Time DevOps Projects" course, and I'm sharing my journey for educational purposes.
- ✅ Previous project: Multi-Tier web application stack (VProfile).
- ✅ Re-Architect Services on AWS Cloud.
- ✅ Architecture aimed at boosting agility and improving business continuity.
- 👩🏽💻 Project services running on Physical/Virtual/Cloud machines.
- 👩🏽💻 A variety of services that power your project runtime.
- 👩🏽💻 Multiple teams working around the cloud: Cloud computing team, Virtualization team, Data Center team, Operations team, Monitoring team, and Sysadmin team involved.
- ❌ Operational Overhead.
- ❌ Struggling with Uptime and Scaling.
- ❌ Upfront CapEx and Regular OpEx.
- ❌ Manual Process.
- ❌ Difficult to automate.
- ✅ To have a Cloud computing setup based on PaaS or SaaS.
- ✅ Pay as you go.
- ✅ Infrastructure as Code (IaC).
- ✅ Flexibility.
- ✅ Ease of Infra management.
- ✅ Automation to avoid human errors.
- ☁️ Beanstalk: VM for Tomcat (App server).
- ☁️ Beanstalk: Nginx LB Replacement.
- ☁️ S3/EFS: Storage.
- ☁️ RDS Instance: Databases.
- ☁️ Elastic Cache: Memcached.
- ☁️ Active MQ: RabbitMQ.
- ☁️ Route 53: DNS.
- ☁️ Cloudfront: Content Delivery Network.
- 🎯 Flexible infrastructure.
- 🎯 No upfront cost.
- 🎯 Infrastructure as Code (IaC).
- 🎯 Platform as a Service (PaaS).
- 🎯 Software as a Service (SaaS).
- 🎯 To simplify infrastructure management and reduce operational overhead.
Current Infra | Previous Infra |
---|---|
Beanstalk | Tomcat EC2/VM |
ELB in Beanstalk | Nginx LB/ELB |
Autoscaling | None / Autoscaling |
EFS/S3 | NFS / S3 / EFS |
RDS | MySQL on VM/EC2 |
Elastic Cache | Memcached on VM/EC2 |
Active MQ | RabbitMQ on VM/EC2 |
Route53 | GoDaddy, Local DNS |
Cloudfront | None / Multi DC Across world |
- ⏭️ Login to AWS Account.
- ⏭️ Create key pair for Beanstalk instance login.
- ⏭️ Create a security group for Elasticache, RDS, and ActiveMQ.
- ⏭️ Create RDS, Amazon Elastic Cache, and Amazon Active MQ.
- ⏭️ Create an Elastic Beanstalk Environment.
- ⏭️ Update the security group of the backend to allow traffic from the Bean SG.
- ⏭️ Update the security group of the backend to allow internal traffic.
- ⏭️ Launch an EC2 Instance for DB initialization.
- ⏭️ Log in to the instance and initialize the RDS DB.
- ⏭️ Change the health check on Beanstalk to login.
- ⏭️ Add a 443 https Listener to ELB.
- ⏭️ Build an artifact with backend information.
- ⏭️ Deploy the artifact to Beanstalk.
- ⏭️ Create a CDN with an SSL certificate.
- ⏭️ Update the entry in GoDaddy DNS Zones.
- ⏭️ Test the URL.
GitHub Repository: vprofile-project-3
Udemy Course: DevOps Projects | 20 Real-Time DevOps Projects
- JDK 11
- Maven 3
- MySQL 8
- Spring MVC
- Spring Security
- Spring Data JPA
- Maven
- JSP
- Tomcat
- MySQL
- Memcached
- Rabbitmq
- ElasticSearch
Here,we used Mysql DB sql dump file:
- /src/main/resources/db_backup.sql
- db_backup.sql file is a mysql dump file.we have to import this dump to mysql db server
-
mysql -u <user_name> -p accounts < db_backup.sql