DevOps
Benoit Combemale (Univ. Rennes 1)
Curriculum
- Introduction
- Some Facts on Modern Developments
- State of the Practice (large-scale, polyglot, short term delivery…)
- DevOps: current scope, concepts and principles
- Get ready for DevOps!
- Execution platform (e.g., virtual machines, containerization and clouds),
- Software architecture (microservice, stateless, serverless, FaaS),
- organizational concerns (gitflow and branching, continuous improvement…)
- Test automation, incl. static analysis, flaky test, code and test coverage, mutation analysis.
- Build Management, Configuration Management, Release Management
- Software Build (e.g., Maven)
- Software Delivery (e.g., Docker, Docker Compose)
- Software Deployment (e.g., Kubernetes)
- Continuous Integration, Delivery and deployment (e.g., Jenkins)
- Code quality (e.g., SonarQube)
- Infrastructure as code (e.g., Ansible, Puppet, chef, SaltStack), software bots
- Observability and Measurement: Logging, Tracing and Monitoring (e.g., LogStash, OpenTracing, Kibana)
- Fuzzing, A/B and Canary Testing
- Resilience engineering / testing (e.g., Chaos Engineering)
- DevOps and Security
Further Materials
- TeachDevOps Initiative
- Related research papers (see section Resilience Engineering and in Practice)