/devops_lpi_guide

guide for devops lpi certification

LPI OT - DevOps


Topic 701: Software Engineering

701.1 Modern Software Development (weight: 6)

Description:

Candidates should be able to design software solutions suitable for modern runtime environments. Candidates should understand how services handle data persistence, sessions, status information, transactions, concurrency, security, performance, availability, scaling, load balancing, messaging, monitoring and APIs. Furthermore, candidates should understand the implications of agile and DevOps on software development.

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
  • Understand 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
Files, Terms and Utilities (partial list):

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

Description:

Candidates should understand services offered by common cloud platforms. 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
  • Features and concepts of content delivery networks
Files, terms and utilities (partial list):

701.3 Source Code Management (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:
  • Understand Git concepts and repository structure
  • Manage files within a Git repository
  • Manage branches and tags
  • Work with remote repositories and branches as well as submodules
  • Merge files and branches
  • Awareness of SVN and CVS, including concepts of centralized and distributed SCM solutions
Files, terms and utilities:

701.4 Continuous Integration and Continuous Delivery (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. This objective covers the feature set of Jenkins version 2.0 or later.

Key Knowledge Areas:
  • Understand the concepts of Continuous Integration and Continuous Delivery
  • Understand the components of a CI/CD pipeline, including builds, unit, integration and acceptance tests, artifact management, delivery and deployment
  • Understand deployment best practices
  • Understand the architecture and features of Jenkins, including Jenkins Plugins, Jenkins API, notifications and distributed builds
  • Define and run jobs in Jenkins, including parameter handling
  • Fingerprinting, artifacts and artifact repositories
  • Understand how Jenkins models continuous delivery pipelines and implement a declarative continuous delivery pipeline in Jenkins
  • Awareness of possible authentication and authorization models
  • Understanding of the Pipeline Plugin
  • Understand the features of important Jenkins modules such as Copy Artifact Plugin, Fingerprint Plugin, Docker Pipeline, Docker Build and Publish plugin, Git Plugin, Credentials Plugin Awareness of Artifactory and Nexus
Files, terms and utilities:

Other useful resources: