Quick overview of traditional approaches
Monolithic systems
System of Systems
Early service orientation (EAI, CORBA, etc...)
Early webservices (SOAP, etc...)
Service Oriented Architecture (SOA)
Microservices
Design concepts and tradesoff
Flexibility and Complexity tradeoff
Cohesion, Coupling
Hidden dependencies vs explicit dependencies
Small system vs Big System
Module/Component vs Service
Generic SOA
Benefit and Costs of SOA
Successes and failures in implementing SOA
Messaging and ESB
Infrastructure and tools supporting SOA
Microservices and implementation of SOA - concepts
Do one thing and do it well
Microservice vs Service
DevOps
Continuous Deployment and Delivery
Lightweight protocols
Microservice protocols and tools
HTTP, JMS, AMQP, Websockets, JSON, etc...
Deployment
Containers (Docker, K8N, LXC, etc...)
Configuration Management (Ansible, etc...)
Monitoring and Management
Infrastructure
Cloud and Auto Scalability
Microservice redundancy and fail-over
Performance scalability
Auto scalability
Implement: OpenStack, AWS, etc....
Real problems
Complexity of ecosystem
Network Performance
Security
Deployment
Testing
Nano-services
|