Browse Source

feat(cloudPress): new raid for devops afpa

pull/2332/head
miguel 6 months ago committed by Christopher Fremond
parent
commit
4d66bdae05
  1. 84
      subjects/devops/cloudPress/README.md
  2. 65
      subjects/devops/cloudPress/audit/README.md
  3. 0
      subjects/devops/cloudPress/resources/architecture.png
  4. 77
      subjects/devops/raid_afpa_terraform_ansible/README.md

84
subjects/devops/cloudPress/README.md

@ -0,0 +1,84 @@
## CloudPress
![Cloud Deployment](./resources/architecture.png)
### Objective
CloudPress is a project designed to provide hands-on experience in deploying a WordPress website with MariaDB on the Amazon Web Services (AWS) cloud platform. The goal is to utilize Terraform for infrastructure creation and Ansible for application installation, resulting in a production-ready setup.
Upon completion of this project, you'll achieve:
- A robust AWS environment primed for hosting WordPress and MariaDB orchestrated through Terraform.
- Seamless installation and configuration of Linux, Nginx, MariaDB, PHP, and WordPress using Ansible.
- Implementation of security protocols, performance optimizations, and meticulous documentation, ensuring a fully-fledged production-level WordPress site.
## Prerequisites
Before starting this project, make sure you have a solid understanding of the following concepts:
- Cloud computing principles, particularly AWS.
- Terraform for infrastructure provisioning.
- Ansible for application installation and configuration.
- Familiarity with web servers, databases, and WordPress.
- Web security and optimization best practices.
### Instructions
#### AWS Infrastructure Setup with Terraform
- Create an AWS account.
- Configure Terraform files to provision EC2 instances, security groups, storage, and networking.
- Securely set up and configure an EC2 Instance (SSH, security, etc.).
> Keep track of your usage to avoid unexpected bills, try to use the free tier!
> Verify that all services are terminated after completion of use!
#### Nginx Installation and Configuration using Ansible
- Install Nginx on the EC2 Instance.
- Configure Nginx for serving web content.
- Adjust firewall settings to allow HTTP/HTTPS traffic.
- Start the Nginx service.
#### MariaDB Installation and Configuration using Ansible
- Install MariaDB on the EC2 Instance.
- Create a MariaDB database for WordPress.
- Create a user for WordPress and configure user rights and privileges.
- Start the MariaDB service.
#### PHP Installation and Configuration using Ansible
- Install PHP on the EC2 Instance.
- Configure PHP settings for the WordPress site.
- Start the PHP service.
#### WordPress Installation and Configuration using Ansible
- Download and set up WordPress on the EC2 Instance.
- Configure WordPress to use the MariaDB database.
- Start the WordPress service.
#### Documentation
Prepare a comprehensive `README.md` detailing:
- Architecture overview.
- Deployment process.
- Additional configurations made.
- Tips and potential pitfalls.
### Evaluation Criteria
Your CloudPress project will be evaluated based on:
- Successfully setting up WordPress and MariaDB using Terraform to create the infrastructure and Ansible for installing everything.
- Secure and effective environment configuration.
- Quality and clarity of the provided documentation.
### Conclusion
Completing CloudPress will equip you with valuable experience in deploying web applications on a public cloud. Emphasizing infrastructure as code practices and configuration management, you'll have a functional WordPress website hosted on AWS, preparing you for similar real-world tasks in your career.

65
subjects/devops/cloudPress/audit/README.md

@ -0,0 +1,65 @@
#### General
##### Check the Repo content
###### Are all files related to the CloudPress project, including Terraform configuration files, Ansible playbooks, and any additional scripts, included in the repository?
#### AWS Infrastructure Setup with Terraform
###### Were EC2 instances provisioned using Terraform?
###### Were security groups, storage, and networking configurations set up correctly using Terraform?
###### Was the EC2 Instance securely configured after setup (SSH, security, etc.)?
#### Nginx Installation and Configuration using Ansible
###### Was Nginx successfully installed on the EC2 Instance using Ansible?
###### Was Nginx configured to serve web content appropriately?
###### Were firewall settings adjusted to allow HTTP/HTTPS traffic?
#### MariaDB Installation and Configuration using Ansible
###### Was MariaDB installed on the EC2 Instance using Ansible?
###### Was a MariaDB database created specifically for WordPress?
###### Were the user rights and privileges for the WordPress user correctly configured?
#### PHP Installation and Configuration using Ansible
###### Was PHP installed on the EC2 Instance using Ansible?
###### Were PHP settings appropriately configured for the WordPress site?
###### Was the PHP service successfully started?
#### WordPress Installation and Configuration using Ansible
###### Was WordPress downloaded and set up on the EC2 Instance using Ansible?
###### Was WordPress configured to use the MariaDB database?
###### Was the WordPress service successfully started?
#### Documentation
###### Does the README.md file contain an architecture overview?
###### Does the documentation cover the deployment process comprehensively?
###### Are additional configurations, tips, and potential pitfalls included in the documentation?
#### Evaluation Criteria
###### Was WordPress and MariaDB set up using Terraform and Ansible?
###### Was the environment configuration secure and effective?
###### Is the provided documentation of high quality and clarity?
#### Overall Completion
###### Is the CloudPress project ready for production deployment based on the achieved outcomes?

0
subjects/devops/raid_afpa_terraform_ansible/resources/architecture.png → subjects/devops/cloudPress/resources/architecture.png

Before

Width:  |  Height:  |  Size: 264 KiB

After

Width:  |  Height:  |  Size: 264 KiB

77
subjects/devops/raid_afpa_terraform_ansible/README.md

@ -1,77 +0,0 @@
# Cloud Deployment Project: Deploying WordPress with MariaDB on AWS using Terraform and Ansible
![Cloud Deployment](./resources/architecture.png)
## Objective
The primary objective of this project is to provide hands-on experience in deploying a WordPress website with MariaDB on the Amazon Web Services (AWS) cloud platform. You will use Terraform for infrastructure creation and Ansible for application installation. By the end of this project, you will have:
1. Set up a comprehensive AWS environment for hosting WordPress and MariaDB using Terraform.
2. Installed and configured Linux, Nginx, MariaDB, PHP, and WordPress using Ansible.
3. Implemented security measures, optimizations, and documented the setup for a production-grade WordPress site.
## Prerequisites
Before starting this project, make sure you have a solid understanding of the following concepts:
- Cloud computing principles, particularly AWS.
- Terraform for infrastructure provisioning.
- Ansible for application installation and configuration.
- Familiarity with web servers, databases, and WordPress.
- Web security and optimization best practices.
## Project Steps
### AWS Infrastructure Setup with Terraform
- Create an AWS account.
- Write Terraform configuration files to provision AWS infrastructure, including EC2 instances, security groups, storage, and networking.
- Setup and configure a EC2 Instance (ssh, security, ...).
> Always check your consumption and used services in order to avoid unexpected bills, try to use the free tier!
> Verify that all services are terminated after completion of use!
### Nginx Installation and Configuration using Ansible
- Install Nginx on the EC2 Instance.
- Configure Nginx for serving web content.
- Adjust firewall settings to allow HTTP/HTTPS traffic.
- Start the Nginx service.
### MariaDB Installation and Configuration using Ansible
- Install MariaDB on the EC2 Instance.
- Create a MariaDB database for WordPress.
- Create a user for WordPress and configure user rights.
- Start the MariaDB service.
### PHP Installation and Configuration using Ansible
- Install PHP on the EC2 Instance.
- Configure PHP settings for the WordPress site.
- Start the PHP service.
### WordPress Installation and Configuration using Ansible
- Download and set up WordPress on the EC2 Instance.
- Configure WordPress to use the MariaDB database.
- Start the WordPress service.
### Documentation
- In a `README.md` file prepare a clear and comprehensive documentation explaining your architecture, deployment process, and any additional configurations made.
## Evaluation Criteria
Your project will be evaluated based on the following criteria:
- Successful deployment of WordPress and MariaDB using Terraform for infrastructure creation and Ansible for installation.
- Effective configuration and secure setup of the environment.
- Quality and clarity of documentation.
## Conclusion
Completing this project will provide you with valuable experience in deploying web applications on a public cloud, emphasizing infrastructure as code practices, and configuration management. You will have a functional WordPress website using MariaDB, hosted on AWS, and be better prepared for similar real-world tasks in your future career.
Happy deploying!
Loading…
Cancel
Save