DevNet DevOps Specialist Certification Exam 300-910 Training Notes

Traditional development vs DevOps

Traditional waterfall: Design –> Code —————> Test -> Deploy

Agile project: Design>Code>TestDesign>Code>TestDesign>Code>Test->Deploy

CALMS Model for DevOps

Culture – Agile/Lean

Automation

Lean – Eliminate Waste

Measurement

Sharing – Shared goals and fate

CI/CD

An extension of Agile and Lean methodologies requires the proper automated tooling to enhance the DevOps mindset and help realize goals.

Continuous integration is the constant merging of dev work into the code base. Automated testing will typicaly follow.

Continous delivery is a way to package software where it is staged and reviewed before release to the customer.

Continous deployment relies on both integration and delivery. Releasing a constant flow of new features into production.

  • dev pulls code from repo

  • dev makes changes to code, pushes to repo

  • CI Tool (Jenkins, TravisCI, etc) detects code changes

  • CI tool performs tests to validate code

  • notification is sent to dev team reporting test results

  • if tests pass code is deployed

IAC

Infrastructure as code extends CI/CD to the management of infra. High level code that automates provisioning and deployment. Typically from a SOT.

  • version control

  • Design Patterns

  • Testing

Pull from GIT repo –> Pre-Checks –> Deploy Code on Infra –> Post Tests –> Report Results –> Notification

Microservices

moving from larger monolithic platforms to microservice based applications. They are more scalable and fault tolerant and allow you to test and change independent components without impacting the whole app.

Containers

containers have helped enable microservices as they are faster and have less overhead than virtual machines.