5. 5
Microservices Reflexão
● Todos nós já sabemos os ganhos que podemos obter através de uma arquitetura baseada e
microservices, mas será que sabemos as complexidades de uma arquitetura assim?
6. 6
Microservices Complexidades
● Discovery
● Governança
● Maior complexidade na segurança (superfície maior exposta)
● Maior complexidade monitoramento, requer observabilidade
● Requer DevOps
7. 7
Microservices Ferramentas
● Linguagem de Programaçao (C#, Java, NodeJs, Python, Go Lang, etc ...)
● Banco de dados (MongoDb, Sql Server, Oracle, MySql, Redis, etc ...)
● Git / Jenkins / Azure DevOps
● Docker
● Kubernetes / Openshift
● Grafana / Prometheus / Elastic Stack
● Istio / Envoy
● API Gatway / API Manager / API Portal
● Identity Provider
8. Istio
● O Istio é um Service Mesh de código aberto que faz camadas transparentes em aplicativos
distribuídos existentes.
8
12. 12
Anypoint Service Mesh
● Anypoint Service Mesh permite que você estenda sua rede de microservices, incluindo seus
aplicativos não Mulesoft na esfera Anypoint Platform.
● Exchange/Design Center: API Portal (Discovery)
- Catalogo
- Documentação
- Especificação (operações, entradas e saídas)
- Exemplos
- Diagramas
- Gestão de acesso
● API Manager (Governança, Segurança, Métricas)
- Aplicação de politicas de segurança
- Visualização de métricas de API
21. Anypoint Service Mesh - Instalar
● Visualizar POD’s do Anypoint Service Mesh
21
asmctl adapter list
22. Anypoint Service Mesh - Instalar
● Listar as aplicações
● Alterar a label do serviço para habilitar o sidecar com o Anypoint Service Mesh
22
kubectl get deployments -n nto-payment
kubectl -n nto-payment patch deploy customer-app --type=json -
p='[{"op": "replace", "path":
"/spec/template/metadata/labels/service-
mesh.mulesoft.com","value":"enable"}]'
23. Anypoint Service Mesh - Instalar
● Realizar o binding das API’s com o adapter
23
kubectl apply -f demo-bind-customer-api.yaml
apiVersion: servicecatalog.k8s.io/v1beta1
kind: ServiceBinding
metadata:
name: customer-api-binding
namespace: nto-payment
labels:
service-mesh.mulesoft.com/kind: adapter-binding
spec:
instanceRef:
name: nto-payment-service-mesh-adapter
parameters:
apiId: <<autodiscovery>>
service: customer-service