The Next Generation of Microservices • Phil Calçado • YOW! 2017

Learn how service mesh architecture represents the next evolution of microservices, enabling better communication, security & reliability between distributed services.

Key takeaways
  • Service mesh architecture represents the next evolution of microservices, acting as an infrastructure layer that handles communication, security, and reliability between services

  • Key characteristics of modern microservices include:

    • Highly distributed application architecture
    • Services communicate through metadata-rich protocols like gRPC
    • Use of sidecars/proxies to handle cross-cutting concerns
    • Infrastructure handles many distributed systems challenges
  • Common technical challenges with microservices:

    • Service discovery and load balancing
    • Circuit breaking and failure handling
    • Network reliability and security
    • Cross-service communication
    • Configuration management
  • Best practices for implementation:

    • Keep business logic separate from infrastructure concerns
    • Use metadata-rich protocols over basic JSON/HTTP
    • Leverage service mesh for cross-cutting functionality
    • Push complexity down to the platform layer
    • Implement proper observability and monitoring
  • Migration considerations:

    • Start with extracting well-defined services
    • Consider using monorepo approach for code organization
    • Plan for language/protocol compatibility
    • Account for operational complexity
    • Focus on core business logic in services
  • Architectural evolution from 2013 to 2017:

    • Movement from library-based approaches to platform-level solutions
    • Growth of container orchestration platforms like Kubernetes
    • Standardization of service mesh patterns
    • Better handling of distributed systems fallacies
    • Improved tooling and infrastructure support