Prerequisites
Basic understanding of fundamental IT concepts
Course Objectives
- Develop a holistic understanding of modern IT architecture and development
- Familiarize oneself with Cloud technologies and services, specifically those offered by the hyperscalers AWS, Google Cloud Platform and Microsoft Azure
- Contextualize recent IT development approaches by understanding the shortcomings of previous approaches
- Learn how commonly used tools such as GitLab and Jira function, and what purpose they serve
- Discover the reasons for containerizing deployments with Docker and Kubernetes and how DevOps tools can assist in this process
Course Content
Modul 1:
- Domain Driven Design
- Terms (domain, subdomain, bounded context, ubiquitous language, aggregate, entity, value object)
- Types of subdomains
- Types of bounded contexts
- Event Storming
- Method explanation
- Similarities to DDD
- Event Storming group exercise
- Behaviour Driven Design
- Difference between BDD and DDD
- Method of / Terms used in BDD
Modul 2:
- Jira, Git und Tickets
- Terms (branch, fork, pull, push, etc.)
- What is a ticket and how is it written?
- What is a git repository, what are its advantages?
- DevOps
- What is DevOps, what are its advantages, what are potential pitfalls?
- DevSecOps
- What is DevSecOps, what is it’s use, what is the difference to DevOps?
Modul 3:
- Introduction to the cloud
- What is the cloud, what does cloud native mean?
- What are IAAS/SAAS/PAAS, what are hyperscalers?
- Cloud Services
- What types of cloud services are there (DB services, VM services, Gateways, DNS services, etc.)?
- What are the commonalities between the three hyperscalers’ services?
- How do different services interconnect and form a whole?
- Docker and Kubernetes
- What is a container?
- How does a container work?
- What is the path to a dockerized application?
- What is Kubernetes?
- How does Kubernetes work?
- Application and Cloud Architecture
- How does security in the cloud work?
- How does it work on different application layers?
- What can a cloud-native application look like?
- What does an example of typical Cloud architecture look like?
Modul 4:
- Microservices
- What is a microservice?
- Microservice guidelines
- API Fundamentals
- What is an API?
- Monolith vs Microservice
- API first vs Code first
- REST and SOAP
- API, REST and Services
- Http and http methods
- URLs, resource naming conventions, and API versioning
- Request header and payload
- API responses
- Http errors and http status codes
Modul 5:
- Introduction to CICD
- What is CICD?
- Why implement CICD?
- Classical Development Strategies
- What is the waterfall model?
- What are the problems of classical development strategies?
- Continuous Integration
- What is CI, what is a pipeline, what tools does a pipeline involve?
- Tools: Gitlab, Sonarqube, Maven, Docker & Kubernetes, ELK, Docker Image Repository
- Continuous Delivery
- What is CD, and what is the difference between delivery and deployment?
- What does a complete deployment pipeline look like?