Skip to content
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
2 changes: 2 additions & 0 deletions docs/appendices/directives/.pages
Original file line number Diff line number Diff line change
Expand Up @@ -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
12 changes: 8 additions & 4 deletions docs/appendices/directives/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
98 changes: 98 additions & 0 deletions docs/appendices/directives/rncp_project_context.md
Original file line number Diff line number Diff line change
@@ -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
37 changes: 37 additions & 0 deletions docs/appendices/directives/rncp_project_perimeter.md
Original file line number Diff line number Diff line change
@@ -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.
7 changes: 7 additions & 0 deletions docs/includes/extra.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,10 @@
# 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)"
Traefik: "[Traefik](https://traefik.io)"
Kubernetes: "[Kubernetes](https://kubernetes.io)"
K8s: "[K8s](https://kubernetes.io)"
2 changes: 2 additions & 0 deletions docs/project/.meta.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
tags:
- project
4 changes: 2 additions & 2 deletions docs/project/.pages
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ title: Project
nav:
- index.md
- introduction.md
- competencies.md
- overview
- requirements
- planning.md
- skills.md
- situations
- conclusion.md
11 changes: 0 additions & 11 deletions docs/project/competencies.md

This file was deleted.

8 changes: 4 additions & 4 deletions docs/project/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,23 @@

## 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

<!-- [TOC] -->

[Introduction](introduction.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](skills.md)

[Work situations](situations/index.md)

Expand Down
5 changes: 5 additions & 0 deletions docs/project/introduction.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
tags:
- project
---

# Introduction

<!-- [TOC] -->
Expand Down
2 changes: 2 additions & 0 deletions docs/project/overview/.meta.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
tags:
- overview
8 changes: 8 additions & 0 deletions docs/project/overview/.pages
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
title: Project overview
nav:
- index.md
- brief.md
- context.md
- objectives.md
- scope.md
- planning.md
32 changes: 32 additions & 0 deletions docs/project/overview/brief.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
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).
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.
38 changes: 38 additions & 0 deletions docs/project/overview/context.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
tags:
- project
---

# 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.
17 changes: 17 additions & 0 deletions docs/project/overview/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
tags:
- project
---

# Project Overview


[Project brief](brief.md)

[Project context](context.md)

[Project objectives](objectives.md)

[Project scope and perimeter](scope.md)

[Project planning](planning.md)
Loading