The architecture includes-
- Webserver configured on EC2 Instance
- Document Root(/var/www/html) made persistent by mounting on EBS Block Device.
- Static objects used in code such as pictures stored in S3
- Setting up Content Delivery Network using CloudFront and using the origin domain as S3 bucket.
- Finally place the Cloud Front URL on the webapp code for security and low latency.
aws ec2 run-instances --image-id <value> --instance-type <value> --key-name <value> --subnet-id <value> --count <value> --security-group-ids <value> --tag-specifications <value>
❗❗ Basic knowledge of Logical Volume Management (LVM)
❗❗ Basic knowledge about Hadoop
Here, I have used 2 RHEL8 systems and configured one system as a MasterNode or NameNode and another system as a DataNode .
Let me describe how you can provide elasticity to DataNode storage , i.e, increase/decrease the storage capacity on the fly by using the concept of Logical Volume Management (LVM)
Add 2 hard disks to the system you have configured as a datanode
Let’s see the routing table using the command:
We see that there is a rule in the routing table for destination 0.0.0.0 which means that your system can reach any other system
🔰 Step 1 🔰
Install docker in your system and start docker services
🔰 Step 2 🔰
Pull an image from dockerhub using the command
docker pull <image_name>:<version>
Here, I am using the latest version of centos image
Jenkins is a free and open source automation server . It helps automate the parts of software development related to building, testing, and deploying, facilitating continuous integration and continuous delivery.
Jenkins can be installed through native system packages, Docker, or even run standalone by any machine with a Java Runtime Environment (JRE) installed.
It is used to continuously build and test software projects, enabling developers to set up a CI/CD environment. It also supports version control tools like Subversion, Git, Mercurial, and Maven.
✔ Ansible is a simple IT automation platform that makes your applications and systems easier to deploy and maintain.
✔ Ansible is a software provisioning, configuration management, and application deployment tool.
The AWS Command Line Interface (CLI) is a unified tool that manages the AWS services for you.
AWS CLI gives you the ability to automate the entire process of controlling and managing AWS services through scripts. These scripts make it easy for users to fully automate cloud infrastructure.
Let’s perform the following using AWS CLI
aws help command, we can create our customized commands