DevOps Tools Engineer Objectives V1

From LPI Wiki
Jump to navigationJump to search

Introduction


Version Information


Exams


Objectives

701 Software Engineering

701.1 Modern Software Development (weight: 6)

Weight

6

Description

Candidates

Key Knowledge Areas:

  • Understand and design service based applications
  • Understand common API concepts and standards
  • Understand aspects of data storage, service status and session handling
  • Design software to be run in containers
  • Design software to be deployed to cloud services
  • Awareness of risks in the migration and integration of monolithic legacy software
  • Understanding of common application security risks and ways to mitigate them
  • Understand the concept of agile software development
  • Understand the concept of DevOps and its implications to software developers and operators

The following is a partial list of the used files, terms and utilities:

  • REST, JSON, SOAP
  • Service Orientated Architectures (SOA)
  • Microservices
  • Immutable servers
  • Service discovery
  • Loose coupling
  • Cross site scripting, SQL injections, verbose error reports, API authentication, consistent enforcement of transport encryption
  • CORS Headers
  • ACID properties and CAP theorems


701.2 Standard Components and Platforms for Software (weight: 2)

Weight

2

Description

Candidates should understand services offered by common cloud solutions. They should be able to include these services in their application architectures and deployment toolchains and understand the required service configurations. OpenStack service components are used as a reference implementation.

Key Knowledge Areas:

  • Features and concepts of object storage
  • Features and concepts of relational and NoSQL databases
  • Features and concepts of message brokers and message queues
  • Features and concepts of big data services
  • Features and concepts of application runtimes / PaaS

The following is a partial list of the used files, terms and utilities:

  • OpenStack Swift
  • OpenStack Trove
  • OpenStack Zaqar
  • CloudFoundry
  • OpenShift


701.3 Source Code Management (weight: 5)

Weight

5

Description

Candidates should be able to use Git to manage and share source code. This includes creating and contributing to a repository as well as the usage of tags, branches and remote repositories. Furthermore, the candidate should be able to merge files and resolve merging conflicts.

Key Knowledge Areas:

The following is a partial list of the used files, terms and utilities:

  • ...
  • ...


701.4 Continuous Integration and Continuous Delivery (weight: 5)

Weight

5

Description

Candidates should understand the principles and components of a continuous integration and continuous delivery pipeline. Candidates should be able to implement a CI/CD pipeline using Jenkins, including triggering the CI/CD pipeline, running unit, integration and acceptance tests, packaging software and handling the deployment of tested software artifacts.

Key Knowledge Areas:

The following is a partial list of the used files, terms and utilities:

  • ...
  • ...


702 Container Management

702.1 Container Usage (weight: 7)

Weight

7

Description

Candidates should be able to build, share and operate Docker containers. This includes creating Dockerfiles, using a Docker registry, creating and interacting with containers as well as connecting containers to networks and storage volumes.

Key Knowledge Areas:

The following is a partial list of the used files, terms and utilities:

  • ...
  • ...


702.2 Container Deployment and Orchestration (weight: 5)

Weight

5

Description

Candidates should be able to run and manage multiple containers that work together to provide a service. This includes the orchestration of Docker containers using Docker Compose in conjunction with an existing Docker Swarm cluster as well as using an existing Kubernetes cluster.

Key Knowledge Areas:

  • Understand the application model of Docker Compose
  • Create and run Docker Compose Files
  • Understand the architecture and functionality of Docker Swarm mode
  • Run containers in a Docker Swarm
  • Understand the architecture and application model Kubernetes
  • Define and manage a container-based application for Kubernetes, including the definition of pods, services and replication controller

The following is a partial list of the used files, terms and utilities:

  • docker-compose
  • docker
  • kubectl


702.3 Container Infrastructure (weight: 4)

Weight

4

Description

Candidates should be able to set up a runtime environment for containers. This includes running containers on a local workstation as well as setting up a dedicated container host. Furthermore, candidates should be aware of other container infrastructures and container specific security aspects.

Key Knowledge Areas:

  • Use docker-machine to setup a Docker host
  • Understand Docker networking concepts, including overlay networks
  • Create and manage Docker networks
  • Understand Docker storage concepts, including flocker
  • Understand the concept of service discovery and basic feature knowledge of etcd
  • Basic feature knowledge of CoreOS and rkt
  • Understand security risks of container virtualization and container images and how to mitigate them

The following is a partial list of the used files, terms and utilities:

  • docker-machine


703 Machine Deployment

703.1 Virtual Machine Deployment (weight: 4)

Weight

4

Description

Candidates should be able to automate the deployment of a virtual machine with an operating system and a specific set of configuration files and software.

Key Knowledge Areas:

The following is a partial list of the used files, terms and utilities:

  • ...
  • ...


703.2 Cloud Deployment (weight: 2)

Weight

2

Description

Candidates should be able to configure IaaS cloud instances and adjust them to match their available hardware resources, specifically, disk space and volumes. Additinally, candidates should be able to configure instances to allow secure SSH logins and prepare the instances to be ready for a configuration management tool such as Ansible.

Key Knowledge Areas:

The following is a partial list of the used files, terms and utilities:

  • ...
  • ...


703.3 System Image Creation (weight: 2)

Weight

2

Description

Candidates should be able to create images for containers, virtual machines and IaaS cloud instances.

Key Knowledge Areas:

The following is a partial list of the used files, terms and utilities:

  • ...
  • ...


704 Configuration Management

704.1 Ansible (weight: 8)

Weight

8

Description

Candidates

Key Knowledge Areas:

The following is a partial list of the used files, terms and utilities:

  • ...
  • ...


704.2 Other Configuration Management Tools (weight: 2)

Weight

2

Description

Candidates should understand the main features and principles of important configuration management tools other than Ansible.

Key Knowledge Areas:

The following is a partial list of the used files, terms and utilities:

  • ...
  • ...


705 Service Operations

705.1 IT Operations and Monitoring (weight: 4)

Weight

4

Description

Candidates

Key Knowledge Areas:

The following is a partial list of the used files, terms and utilities:

  • ...
  • ...


705.2 Log Management and Analysis (weight: 4)

Weight

4

Description

Candidates should understand the role of log files in operations and troubleshooting. They should be able to set up centralized logging infrastructure based on Logstash to collect and normalize log data. Furthermore, candidates should understand how Elasticsearch and Kibana help to store and access log data.

Key Knowledge Areas:

The following is a partial list of the used files, terms and utilities:

  • ...
  • ...