Skip to content

AFouadMohamed/DevOps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project:1

VagrantProject

Vagrant Multi-VM Setup for Web Application This Vagrantfile sets up a multi-VM environment for a web application with different components such as a database server, Memcached server, RabbitMQ server, application server (Tomcat), and a web server (Nginx). Each VM is provisioned with the necessary software using shell scripts

image

What tools will we use in the project?

Prerequisite

  1. Oracle VM Virtualbox
  2. Vagrant
  3. Vagrant plugins

PROVISIONING

Services

  1. Nginx => Web Service

  2. Tomcat => Application Server

  3. RabbitMQ => Broker/Queuing Agent

  4. Memcache => DB Caching

  5. ElasticSearch => Indexing/Search service

  6. MySQL => SQL Database

image

Project Steps

1:Create shell script (Backend VMs)

Create a ShellScript file for the Database we will call mariadb.sh We will write the following in the file

image

image

image

#2 Create a ShellScript file for Memcached we will call Memcached.sh We will write the following in the file

image

#3 Create a ShellScript file for RabbitMQ that we will call RabbitMQ.sh We will write the following in the file

image

#4 Create a ShellScript file for APP include ( tomcat, nginx )

1: TOMCAT

image

image

image

image

2: NGINX

image

After writing the scripts

we will write a vagrantfile, which should be like this, and we will put in it all the VMs that we will create, we will also make a private network to connect the VMs and introduce them

image

image

image

After all these steps, type inside the cmd in its own path

And in the end, this is the picture of the project

image

The problems I faced and then solved them

1: If you use Vagrant on VM, this problem will appear
image

The solution is to use Vagrant on the physical machine and not the VM

What do we learn from vagrants?

  1. Improve your technical skills: Working with Vagrant will enhance your skills in managing virtual environments and automation. You will learn how to set up complex development environments, which can be invaluable in your field.
  2. Save time and effort: Instead of spending hours setting up new development environments or fixing issues caused by differences between environments, you can save time by using Vagrant to quickly and easily set up a ready-made, consistent environment.
  3. Reduce errors: Vagrant helps reduce errors caused by differences in environments, making you more efficient and reducing the number of problems you may encounter while developing or testing software.
  4. Develop isolated environments for testing: You can use Vagrant to create isolated environments for testing, allowing you to experiment with new settings or software without affecting your platform. This is useful if you want to try something new without compromising your current environment.
  5. Ease of sharing the environment with others: If you work in a team, you can share a Vagrantfile with your colleagues, making it easier for them to set up an identical development environment to avoid compatibility issues.
  6. Increased Productivity: With Vagrant, you can easily create complex environments with the click of a button, increasing your productivity and allowing you to focus on software development instead of spending time setting up the environment.
  7. Explore New Technologies: Vagrant can be your gateway to learning new technologies such as configuration management tools (Ansible, Chef, Puppet) or different operating systems. If you want to expand your knowledge and expertise, Vagrant can help you do that.
  8. Improved Personal Development Experience: Overall, Vagrant makes the development process smoother and more efficient. You’ll find yourself less distracted by environmental issues and more focused on solving actual software problems.
  9. Easily Work Remotely: If you work remotely or on multiple devices, you can easily move your environment between different devices using Vagrant, allowing you to continue working from anywhere without worrying about setting up the environment. In short, using Vagrant can make your daily work more efficient, reduce errors, and increase your productivity. It also provides you with an opportunity to learn new technologies and improve your environment management skills.

Project:2

Folder Project in my repository has another project created in AWS by automation script

1: VPC

image

2: Security Group

image

Need more information about this project created by user date (Script) in AWS can review the link

https://github.com/AFouadMohamed/DevOps/tree/main/project/project-2

thx4w-8 (1)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published