Browse Source

CON-2508-improve-language-in-easy-cloud-project (#2504)

pull/2447/merge
Zouhair AMAZZAL 1 month ago committed by GitHub
parent
commit
b30d683c24
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 20
      subjects/devops/easy-cloud/README.md

20
subjects/devops/easy-cloud/README.md

@ -21,7 +21,7 @@ Before embarking on this project, ensure you are equipped with:
- An understanding of basic DevOps practices and principles.
- Familiarity with the public cloud concepts, managed public cloud services, and related networking/security services.
- Proficiency in Terraform for infrastructure as code.
- Knowledge in containerization technologies, specifically Docker.
- Knowledge of containerization technologies, specifically Docker.
- Insights into monitoring and logging practices and public cloud services.
> Any lack of understanding of the concepts of this project may affect the difficulty of future projects, take your time to understand all concepts.
@ -29,7 +29,7 @@ Before embarking on this project, ensure you are equipped with:
### Role Play
The project includes a role play session to simulate a real-world scenario where you, as a Cloud Engineer, present and justify your infrastructure design and decisions to stakeholders or your team. This session aims to:
The project includes a role-play session to simulate a real-world scenario where you, as a Cloud Engineer, present and justify your infrastructure design and decisions to stakeholders or your team. This session aims to:
- Evaluate your grasp of the technologies and strategies employed in your project.
- Test your communication skills and ability to articulate your choices.
@ -39,25 +39,25 @@ Be prepared to defend your architecture, explaining the rationale behind each de
### Architecture
You are a Cloud engineer and you have received a mission from a small company with limited resources and limited cloud/devops knowledge, they want to create an infrastructure with the following:
You are a Cloud engineer and you have received a mission from a small company with limited resources and limited cloud/DevOps knowledge, they want to create an infrastructure with the following:
- Setup WordPress on at least two servers to ensure high availability. These servers should be configured identically to serve the WordPress application.
- Implement an auto-scaling mechanism that automatically scales the number of servers up during high load periods and scales down during low load periods. This ensures that your infrastructure can handle traffic spikes efficiently without manual intervention.
- Configure a load balancer to distribute incoming traffic evenly across all active servers. This ensures that no single server bears too much load, improving the responsiveness of your WordPress site.
- Utilize a network file system (NFS) for storing dynamic WordPress content, such as media uploads, plugins, and themes. This setup allows all servers to access and serve the same dynamic content, ensuring consistency across different user sessions.
- Store static content in an object storage service, designed for high durability and availability. This storage should serve static website assets like CSS, JavaScript, and image files.
- Store static content in an object storage service, designed for high durability and availability. This storage should serve as static website assets like CSS, JavaScript, and image files.
- Integrate a Content Delivery Network (CDN) to cache and deliver static content from locations close to your users. This reduces load times and bandwidth costs while improving user experience.
- Use a managed database service for WordPress. This database should be accessible only by your WordPress servers and not exposed to the public internet, enhancing security.
- Ensure that the database service offers high availability features, such as automatic backups, failover mechanisms, and scalability options.
- Ensure that the database service offers high-availability features, such as automatic backups, failover mechanisms, and scalability options.
- Design your infrastructure to be fault-tolerant by deploying servers in different physical locations or data centers, if possible. This minimizes the impact of hardware failures and network issues.
- Implement health checks and failover strategies to automatically reroute traffic away from failed instances and maintain high availability.
- Monitor and adjust your infrastructure according to actual needs. Use the auto-scaling feature to align operational costs with traffic patterns, ensuring you only pay for the resources you need.
- Apply strict access controls to ensure only authorized access to your infrastructure components. This includes securing your network file system, object storage, and database.
- Use the LTS version for WordPress application, plugins, and themes to mitigate vulnerabilities.
- Use the LTS version for WordPress applications, plugins, and themes to mitigate vulnerabilities.
- Use security groups or similar network security mechanisms to restrict inbound and outbound traffic to only necessary ports and protocols.
- Email alerts in the event of a problem with one of the services or a skip of the budget, you can define the budget by your self.
- Email alerts in the event of a problem with one of the services or a skip of the budget, you can define the budget by yourself.
> You are not allowed to use kubernetes services or install it in the servers, the clients are not familiar.
> You are not allowed to use Kubernetes services or install it in the servers, the clients don't want to use it.
### Cost Management
@ -69,11 +69,11 @@ You should provide a cost estimation with the submitted files, you can use a clo
### Infrastructure as Code
Provision the necessary resources for your Cloud environment using Terraform as an Infrastructure as Code (IaC) tools. This includes setting up Cloud computing instances, containers, networking components, and storage services (e.g. AWS S3).
Provision the necessary resources for your Cloud environment using Terraform as an Infrastructure as Code (IaC) tool. This includes setting up Cloud computing instances, containers, networking components, and storage services (e.g. AWS S3).
### Documentation
Create a `README.md` file that provides comprehensive documentation for your architecture, which must include well-structured diagrams, thorough descriptions of components, and an explanation of your design decisions, presented in a clear and concise manner. Make sure it contains all the necessary information about the solution (prerequisites, setup, configuration, usage, ...). This file must be submitted as part of the solution for the project.
Create a `README.md` file that provides comprehensive documentation for your architecture, which must include well-structured diagrams, thorough descriptions of components, and an explanation of your design decisions, presented clearly and concisely. Make sure it contains all the necessary information about the solution (prerequisites, setup, configuration, usage, ...). This file must be submitted as part of the solution for the project.
### Submission and audit

Loading…
Cancel
Save