The course Cloud-native Architectures is given for Master Computer Science students at the Lübeck University of Applied Sciences. It focuses mainly on
cloud-native system design and corresponding architecture design patterns and methodologies for cloud-native applications.
This course continues the course Cloud-native Programming that provided the necessary “Everything-as-Code” programming capabilities to understand and create the design modern of cloud-native applications.
The course covers the following aspects and addresses each aspect from a practical development/programming point of view:
- Microservice Architectures
- Modeling loosely coupled architectures
- Integration patterns
- Scaling service-based architectures
- 7 principles of microservice design
- Serverless Architectures
- Serverless definition
- Strength and limitations of serverless architectures
- Use cases for serverless architectures
- Observable Architectures
- Service meshes
- Traffic management, security, observability, and resiliency features of service meshes
- Inside Istio (Service mesh type representative)
- Observability through monitoring (metrics, logs, tracing)
- Designing CNA
- Principles of Domain-Driven Design
- Strategic design (Subdomains, Ubiquitous Language, Bounded Context, and Context Mapping)
- Tactical design (Patterns for business logic, architectural patterns)