Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Tackling cross-cutting concerns within your architecture

Tackling cross-cutting concerns within your architecture

Daniel Kocot

May 17, 2022
Tweet

More Decks by Daniel Kocot

Other Decks in Technology

Transcript

  1. Name: Daniel Kocot Role: Senior Solution Architect / Head of

    API Experience & Operations Email: Twitter: @dk_1977 LinkedIn: [email protected] https://www.linkedin.com/in/danielkocot/
  2. Cloud Native CNCF Definition, https://github.com/cncf/toc/blob/main/DEFINITION.md "Cloud native technologies empower organizations

    to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach. These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil."
  3. Cross-cutting concerns “Integration of requirements whose implementation is not limited

    to individual components, but is distributed over many services across the entire system.”
  4. Fascade (Gang of Four) “A facade is an object that

    serves as a front-facing interface masking more complex underlying or structural code.”
  5. API Gateway (Chris Richardson) “Implement an API gateway that is

    the single entry point for all clients. The API gateway handles requests in one of two ways. Some requests are simply proxied/routed to the appropriate service. It handles other requests by fanning out to multiple services.”
  6. Orchestration Provisioning and deployment of containers Resource management Health monitoring

    Scaling Providing mappings to connect to networkings Load Balancing
  7. Ingress Controller The cluster must run an ingress controller to

    make the ingress resource work The Kubernetes project supports and maintains: AWS GCE nginx ingress controller based on service proxies like Envoy, OpenResty or HAProxy Early every API Gateway vendor normally has an ingress controller in the portfolio
  8. Ingress ./. Egress Ingress gateways deal with traffic entering a

    system and do tasks like routing or offloading Egress gateways control traffic exiting a system
  9. Cross-cutting concerns “Integration of requirements whose implementation is not limited

    to individual components, but is distributed over many services across the entire system.”
  10. Use of OpenAPI Extensions/X-Objects to handle own or vendor needs

    x-vendor-…​ x-…​ Supported by: root level info paths operation parameters responses tags security schemes
  11. Establish an cross-cutting concerns Design Library by using references within

    the OpenAPI Definition with the deployment of the API but please set not everything as global ;)
  12. Soft Facts about Event Mesh idea of asynchronous Service Mesh

    arising from slow ongoing development of existing Service Meshes heavily marketing driven by RedHat, SAP, Solace
  13. Hard facts about Event Mesh cluster of the event brokers

    diverse deployment environments Protocol compability and translation Multiple client APIs Scalability Reliability Security
  14. But…​ Event Meshes are lacking the concept of Sidecars Event

    Meshes still need Services Meshes to fulfill all needs Service Meshes still need to support asynchronous communication e.g. Envoy filters
  15. Q&A