Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CON-2283 make language agnostic subject and audit for projects after crud-master-py #2277

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
348 changes: 215 additions & 133 deletions subjects/devops/cloud-design/README.md

Large diffs are not rendered by default.

202 changes: 102 additions & 100 deletions subjects/devops/cloud-design/audit/README.md
Original file line number Diff line number Diff line change
@@ -1,100 +1,102 @@
#### General

##### Check the Repo content.

Files that must be inside the repository:

- Detailed documentation in the `README.md` file.
- Source code for the microservices and scripts required for deployment.
- Configuration files for AWS Infrastructure as Code (IaC), containerization, and orchestration tools.

###### Are all the required files present?

##### Play the role of a stakeholder.

Organize a simulated scenario where the students take on the role of AWS Cloud engineers and explain their solution to a team or stakeholder. Evaluate their grasp of the concepts and technologies used in the project, their communication efficacy, and their critical thinking about their solution.

Suggested roleplay questions include:

- What is the cloud and its associated benefits?
- Why is deploying the solution in the cloud preferred over on-premises?
- How would you differentiate between public, private, and hybrid cloud?
- What drove your decision to select AWS for this project, and what factors did you consider?
- Can you describe your microservices application's AWS-based architecture and the interaction between its components?
- How did you manage and optimize the cost of your AWS solution?
- What measures did you implement to ensure application security on AWS, and what AWS security best practices did you adhere to?
- What AWS monitoring and logging tools did you utilize, and how did they assist in identifying and troubleshooting application issues?
- Can you describe the AWS auto-scaling policies you implemented and how they help your application accommodate varying workloads?
- How did you optimize Docker images for each microservice, and how did it influence build times and image sizes?
- If you had to redo this project, what modifications would you make to your approach or the technologies you used?
- How can your AWS solution be expanded or altered to cater to future requirements like adding new microservices or migrating to a different cloud provider?
- What challenges did you face during the project and how did you address them?
- How did you ensure your documentation's clarity and completeness, and what measures did you take to make it easily understandable and maintainable?

###### Was the students able to answer all the questions correctly?

###### Did the students demonstrate a thorough understanding of the concepts and technologies used in the project?

###### Were the students able to communicate effectively and justify their decisions?

###### Could the students critically evaluate their solution and consider alternative strategies?

##### Review the Architecture Design.

Review the student's architecture design, ensuring that it meets the project requirements:

1. `Scalability`: Does the architecture utilize AWS services to manage varying workloads and scale as required?
2. `Availability`: Design the architecture to be fault-tolerant and maintain high availability, even during component failures.
3. `Security`: Does the architecture integrate AWS security best practices, such as data encryption, use of AWS VPC, and secure API endpoints with managed authentication?
4. `Cost-effectiveness`: Is the architecture designed to be cost-effective on AWS without compromising performance, security, or scalability?
5. `Simplicity`: Is the AWS architecture straightforward and free of unnecessary complexity while still fulfilling project requirements?

###### Did the architecture design and choice of services align with the project requirements?

###### Did the students have the ability to design a cost-effective architecture that meets the project requirements?

##### Check the student documentation in the `README.md` file.

###### Does the `README.md` file contain all the necessary information about the solution (prerequisites, setup, configuration, usage, ...)?

###### Is the documentation provided by the student clear and complete, including well-structured diagrams and thorough descriptions?

##### Verify the deployment.

###### Are all the microservices running as expected in the cloud environment, with no errors or connectivity issues?

###### Is the load balancing configured correctly, effectively distributing traffic across the services?

###### Are the microservices communicating with each other securely, using proper authentication and encryption methods?

##### Evaluate the infrastructure setup.

###### Are `Terraform` used effectively to provision and manage resources in the cloud environment?

###### Does the infrastructure setup follow the architecture design and the project requirements?

##### Assess containerization and orchestration.

###### Are the Dockerfiles optimized for efficient container builds?

###### Is the orchestration setup (e.g., Kubernetes manifests or AWS ECS task definitions) configured correctly?

##### Evaluate monitoring and logging.

###### Do monitoring and logging dashboards provide useful insights into the application performance and health?

##### Assess optimization efforts.

###### Are the auto-scaling policies configured correctly to handle varying workloads?

###### Does the application and resource allocation remain efficient under different load scenarios?

##### Check security best practices.

###### Has the student implemented security best practices, such as using HTTPS, securing API endpoints, and regularly scanning for vulnerabilities?

#### Bonus

###### +Did the student add any optional bonus?

###### +Is this project an outstanding project?
#### General

##### Check the Repo content.

Files that must be inside the repository:

- Detailed documentation in the `README.md` file.
- Source code for the microservices and scripts required for deployment.
- Configuration files for AWS Infrastructure as Code (IaC), containerization, and orchestration tools.

###### Are all the required files present?

##### Play the role of a stakeholder.

Organize a simulated scenario where the students take on the role of AWS Cloud engineers and explain their solution to a team or stakeholder. Evaluate their grasp of the concepts and technologies used in the project, their communication efficacy, and their critical thinking about their solution.

Suggested roleplay questions include:

- What is the cloud and its associated benefits?
- Why is deploying the solution in the cloud preferred over on-premises?
- How would you differentiate between public, private, and hybrid cloud?
- What drove your decision to select AWS for this project, and what factors did you consider?
- Can you describe your microservices application's AWS-based architecture and the interaction between its components?
- How did you manage and optimize the cost of your AWS solution?
- What measures did you implement to ensure application security on AWS, and what AWS security best practices did you adhere to?
- What AWS monitoring and logging tools did you utilize, and how did they assist in identifying and troubleshooting application issues?
- Can you describe the AWS auto-scaling policies you implemented and how they help your application accommodate varying workloads?
- How did you optimize Docker images for each microservice, and how did it influence build times and image sizes?
- If you had to redo this project, what modifications would you make to your approach or the technologies you used?
- How can your AWS solution be expanded or altered to cater to future requirements like adding new microservices or migrating to a different cloud provider?
- What challenges did you face during the project and how did you address them?
- How did you ensure your documentation's clarity and completeness, and what measures did you take to make it easily understandable and maintainable?

###### Was the students able to answer all the questions correctly?

###### Did the students demonstrate a thorough understanding of the concepts and technologies used in the project?

###### Were the students able to communicate effectively and justify their decisions?

###### Could the students critically evaluate their solution and consider alternative strategies?

##### Review the Architecture Design.

Review the student's architecture design, ensuring that it meets the project requirements:

1. `Scalability`: Does the architecture utilize AWS services to manage varying workloads and scale as required?
2. `Availability`: Design the architecture to be fault-tolerant and maintain high availability, even during component failures.
3. `Security`: Does the architecture integrate AWS security best practices, such as data encryption, use of AWS VPC, and secure API endpoints with managed authentication?
4. `Cost-effectiveness`: Is the architecture designed to be cost-effective on AWS without compromising performance, security, or scalability?
5. `Simplicity`: Is the AWS architecture straightforward and free of unnecessary complexity while still fulfilling project requirements?

###### Did the architecture design and choice of services align with the project requirements?

###### Did the students have the ability to design a cost-effective architecture that meets the project requirements?

##### Check the student documentation in the `README.md` file.

###### Does the `README.md` file contain all the necessary information about the solution (prerequisites, setup, configuration, usage, ...)?

###### Is the documentation provided by the student clear and complete, including well-structured diagrams and thorough descriptions?

##### Verify the deployment.

###### Are all the microservices running as expected in the cloud environment, with no errors or connectivity issues?

###### Is the load balancing configured correctly, effectively distributing traffic across the services?

###### Are the microservices communicating with each other securely, using proper authentication and encryption methods?

##### Evaluate the infrastructure setup.

###### Are `Terraform` used effectively to provision and manage resources in the cloud environment?

###### Does the infrastructure setup follow the architecture design and the project requirements?

##### Assess containerization and orchestration.

###### Are the Dockerfiles optimized for efficient container builds?

###### Is the orchestration setup (e.g., Kubernetes manifests or AWS ECS task definitions) configured correctly?

##### Evaluate monitoring and logging.

###### Do monitoring and logging dashboards provide useful insights into the application performance and health?

##### Assess optimization efforts.

###### Are the auto-scaling policies configured correctly to handle varying workloads?

###### Does the application and resource allocation remain efficient under different load scenarios?

##### Check security best practices.

###### Has the student implemented security best practices, such as using HTTPS, securing API endpoints, and regularly scanning for vulnerabilities?

#### Bonus

###### +Did the student used his/her own `orchestrator` solution instead of the provided one?

###### +Did the student add any optional bonus?

###### +Is this project an outstanding project?
Loading
Loading