Software Architecture Fundamentals:Service-based Architectures
The microservice architectural style is suddenly hugely popular, but it is only one in a family of related service-based architectures. This video covers a variety of service-based architectures, comparing and contrasting along several dimensions (structure, engineering practices, deployment, etc) from monolithic through services to microservice architectures. In particular, we highlight the differences between traditional SOA-style architectures and microservices, allowing architects to make a better informed decision as to the proper style. We also cover the challenges and best practices when migrating from monolithic or traditional SOA to microservice architectures.
This video is divided into three parts: Concepts, Engineering Practices, and Migrations and Hybrids. The Concepts section covers basic definitions and differentiation between these similar architectural styles. It also describes challenges when moving from application to integration architectural. The Engineering Practices section covers DevOps, testing, and organization, all of which are critical success factors in microservice architectures. Last, in the Migrations and Hyrbrids section, we discuss how to migrate between monolithic and several different variations of service-based architectures.
Table of Contents
- Introduction to the Course (7 minutes)
- Concepts
- Microservices Architecture Pattern Elements (32 minutes)
- SOA Architecture Pattern Elements (23 minutes)
- Service Based Architecture Microservices Hybrids (14 minutes)
- Microservices and Service Based Governance (10 minutes)
- Coupling and Cohesion (28 minutes)
- Comparing Microservices: Service-Based and SOA (32 minutes)
- Service Orchestration (11 minutes)
- Remote Access Protocol Comparison (40 minutes)
- Distributed Architecture Challenges (18 minutes)
- Engineering Practices
- Devops Practices (30 minutes)
- Microservices Testing (12 minutes)
- Organizational Change (16 minutes)
- Migrations and Hyrbrids
- Migration Paths and Drivers (15 minutes)
- Migration Challenges (11 minutes)
- Migration Steps - Introduction and Planning (14 minutes)
- Migration Steps - Separation (6 minutes)
- Migration Steps - Proxy Layer (10 minutes)
- Migration Steps - Refactoring (20 minutes)
- UI Evolution and Refactoring (14 minutes)