From 14ab48ea4fded3abcb3a6af08721908cb069bdd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Tarot=20=28=40silopolis=29?= Date: Thu, 23 Nov 2023 19:34:39 +0100 Subject: [PATCH 01/10] proj: context, scope, and objectives Fixes #22 --- docs/includes/extra.yaml | 4 ++ docs/project/.pages | 1 + docs/project/index.md | 2 + docs/project/overview.md | 151 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 158 insertions(+) create mode 100644 docs/project/overview.md diff --git a/docs/includes/extra.yaml b/docs/includes/extra.yaml index 38e3608..c56c29c 100644 --- a/docs/includes/extra.yaml +++ b/docs/includes/extra.yaml @@ -3,3 +3,7 @@ # array in mkdocs.yml extra: test_global_var: "Test global variable value" + DevU: "[DevUniversity](https://www.devuniversity.com/)" + DevOps_Cert: "['DevOps Engineer' training and certification](https://www.devuniversity.com/formation-devops)" + RNCP36061: "[RNCP36061 'DevOps System Administrator' professional title](https://www.francecompetences.fr/recherche/rncp/36061/)" + DevOps: "[DevOps](https://en.wikipedia.org/wiki/DevOps)" diff --git a/docs/project/.pages b/docs/project/.pages index fb9c32d..d935b82 100644 --- a/docs/project/.pages +++ b/docs/project/.pages @@ -2,6 +2,7 @@ title: Project nav: - index.md - introduction.md + - overview.md - competencies.md - requirements - planning.md diff --git a/docs/project/index.md b/docs/project/index.md index 1bd319d..f773ba2 100644 --- a/docs/project/index.md +++ b/docs/project/index.md @@ -14,6 +14,8 @@ [Introduction](introduction.md) +[Project overview](overview.md) + [Implemented skills and competencies](competencies.md) [Requirements and specifications](requirements/index.md) diff --git a/docs/project/overview.md b/docs/project/overview.md new file mode 100644 index 0000000..95c1d87 --- /dev/null +++ b/docs/project/overview.md @@ -0,0 +1,151 @@ +--- +tags: + - project +--- + +# Project Overview + + +## Project Context + + +### Background Information + +This project is an integral part of the assessment for the {{DevU}} {{DevOps_Cert}}, and the {{RNCP36061}}. + +It serves as a comprehensive demonstration of the candidate's expertise and proficiency in key areas of {{DevOps}} practices. + +The project aims to showcase a holistic approach to software development, deployment, and operations, emphasizing modern methodologies and tools like Agile Software Development Life Cycle, Continuous Integration and Continuous Deployment, Observability, and Infrastructure as Code. + + +### Purpose of the Project + +The primary purpose of this project is to evaluate the candidate's ability to architect, build, deploy, and monitor a microservices-based application in a cloud environment, specifically within a Kubernetes cluster. + +It aims to assess the candidate's skill set in applying DevOps principles and practices to real-world scenarios, highlighting the importance of automation, continuous integration and deployment, and monitoring in the software development lifecycle and IT operations. + +The project is designed to showcase a wide range of skills and knowledge essential for a DevOps engineer. +This includes, but is not limited to: + +- Architecting a scalable and resilient microservices application. +- Building the application with a focus on automation and best practices in software development. +- Deploying the application to a container cluster, demonstrating skills in orchestration. +- Implementing CI/CD tools and processes to enable automated testing and deployment pipelines. +- Monitoring and logging the infrastructure and the application to ensure performance and reliability. + + +### Technical Environment + +The project revolves around a microservices architecture application, utilizing a combination of Traefik, FastAPI, and PostgreSQL. This setup is given as an example of a realistic and commonly used stack in modern cloud-native applications. + +The deployment target is a Kubernetes cluster, which is the de facto standard for orchestrating containerized applications. This choice reflects the current industry trend towards Kubernetes and its ecosystem for managing complex applications. + + +## Objectives + + +### Automate Cloud Infrastructure Deployment + +- Develop and execute scripts for automating server creation, ensuring that server provisioning aligns with the project's architecture requirements. + +- Implement an automated infrastructure deployment process using configuration management tools like Ansible or Terraform, targeting a cloud environment (private, public, or hybrid). + +- Integrate robust security measures at every stage of infrastructure deployment to safeguard against vulnerabilities. + +- Establish a test and pre-production environment for validating updates and configurations before they are deployed to production. + + +### Continuously Deploy an Application + +- Prepare and manage a test environment for deploying the application, ensuring a reliable testing ground for development iterations. + +- Efficiently manage data storage and database configurations, focusing on scalability and performance. + +- Create and manage containers for the application, leveraging tools like Docker and orchestrators like Kubernetes for deployment. + +- Execute continuous deployment of the application on a chosen platform, ensuring seamless integration and minimal downtime during updates. + + +### Monitor Deployed Services + +- Define key performance indicators for the services and set up monitoring tools to track these metrics, enabling proactive management of the infrastructure and application. + +- Operate a comprehensive monitoring and observability solution to identify and address anomalies, ensuring high availability and reliability of services. + + +### Transversal Skills in Employment + +- Implement a problem-solving approach to tackle challenges encountered during the project, demonstrating analytical and critical thinking. + +- Demonstrate continuous learning by adapting to new tools and technologies, engaging with professional communities, and staying updated with the latest DevOps trends and practices. + + +### Professional Communication and Teamwork + +- Engage with professional communities, possibly in English, to share insights, seek advice, and contribute to collective knowledge. + + +## Scope + + +### In-Scope + + +#### Infrastructure Automation and Deployment + +- Automating the creation and configuration of virtual servers. +- Utilizing tools like Ansible and Terraform for infrastructure deployment in a cloud environment (private, public, or hybrid). +- Implementing security measures at each stage of infrastructure development and deployment. + + +#### Continuous Application Deployment + +- Preparing and managing a test environment for the application. +- Managing data storage and database configurations. +- Containerization of the application, using Docker and orchestrating with Kubernetes. +- Deploying and updating the application continuously on a cloud platform. + + +#### Monitoring and Maintenance + +- Setting up and operating monitoring tools for the infrastructure and application. +- Defining and tracking service performance indicators. +- Identifying and resolving any anomalies or issues in the deployed services. + + +#### Professional Skills and Team Collaboration + +- Demonstrating problem-solving capabilities and continuous learning throughout the project. +- Effective communication with team members, technical managers, and external parties like hosting providers. +- Participation and contribution to professional communities related to DevOps. + + +### Out-of-Scope + +- **Non-Cloud Deployments**: deployment on physical servers or non-cloud environments is not covered. + +- **Advanced Machine Learning or AI Integration**: the project will not delve into complex machine learning or AI-driven functionalities. + +- **Legacy System Integration**: integration with outdated or legacy systems is not part of this project. + +- **Comprehensive User Interface Development**: while basic UI elements might be developed for application interaction, creating an advanced or comprehensive user interface is not included. + +- **Non-Functional Requirements Beyond Scope**: aspects such as internationalization, extensive accessibility features, and legacy data migration are not included. + + +### Boundaries and Limitations + +- **Resource Limitations**: the project is bound by predefined resource allocations in terms of cloud infrastructure and budgetary constraints. + +- **Time Constraints**: the project has a fixed timeline aligned with the diploma program schedule. + +- **Technical Boundaries**: the scope is limited to the tools and technologies specified (e.g., Ansible, Terraform, Kubernetes, FastAPI, PostgreSQL). + + +#### Assumptions and Dependencies + +- **Cloud Provider Accessibility**: the project assumes availability and access to the chosen cloud provider's services and resources. + +- **Tool Availability**: it is assumed that all necessary tools and platforms (like Kubernetes, Ansible, Terraform) are accessible and usable within the project's framework. + +- **Stakeholder Support**: continued support and collaboration from team members, technical managers, and other stakeholders are assumed throughout the project's duration. From 4cbc14f9bcde8e3018b02033798a0fe70b6c4cac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Tarot=20=28=40silopolis=29?= Date: Fri, 24 Nov 2023 09:01:21 +0100 Subject: [PATCH 02/10] +proj: context, scope, and objectives * Create directory for project overview * split overview into sepate context, objectives, and scope docs * move planning to overview directory --- docs/project/.pages | 6 +- docs/project/index.md | 6 +- docs/project/overview.md | 151 -------------------- docs/project/overview/.pages | 8 ++ docs/project/overview/context.md | 33 +++++ docs/project/overview/index.md | 17 +++ docs/project/{ => overview}/introduction.md | 0 docs/project/overview/objectives.md | 42 ++++++ docs/project/{ => overview}/planning.md | 0 docs/project/overview/scope.md | 64 +++++++++ 10 files changed, 168 insertions(+), 159 deletions(-) delete mode 100644 docs/project/overview.md create mode 100644 docs/project/overview/.pages create mode 100644 docs/project/overview/context.md create mode 100644 docs/project/overview/index.md rename docs/project/{ => overview}/introduction.md (100%) create mode 100644 docs/project/overview/objectives.md rename docs/project/{ => overview}/planning.md (100%) create mode 100644 docs/project/overview/scope.md diff --git a/docs/project/.pages b/docs/project/.pages index d935b82..b938e0e 100644 --- a/docs/project/.pages +++ b/docs/project/.pages @@ -1,10 +1,8 @@ title: Project nav: - index.md - - introduction.md - - overview.md - - competencies.md + - overview - requirements - - planning.md + - competencies.md - situations - conclusion.md diff --git a/docs/project/index.md b/docs/project/index.md index f773ba2..fe38a08 100644 --- a/docs/project/index.md +++ b/docs/project/index.md @@ -14,13 +14,11 @@ [Introduction](introduction.md) -[Project overview](overview.md) - -[Implemented skills and competencies](competencies.md) +[Project overview](overview/index.md) [Requirements and specifications](requirements/index.md) -[Project planning](planning.md) +[Implemented skills and competencies](competencies.md) [Work situations](situations/index.md) diff --git a/docs/project/overview.md b/docs/project/overview.md deleted file mode 100644 index 95c1d87..0000000 --- a/docs/project/overview.md +++ /dev/null @@ -1,151 +0,0 @@ ---- -tags: - - project ---- - -# Project Overview - - -## Project Context - - -### Background Information - -This project is an integral part of the assessment for the {{DevU}} {{DevOps_Cert}}, and the {{RNCP36061}}. - -It serves as a comprehensive demonstration of the candidate's expertise and proficiency in key areas of {{DevOps}} practices. - -The project aims to showcase a holistic approach to software development, deployment, and operations, emphasizing modern methodologies and tools like Agile Software Development Life Cycle, Continuous Integration and Continuous Deployment, Observability, and Infrastructure as Code. - - -### Purpose of the Project - -The primary purpose of this project is to evaluate the candidate's ability to architect, build, deploy, and monitor a microservices-based application in a cloud environment, specifically within a Kubernetes cluster. - -It aims to assess the candidate's skill set in applying DevOps principles and practices to real-world scenarios, highlighting the importance of automation, continuous integration and deployment, and monitoring in the software development lifecycle and IT operations. - -The project is designed to showcase a wide range of skills and knowledge essential for a DevOps engineer. -This includes, but is not limited to: - -- Architecting a scalable and resilient microservices application. -- Building the application with a focus on automation and best practices in software development. -- Deploying the application to a container cluster, demonstrating skills in orchestration. -- Implementing CI/CD tools and processes to enable automated testing and deployment pipelines. -- Monitoring and logging the infrastructure and the application to ensure performance and reliability. - - -### Technical Environment - -The project revolves around a microservices architecture application, utilizing a combination of Traefik, FastAPI, and PostgreSQL. This setup is given as an example of a realistic and commonly used stack in modern cloud-native applications. - -The deployment target is a Kubernetes cluster, which is the de facto standard for orchestrating containerized applications. This choice reflects the current industry trend towards Kubernetes and its ecosystem for managing complex applications. - - -## Objectives - - -### Automate Cloud Infrastructure Deployment - -- Develop and execute scripts for automating server creation, ensuring that server provisioning aligns with the project's architecture requirements. - -- Implement an automated infrastructure deployment process using configuration management tools like Ansible or Terraform, targeting a cloud environment (private, public, or hybrid). - -- Integrate robust security measures at every stage of infrastructure deployment to safeguard against vulnerabilities. - -- Establish a test and pre-production environment for validating updates and configurations before they are deployed to production. - - -### Continuously Deploy an Application - -- Prepare and manage a test environment for deploying the application, ensuring a reliable testing ground for development iterations. - -- Efficiently manage data storage and database configurations, focusing on scalability and performance. - -- Create and manage containers for the application, leveraging tools like Docker and orchestrators like Kubernetes for deployment. - -- Execute continuous deployment of the application on a chosen platform, ensuring seamless integration and minimal downtime during updates. - - -### Monitor Deployed Services - -- Define key performance indicators for the services and set up monitoring tools to track these metrics, enabling proactive management of the infrastructure and application. - -- Operate a comprehensive monitoring and observability solution to identify and address anomalies, ensuring high availability and reliability of services. - - -### Transversal Skills in Employment - -- Implement a problem-solving approach to tackle challenges encountered during the project, demonstrating analytical and critical thinking. - -- Demonstrate continuous learning by adapting to new tools and technologies, engaging with professional communities, and staying updated with the latest DevOps trends and practices. - - -### Professional Communication and Teamwork - -- Engage with professional communities, possibly in English, to share insights, seek advice, and contribute to collective knowledge. - - -## Scope - - -### In-Scope - - -#### Infrastructure Automation and Deployment - -- Automating the creation and configuration of virtual servers. -- Utilizing tools like Ansible and Terraform for infrastructure deployment in a cloud environment (private, public, or hybrid). -- Implementing security measures at each stage of infrastructure development and deployment. - - -#### Continuous Application Deployment - -- Preparing and managing a test environment for the application. -- Managing data storage and database configurations. -- Containerization of the application, using Docker and orchestrating with Kubernetes. -- Deploying and updating the application continuously on a cloud platform. - - -#### Monitoring and Maintenance - -- Setting up and operating monitoring tools for the infrastructure and application. -- Defining and tracking service performance indicators. -- Identifying and resolving any anomalies or issues in the deployed services. - - -#### Professional Skills and Team Collaboration - -- Demonstrating problem-solving capabilities and continuous learning throughout the project. -- Effective communication with team members, technical managers, and external parties like hosting providers. -- Participation and contribution to professional communities related to DevOps. - - -### Out-of-Scope - -- **Non-Cloud Deployments**: deployment on physical servers or non-cloud environments is not covered. - -- **Advanced Machine Learning or AI Integration**: the project will not delve into complex machine learning or AI-driven functionalities. - -- **Legacy System Integration**: integration with outdated or legacy systems is not part of this project. - -- **Comprehensive User Interface Development**: while basic UI elements might be developed for application interaction, creating an advanced or comprehensive user interface is not included. - -- **Non-Functional Requirements Beyond Scope**: aspects such as internationalization, extensive accessibility features, and legacy data migration are not included. - - -### Boundaries and Limitations - -- **Resource Limitations**: the project is bound by predefined resource allocations in terms of cloud infrastructure and budgetary constraints. - -- **Time Constraints**: the project has a fixed timeline aligned with the diploma program schedule. - -- **Technical Boundaries**: the scope is limited to the tools and technologies specified (e.g., Ansible, Terraform, Kubernetes, FastAPI, PostgreSQL). - - -#### Assumptions and Dependencies - -- **Cloud Provider Accessibility**: the project assumes availability and access to the chosen cloud provider's services and resources. - -- **Tool Availability**: it is assumed that all necessary tools and platforms (like Kubernetes, Ansible, Terraform) are accessible and usable within the project's framework. - -- **Stakeholder Support**: continued support and collaboration from team members, technical managers, and other stakeholders are assumed throughout the project's duration. diff --git a/docs/project/overview/.pages b/docs/project/overview/.pages new file mode 100644 index 0000000..36c4758 --- /dev/null +++ b/docs/project/overview/.pages @@ -0,0 +1,8 @@ +title: Project overview +nav: + - index.md + - introduction.md + - context.md + - objectives.md + - scope.md + - planning.md diff --git a/docs/project/overview/context.md b/docs/project/overview/context.md new file mode 100644 index 0000000..6a1944f --- /dev/null +++ b/docs/project/overview/context.md @@ -0,0 +1,33 @@ +## Project Context + + +### Background Information + +This project is an integral part of the assessment for the {{DevU}} {{DevOps_Cert}}, and the {{RNCP36061}}. + +It serves as a comprehensive demonstration of the candidate's expertise and proficiency in key areas of {{DevOps}} practices. + +The project aims to showcase a holistic approach to software development, deployment, and operations, emphasizing modern methodologies and tools like Agile Software Development Life Cycle, Continuous Integration and Continuous Deployment, Observability, and Infrastructure as Code. + + +### Purpose of the Project + +The primary purpose of this project is to evaluate the candidate's ability to architect, build, deploy, and monitor a microservices-based application in a cloud environment, specifically within a Kubernetes cluster. + +It aims to assess the candidate's skill set in applying DevOps principles and practices to real-world scenarios, highlighting the importance of automation, continuous integration and deployment, and monitoring in the software development lifecycle and IT operations. + +The project is designed to showcase a wide range of skills and knowledge essential for a DevOps engineer. +This includes, but is not limited to: + +- Architecting a scalable and resilient microservices application. +- Building the application with a focus on automation and best practices in software development. +- Deploying the application to a container cluster, demonstrating skills in orchestration. +- Implementing CI/CD tools and processes to enable automated testing and deployment pipelines. +- Monitoring and logging the infrastructure and the application to ensure performance and reliability. + + +### Technical Environment + +The project revolves around a microservices architecture application, utilizing a combination of Traefik, FastAPI, and PostgreSQL. This setup is given as an example of a realistic and commonly used stack in modern cloud-native applications. + +The deployment target is a Kubernetes cluster, which is the de facto standard for orchestrating containerized applications. This choice reflects the current industry trend towards Kubernetes and its ecosystem for managing complex applications. diff --git a/docs/project/overview/index.md b/docs/project/overview/index.md new file mode 100644 index 0000000..7cd65cf --- /dev/null +++ b/docs/project/overview/index.md @@ -0,0 +1,17 @@ +--- +tags: + - project +--- + +# Project Overview + + +[Project introduction](introduction.md) + +[Project context](context.md) + +[Project objectives](objectives.md) + +[Project scope and perimeter](scope.md) + +[Project planning](planning.md) diff --git a/docs/project/introduction.md b/docs/project/overview/introduction.md similarity index 100% rename from docs/project/introduction.md rename to docs/project/overview/introduction.md diff --git a/docs/project/overview/objectives.md b/docs/project/overview/objectives.md new file mode 100644 index 0000000..dc072c7 --- /dev/null +++ b/docs/project/overview/objectives.md @@ -0,0 +1,42 @@ +## Project objectives + + +### Automate Cloud infrastructure deployment + +- Develop and execute scripts for automating server creation, ensuring that server provisioning aligns with the project's architecture requirements. + +- Implement an automated infrastructure deployment process using configuration management tools like Ansible or Terraform, targeting a cloud environment (private, public, or hybrid). + +- Integrate robust security measures at every stage of infrastructure deployment to safeguard against vulnerabilities. + +- Establish a test and pre-production environment for validating updates and configurations before they are deployed to production. + + +### Continuously deploy an application + +- Prepare and manage a test environment for deploying the application, ensuring a reliable testing ground for development iterations. + +- Efficiently manage data storage and database configurations, focusing on scalability and performance. + +- Create and manage containers for the application, leveraging tools like Docker and orchestrators like Kubernetes for deployment. + +- Execute continuous deployment of the application on a chosen platform, ensuring seamless integration and minimal downtime during updates. + + +### Monitor deployed services + +- Define key performance indicators for the services and set up monitoring tools to track these metrics, enabling proactive management of the infrastructure and application. + +- Operate a comprehensive monitoring and observability solution to identify and address anomalies, ensuring high availability and reliability of services. + + +### Transversal skills in employment + +- Implement a problem-solving approach to tackle challenges encountered during the project, demonstrating analytical and critical thinking. + +- Demonstrate continuous learning by adapting to new tools and technologies, engaging with professional communities, and staying updated with the latest DevOps trends and practices. + + +### Professional communication and teamwork + +- Engage with professional communities, possibly in English, to share insights, seek advice, and contribute to collective knowledge. diff --git a/docs/project/planning.md b/docs/project/overview/planning.md similarity index 100% rename from docs/project/planning.md rename to docs/project/overview/planning.md diff --git a/docs/project/overview/scope.md b/docs/project/overview/scope.md new file mode 100644 index 0000000..c8802b8 --- /dev/null +++ b/docs/project/overview/scope.md @@ -0,0 +1,64 @@ +## Project scope and perimeter + + +### In-Scope + + +#### Infrastructure Automation and Deployment + +- Automating the creation and configuration of virtual servers. +- Utilizing tools like Ansible and Terraform for infrastructure deployment in a cloud environment (private, public, or hybrid). +- Implementing security measures at each stage of infrastructure development and deployment. + + +#### Continuous Application Deployment + +- Preparing and managing a test environment for the application. +- Managing data storage and database configurations. +- Containerization of the application, using Docker and orchestrating with Kubernetes. +- Deploying and updating the application continuously on a cloud platform. + + +#### Monitoring and Maintenance + +- Setting up and operating monitoring tools for the infrastructure and application. +- Defining and tracking service performance indicators. +- Identifying and resolving any anomalies or issues in the deployed services. + + +#### Professional Skills and Team Collaboration + +- Demonstrating problem-solving capabilities and continuous learning throughout the project. +- Effective communication with team members, technical managers, and external parties like hosting providers. +- Participation and contribution to professional communities related to DevOps. + + +### Out-of-Scope + +- **Non-Cloud Deployments**: deployment on physical servers or non-cloud environments is not covered. + +- **Advanced Machine Learning or AI Integration**: the project will not delve into complex machine learning or AI-driven functionalities. + +- **Legacy System Integration**: integration with outdated or legacy systems is not part of this project. + +- **Comprehensive User Interface Development**: while basic UI elements might be developed for application interaction, creating an advanced or comprehensive user interface is not included. + +- **Non-Functional Requirements Beyond Scope**: aspects such as internationalization, extensive accessibility features, and legacy data migration are not included. + + +### Boundaries and Limitations + +- **Resource Limitations**: the project is bound by predefined resource allocations in terms of cloud infrastructure and budgetary constraints. + +- **Time Constraints**: the project has a fixed timeline aligned with the diploma program schedule. + +- **Technical Boundaries**: the scope is limited to the tools and technologies specified (e.g., Ansible, Terraform, Kubernetes, FastAPI, PostgreSQL). + + +#### Assumptions and Dependencies + +- **Cloud Provider Accessibility**: the project assumes availability and access to the chosen cloud provider's services and resources. + +- **Tool Availability**: it is assumed that all necessary tools and platforms (like Kubernetes, Ansible, Terraform) are accessible and usable within the project's framework. + +- **Stakeholder Support**: continued support and collaboration from team members, technical managers, and other stakeholders are assumed throughout the project's duration. From 85ace93526c7ccc0d599aa35fe4e173988da7147 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Tarot=20=28=40silopolis=29?= Date: Fri, 24 Nov 2023 09:06:18 +0100 Subject: [PATCH 03/10] +proj: context, scope, and objectives * Fix headings levels * Add tags --- docs/project/overview/context.md | 14 ++++++++++---- docs/project/overview/objectives.md | 18 ++++++++++++------ docs/project/overview/scope.md | 24 +++++++++++++++--------- 3 files changed, 37 insertions(+), 19 deletions(-) diff --git a/docs/project/overview/context.md b/docs/project/overview/context.md index 6a1944f..a58debb 100644 --- a/docs/project/overview/context.md +++ b/docs/project/overview/context.md @@ -1,7 +1,13 @@ -## Project Context +--- +tags: + - project + - context +--- +# Project Context -### Background Information + +## Background Information This project is an integral part of the assessment for the {{DevU}} {{DevOps_Cert}}, and the {{RNCP36061}}. @@ -10,7 +16,7 @@ It serves as a comprehensive demonstration of the candidate's expertise and prof The project aims to showcase a holistic approach to software development, deployment, and operations, emphasizing modern methodologies and tools like Agile Software Development Life Cycle, Continuous Integration and Continuous Deployment, Observability, and Infrastructure as Code. -### Purpose of the Project +## Purpose of the Project The primary purpose of this project is to evaluate the candidate's ability to architect, build, deploy, and monitor a microservices-based application in a cloud environment, specifically within a Kubernetes cluster. @@ -26,7 +32,7 @@ This includes, but is not limited to: - Monitoring and logging the infrastructure and the application to ensure performance and reliability. -### Technical Environment +## Technical Environment The project revolves around a microservices architecture application, utilizing a combination of Traefik, FastAPI, and PostgreSQL. This setup is given as an example of a realistic and commonly used stack in modern cloud-native applications. diff --git a/docs/project/overview/objectives.md b/docs/project/overview/objectives.md index dc072c7..02b9257 100644 --- a/docs/project/overview/objectives.md +++ b/docs/project/overview/objectives.md @@ -1,7 +1,13 @@ -## Project objectives +--- +tags: + - project + - objectives +--- +# Project objectives -### Automate Cloud infrastructure deployment + +## Automate Cloud infrastructure deployment - Develop and execute scripts for automating server creation, ensuring that server provisioning aligns with the project's architecture requirements. @@ -12,7 +18,7 @@ - Establish a test and pre-production environment for validating updates and configurations before they are deployed to production. -### Continuously deploy an application +## Continuously deploy an application - Prepare and manage a test environment for deploying the application, ensuring a reliable testing ground for development iterations. @@ -23,20 +29,20 @@ - Execute continuous deployment of the application on a chosen platform, ensuring seamless integration and minimal downtime during updates. -### Monitor deployed services +## Monitor deployed services - Define key performance indicators for the services and set up monitoring tools to track these metrics, enabling proactive management of the infrastructure and application. - Operate a comprehensive monitoring and observability solution to identify and address anomalies, ensuring high availability and reliability of services. -### Transversal skills in employment +## Transversal skills in employment - Implement a problem-solving approach to tackle challenges encountered during the project, demonstrating analytical and critical thinking. - Demonstrate continuous learning by adapting to new tools and technologies, engaging with professional communities, and staying updated with the latest DevOps trends and practices. -### Professional communication and teamwork +## Professional communication and teamwork - Engage with professional communities, possibly in English, to share insights, seek advice, and contribute to collective knowledge. diff --git a/docs/project/overview/scope.md b/docs/project/overview/scope.md index c8802b8..ec82bf6 100644 --- a/docs/project/overview/scope.md +++ b/docs/project/overview/scope.md @@ -1,17 +1,23 @@ -## Project scope and perimeter +--- +tags: + - project + - scope +--- +# Project scope and perimeter -### In-Scope +## In-Scope -#### Infrastructure Automation and Deployment + +### Infrastructure Automation and Deployment - Automating the creation and configuration of virtual servers. - Utilizing tools like Ansible and Terraform for infrastructure deployment in a cloud environment (private, public, or hybrid). - Implementing security measures at each stage of infrastructure development and deployment. -#### Continuous Application Deployment +### Continuous Application Deployment - Preparing and managing a test environment for the application. - Managing data storage and database configurations. @@ -19,21 +25,21 @@ - Deploying and updating the application continuously on a cloud platform. -#### Monitoring and Maintenance +### Monitoring and Maintenance - Setting up and operating monitoring tools for the infrastructure and application. - Defining and tracking service performance indicators. - Identifying and resolving any anomalies or issues in the deployed services. -#### Professional Skills and Team Collaboration +### Professional Skills and Team Collaboration - Demonstrating problem-solving capabilities and continuous learning throughout the project. - Effective communication with team members, technical managers, and external parties like hosting providers. - Participation and contribution to professional communities related to DevOps. -### Out-of-Scope +## Out-of-Scope - **Non-Cloud Deployments**: deployment on physical servers or non-cloud environments is not covered. @@ -46,7 +52,7 @@ - **Non-Functional Requirements Beyond Scope**: aspects such as internationalization, extensive accessibility features, and legacy data migration are not included. -### Boundaries and Limitations +## Boundaries and Limitations - **Resource Limitations**: the project is bound by predefined resource allocations in terms of cloud infrastructure and budgetary constraints. @@ -55,7 +61,7 @@ - **Technical Boundaries**: the scope is limited to the tools and technologies specified (e.g., Ansible, Terraform, Kubernetes, FastAPI, PostgreSQL). -#### Assumptions and Dependencies +### Assumptions and Dependencies - **Cloud Provider Accessibility**: the project assumes availability and access to the chosen cloud provider's services and resources. From 0d70ed475f28377f903195a8512c413f4dba8644 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Tarot=20=28=40silopolis=29?= Date: Fri, 24 Nov 2023 12:38:24 +0100 Subject: [PATCH 04/10] docs: proj: add project brief --- docs/includes/extra.yaml | 3 +++ docs/project/overview/.pages | 1 + docs/project/overview/brief.md | 27 +++++++++++++++++++++++++++ docs/project/overview/index.md | 2 ++ 4 files changed, 33 insertions(+) create mode 100644 docs/project/overview/brief.md diff --git a/docs/includes/extra.yaml b/docs/includes/extra.yaml index c56c29c..428d7ec 100644 --- a/docs/includes/extra.yaml +++ b/docs/includes/extra.yaml @@ -7,3 +7,6 @@ extra: DevOps_Cert: "['DevOps Engineer' training and certification](https://www.devuniversity.com/formation-devops)" RNCP36061: "[RNCP36061 'DevOps System Administrator' professional title](https://www.francecompetences.fr/recherche/rncp/36061/)" DevOps: "[DevOps](https://en.wikipedia.org/wiki/DevOps)" + Traefik: "[Traefik](https://traefik.io)" + Kubernetes: "[Kubernetes](https://kubernetes.io)" + K8s: "[K8s](https://kubernetes.io)" diff --git a/docs/project/overview/.pages b/docs/project/overview/.pages index 36c4758..48ae8ab 100644 --- a/docs/project/overview/.pages +++ b/docs/project/overview/.pages @@ -2,6 +2,7 @@ title: Project overview nav: - index.md - introduction.md + - brief.md - context.md - objectives.md - scope.md diff --git a/docs/project/overview/brief.md b/docs/project/overview/brief.md new file mode 100644 index 0000000..0045bf0 --- /dev/null +++ b/docs/project/overview/brief.md @@ -0,0 +1,27 @@ +# Project brief + +An example of a generic Python RESTful API application is proposed by DataScientest in a GitHub [repository](https://github.com/DataScientest/fastapi-docker-traefik). +The project may also be suitable for those who want to create an application or modify it. + +The candidate is asked to automatically deploy the application as a microservices architecture, on a completely new environment, in a secure way, and with API endpoinys proxied through {{Traekfik}}. + +The infrastructure should be containerized and orchestrated by {{Kubernetes}}, deployed in the Cloud on Amazon EKS, or on a local environment. + +Project realization should demonstrate: + +* most of the technical elements learned during the DevOps curriculum; +* understanding of project objectives, business needs, and application functional requirements; +* design and creation of an orchestrated containerized microservices architecture; +* data management capabilities by defining and implement pertinent data and backup requirements; +* continuous integration and deployment pipelines building skills; +* aptitude to define relevant metrics and setup efficient monitoring system +* infrastructure provisioning and application deployment automation using Infrastructure as Code. + +Project deliverables include: + +* A git repository containing functional code and accurate documentation for the whole system provisioning and deployment. +* A project dissertation +* A presentation slide desk for the project defense +* A professional portfolio demonstrating DevOps related experiences + +The full [DevOps project directives](../../appendices/directives/devops_project.md) is available in the appendices of the documentation. diff --git a/docs/project/overview/index.md b/docs/project/overview/index.md index 7cd65cf..8996c5a 100644 --- a/docs/project/overview/index.md +++ b/docs/project/overview/index.md @@ -8,6 +8,8 @@ tags: [Project introduction](introduction.md) +[Project brief](brief.md) + [Project context](context.md) [Project objectives](objectives.md) From 615e93530ddad4fbb76beb294b15439eebd847ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Tarot=20=28=40silopolis=29?= Date: Fri, 24 Nov 2023 12:55:41 +0100 Subject: [PATCH 05/10] docs: proj: docs tagging --- docs/project/.meta.yml | 2 ++ docs/project/overview/.meta.yml | 2 ++ docs/project/overview/brief.md | 5 +++++ docs/project/overview/context.md | 1 - docs/project/overview/introduction.md | 5 +++++ 5 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 docs/project/.meta.yml create mode 100644 docs/project/overview/.meta.yml diff --git a/docs/project/.meta.yml b/docs/project/.meta.yml new file mode 100644 index 0000000..6952edd --- /dev/null +++ b/docs/project/.meta.yml @@ -0,0 +1,2 @@ +tags: + - project \ No newline at end of file diff --git a/docs/project/overview/.meta.yml b/docs/project/overview/.meta.yml new file mode 100644 index 0000000..73fd6eb --- /dev/null +++ b/docs/project/overview/.meta.yml @@ -0,0 +1,2 @@ +tags: + - overview diff --git a/docs/project/overview/brief.md b/docs/project/overview/brief.md index 0045bf0..b42677d 100644 --- a/docs/project/overview/brief.md +++ b/docs/project/overview/brief.md @@ -1,3 +1,8 @@ +--- +tags: + - project +--- + # Project brief An example of a generic Python RESTful API application is proposed by DataScientest in a GitHub [repository](https://github.com/DataScientest/fastapi-docker-traefik). diff --git a/docs/project/overview/context.md b/docs/project/overview/context.md index a58debb..439c203 100644 --- a/docs/project/overview/context.md +++ b/docs/project/overview/context.md @@ -1,7 +1,6 @@ --- tags: - project - - context --- # Project Context diff --git a/docs/project/overview/introduction.md b/docs/project/overview/introduction.md index 93a76b0..f3d3744 100644 --- a/docs/project/overview/introduction.md +++ b/docs/project/overview/introduction.md @@ -1,3 +1,8 @@ +--- +tags: + - project +--- + # Introduction From 625f2d60532189e7baa39b70b532fbd0d38f8d5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Tarot=20=28=40silopolis=29?= Date: Fri, 24 Nov 2023 18:50:39 +0100 Subject: [PATCH 06/10] docs: proj: add RNCP project context and perimeter --- docs/appendices/directives/.pages | 2 + docs/appendices/directives/index.md | 12 ++- .../directives/rncp_project_context.md | 98 +++++++++++++++++++ .../directives/rncp_project_perimeter.md | 37 +++++++ 4 files changed, 145 insertions(+), 4 deletions(-) create mode 100644 docs/appendices/directives/rncp_project_context.md create mode 100644 docs/appendices/directives/rncp_project_perimeter.md diff --git a/docs/appendices/directives/.pages b/docs/appendices/directives/.pages index c8c5468..4fdf6ad 100644 --- a/docs/appendices/directives/.pages +++ b/docs/appendices/directives/.pages @@ -5,3 +5,5 @@ nav: - Dissertation: project_dissertation.md - Skill framework: rncp_framework.md - Title validation: rncp_validation.md + - RNCP project context: rncp_project_context.md + - RNCP project perimeter: rncp_project_perimeter.md diff --git a/docs/appendices/directives/index.md b/docs/appendices/directives/index.md index 976d88c..cf5cea4 100644 --- a/docs/appendices/directives/index.md +++ b/docs/appendices/directives/index.md @@ -4,16 +4,20 @@ Support documents provided for project inception and planning: * [**DevOps Project**](devops_project.md) - Proposed project sheet and details of the stages. + Proposed project sheet and details of the stages. * [**Project dissertation**](project_dissertation.md) - Support document for the redaction of the project dissertation. + Support document for the redaction of the project dissertation. * [**Activities and skills framework**](rncp_framework.md) - List and description of the activities and competencies defined as reference for the RNCP36061 professional title. + List and description of the activities and competencies defined as reference for the RNCP36061 professional title. * [**Professional title validation**](rncp_validation.md) - Document presenting the validation conditions of the RNCP certification. + Document presenting the validation conditions of the RNCP certification. + +* [**RNCP project context**](rncp_project_context.md) + +* [**RNCP project perimeter**](rncp_project_perimeter.md) diff --git a/docs/appendices/directives/rncp_project_context.md b/docs/appendices/directives/rncp_project_context.md new file mode 100644 index 0000000..a9e8f04 --- /dev/null +++ b/docs/appendices/directives/rncp_project_context.md @@ -0,0 +1,98 @@ +# RNCP project context + + +The DevOps system administrator automates the deployment of infrastructures on a private, public or hybrid cloud. + +Business types: + +* a digital services company +* a specialized digital services company that offers cloud hosting services (Cloud Provider) +* a software publisher +* the IT department of a company that has a service dedicated to IT developments + +Type of jobs available: + +* DevOps engineer +* SysOps DevOps +* DevOps System Engineer +* Cloud engineer +* Cloud Developer + + +## Professional Designation Review Background (NCPR) + +Enterprise infrastructure is increasingly being deployed in the cloud. + +32% of companies in 2018 compared to 97% in 2021 deployed part of their infrastructure in public cloud. +According to Flexera’s annual study «state of the cloud report» in 2021, 80% of companies manage their hybrid cloud infrastructure, integrating public and private cloud. + +This evolution requires systems teams, who must automate deployment tasks, to acquire new skills. +At the same time, the developer teams have implemented the Agile method, which allows them to regularly produce new versions of their applications. + +The implementation of applications previously required a long procedure followed by the systems teams, called Ops (as operations in English). + +It was necessary that the production time be shortened as was that of the +development of new versions. + +The DevOps approach that aims to facilitate collaboration between «Dev» (developers) and «Ops» pursues this objective. +80% of companies adopted the DevOps approach in 2021, compared to 41% in 2017. +(source: IDC EMEA Cloud and infrastructures Services statistics, February 2021) + +DevOps system administrators are involved in the deployment of cloud infrastructures and the production of applications and they are highly sought after in the job market. + +This job requires a good knowledge of operating systems, virtualization and development of automation scripts as well as mastery of many specific tools. + +This job requires a good knowledge of operating systems, virtualization and development of automation scripts as well as mastery of many specific tools. + +The job calls for a particular set of skills and knowledge that fall under the development of scripts, the use of different platforms, system administration, testing methodology and collaboration with other teams of technicians. +The DevOps System Administrator professional designation (level 6) provides the skills required for the job. + +It is structured into three skill blocks: + +* Automate the deployment of an infrastructure in the cloud +* Deploy an application continuously +* Oversee deployed services + +It meets the needs of companies and promotes the professional development of system administrators in position wishing to develop new skills. + + +## Definition of standard employment and conditions of practice (RNCP) + +The DevOps system administrator automates the deployment of infrastructures on a private, public or hybrid cloud. +When working at a software publisher or in an IT department in conjunction with the developer teams, the DevOps system administrator continuously deploys applications. + +It supervises the services deployed and processes the alerts sent. + +In order to automate the deployment of infrastructures on the cloud, the DevOps system administrator automates the creation of servers using scripts, configures them and connects them, then it uses an Ansible platform to configure the deployment and control it. + +When responsible for rolling out an application on an ongoing basis, in conjunction with developer teams, it prepares test and pre-production environments. + +It prepares the various data servers and the associated storage, as well as the containers intended to receive the application. + +Then it migrates the data and deploys the application in the pre-production environment. + +He constantly exchanges with the team of developers to correct malfunctions +discovered during the different test phases. + +Using a Kubernetes-like platform, he deploys the application and its successive updates to the production environment. + +The DevOps System Administrator oversees the infrastructure and applications it has deployed, defines the metrics to monitor, and installs and configures a monitoring solution. + +When he finds an anomaly or an alert is raised, he corrects or has the problem corrected. + +In order to solve a configuration problem, understand the cause of a malfunction or install a new tool, he exchanges on the forums of professional communities, possibly in English. + +Most technical documents are written in English, the DevOps system administrator must be able to read them to find the information he is looking for and correctly interpret the advice given. This corresponds to level B2 of the European framework for reading comprehension. + +He will sometimes have to ask questions or provide an answer on user forums in English, the B1 level of the European framework for written expression is sufficient. + +He uses a logical approach to diagnose the cause of a malfunction and remedy it, he performs an active watch to maintain his skills. + +This job requires the mastery of many tools and languages as well as the understanding of abstract concepts. +The DevOps system administrator is in contact with the developer teams, its technical manager, the network and security teams, the hosting solution providers, the professional communities of the tools it uses. + +DevOps system administrator works in a servic company + +He works as a team under the responsibility of the technical manager or the director of information systems of his company. + +In some cases, this activity is carried out entirely remotely diff --git a/docs/appendices/directives/rncp_project_perimeter.md b/docs/appendices/directives/rncp_project_perimeter.md new file mode 100644 index 0000000..406405f --- /dev/null +++ b/docs/appendices/directives/rncp_project_perimeter.md @@ -0,0 +1,37 @@ +# RNCP Project perimeter + +Target Activities: + +When working at a software publisher or in an IT department in conjunction with the developer teams, the DevOps system administrator continuously deploys applications. + +It supervises the services deployed and processes the alerts sent. In order to automate the deployment of infrastructures on the cloud, the DevOps system administrator automates the creation of servers using scripts, configures them and connects them, then it uses an Ansible platform to configure the deployment and control it. + +When responsible for rolling out an application on an ongoing basis, in conjunction with developer teams, it prepares test and pre-production environments. + +It prepares the various data servers and the associated storage, as well as the containers intended to receive the application. Then it migrates the data and deploys the application in the pre-production environment. + +He constantly exchanges with the team of developers to correct the malfunctions discovered during the different phases of testing. + +Using a Kubernetes-like platform, he deploys the application and its successive updates to the production environment. + +The DevOps System Administrator oversees the infrastructure and applications it has deployed, defines the metrics to monitor, and installs and configures a monitoring solution. + +When he finds an anomaly or an alert is raised, he corrects or has the problem corrected. + +In order to solve a configuration problem, understand the cause of a malfunction or install a new tool, he exchanges on the forums of professional communities, possibly in English. + +Most technical documents are written in English, the DevOps system administrator must be able to read them to find the information he is looking for and correctly interpret the advice given. This corresponds to level B2 of the European framework for reading comprehension. + +He will sometimes have to ask questions or provide an answer on user forums in English, the B1 level of the European framework for written expression is sufficient. + +He uses a logical approach to diagnose the cause of a malfunction and remedy it, he performs an active watch to maintain his skills. + +This job requires the mastery of many tools and languages as well as the understanding of abstract concepts. + +The DevOps system administrator is in contact with the developer teams, its technical manager, the network and security teams, the hosting solution providers, the professional communities of the tools it uses. + +The DevOps System Administrator works in a Digital Services Company (ESN), Cloud Operator, Software Publisher or CIO of a large enterprise. + +He works as a team under the responsibility of the technical manager or the director of information systems of his company. + +In some cases, this activity is carried out entirely remotely. From f9438ca5fe259aa41682577d0c6ae68f39ef231a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Tarot=20=28=40silopolis=29?= Date: Fri, 24 Nov 2023 18:52:28 +0100 Subject: [PATCH 07/10] docs: proj: objectives: add backup, DR and secutity best practices --- docs/project/overview/objectives.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/project/overview/objectives.md b/docs/project/overview/objectives.md index 02b9257..8994a90 100644 --- a/docs/project/overview/objectives.md +++ b/docs/project/overview/objectives.md @@ -7,7 +7,7 @@ tags: # Project objectives -## Automate Cloud infrastructure deployment +## Automate cloud infrastructure provisioning - Develop and execute scripts for automating server creation, ensuring that server provisioning aligns with the project's architecture requirements. @@ -17,6 +17,10 @@ tags: - Establish a test and pre-production environment for validating updates and configurations before they are deployed to production. +- Configure backup and Disaster recovery + +- Implement security best practices throughout + ## Continuously deploy an application From 4aa18c23dd8130396f211a211e91b63b2d3404ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Tarot=20=28=40silopolis=29?= Date: Fri, 24 Nov 2023 18:54:50 +0100 Subject: [PATCH 08/10] docs: proj: add RNCP skills and standard activities --- docs/project/.pages | 2 +- docs/project/competencies.md | 11 ------ docs/project/index.md | 2 +- docs/project/skills.md | 72 ++++++++++++++++++++++++++++++++++++ 4 files changed, 74 insertions(+), 13 deletions(-) delete mode 100644 docs/project/competencies.md create mode 100644 docs/project/skills.md diff --git a/docs/project/.pages b/docs/project/.pages index b938e0e..d5e9c38 100644 --- a/docs/project/.pages +++ b/docs/project/.pages @@ -3,6 +3,6 @@ nav: - index.md - overview - requirements - - competencies.md + - skills.md - situations - conclusion.md diff --git a/docs/project/competencies.md b/docs/project/competencies.md deleted file mode 100644 index b8d6343..0000000 --- a/docs/project/competencies.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -tags: - - skills - - competencies ---- - -# Implemented skills and competencies - -List of competencies of the diploma framework implemented in the project - -See the professional title [framework](../appendices/directives/rncp_framework.md) diff --git a/docs/project/index.md b/docs/project/index.md index fe38a08..6d62ef8 100644 --- a/docs/project/index.md +++ b/docs/project/index.md @@ -18,7 +18,7 @@ [Requirements and specifications](requirements/index.md) -[Implemented skills and competencies](competencies.md) +[Implemented skills and competencies](skills.md) [Work situations](situations/index.md) diff --git a/docs/project/skills.md b/docs/project/skills.md new file mode 100644 index 0000000..e4bf785 --- /dev/null +++ b/docs/project/skills.md @@ -0,0 +1,72 @@ +--- +tags: + - project + - skills + - competencies +--- + +# Implemented skills and competencies + +List of competencies of the diploma framework implemented in the project + +See the professional title [framework](../appendices/directives/rncp_framework.md) + +List of standard activities and professional skills (RNCP): + + +## Automate Cloud Infrastructure Deployment + +* Automate server creation using scripts +* Automate infrastructure deployment +* Secure infrastructure +* Put infrastructure into production in the cloud + +DevOps system administrator automates infrastructure deployment on a private, public cloud or hybrid. +It automates the creation and configuration of virtual servers using scripts and then using configuration management tools such as Ansible or Terraform, it automates the deployment of the infrastructure. +At each stage of his work, he puts in place all the security measures. +Depending on the infrastructure to be deployed, it prepares a test and pre-production environment to test updates before they go into production. +It configures the cloud offering on which it will deploy the infrastructure. +Using an Ansible configuration management tool, it deploys the infrastructure on a private cloud, public or hybrid and then checks that all services are accessible by end users. +The DevOps system administrator is in contact with its technical manager, network teams and security, hosting solution providers, professional communities of the tools it uses. +The DevOps system administrator works in a digital services company (ESN), at a cloud operator, at a software publisher or in the IT department of a large company. +Works as a team under the responsibility of the Technical or Systems Manager company information. +In some cases, this activity is carried out entirely remotely. + + +## Continuously deploy an application + +* Prepare a test environment +* Manage data storage +* Manage containers +* Deploy an application on a platform + +When working at a software publisher or in an IT department in connection with the developers, the DevOps system administrator continuously deploys applications. +It retrieves the codes of the application to deploy, then prepares a test environment and deploys it the application before it goes into production. +It performs the first tests and reports malfunctions to developers. +In each of the test, pre-production and production environments, it prepares the different data servers and associated storage, then it creates and manages the containers intended to receive the application. +It migrates the data and deploys the application in the pre-production environment. +He constantly exchanges with the team of developers to correct malfunctions discovered during the different test phases. +Using a Kubernetes-like platform, it deploys the application and its successive updates on the production environment. +The DevOps system administrator is in contact with the developer teams, its manager technical, hosting solution providers, professional tool communities that he uses. +The DevOps system administrator works in a digital services company (ESN), at a software publisher or in the IT department of a large company. +Works as a team under the responsibility of the Technical or Systems Manager company information. + + +## Monitor deployed services + +* Define and implement service statistics +* Operate a monitoring solution +* Exchange on professional networks possibly in English + +The DevOps System Administrator oversees the infrastructure and applications it has deployed. +It defines the indicators to monitor and sets up the tools to do so, then installs and configures a monitoring and observability solution. +When he finds an anomaly, he corrects or has the problem corrected. +In order to solve a configuration problem, understand the cause of a malfunction or install a new tool, it exchanges on professional community forums. +The DevOps system administrator is in contact with the developer teams, its technical manager, network and security teams, hosting solution providers, communities of yhe professional tools he uses. +The DevOps system administrator works in a digital services company (ESN), at a cloud operator, at a software publisher or in the IT department of a large company. + + +## Transversal skills in employment: + +* Implement a problem solving approach +* Continuous learning From 0721503da4e69d15e865900a5db974ecfd4e1d17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Tarot=20=28=40silopolis=29?= Date: Mon, 27 Nov 2023 16:57:04 +0100 Subject: [PATCH 09/10] +proj: context, scope, and objectives Objectives refinements --- docs/project/overview/objectives.md | 30 ++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/docs/project/overview/objectives.md b/docs/project/overview/objectives.md index 8994a90..0eb58bb 100644 --- a/docs/project/overview/objectives.md +++ b/docs/project/overview/objectives.md @@ -7,6 +7,30 @@ tags: # Project objectives +## Define application requirements and specification + +- Analyze business needs to discover and gather the application's functional and non-functional requirements. + +- Elicit and prioritize requirements to build a project plan for the application. + +- Define project specification, select solution components, and design implementation architecture. + +- Define methods, tools, and policies for the documentation of project requirements and specifications, as well as their update procedure. + + +## Setup source code and project management + +- Create and configure a central code repository to allow collaborative development + + +- Import application into source code management system and define common practices for developers + +- Define Agile project management methods and practices to ensure transparency and efficiency of communication and collaboration for the project + + +- Setup project management support tool to help plan, track, and update milestones, interations, and tasks. + + ## Automate cloud infrastructure provisioning - Develop and execute scripts for automating server creation, ensuring that server provisioning aligns with the project's architecture requirements. @@ -22,7 +46,7 @@ tags: - Implement security best practices throughout -## Continuously deploy an application +## Continuously integrate, deliver, and deploy an application - Prepare and manage a test environment for deploying the application, ensuring a reliable testing ground for development iterations. @@ -33,14 +57,14 @@ tags: - Execute continuous deployment of the application on a chosen platform, ensuring seamless integration and minimal downtime during updates. -## Monitor deployed services +## Monitor deployed infrastructure and services - Define key performance indicators for the services and set up monitoring tools to track these metrics, enabling proactive management of the infrastructure and application. - Operate a comprehensive monitoring and observability solution to identify and address anomalies, ensuring high availability and reliability of services. -## Transversal skills in employment +## Demonstrate transversal skills in action - Implement a problem-solving approach to tackle challenges encountered during the project, demonstrating analytical and critical thinking. From 37a8f1bd1689b72d1d4b9a456ee14da88458dbec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Tarot=20=28=40silopolis=29?= Date: Mon, 27 Nov 2023 17:38:00 +0100 Subject: [PATCH 10/10] docs: proj: move intro back out of project overview --- docs/project/.pages | 1 + docs/project/index.md | 4 ++-- docs/project/{overview => }/introduction.md | 0 docs/project/overview/.pages | 1 - docs/project/overview/index.md | 2 -- 5 files changed, 3 insertions(+), 5 deletions(-) rename docs/project/{overview => }/introduction.md (100%) diff --git a/docs/project/.pages b/docs/project/.pages index d5e9c38..991c7ae 100644 --- a/docs/project/.pages +++ b/docs/project/.pages @@ -1,6 +1,7 @@ title: Project nav: - index.md + - introduction.md - overview - requirements - skills.md diff --git a/docs/project/index.md b/docs/project/index.md index 6d62ef8..5353728 100644 --- a/docs/project/index.md +++ b/docs/project/index.md @@ -2,11 +2,11 @@ ## DevOps System Administrator -### French State Professional Certificate [RNCP36061](https://www.francecompetences.fr/recherche/rncp/36061/) +#### French State Professional Certificate [RNCP36061](https://www.francecompetences.fr/recherche/rncp/36061/) ## [DevOps Engineer Certificate](https://www.devuniversity.com/formation-devops) -### [DevUniversity](https://www.devuniversity.com/), Sept. 2023 Bootcamp +#### [DevUniversity](https://www.devuniversity.com/), Sept. 2023 Bootcamp ## Diploma Project diff --git a/docs/project/overview/introduction.md b/docs/project/introduction.md similarity index 100% rename from docs/project/overview/introduction.md rename to docs/project/introduction.md diff --git a/docs/project/overview/.pages b/docs/project/overview/.pages index 48ae8ab..93d8d10 100644 --- a/docs/project/overview/.pages +++ b/docs/project/overview/.pages @@ -1,7 +1,6 @@ title: Project overview nav: - index.md - - introduction.md - brief.md - context.md - objectives.md diff --git a/docs/project/overview/index.md b/docs/project/overview/index.md index 8996c5a..764f45b 100644 --- a/docs/project/overview/index.md +++ b/docs/project/overview/index.md @@ -6,8 +6,6 @@ tags: # Project Overview -[Project introduction](introduction.md) - [Project brief](brief.md) [Project context](context.md)