But du cours
- Understand how to create cloud-based applications and use cloud automation tools in the DevOps process.
- Understand the theoretical context of DevOps and cloud automation techniques.
- Demonstrate the application of these techniques to a series of software applications and development scenarios/processes.
- Understand the features offered by popular DevOps and cloud automation tools such as Chef, Puppet, Ansible, and SlipStream.
- Gain practical experience with one of these tools through a project.
Acquis d'apprentissage visés
- Master fundamental programming paradigms, languages, and algorithms to design and develop applications for any environment (1,4)-(2,4)
- Apply and master integration engineering, interoperability, deployment, and testing (1,4)-(2,4)
- Apply and master methodologies, tools, and formalisms to design, implement, and maintain high-quality and secure software (1,5)-(2,4)
Prérequis
Advanced system administration, Software engineering
Programme
- Fundamental principles of DevOps, continuous integration, continuous delivery, continuous testing. Relationship with other agile development technologies: Lean, CAMS, and ITSM.
- Organizational impact of DevOps, digital transformation, and DevOps; structure and operation of the DevOps team, leadership, collaboration, and structured problem-solving; success factors and key performance indicators.
- Agile software development: Scrum, Kanban, Kaizen; Scrum Agile process and team management; role of multidisciplinary teams. Agile Manifesto.
- DevOps tools and processes: CI/CD pipeline; DevOps Toolchain; coding, versioning, collaboration, and testing. Version control and team development, Git, automated testing.
- DevOps practices and platforms: Software packaging, containerization. Container technologies, Kubernetes, tools.
- Cloud computing architectures, service and deployment models, Cloud IaaS and Infrastructure as Code, cloud economics.
- Cloud-powered software development: Example and AWS tools.
- Cloud monitoring tools and operational concepts for development.
- Overview of cloud automation: Cloud-based tools (e.g., AWS CloudFormation, Azure ARM); multicloud tools such as Chef, Puppet, Ansible, Terraform, others.
- Popular cloud automation tools: Chef, Puppet, Ansible (depending on available platform).
- Cloud security architecture and models, cloud compliance, CSA Consensus Assessment Initiative questionnaire and certification.
- DevSecOps; secure software development lifecycle; cloud-based tools for secure software development.
Modalités d'évaluation
A knowledge assessment, a lab report, and an oral presentation.
Bibliographie
- Teaching DevOps and Cloud based Software Engineering in University Curricula
- P. Bourque and R.E. Fairley, eds., Guide to the Software Engineering Body of Knowledge, Version 3.0, IEEE Computer Society, 2014;
DevOps Institute: The Association for DevOps Professionals [online] https://devopsinstitute.com/ DevOps Agile Skills Association (DASA) [online]: https://www.devopsagileskills.org/certifications/dasa-devopsfundamentals/
Supports
Slides and practical work sheets.