Microservices Architecture vs Service-Oriented Architecture (SOA)
Microservices Architecture is a architectural development technique —a variant of the Service-Oriented Architecture (SOA) structural style— that arranges an application as a collection of loosely coupled services
- Service-Oriented Architecture (SOA) has an enterprise scope
- Microservices Architecture has an application scope
/microservices/μservice-architecture---service-oriented-architecture-(soa)/service-oriented-architecture-vs-microservice-architecture.png)
Service Types
- Stateful Service - a service that has a concept of a session or persistence, like a chat service.
- Stateless Service - a service that does not have a concept of a session, but rather performs individual self-contained tasks, like a video transcoding service
Service Abstraction
Operations Component Types & Tech Stacks
|
Tech Stack | ||
|---|---|---|
|
Operations Component Type |
Netflix - Spring Cloud | |
|
central configuration server |
Config Server, Consul, Archaius |
ConfigMap and Secrets |
|
service discovery |
Eureka, Hashicorp Consul |
Kubernetes Service & Ingress Resources |
|
dynamic routing and load balancing |
Ribbon |
Kubernetes Service |
|
edge server - api gateway |
Kubernetes Service & Ingress Resources | |
|
centralized log analysis |
Elasticsearch, Logstash, Kibana (ELK Stack) |
Elasticsearch, Fluentd, Kibana (EFK Stack) |
|
centralized metrics |
Spectator & Atlas |
Heapster, Prometheus, Grafana |
|
distributed tracing |
Sleuth & Zipkin |
OpenTracing & Zipkin |
|
resilience, fault tolerance, circuit breaker |
Hystrix/Resilience4j, Turbine & Ribbon |
Kubernetes Health Check & resource isolation |
|
autoscaling and self-healing |
Kubernetes Health Check, Self Healing, Autoscaling | |
|
package deployment |
Docker/Rkt, Kubernetes Scheduler & Deployment | |
|
job management |
Spring Batch |
Kubernetes Jobs & Scheduled Jobs |
|
singleton application |
Spring Cloud Cluster |
Kubernetes Pod |
|
monitoring |
Hystrix Dashboard & Turbine | |
|
Open Authorization (OAuth) protected API’s |
Spring Cloud Security + Spring Security OAuth2 | |
Subpages
- Microservices Architecture - Amazon Flow Platform
- Microservices Architecture - Fault Tolerance
- Microservices Architecture - Testing
- Service Discovery
/microservices/μservice-architecture---service-oriented-architecture-(soa)/microservice-abstraction.png)