Skip to content

Commit

Permalink
feat(cloudPress): new raid for devops afpa
Browse files Browse the repository at this point in the history
  • Loading branch information
MSilva95 committed Nov 22, 2023
1 parent d753a26 commit 6d64edc
Show file tree
Hide file tree
Showing 4 changed files with 149 additions and 77 deletions.
84 changes: 84 additions & 0 deletions subjects/devops/cloudPress/README.md
Original file line number Diff line number Diff line change
@@ -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 changes: 65 additions & 0 deletions subjects/devops/cloudPress/audit/README.md
Original file line number Diff line number Diff line change
@@ -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?
77 changes: 0 additions & 77 deletions subjects/devops/raid_afpa_terraform_ansible/README.md

This file was deleted.

0 comments on commit 6d64edc

Please sign in to comment.