Microservices Architecture

Lecture, Leibniz University of Hanover, Electrotechnik and Informatik, 2017

Microservice architecture, or simply microservices, is a distinctive method of developing software systems that has grown in popularity in recent years. Microservices architecture is a better way of implementing a service oriented architecture. It gives you the ability to create competitive software which is scalable, flexible, and reliable. In this course, learn the design principles for a microservices architecture.

Prerequisites: Beginning-to-advanced Java programming experience, Model based Software Development, System Architecutre

Contents

By the end of this course, the students will understand:

The core concepts, primary benefits, and drawbacks of the microservices architecture style
How microservices differ from service-oriented architecture
Hybrid architectures such as the popular service-based architecture style and how it differs from microservices
Service design techniques such as the API access model and the direct access model
The challenges surrounding microservices such as service granularity, service contracts, distributed logging, distributed transaction management, eventual consistency, and remote access reliability and latency

Course Outlines

Microservices Architecture Core Concepts
Service-Based Architecture Core Concepts
Microservices Design Considerations
The Challenges of Microservices
Microservices Architecture and Design Techniques
Microservices Refactoring Techniques