SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
Setembro de 2019
HUGSP#6
Philippe Sevestre – phil@lighthouse.com.br
Janeiro 2020
Opus µDSL
Uma DSL para Microserviços
HUGSP#6
• Motivadores
• Visão
• Fluxo de Trabalho
• Elementos da µDSL
• Exemplo de Parametrização
• Demo 1 – Kubernetes
• Demo 2 - ECS
Agenda
HUGSP#6
• Fato: aplicações estão migrando para arquitetura baseada em microserviços
• O que muda com isto?
• Utilização de (X)aaS
• Infraestrutura dinâmica
• Novos fluxos de trabalho
• Novos desafios!!!
• Segurança
• Disponibilidade
• Complexidade
• Conhecimento
Motivadores
HUGSP#6
• Acelerar o desenvolvimento e implantação de sistemas baseados em
microserviços
• Como?
• Linguagem para descrever um sistema e seu componentes em alto nível
• Ferramenta para gerar artefatos de implantação para um ambiente
específico a partir da descrição em alto nível e informações de
parametrização
• Artefatos de implantação  Projeto Terraform
Visão para a uDSL
HUGSP#6
Fluxo de Trabalho
• Por quê o Terraform ?
• Simplifica a criação de novos geradores
• Funciona como uma linguagem intermediária para geração
• Facilita a integração do gerador em pipelines de CI/CD existentes
• Ampla oferta de módulos disponíveis para uso com diferentes plataformas de
execução
Fluxo de Trabalho (cont.)
Terraform Opus uDSL
Nível de abstração Baixo/Médio Alto
Elementos básicos Recursos Environment/Deployment/etc
Curva de aprendizado Média/Alta Baixa
Unidade de reuso Módulo Gerador e Projeto
Portabilidade de código entre
clouds/plataformas-alvo
Baixa/Nenhuma Alta
Conhecimento necessário da
plataforma-alvo
Alto Definição  Baixo
Parametrização  Médio
Construção de Gerador  Alto
Terraform “puro” X uDSL
Elementos da Opus uDSL
Nome Descrição
Environment Ambiente de execução do sistema
Endpoint Ponto de entrada ou saída para o sistema
Route Rota interna para acesso a determinado serviço
Deployment Conjunto de artefatos que definem um serviço
Image Imagem que contém artefatos executáveis do serviço
MessageChannel Canal de comunicação assíncrono utilizado para
comunicação entre serviços
package br.com.opussoftware.examples.petshop
Environment("petshop") {
Endpoint("www.petshop.com.br") {
Route(path:"/clientes", deployment: "SvcCliente")
Route(path:"/feedback", deployment: "SvcFeedback")
}
Deployment("SvcCliente") {
Image(name:"opusbr/svc-cliente:prod")
Endpoint("mydb")
MessageChannel(name:"FilaAuditoria", role: "Producer")
Deployment("SvcFeedback")
}
Deployment("SvcFeedback"){
Image(name:"opusbr/svc-feedback:prod")
Endpoint("mydb")
MessageChannel(name:"FilaAuditoria", role:"Producer")
}
Endpoint(name:"mydb", target:"sqs.example.com:3306", proto:"tcp")
MessageChannel(name:"FilaAuditoria", provider:"provider1")
}
Exemplo
// A variável principal é o nome do gerador, que é OBRIGRATÓRIA
generator="k8s"
// Porta default utilizada pelos serviços
deployment.defaultPort=80
deployment.SvcCliente.port=80
//
security.enabled = true
security.provider="keycloak"
// Define o provedor de memnsageria
messaging.provider="rabbitmq"
// Indica se o serviço do RabbitMQ será criado ou não
messaging.external = false
// É possível criar overrides para diferentes ambiente
environments {
qa { }
prod {
//messaging.provider="rabbitmq-ha“
}
local {}
}
Exemplo: Parametrização para K8S
Ambiente-alvo: K8S
Demo !
Arquitetura
Ingress SvcXXX
SvcXXX
SvcXXX
RabbitMQ
Elemento do Modelo uDSL Artefatos Gerados
Environment Diretório-raiz
main.gen.tf
provider.tf
terraform.tfvars
Deployment Módulo Terraform para cada deployment
deployment.gen.tf
service.get.tf
custom.tf
Inbound Endpoint Módulo Teraform
ingress.gen.tf
Route Ingress rules adicionadas ao ingress.gen.tf
External Endpoint Módulo terraform para cada endpoints externo
main.gen.tf
custom.tf
Artefatos Gerados
Ambiente-alvo: Amazon EC2
Demo !
Arquitetura de Referência
ALB
RabbitMQ
SvcXXX
Autoscaling Group
VPC
• Fase 0 – MVP (Finalizada !)
• Versão inicial da DSL
• Estrutura básica do gerador
• Interface para criação de geradores
• Exemplos iniciais de geradores: K8S e EC2
• Fase 1 – Começa HOJE ;^)
• Expansão dos geradores para novas arquiteturas
• Documentação, SDK de geradores (gerador de geradores ?)
• Criar um registry de geradores (oportunidade de monetização !)
• Fase 2
• Profit !
Roadmap
• META-INF/templates/<id>/Generator.groovy  Descreve os artefatos a gerar
• META-INF/templates/<id>/  Templates dos artefatos
• META-INF/services/f.q.n.Generator  FQN da classe que implementa o Gerador
• f.q.n.<ID>Generator  Implementação do Generator
• Normalmente, apenas usa a classe AbstractGenerator
• f.q.n.XxxHelper  Helpers específicos da plataforma-alvo
Anatomia de um Gerador
• Exemplo: K8S
Anatomia de um Gerador (cont.)
• Exemplo:
Generator.groovy
Anatomia de um Gerador (cont.)
• Exemplo:
deployment.tf.tpl
Anatomia de um Gerador (cont.)
Q&A
phil@lighthouse.com.br
@psevestre
www.linkedin.com/in/psevestre
Obrigado !
São Paulo
Rua Butantã, 500
2º andar
São Paulo - SP
05424-000
Toronto
1 King Street West
Suite 4800 – 136
Toronto, ON
M5H 1A1
(11) 3816-2200
opus-software.com.br

Mais conteúdo relacionado

Mais procurados

10 Serviços do Azure que você precisa conhecer na prática - Azure Nights #1 -...
10 Serviços do Azure que você precisa conhecer na prática - Azure Nights #1 -...10 Serviços do Azure que você precisa conhecer na prática - Azure Nights #1 -...
10 Serviços do Azure que você precisa conhecer na prática - Azure Nights #1 -...Renato Groff
 
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)Renato Groff
 
Desenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full JavascriptDesenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full JavascriptDenis Vieira
 
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...Renato Groff
 
365on Lab Asp.Net MVC Fundamentos 01 Overview
365on Lab Asp.Net MVC Fundamentos 01 Overview365on Lab Asp.Net MVC Fundamentos 01 Overview
365on Lab Asp.Net MVC Fundamentos 01 OverviewAlexsandro Almeida
 
DevOps + Kubernetes: orquestração e deployment automatizado de containers - O...
DevOps + Kubernetes: orquestração e deployment automatizado de containers - O...DevOps + Kubernetes: orquestração e deployment automatizado de containers - O...
DevOps + Kubernetes: orquestração e deployment automatizado de containers - O...Renato Groff
 
Docker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na PráticaDocker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na PráticaRenato Groff
 
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020Renato Groff
 

Mais procurados (9)

10 Serviços do Azure que você precisa conhecer na prática - Azure Nights #1 -...
10 Serviços do Azure que você precisa conhecer na prática - Azure Nights #1 -...10 Serviços do Azure que você precisa conhecer na prática - Azure Nights #1 -...
10 Serviços do Azure que você precisa conhecer na prática - Azure Nights #1 -...
 
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)
 
Desenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full JavascriptDesenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full Javascript
 
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...
 
365on Lab Asp.Net MVC Fundamentos 01 Overview
365on Lab Asp.Net MVC Fundamentos 01 Overview365on Lab Asp.Net MVC Fundamentos 01 Overview
365on Lab Asp.Net MVC Fundamentos 01 Overview
 
DevOps + Kubernetes: orquestração e deployment automatizado de containers - O...
DevOps + Kubernetes: orquestração e deployment automatizado de containers - O...DevOps + Kubernetes: orquestração e deployment automatizado de containers - O...
DevOps + Kubernetes: orquestração e deployment automatizado de containers - O...
 
365on Lab - Asp.Net MVC
365on Lab - Asp.Net MVC365on Lab - Asp.Net MVC
365on Lab - Asp.Net MVC
 
Docker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na PráticaDocker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na Prática
 
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
 

Semelhante a uDSL para Microserviços - Visão Geral e Demos

Cloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BHCloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BHRenato Groff
 
Aplicações com Tecnologias Web
Aplicações com Tecnologias WebAplicações com Tecnologias Web
Aplicações com Tecnologias WebRildo Pragana
 
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...Renato Groff
 
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
 Alternativas para a Implementação de Microservices no Microsoft Azure - Jane... Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...Renato Groff
 
Arquitetura executável: Documentando e automatizando a comunicação da equipe ...
Arquitetura executável: Documentando e automatizando a comunicação da equipe ...Arquitetura executável: Documentando e automatizando a comunicação da equipe ...
Arquitetura executável: Documentando e automatizando a comunicação da equipe ...WeOp - The Operations Summit
 
Machine Learning: Do Notebook ao modelo em produção
Machine Learning: Do Notebook ao modelo em produçãoMachine Learning: Do Notebook ao modelo em produção
Machine Learning: Do Notebook ao modelo em produçãoMarlesson Santana
 
Uma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIUma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIComunidade NetPonto
 
WSO2 - Portfólio de Produtos, Soluções e Suportes
WSO2 - Portfólio de Produtos, Soluções e SuportesWSO2 - Portfólio de Produtos, Soluções e Suportes
WSO2 - Portfólio de Produtos, Soluções e SuportesEdgar Silva
 
Microservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixMicroservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixNatanael Fonseca
 
Workshop anypoint service mesh
Workshop   anypoint service meshWorkshop   anypoint service mesh
Workshop anypoint service meshRenato de Oliveira
 
Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Getup Cloud
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começouJose Wilker
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHPFlávio Lisboa
 
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019Renato Groff
 
Transformando seu datacenter em nuvem privada
Transformando seu datacenter em nuvem privadaTransformando seu datacenter em nuvem privada
Transformando seu datacenter em nuvem privadaJuscélio Reis
 
Cloud computing & Spring Framework
Cloud computing & Spring FrameworkCloud computing & Spring Framework
Cloud computing & Spring FrameworkJulio Viegas
 
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)Carlos Duarte do Nascimento
 

Semelhante a uDSL para Microserviços - Visão Geral e Demos (20)

Cloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BHCloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BH
 
Aplicações com Tecnologias Web
Aplicações com Tecnologias WebAplicações com Tecnologias Web
Aplicações com Tecnologias Web
 
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...
 
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
 Alternativas para a Implementação de Microservices no Microsoft Azure - Jane... Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
 
Arquitetura executável: Documentando e automatizando a comunicação da equipe ...
Arquitetura executável: Documentando e automatizando a comunicação da equipe ...Arquitetura executável: Documentando e automatizando a comunicação da equipe ...
Arquitetura executável: Documentando e automatizando a comunicação da equipe ...
 
Machine Learning: Do Notebook ao modelo em produção
Machine Learning: Do Notebook ao modelo em produçãoMachine Learning: Do Notebook ao modelo em produção
Machine Learning: Do Notebook ao modelo em produção
 
Introdução Play framework
Introdução Play frameworkIntrodução Play framework
Introdução Play framework
 
Uma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIUma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web API
 
Python 08
Python 08Python 08
Python 08
 
WSO2 - Portfólio de Produtos, Soluções e Suportes
WSO2 - Portfólio de Produtos, Soluções e SuportesWSO2 - Portfólio de Produtos, Soluções e Suportes
WSO2 - Portfólio de Produtos, Soluções e Suportes
 
Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0
 
Microservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixMicroservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud Netflix
 
Workshop anypoint service mesh
Workshop   anypoint service meshWorkshop   anypoint service mesh
Workshop anypoint service mesh
 
Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começou
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHP
 
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019
 
Transformando seu datacenter em nuvem privada
Transformando seu datacenter em nuvem privadaTransformando seu datacenter em nuvem privada
Transformando seu datacenter em nuvem privada
 
Cloud computing & Spring Framework
Cloud computing & Spring FrameworkCloud computing & Spring Framework
Cloud computing & Spring Framework
 
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
 

uDSL para Microserviços - Visão Geral e Demos

  • 2. HUGSP#6 Philippe Sevestre – phil@lighthouse.com.br Janeiro 2020 Opus µDSL Uma DSL para Microserviços
  • 3. HUGSP#6 • Motivadores • Visão • Fluxo de Trabalho • Elementos da µDSL • Exemplo de Parametrização • Demo 1 – Kubernetes • Demo 2 - ECS Agenda
  • 4. HUGSP#6 • Fato: aplicações estão migrando para arquitetura baseada em microserviços • O que muda com isto? • Utilização de (X)aaS • Infraestrutura dinâmica • Novos fluxos de trabalho • Novos desafios!!! • Segurança • Disponibilidade • Complexidade • Conhecimento Motivadores
  • 5. HUGSP#6 • Acelerar o desenvolvimento e implantação de sistemas baseados em microserviços • Como? • Linguagem para descrever um sistema e seu componentes em alto nível • Ferramenta para gerar artefatos de implantação para um ambiente específico a partir da descrição em alto nível e informações de parametrização • Artefatos de implantação  Projeto Terraform Visão para a uDSL
  • 7. • Por quê o Terraform ? • Simplifica a criação de novos geradores • Funciona como uma linguagem intermediária para geração • Facilita a integração do gerador em pipelines de CI/CD existentes • Ampla oferta de módulos disponíveis para uso com diferentes plataformas de execução Fluxo de Trabalho (cont.)
  • 8. Terraform Opus uDSL Nível de abstração Baixo/Médio Alto Elementos básicos Recursos Environment/Deployment/etc Curva de aprendizado Média/Alta Baixa Unidade de reuso Módulo Gerador e Projeto Portabilidade de código entre clouds/plataformas-alvo Baixa/Nenhuma Alta Conhecimento necessário da plataforma-alvo Alto Definição  Baixo Parametrização  Médio Construção de Gerador  Alto Terraform “puro” X uDSL
  • 9. Elementos da Opus uDSL Nome Descrição Environment Ambiente de execução do sistema Endpoint Ponto de entrada ou saída para o sistema Route Rota interna para acesso a determinado serviço Deployment Conjunto de artefatos que definem um serviço Image Imagem que contém artefatos executáveis do serviço MessageChannel Canal de comunicação assíncrono utilizado para comunicação entre serviços
  • 10. package br.com.opussoftware.examples.petshop Environment("petshop") { Endpoint("www.petshop.com.br") { Route(path:"/clientes", deployment: "SvcCliente") Route(path:"/feedback", deployment: "SvcFeedback") } Deployment("SvcCliente") { Image(name:"opusbr/svc-cliente:prod") Endpoint("mydb") MessageChannel(name:"FilaAuditoria", role: "Producer") Deployment("SvcFeedback") } Deployment("SvcFeedback"){ Image(name:"opusbr/svc-feedback:prod") Endpoint("mydb") MessageChannel(name:"FilaAuditoria", role:"Producer") } Endpoint(name:"mydb", target:"sqs.example.com:3306", proto:"tcp") MessageChannel(name:"FilaAuditoria", provider:"provider1") } Exemplo
  • 11. // A variável principal é o nome do gerador, que é OBRIGRATÓRIA generator="k8s" // Porta default utilizada pelos serviços deployment.defaultPort=80 deployment.SvcCliente.port=80 // security.enabled = true security.provider="keycloak" // Define o provedor de memnsageria messaging.provider="rabbitmq" // Indica se o serviço do RabbitMQ será criado ou não messaging.external = false // É possível criar overrides para diferentes ambiente environments { qa { } prod { //messaging.provider="rabbitmq-ha“ } local {} } Exemplo: Parametrização para K8S
  • 14. Elemento do Modelo uDSL Artefatos Gerados Environment Diretório-raiz main.gen.tf provider.tf terraform.tfvars Deployment Módulo Terraform para cada deployment deployment.gen.tf service.get.tf custom.tf Inbound Endpoint Módulo Teraform ingress.gen.tf Route Ingress rules adicionadas ao ingress.gen.tf External Endpoint Módulo terraform para cada endpoints externo main.gen.tf custom.tf Artefatos Gerados
  • 17. • Fase 0 – MVP (Finalizada !) • Versão inicial da DSL • Estrutura básica do gerador • Interface para criação de geradores • Exemplos iniciais de geradores: K8S e EC2 • Fase 1 – Começa HOJE ;^) • Expansão dos geradores para novas arquiteturas • Documentação, SDK de geradores (gerador de geradores ?) • Criar um registry de geradores (oportunidade de monetização !) • Fase 2 • Profit ! Roadmap
  • 18. • META-INF/templates/<id>/Generator.groovy  Descreve os artefatos a gerar • META-INF/templates/<id>/  Templates dos artefatos • META-INF/services/f.q.n.Generator  FQN da classe que implementa o Gerador • f.q.n.<ID>Generator  Implementação do Generator • Normalmente, apenas usa a classe AbstractGenerator • f.q.n.XxxHelper  Helpers específicos da plataforma-alvo Anatomia de um Gerador
  • 19. • Exemplo: K8S Anatomia de um Gerador (cont.)
  • 22. Q&A
  • 24. São Paulo Rua Butantã, 500 2º andar São Paulo - SP 05424-000 Toronto 1 King Street West Suite 4800 – 136 Toronto, ON M5H 1A1 (11) 3816-2200 opus-software.com.br