Skip to content

adaltas/ece-devops-2024-fall

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 

Repository files navigation

DevOps

Introduction

The DevOps culture focus on one goal throughout the entire software delivery lifecycle (not just development and operations): the rapid implementation of stable, high-quality software, from concept to customer or user. The automation of software development, testing and deployment through Continuous Delivery (CD) is a recognized key factor for DevOps. Automation enables faster software implementation and ensures the solutions have the quality, security and stability they need.

Educational goals

  • Discover the DevOps culture and its tooling ecosystem.
  • Gain and share confidence in your code and operated systems.
  • Maximize time-to-market, productivity and security.
  • Build robust and evolving applications and infrastructures.

Prerequisites

Common computer skills and Linux basic knowledge.

Modules

Module 1 (1-3h): Fundamental knowledge

  • Common tools
  • Networking
  • Progamming tools
  • Common Knowledge
  • Languages

Module 2 (3h): DevOps introduction

  • Definition
  • The reason to DevOps
  • DevOps life cycle
  • Site Reliability Engineering (SRE) implements DevOps
  • SRE service levels
  • SRE tools
  • Devops' history
  • Agile vs Waterfall
  • The Agile Manifesto
  • Agile Principles
  • Scrum
  • Version management with SemVer
  • Naming

Module 3 (3h): Versioning with Git

  • Objectives
  • Definition
  • VCS motivations
  • VCS Usages
  • Semantic Versioning (SemVer)
  • Centralized vs Distributed VCS
  • Git: introduction
  • Git: motivations
  • Git: ecosystem
  • Git: basic concepts
  • Git: repository
  • Git: common usage scenario
  • Git: branching
  • Git: branches merging
  • Git: conflicts resolution
  • Git: lab praticing
  • Git: .gitignore
  • Git: tagging
  • Git best practices: use rebase instead of merge
  • Git best practices: Conventional Commits
  • Where can you use Git?
  • Open-source project management

Module 4 (3h): Continuous testing

  • Benefits
  • Types of tests
  • Example
  • Test coverage
  • Test-driven development (TDD)
  • TDD benefits
  • Test automation
  • Test writing best practices

Module 5 (3h): Continuous Integration & Continuous Delivery (CI/CD)

  • Simple deployment illustration
  • Definitions
  • Benefits
  • CI/CD fundamentals
  • CI/CD pipeline
  • CI/CD platforms
  • Registry deliveries

Module 6 (3h): Infrastructure as code (IaC)

  • Requirement of automation
  • Example
  • Imperative approach
  • Declarative approach
  • Implementation in DevOps
  • Immutable & mutable infrastructure
  • Managing development virtual environment with Vagrant
  • Local environments with Vagrant
  • Provisioning with Ansible
  • Cloud provisioning with Terraform

Module 7 (3h): Containers with Docker

  • The problems for developers
  • Container definition
  • Docker container
  • Docker
  • Container vs Virtual Machines vs Bare metal
  • Docker architecture
  • Docker components
  • Example of a Docker workflow
  • CLI commands
  • Building Docker images
  • Storage on Docker
  • Running multi-container applications with Docker Compose
  • Use cases
  • Using Docker Compose
  • Docker Compose example
  • Docker Compose commands

Module 8 (3h): Container orchestration with Kubernetes

  • Requirements for Container-Based applications
  • Container orchestration services
  • Containers complexity
  • Container orchestration tools
  • Kubernetes
  • Kubernetes cluster
  • Kubernetes objects definitions
  • Kubernetes object management
  • Resource configuration organization
  • Pod storage
  • Networking
  • Minikube

Module 9 (3h): Storage in Kubernetes

  • Volumes in Docker
  • Kubernetes Volumes
  • Kubernetes Volume types
  • Volume type: emptyDir
  • Volume type: awsElasticBlockStore
  • Persistent Volumes

Module 10 (3h): Cloud-native applications and microservice architectures | with Istio

  • Cloud definition
  • Cloud advantages
  • Service model selection
  • Cloud-native applications
  • Monolithic vs Microservices architecture
  • Microservices are NOT
  • Application centered around APIs
  • Service mesh
  • Istio

Module 11 (3h): Monitoring | with Prometheus and Grafana

  • Motivations
  • Types of Monitoring
  • Definition
  • Prometheus
  • Grafana

Google Sheet

Enter your group members name and additional information here:

https://docs.google.com/spreadsheets/d/1gaREyaIoRfR3gG5qXLbs-IQ-eBcACcwIjsf11Rqm16o/edit?gid=1525840014#gid=1525840014

Contact

Stephan Baum: [email protected]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published