Tech: Modelagem de APIs e Integração com Terceiros | PPT Não Compila Podcast
Convidados
Arthur Soave
Engenheiro de Software
Valdir Scarin
CEO @ VMBears
Explore o episódio
🎧 Neste episódio eletrizante do "PPT Não Compila", mergulhamos no fascinante mundo das APIs! 🌐 Intitulado "Modelagem de APIs e Integração com Terceiros", este episódio é imperdível para entusiastas da tecnologia e profissionais da área. 💻 1️⃣ No primeiro segmento, conheça nossos ilustres convidados: Arthur Soave, um engenheiro de software brilhante, e Valdir Scarin, o dinâmico CEO da VMBears. Eles compartilham insights valiosos sobre a complexidade e estratégias de integração de APIs. 🚀 2️⃣ Em seguida, nosso host provocativo, Wellington Cruz, desafia os convidados com cenários reais de integrações desafiadoras. Prepare-se para um debate rico em conteúdo, repleto de exemplos práticos e soluções criativas. 🤔💡 3️⃣ O terceiro bloco destaca as melhores práticas e filosofias no design de APIs. Descubra como a modelagem eficaz pode facilitar a integração com terceiros e impulsionar negócios. 📈 4️⃣ Por fim, abrimos o espaço para você, nosso ouvinte! Participe da discussão deixando seus comentários. 🗣️ Sua interação é crucial para enriquecer nosso debate. Compartilhe suas experiências e dúvidas sobre APIs e integração. 🌟 🔔 Não se esqueça de curtir, compartilhar e se inscrever para mais conteúdos incríveis. Use as hashtags #PPTNãoCompila #APIs #Tecnologia para entrar na conversa! Junte-se a nós nessa jornada de aprendizado e inovação. Dê play agora! ▶️ Convidados: Arthur Soave: https://www.linkedin.com/in/arthur-soave/ Valdir Scarin: https://www.linkedin.com/in/valdir-scarin/ Spotify: https://spoti.fi/47q4e9L Youtube: https://youtu.be/i2TzagviX8Y Outras plataformas: https://linktr.ee/pptnaocompila Acompanhe nas redes Instagram e Twitter: @pptnaocompila LinkedIn: https://www.linkedin.com/company/pptnaocompila Produção: Voz e conteúdo | https://www.vozeconteudo.com.br - @estudiosvoz
- Padrões de Modelagem e Design Thinking
- Introdução ao Episódio
- Discussão sobre Java
- Anúncio do Tema Principal
- Apresentação dos Convidados
- Engajamento da Audiência e Patrocínio
- Transição
- Retomada do Tema: Integrações com o Mundo Externo
- APIs: Quem Dispara e a Responsabilidade
- Interrupção Humorística
- Cenários de Interação de APIs
- Caso de Uso: E-commerce e Entrega
- Caso de Uso: Agenda Compartilhada (Complexidade)
- APIs Síncronas vs. Assíncronas
- Agendas Centralizadas vs. Descentralizadas
- Normatização de APIs e Reusabilidade
- Abstração vs. Pragmatismo
- APIs de Exposição e Persistência de Dados
- Modelagem de API para Agenda Compartilhada
- Importância da Modelagem para Integração Externa
- Evolução e Versionamento de APIs
- Gerenciamento de APIs e Impacto nos Consumidores
- Perspectiva do Consumidor e Mudanças de API
- Gerenciamento de Riscos no Consumo de APIs Externas
- Anúncio: Clever.io
- Modelagem Inicial e Depreciação de Métodos
- Prioridades de Negócio vs. Tecnologia
- Proteção de Sistemas Internos contra APIs Externas
- Health Checks e Notificações de API
- Camada Intermediária de Proteção
- Alterações Tecnológicas vs. de Negócio
- Isolamento, Mediação e Gerenciamento de Impacto
- Monitoramento e Resiliência de APIs Externas
- Conceitos de Abstração em Java
- Estudo de Caso: Arquitetura de Integração CCBB
- O Conceito de Broker/Mediação em Arquiteturas Modernas
- Microsserviços para Acesso Externo e Lock-in
- APIs de IA e Vendor Lock-in
- Arquitetura Frugal e Sustentabilidade Financeira
- Remodelagem de APIs Externas para Consumo Interno
- A Complexidade da Cardinalidade e Casos Concretos
- O Papel do Arquiteto e Trade-offs
- Anúncio: VMBears
- Governança de Contratos Externos
- Composição de APIs e Fluxo de Negócios
- Cenários de Pagamento: Imediato vs. Adiamento
- Debate sobre Nível de Abstração
- Exemplo Prático: API de SMS
- Questões de Gestão e Governança
- Falta de Controle e Design Defensivo
- Coreografia e Arquitetura Orientada a Eventos
- Conclusão: Não Há Solução Única
- APIs Específicas vs. Genéricas
- Desafios de Governança Operacional
- Autonomia do Desenvolvedor vs. Governança
- Trade-offs e Impacto nos Negócios
- Analogia com Entrevistas e Fornecedores
- Valor da Camada Intermediária de Mediação
- Gestão, Pessoas e Cultura na Governança de APIs
- Como a VMBears Ajuda
- Considerações Finais e Chamada para Ação
os governos T cada vez mais incentivando o uso dele né Você tem um padrão que foi alinhado de forma comum pensa na modelagem como você tá falando né então a gente fala muito de II first a gente fala muito de design Thinking né então conhecer o o o cenário que você tá vivendo é o ponto é esse assim não dá para você gastar energia toda hora para aprender de tudo né então você também precisa defender a entrega eventualmente seu usuário compra e essa P ela tá off tá te retornando 503 lá na na car na caruda vai muito da arquitetura que eu desenvolvo para me proteger disso muito bem muito bem meus amigos do BPT no compila estamos aqui para mais um episódio E hoje é dia de pauta técnica od Ah então a gente vai falar de coisa legal hoje falar de coisa legal Talvez um pouco de Filosofia também ah os cara louco então com certeza Java é não Não cara não não Java não tem filosofia tem pô Java tem bytes Java tem verbosidade tem bits e bites etc não é é isso cara Java legal Java é maneiro Java é 10 Java Java é 21 cara jaa é 21 verdade Java 21 criante como gente demorou tipo 50 anos para chegar no Java 1 dia Java 7 Java 1 Java 1.8 foi [ __ ] vai chegar até ali aí aí do sete pro 21 foi tipo 5 anos impr fechou né os caras aprenderam um esquema bom relas rolou uma jaio lá e você vê né assim cara como é que sobe Tanta releas faz tanta entrega boa com qualidade e um um produto estável né É porque é feito em Java é porque é feito em Java eu fico feliz de ser uma posição bem agnóstica assim no cara que não gosta de Java pena que esse episódio não é sobre Java hoje nós vamos falar aqui sobre complexidade de integrações com o mundo externo parece abstrato parece abstrato abstrato é bem abstrato bastante eu vou provocá-lo sobre situações sobre isso como consumir ap externas Como produzir apis internas e como tudo isso se converge e o papo vai ser muito bom é misterioso é misterioso mas aguarde aqui que a conversa vai desenrolar para falar desse assunto comigo aqui tem dois caras que pô não preciso mais apresentar né É quase eh tão comum quanto eu aqui nesse podcast udis carim meu irmãozinho Obrigado Wel de 2,60 m meu Obrigado pelo convite você é da casa já e uzito suave Valeu pelo convite obrigado por ter aceitado a pauta sugestão do meu amigo que desenrolou esse assunto super pertinente aqui e abstrato e abstrato e faz parte abstração é é arte da arquitetura né e eu quero deixar o convite para você aqui que está participando desse podcast como ouvinte para participar de fato da discussão então se você está ouvindo aqui seja no Spotify no YouTube Deixa o seu comentário participa aqui com a gente a gente vai participar com vocês e responder e eu vou passar para esses caras aqui que estão trabalhando com a gente e e fazer essa interação junto com o nosso público Então coloca aqui seu comentário em eh faça um encaminhamento desse podcast para para outras pessoas que você acha que vai contribuir com com esse com esse conteúdo e deixa o like né seja no Spotify seja no YouTube E também temos uma grande novidade aqui que você pode ser membro do podcast certo Bufunfa Como é que faz o o Arturzinho para ser membro do podcast no em qualquer vídeo do canal ou na própria descrição do canal vai ter um botãozinho seja membro seja membro lá no YouTube e você vai poder contribuir com a gente aqui pagar a cerveja do do Valdir que esse homem é grande Ele bebe bastante cerveja então contribua aqui com o podcast se a gente pode contribuir com você contribua conosco e vamos lá que esse episódio tá muito bom [Música] bora [Aplausos] muito bem mais um episódio aqui que nós vamos falar sobre dessa vez um assunto bem específico né é api é api não deixa de ser mas é freestyle mas é freestyle boa né e e é um um assunto um pouco mais específico né vamos falar sobre como conectar esse esse com com o mundo de fora porque ah engraçado cara porque geralmente a gente fala de como expor Exato eu sou o provedor né fora é agora nós vamos falar sobre como ser clientes hum dessa parada Qual a complexidade disso e e como isso converge também com a estratégia de ser um provedor e lidar também com a característica de ser cliente isso fala sobre web Hook por exemplo isso fala sobre responsabilidade de epis porque quando você tá projetando uma ap uma integração de empresa para empresa por exemplo você tem sempre aquela característica de quem é o Trigger ou não quando a pii não existe você tá modelando com os dois Quem gera o estímulo quem é o o o o o ativo digamos assim no começo pegou mal essa frase ficou ficou ruim ficou ruim quem é o ele ele faltou ele falar assim né quem vai excitar a API pô tá começando Episódio sério gente vocês já desvirtuar tudo ele tem uma carinha de que quando pergunta se é por aproximação pagamento ele fala não é de penetrar Nossa que bosta essa foi pesada essa foi pesada e é porque hoje a gente tá gravando mais tarde epis É verdade já o segundo episódio já gravou mais um aqui tá tá ozinho tá criativo né mas quando a gente fala de de integração com com terceiros por exemplo você tem uma API que você expõe seus dados e você tem alguns métodos de persistência E você tem um parceiro que também tem um api Que expõe seus dados e tem seu sua API de de seus métodos ali de persistência quem inicia a transação persistência do quê responder como todo bom sor Depende você tá pronto para Senor arquiteto boa mandou muito bem agora mas geralmente são apis que estão consolidadas já Ah entendi o que você tá falando você já tem as apis ali entendeu então você tá falando assim ó tem dois ecossistema ecossistemas de api já eh em plena maturidade as empresas elas eh vão começar ali um um negócio e aí elas precisam eh eh ter essa integração né é cara assim desse jeito que você tá falando a gente a gente precisa colocar um contexto aí né Então aí como o arquiteto eu abstrair totalmente para que vocês tenam instancia você a classe agora E cria um caso de uso bom vamos colocar um contexto eh eu tenho um ecossistema de API de uma loja e eu preciso entregar os produtos que eu vendo Então a partir do momento que eu faço uma venda a venda foi interna né E aí eu vou estimular um API de delivery de de de de entrega né então eu eu vou estimular essa Api para que ela vou mandar os dados lá do do do pacote da data de de separação enfim aí eu vou fazer tudo isso para que o responsável pela entrega Receba essa informação e aí ele faça a gestão que ele tiver que fazer para que na data que eu mandei ele chegue lá para na doc para pegar o pedido certo então o o estímulo acabou vindo da minha loja a partir de uma compra né esse caso de uso ele é bem objetivo né porque você tá falando de uma transação de negócio que tem uma sequência razoavelmente definida mas quero dar uma complexidade no no assunto não vem inventar moda n vai inventar moda porque arquiteto gosta de fazer isso eh imagina que você tenha duas empresas que tem negócios semelhantes mas tem parcerias dois consultórios por exemplo e elas precisam compartilhar uma agenda e elas têm casos de uso semelhantes e elas vão expor e entregar apis de persistência quem passa ser o agente a o Trigger ativo e o Trigger receptivo em cada um dos casos as os dois consultórios eles compartilham a mesma agenda isso então os dois consultórios eles têm que e concorrer pelos Slots Livres deo de agendamento ali ou eu posso vamos supor Eu tenho dois consultórios que um mesmo médico atende no nas duas nas duas agendas E aí eu preciso por exemplo notificar um outro que tipo ó esse médico ele vai est comigo nesse horário você não pode marcar aí entendeu Entendi então você então um tem que ter visibilidade do outro é só que vamos lá né para esse cenário que você botou aqui de novo Quando é que eu vou concorrer pela agenda do do médico Quando eu tiver uma necessidade Então a partir do momento que o meu paciente liga no consultório Fala com a Dona Regina da recepção ela vai verificar um sistema que tem a os quais Slots disponíveis né e E aí o o sisteminha da dona Regina ele vai lá fazer uma consulta né nessa nesse centralizador e a partir do momento que ele fecha a o slot ele também vai mandar essa informação para esse centralizador de de de de de agenda que por sua vez vai notificar quem estiver escutando né então você falou aqui nesse cenário a gente teve teve dois tipos de API APS síncronas para eu poder pegar o os dados e e também fazer o o o fechamento do slot e APS assíncronas que recebem a notificação que aquele slot ele tá eh ocupado né então eu tive dois dois estimuladores aí né o primeiro o sistema de quem tava fechando a agenda e depois do centralizador notificando a todos os envolvidos Mas você percebe que os dois podem ser centralizadores Ah tá você não tá falando de uma de uma agenda centralizada você est fazendo uma de uma agenda descentralizada são duas agendas que uma precisa est notificada da outra entende a complexidade da parada Hum E isso acontece algumas vezes por exemplo em Marketplace que você precisa gerar notificação de um pros outros com uma certa da frequência de de bases que são descentralizadas quando você tá num num ecossistema interno por exemplo você consegue resolver isso de uma forma mais simples com mensageria porque você faz um de um para n ou de n para n o tempo todo mas via pi Você tem uma certa complexidade e aí eu vou dizer por geralmente quando você tem uma p exposta pro mundo você geralmente pensa em você seu normatizador ali da parada né você tá sempre ali no no no baseline daquilo né então por exemplo nesse caso você poderia ser o agente que normatiza agenda você tá falando da normatização da do dado ali ou você tá falando da da assinatura das apis da assinatura das apis é você precisa ter um não você precisa ter um alinhamento em comum isso aí isso aí é é isso é evidente Então se vamos pegar o cenário do hl7 que a gente conhece bem né que é aquele padrão de de troca de informações de saúde que é normatizado mundialmente E aí as as os governos T cada vez mais incentivando o uso dele né Você tem um padrão que foi de alinhado de forma comum mas aí você tem uma assinatura padrão e não um fluxo de integração que seja comum Concorda porque você mas isso sempre vai ser específico né então mas esse é o ponto se o fluxo for muito específico você prejudica o reuso da parada concorda ou eu tô sendo muito abstrato eu acho que você está sendo muito abstrato eu acho que você tá viajando na maionese cara não eu falei que eu tô sendo abstrato não viajando na maion vamos vamos vamos aqui vamos falar abstr não porque vamos trazer aqui para um cenário eh pragmático pra gente resolver esse problema né então a gente tem um ecossistema que as mensagens fluem entre eles vamos pegar o ecossistema de saúde onde você tem que todos os agentes de saúde Tem que compartilhar as informações certo eh você tem lá a normatização da das apis E aí quem estimula o ecossistema quem precisa do dado ou quem publica o dado né quem entrega o dado ali que tá sempre mandando PR PR pros parceiros né então acho o ponto principal é geralmente você tem casos de de apis que são meramente de persistência ou pensadas em ser persistência mas que não estão pensadas em expor o dado se você consegue ter uma modelagem que Você cons eu queria chegar nesse ponto com vocês se você consegue ter uma modelagem de uma API que ela consegue ser tanto expositiva quanto de persistência dependendo do caso de uso você consegue abstrair isso para que ela consiga ser repe receptiva e Ativa ao mesmo tempo e aí se ela consegue ser eh se ela consegue ser gatilho ou se ela consegue ser gatilhada só depende do caso de uso de negócio concorda o voltando no caso das agendas tem dois consultórios com duas agendas distribuídas eu preciso notificar sempre que um for persistido notificar o outro não importa a sequência as duas apis precisam ter métodos de leitura para eu saber se aquele se aquele slot está disponível e as duas apis prão ter métodos de persistência para para que eu consiga reservar um slot reservar um slot em pé de igualdade porque aí não importa quem gatil concordam tudo bem O não concorda Esse é o jeito dele falar não concorda eu acho que você tá falando faz todo sentido cara é que eu acho que não não precisa se aprofundar tanto em quem é gatil e quem vai ser engatilhado mas o problema é que quando você nesse ponto de modelagem para quando quando você não tem exatamente um ponto de de partida dessas apis que você tá falando de uma empresa para outra empresa A modelagem Ela é super importante porque a gente quantas vezes já não lidou com a com a PIS que você não não não previa por exemplo um estímulo de um agente externo e se nós estamos aqui focando numa pauta de integração com o mundo o ponto que eu quero puxar com vocês é A modelagem da pi Ela é super importante para que você esteja preparado para todos os casos de uso quando você se integra com o ecossistema que é diferente de você modelar um web service para caso específico quando você tá com uso local ali dentro da da própria companhia concordam mas aí a partir do momento que você tem um api que vai fazer a persistência e devolver dados você é dono daquele domínio é você quem faz a gestão é você que determina o que que é possível fazer ou não tipo você não precisa deixar tão abstrato assim não eu concordo mas você geralmente não lida com esses casos de uso dentro de um ecossistema mais amplo concorda Às vezes você tem apis que são só de leitura apis Gets o tempo todo tá bom e que são apis de estímulo que só vão receber esse tipo de estímulo cara tem um tipo de de propósito mas se você vai tá dentro num contexto de um caso de uso mais amplo você tem que considerar todas essas possibilidades principalmente se você tá lidando com um contexto mais amplo de ecossistema Beleza você quer chegar onde com isso é pior que eu eu não sei onde é que ele quer chegar ele tá dando a volta na gente Artur tá dando a volta daqui a pouco ele vem com o enforca gata aí ponto que eu quero chegar é como que você lida com uma modelagem de apis que seja eficiente para atender todos os casos de uso dentro de ecosistema que você não sabe exatamente se você vai ser o gatilho não gatilho e todos os casos de uso por qu Se você pegar um único caso de uso agora vou esse é o laço valdin Se você olhar só um único caso de uso baseado naquela pi você tem muita dificuldade de trabalhar o reuso E como que eu consigo modelar aquela ap de forma que atenda todas as as necessidades do domínio do produto que ela atende é no meu ponto de vista você não precisa ser tão audacioso assim no primeiro momento é não não vejo para que ser tão abstrato assim exato É eu acho que a gente tem que caminhar sempre com casos práticos e e pensando na modelagem com como você tá falando né então a gente fala muito de api first a gente fala muito de e design Thinking né então conhecer o o o cenário que você tá vivendo o negócio que você quer atender e pensar em steps né então depois que você desenhou todo o Ou pelo menos parte do modelo negócio que você quer atender aí você vai lá e desenha uma API para aquilo para você ter feedback né feedback real do que tá acontecendo E aí você vai evoluindo a sua api conforme você vai tendo mais necessidades então ah no primeiro momento que você tem 10 clientes e essa pi ela tá satisfazendo esses 10 clientes tá tudo bem ah não tá satisfazendo então você tem e input para poder evoluir ela a partir do momento que você tem 15 eh clientes e cinco já tão meio pedindo coisas novas perfeito porque você vai evoluir elas para atender aquele aquele e aquela necessidade né E aí a gente sempre tá falando da dos mesmos conceitos de arquitetura que a gente trata em vários episódios aqui né que é o tal da arquitetura emergente e arquitetura intencional então a gente faz aí a partir disso arquiteturas emergentes que vão levando a gente para esse todo aí que você tá falando que seria uma arquitetura intencional né Eh você concorda que tem um desafio nesse nesse ponto porque quando eu falo de api eu falo de consumo contínuo ali tem um cliente que tá consumindo aquela api que a gente já criou por exemplo esses 10 clientes iniciais perfeito e eu Concordo totalmente com a com a visão evolutiva do do do produto da AP etc mas aí se eu tem uma nova versão disso concorda que eu tenho uma tem que ter uma capacidade de gestão de versionar essa AP para poder ter todo um ciclo de de de de vida dessa pi para tornar aqueles outros métodos depreciáveis etc e aí eu teria que ter ou eu crio outros métodos que complementam aquele que não atendem mais ou eu crio outros métodos que não tinham necessidade anteriormente que aí fica mais fácil de gerir né A sim você tá falando de qual a política de versionamento que você vai usar o teu ecossistema né então você tem versionamento da próprias das próprias apis você tem um versionamento dos códigos que suportam as apis isso são coisas diferentes né perfeitamente e E aí assim você pode fazer isso de com vários sabores né mas mas é algo que é natural pra gente que trabalha com com ecossistemas de api E você também falou aí né do ciclo de vida de de apis né o Api Management né então tem uma parte burocrática que a gente tem que ter com todos os nossos consumidores a gente tem que deixar claro para eles que as apis elas evoluem tem que dar para eles um uma notificação de quandoas elas vão evoluir né então o seu portal de desenvolvimento você vai mandar e-mail pros pros administradores do do dos sistemas consumidores ó a gente vai mudar aqui beleza então em determinado período eu vou ter a versão eh dois e a versão um coexistindo mas poxa você tem dias aí para mudar 60 dias né Isso é a parte burocrática do ponto de vista sistêmico você você pode escolher se você vai no teu código novo adaptar para ele também atender o antigo ou se você vai deixar duas instâncias do teu código rodando né mas mas faz parte da disciplina div versionamento que tá dentro do do ciclo de vida eh de um api Management né que que você acha e Artur eu tô fechado com você cara Wellington viajou para mim quis dar a volta na gente Caraca velho eu quero chegar agora no ponto da gente falar do outro lado do se você é esse consumidor aí que aí que quer chegar vamos lá eu liguei pro Wellington aqui vamos vamos simular aqui ô Wellington tudo bem cara pô eu vou mudar minhas api cara vou mudar tudo aqui vou mudar em 60 dias se vira que que você vai fazer E aí você não tem time de desenvolvimento não para PR Esse é problema seu é quando você tá se integrando com terceiros é um risco que você corre você sabe que não é assim que funciona no mundo real né mas o o ponto é 60 dias não mas com um prazo um pouquinho maior sim cara não Claro claro Sem dúvida isso tem que entrar no isso depende da criticidade de negócio etc tem too uma questão aqui de de prioridades né se é um API de consulta de CP você vai quebrar uma aplicação e ninguém vai né se for de pagamento né for de pagamento a empresa para receber Exatamente exatamente então tem tem tem um uma questão mas então eu acho que agora a gente gerou o cenário que você queria né então eu fiz essa ligação para você e aí você vai alterar todos os seus sistemas que consumi api então é É como gerir esse Impacto né É como é que você lida com fornecer e consumir apis ao mesmo tempo e como que é essa operação de trabalhar com esse ecossistema porque a gente sempre falou de como expor as apis né mas eu tenho casos onde eu vou consumir muito mais apis do que Expor essas apis então então vamos di como que eu trabalho a governança e e e esse processo desse ciclo de vida que impacta diretamente meu backand Entendi então em vez de eu ligar pro Eu liguei para você Artur o que que você faz cara ô Artur tudo bem e cara vou mudar minhas ap tudo aqui você tem 60 dias para mudar sua sua operação beleza que que você faria Artur eu mando uma mensagem pro screw [Risadas] Master cara pensando como cliente você não tem muito o que fazer você tem que buscar junto com aquele terceiro O que quais são as modificações e e aplicar porque se você tá integrando com um terceiro assim provavelmente isso é crucial pro seu negócio então tem que tem que se adaptar não tem muito para onde correr e pensando sendo esse terceiro né Eu acho não pode feri um dos princípios voltando na base de tudo né do Solid Open Close principle por por exemplo cara você tem que ser fechado para modificações Mas você tem que ser aberto a coisas novas então tipo a sua peia ela pode sim crescer de forma desenfreada sem problemas mas nunca modificar o que tava acontecendo antes nunca sair deprec na loucura dessa forma pô se um cenário desse acontece cara Provavelmente você vai ter que se adaptar não tem muito para onde correr aí mas é uma cachorrada fazer isso quero falar com você agora quem ainda não conhece é Clever Clever é uma empresa que já tem mais de 3 milhões de usuários em 30 países com 30 idiomas diferentes que tem trazido Soluções em blockchain criptomoedas e ativos digitais o objetivo da Clever é te dar liberdade financeira para operar nesse mercado de cripto então se você acredita nisso se você acredita nessa Liberdade você já Pensa como a Clever vai conhecer os caras é Clever Paio estão contratando também pessoal para trabalhar com cripto com blockchain então se você tem interesse se você tem conhecimento nessa área pro procura Clever se você gosta de criptomoedas se você opera no mercado você precisa conhecer a Clever precisa conhecer as soluções da Clever então o endereço tá aqui embaixo no vídeo para quem não tá no YouTube é Clever pai vai lá vai conhecer que realmente é um mercado
sensacional E aí entra no ponto que eu tava discutindo lá no começo se você faz uma modelagem Inicial que tá muito personalizada tá ferindo isso que a gente tá falando Solid eu não deveria de de depreciar depreciar deprecar é uma legal porque é deprecated mas portuguis né então mas mas deve Portuguesa de uma forma legal é cência poética cência poética deprecar é muito mais legal então você pode você não pode deprecar esses métodos porque você fez específico pros seus 10 primeiros clientes isso que eu falei da modelagem Inicial Será que não tem que ter um carinho ali para tipo ser mais abstrato possível e que depois quando eu crescer isso ela eu eu cresça adicionando outros métodos mas não mude os métodos que já existem então tem tem que ter um pouco desse desse ponto aí né e e cara na prática quando a gente fala de de de Business chega uma demanda dessa o cara vai fala bicho isso aqui qual qual que é o impacto quanto eu vou ganhar de dinheiro Isso se se eu vou ganhar muito dinheiro com aquilo quanto eu vou perder Qual o impacto no meu negócio é tipo facilidade do usuário sou sorry n vai entrar no backlog lá né E como é que a gente gere isso do ponto de vista de tecnologia dentro da da da companhia como é que cente trabalha com com esse ciclo de APS que você consome porque isso é muito crítico é muito comum a gente ter uma arquitetura que a aplicação acessa direto essas apis e você não tem um ciclo de governança do ciclo de vida da do temp do terceiro éo de forma corporativa né então Exemplo né Eh eu tenho uma aplicação minha aplicação ela é um sistema de pizzaria e ela tem uma parte lá que faz a cobrança da pizza que eu vou entregar usando o sistema de terceiro Então eu preciso proteger a minha aplicação de pizzaria de possíveis evoluções do sistema de terceiro para que eu possa me adaptar rapidamente certo e eu não perca vendas das minhas pizzas esse cenário que você tá querendo trazer você quando a aplicação lida direto com o terceiro ela está suscetível a essa flutuação do versionamento da flutuação da P de terceiro como que eu protejo esse cara dessa aplicação para que ela consiga ter uma certa estabilidade digamos assim Tanto do ponto de vista de monitoramento né porque eu posso seria muito ruim do ponto de vista de governança se eu descobrisse em runtime na hora que tô chamando api na própria aplicação na hora que eu tô chamando ap que aquela ap tá fora é mas na prática é isso que acontece né porque você não tem como fazer uma observabilidade de um de um software de terceiro não do software mas se o endp tá respondendo ou não Ah beleza você consegue fazer um Heal check ali eu poderia ter um Heal check mas sempre vai ser em runtime né Mas esse runtime não pode não precisa ser o runtime que tá com usuário né eu posso ter um Half check intermediário ali e é mas eu eu não eu acho que uma vez eu precisei estudar a pid Mastercard né e E lá eles tinham uma solução interessante para isso na no próprio endp todo end Point ele tinha lá um uma sessão de de informações gerais né e nessas informações eles colocavam essas essas questões por exemplo de de inspiração daquele eh daquele aquela versão né tipo ah nós vamos mudar essa versão aqui em tant tempo ela vai ficar decada ou mensagens para pro consumidor né então é uma forma automática de você notificar quem tá consumindo a sua apid de que algo está acontecendo mesmo que em runtime mas eu acho que o que você tá querendo provocar aqui né well é que a gente tem que botar uma camada né uma camada de proteção para Arquitetura do meu software né da mesma forma que internamente a gente cria às vezes client Às vezes a gente cria api Gateway né o próprio service MH ele é uma camada para isso e você tá falando que a gente tem tem que proteger a nossa arquitetura de possíveis alterações externas né Para que quando isso acontecer a gente consiga ser pontual e abrangente pontual na alteração abrangente No Impacto dessa alteração certo é isso o o ponto é será que eu fazer a minha aplicação em runtime lidar direto com mundo externo não tem uma flutuação tão grande não não posso ter uma camada emm de área que eu consiga mudar de forma mais simples do que mudar a aplicação que lida com regra de negócio uma rota um parâmetro alguma coisa do tipo que está mais acessível e não impactar exatamente a rota de desenvolvimento da aplicação que atende o negócio isso é um ponto interessante porque eh geralmente o consumo de apis eh em algumas empresas tem uma maturidade um pouco maior tem esse tipo de contro controle mais assertivo do que é consumido para dentro do mundo interno inclusive até alguns casos de de de de governança mesmo de que a sua a sua api no no mod runtime onde ela tá ela não tem acesso ao mundo externo ela só chega no mundo no mundo externo através de um de uma camada intermediária que faz esse roteamento para fora e que pode facilitar você ter algum tipo de de modificação do do do tipo de dado etc sem ter impacto na aplicação em si sabe e quando você tá comunicando com terceiro também vai além do código né é um acordo comercial entre duas empresas Você pode ter esse tipo de requisito de disponibilidade e tempo de mudança contratualmente é um contrato não um contrato Jon lá do restful mas é um contrato comercial né que as pessoas assinam aquela [ __ ] lá mas aí você cont Você concorda que se você tiver uma modificação no contexto de negócio aí é coisa é diferente porque a você tem evolução dos dois lados né O problema é quando a evolução é só tecnológica E aí você pode ter um problema tipo ah não agora nós não vamos aceitar mais determinado parâmetro no formato tal mas no formato tal e aí você não tem Impacto de negócio mas tem impacto nos assets ali que estão rodando né é cara assim o jogo é esse mesmo né a gente e a gente faz isso em com tudo na arquitetura de software né a gente tenta eh isolar os problemas em Componentes específicos pra gente eh gerir o impacto né então e e diminuir eh alterações aumentar reuso enfim né então o o grande ponto aqui é você criar uma camada de proteção né dos seus softwares e o mundo externo você pode fazer isso no seu IPI Gate e você pode fazer isso no microsserviço E aí você já tem né o sistemas de monitoramento que você usa para as as apis que você expõe ou pros seus microserviços que você já já tem ali né Toda Sua lógica de negócio você também vai acabar usando isso para entender como é que tá a o o o a saúde né desses acessos externos então a pô tá tá lento para caramba a api externa que eu tô acessando para para fazer busca de CP Então você vai ter lá o teu teu microsserviço tua api E você já vai extrair essas eh essas métricas E aí a sua seu ecossistema vai vai ficar alertando isso para você eh indisponibilidade também né Desse jeito você já consegue eh colocar colocar o seu o seu Parque Tecnológico para responder de isso para você né poxa tá indisponível ah cria um chamado em tal lugar e você pode também é colocar um mecanismo de service Break né circuit Breaker desculpa e você já coloca ali no teu na tua camada interna de proteção né lá no no mundo Java né quando a gente agora vai falou de Java agora vai agora vai não mas a gente já tá bem acostumado em fazer isso né porque você cria eh muitas vezes você cria jars né que s S bibliotecas com código que você tá preocupado já em reusar né que encapsulam esses tipos de regra eh e aí quando a gente tá falando aqui do mundo de apis a gente tá levando esse mesmo conceito paraa outra camada né então eu eu tô entendendo aqui que a sua provocação é muito essa né a a o quanto é bom né e a gente tá entendendo que é uma uma coisa boa eu criar essa camada na minha arquitetura para eu poder defender eh a a as minhas aplicações de de indisponibilidades internas vulnerabilidades eh internas não desculpa externas né vou te dar um exemplo eu eu aqui a gente a gente teve um episódio né Há algum tempo atrás lá da da própria CCE né e a gente comentou da da evolução que que a Webber tá fazendo lá junto com eles na arquitetura de integração Inclusive a gente fez um bmk lá com o grande Artur aqui também que ajudou a gente monstro o monstro né e nosso M Arturzinho E lá eles TM uma arquitetura eh de de integração né que tá muito claro para eles que eles nos sistemas internos eles não devem acessar ferramentas de terceiro também então exemplo lá eh a gente tem um o w fresco para poder ser o Jed né Eh a gente não acessa diretamente ele a gente acessa o o broker né que tem um monte tem um conjunto de apis de operações que acessam uhum o o alfresco e desse jeito também a gente se protege de lockin então a gente consegue pensar em mudar o alfresco eh rapidamente se a gente mexer ali naqueles componentes né e várias aplicações da CC elas geram arquivos e armazenam lá então só mexendo no na ferramenta ali que que no passado era muito pensada para expor né né que é o IBM broker a gente tá a gente acabou criando essa essa camada ali né então só mexendo ali a gente também protege todos os sistemas internos né e éessa uma questão que eu queria levantar aqui a gente chegou no ponto que eu queria provocá-los faz sentido ter um broker de serviços monolítico e estático como é comum a gente ver hoje ou o conceito ainda aa é válido e a gente pode levar para uma arquitetura mais moderna baseada em microsserviços com a p Camel etc o conceito ele ainda é válido e eu posso modernizar ou a gente tá numa outra num outro cenário de arquitetura de que esse tipo de integração ela já fica obsoleta Qual a visão de vocês quer falar Artur depois eu fal pode falar pode falar o conceito é a mediação né então assim cara design pattern de integração cara ele é é vívido ele ele tá lá pungente a gente tem que fazer uso dele ponto final conceito as formas que a gente implementa elas vão mudando porque a tecnologia vai mudando também né e normalmente se adota uma implementação defensiva né para poder se proteger dessas sim dessas falhas que o wellon tá tentando levantar todo momento aqui exatamente eh então devemos continuar com esses conceitos né Eh e a gente tem formas de fazer de um jeito mais fácil hoje quando a gente fala de microsserviço Poxa por que eu não posso criar um microsserviço que ele conté ali a a api que vai é vai ele contém uma API que encapsula a regra de negócio para acessar o al fresco aqui no meu exemplo né ou vai acessar um um acessar um Gateway de pagamento Tem empresas cara que eh por ex minha esposa trabalha numa empresa de saúde e ela ela não pô o negócio é saúde não é pagamento só que ela precisa passar o cartão do cliente então por que que ela vai ligar o software dela direto no GAT de pagamento de uma determinada empresa e aí depois ela quer mudar por que que ela quer mudar ah às vezes fica muito caro de um ano pro outro o reajuste e do licenciamento acaba ficando caro né então você ter essa possibilidade de mudar porque pagamento é pagamento a pegada é o seguinte tira o dinheiro da conta de um e passa paraa sua né então não tem uma uma especificidade que te obrigue a ficar com um provedor né vou te falar outro exemplo também interessante cara eh inteligência inteligência artificial eh Poxa as apis das inteligências artificiais elas são diferentes e e cada cada momento a gente tá vivendo isso agora né Muito forte a as as as máquinas de Inteligência Artificial elas estão brigando de forma ferrenha para uma ser melhor que a outra então por que que eu vou casar com o Watson por que que eu vou casar com a a o open api né E por que que eu não crio uma camada minha interna que aí vai agora Chegamos no ponto que aí vai fazer a abstração do acesso externo né e então assim é uma mediação tá me protegendo do lockin que é uma coisa que a gente fala também constantemente né e o arquiteto tem que pensar nisso e o loquin o o eu vi um ponto interessante outro dia no Linkedin né que um amigo postou que ele tava lá na naquele evento da WS né ele falou Poxa arquitetura frugal né e e ele falou Poxa os arquitetos eles têm que pensar que as soluções Elas têm que ser sustentáveis você falou um nome bonito frug grau frug grau é F na frug grau aqui para Ah cara é muito difícil eu não sei não bota a bota nos comentários aí Pergunta pro chat tpt pergunta pro Eu queria botar na minha próxima apresentação na empresa arquitetura frug Graal cara é cara é assim é o pelo que eu pesquisei né É ela é assim é simples é é o foco é ser simples você não foi frugal você não foi frugal não é que assim a vocabulário de vocês que é limitado limit é esse vocabulário de Twitter de vocês é mas Twitter é x ex né switter shwi switter então é que é complicado bicho mas o ponto é o arquitet ele tem que pensar muito na parte financeira da da da solução né a gente fala muito disso também no finops e tudo mais né mas poxa cara e o loquin ele ele entra muito nisso n Poxa você entra uma uma solução você casou com ela depois ela fica muito cara que que você faz então esse tipo de componente que a gente tá falando aqui que é que ele implementa o conceito de mediação Resolve isso para você então a gente foi falando várias situações que que justificam você defender a sua arquitetura interna de uma volatilidade externa E aí o ponto que eu queria chegar faz sentido se você queria chegar aqui e você sabia onde você queria chegar você podia ter começado de trás para frente cara só queria deixar você vocês confusos mas faz sentido Então eu estou consumindo um um serviço externo faz sentido ter uma camada intermediária onde eu remodelo essa chamada para dentro da da da minha empresa porque aí eu consigo evitar o louquinho eu consigo ter eu faz sentido eu ter por exemplo tô chamando na Open Open a eu tenho métodos ali da AP do da Open a que são muito específicos da Open a certo faz sentido eu ter um uma modelagem dentro do meu barramento que eu simplifico ou eu especializo isso para dentro das minhas aplicações e as minhas aplicações passam a ver um contrato único que não é especializado pelo pelo vendor e que cara amanhã uma empresa que está consumindo uma aplicação que está consumindo a minha a a o meu serviço de inteligência artificial não sabe se é openi se é Gini o que o que o enfim se é os dois juntos se é os dois juntos ou se eu consigo chavear Pô Essa P tá fora eu jogo naquela outra e eu especializo e por que que eu fiz essa provocação desde o começo porque a gente tá falando de modelagem de apis que não é de dentro para fora mas de fora para dentro Faz Sentido remodelar um API de Fora para consumo interno não acho que depende da cardinalidade cara agora buguei vocês depende da cardinalidade Delícia consegui cons bu que se você tem um caso específico é muito fácil de resolver você começa daí é simples assim e sim faz sentido você ter esse barramento beleza só que aí você vai pecar também em acoplamento você vai ter todos os seus serviços internos acoplados naquele barramento mas é melhor do que tá com externo e aí depois você vai você vai gerindo essa evolução depois e v vamos voltar né do do que a gente falou lá no começo quando você tava viajando na maionese quer dizer sendo abstrato e Pô a gente precisa de casos concretos cara se a gente não trabalha em cima de casos concretos a gente gasta dinheiro à toa então mas cara eu acho que às vezes a gente o caso concreto ele faz sentido Mas qual que é a nossa função como arquiteto é deixar essa [ __ ] mais escalável é você mesmo você mesmo falava o seguinte ó não não é especializar você mesmo falar ah deixar o pluguinho da do Fio da tomada lá né para para puxar uma outro plug de deixar o fio de energia para plugar uma nova tomada lá enfim e cara inicialmente se você não conhece de uma forma e contundente ferrenha se você não não é um especialista em determinado assunto tudo bem coloca a camada ali de de abstração que você já tá fazendo parte do trabalho cara é o ponto é esse assim não não não dá para você gastar energia toda hora para aprender de tudo né então você também precisa defender a entrega isso é importante também o arquiteto fazer esse tradeoff né ele precisa entregar B você que tá vendo esse podcast da hora tá vendo um monte de problema aqui que a gente tá colocando né e Quer uma ajuda aí na sua empresa faz o seguinte entra no site aqui da VMB que a gente pode te ajudar vem be.io nós somos uma empresa relacionada à arquitetura de soluções a modernizações de aplicações também atuamos na F devops para ajudar vocês a serem extremamente ágeis então dá uma olhada no nosso site que vai est aqui embaixo vem. e lá você vai poder ver um pouquinho da nossa história dos nossos profissionais e aproveitando se você for um profissional da área de tecnologia que tá a fim de trabalhar numa empresa legal um monte de colega gente boa e tecnologia de ponta manda o e-mail para people care @v be.io já agora eu quero meu show o o que eu quero o que eu quero saber é faz sentido eu ter uma governança sobre os contratos externos ah perfeito ah isso faz pô Claro que faz porque que e e o Artur já deu a letra aqui eh na pergunta passada ele falou a gente tem que se proteger cara se proteger bicho é ou não é mas nem sempre é possível né porque se por exemplo eh eu consigo me proteger bem Tend no barramento interno aqui é quando eu tenho informma tenho flutuação ali do contrato que não é tão relevante mas se eu tenho tipo tem que mandar mais informação do na chamada etc inevitavelmente eu tenho que propagar isso para pro clent e eu tenho que atualizar o meu contrato também é só que às vezes você pode no seu barramento chama dois lugar aí chamando po faz composição é que vai além do barramento vai de como você pensa a arquitetura do seu fluxo de negócio né No final das contas porque por exemplo vamos supor lá que eu tenho eu tenho algum lugar que eu vendo um curso pô sou Coach agora vou vender curso coaching quântico Coach quântico aí Coach quântico exatamente E aí o pagamento disso é feito pela pelo checkout da hotmart por exemplo tem uma pi pública lá que você pode fazer uso eventualmente seu usuário compra e essa pi ela tá off tá te retornando 503 lá na na na caruda vai muito da arquitetura que eu desenvolvo para me proteger disso né porque por exemplo no caso de pagamento eu posso simplesmente segurar o cara lá como pendente ou em análise e deixar ard lá até que uma hora essa P vai voltar e eu vou conseguir resposta tem é isso depende Daura da solução como todo né is se fosse uma uma recarga de celular por exemplo que a resposta tem que ser imediata ou a recarga de bilhete único por exemplo que tem que ser imediato pro cara usar porque ele fez igual eu e deixou para carregar na catraca travando 10 pessoas para trás a resposta tem que ser na hora ali aí aí vale a pena você simplesmente lidar com o erro você fala cara não consigo Então mas não é só o erro mas por exemplo acho que o ponto aqui é abstração do ponto final mas por você abstrair tanto Tod são todas essas coisas aqui que a Falé ex o financeiro eu eu eu eu entendo assim ó eu posso ter um api pro cartão do bilhete único Esse cara é o é específico tem jeito eu posso ter no barramento aqui só um proxy que não vou mudar nada o bilhete único vai ser sempre bilhete único Mas eu posso ter uma API chamada interna para fazer o pagamento que pode ter vários bancos ou vários vendors aqui e aí pô tentei fazer o pagamento por um e não rolou posso tentar pro outro fazer um Trot para outro para outro para outro e quem chamou a ap internamente que pode eu posso ter uma API de pagamento interna de pagamento com alguns dados padrão e que eu posso fazer throttling e revesar esses pontos internos e a aplicação que chamou não sabe se eu paguei na VISA se paguei na mastercar se eu paguei no Santander não importa eu posso fazer isso então eu consigo ter esse tipo de abstração mas eu concordo contigo no caso tipo se for um serviço muito específico não faz sentido eu ter a remodelagem de contrato interno Mas será que eu ter um serviço interno de pagamento que não é específico do vendor ou da entidade financeira não faz sentido depende Cara depende você não aumenta muito a complexidade não sei de algo que você tá contratando um terceiro para fazer prisa você precisa você precisa nessa situação e avaliar como arquiteto né você precisa identificar os prós e contras e e seguir na escolher uma linha tradeoff não dá para você ser perfeito cara você nunca vai ser feliz em todos os cenários todos os cenários você vai nesse caso aí que você tá querendo trazer pra gente precisa analisar mas o ponto que a gente depende não precisa analisar depende para chegar para chegar numa resposta agora o que a gente tá falando aqui que é importante é essa proteção da sua da sua solução né então como colocando uma abstração no meio vou dar posso dar um exemplo mais sim porque eu acho que o exemplo que eu dei ele é muito complexo envolve pagamento etc envio de sms quantos Brokers você tem de envio de sms n n faz sentido uma aplicação chamar direto broker mas a gente já falou que não E aí você tá muito agressivo agora eu tô agressivo três perguntas ats não chegava on você queria chegar e aí veja bem faz sentido eu ter um mtodo P interna de ví SMS Esse é o ponto que eu quero chegar a gente já falou que sim obrigado gente não faz todo sentido a gente isso a gente já concordou o que a gente tá falando que depende é o formato né você tava apertando a gente para falar pô o que que vocês acham de se eu tenho que ter exatamente o mesmo a mesma assinatura que eu tenho de um provedor externo na minha P interna e a gente falou o seguinte depende da tu maturidade se você tá num cenário onde a primeira vez que você tá mandando SMS e você pô seu provedor externo lá tem um campo telefone o outro DDD e o outro mensagem e esse provedor externo não colocou o país né e para você não faz sentido isso hoje beleza faz assim tem problema quando você vê essa necessidade de mudança ou quando você for mudar o teu eh o teu o teu fornecedor de serviço né que que você vai fazer [ __ ] mas esse fornecedor de serviço aqui o cara tá me botando um campo DDI né ah eu não tenho esse campo aqui interno mete o 55 lá e boa mas a você faz isso direto no broker mas exatamente é o que a gente tá falando e que faz muito mais sentido é pô e aí beleza você fe depende da cardinalidade o broker eu acho que se paga dependendo da cardinalidade sim se você tem muita gente consumindo esse serviço faz sentido se abstrair como um serviço interno concorda sim e que você tem a gestão de para onde vai né então você consegue ter uma uma abstração ali de trazer isso uma responsabilidade tipo beleza eu eu seguro aqui a assinatura de todo mundo que tá interno e jogo para fora concordo que para casos mais complexos com pagamento etc tem outras regras de negócio envolvidas né mas o que eu quero discutir com vocês aqui é como que eu faço a gestão do que eu trago para dentro desse ecossistema que eu tenho que gerir para fora e o que que eu especializo onde a minha aplicação de fato pode ter uma uma uma um acesso direto como que trata esse tipo de governança sabe como que como arquitetos a gente direciona isso faz uma planilha no Office 365 e compartilha com seus superiores no sharepoint cara você oits né Google Google sheets ou sharepoint é planilha no
Office posso responder que eu não sei eu posso responder que depende que eu quero responder para mim o ponto tá muito claro Cara depende do seu negócio você precisa gerir a a a forma com que você vai se comunicar com isso eh a gente já falou aqui do do SMS e Poxa é muito legal né Porque tem um monte de operadora eu vou mudando aí a operadora e não não mudo minha aplicação ponto final a gente falou do GATE de pagamento que Poxa tem até regras de negócio que eu posso botar ali naquela camada de abstração que vai simplificar minha vida Eh aí vamos um outro caso que nós não tratamos aqui é o é o ponto a ponto né poxa Quando vale a pena ser o ponto a ponto o Arthur falou da cardinalidade ah essa api ela é acessada essa api externa ela é acessada em vários lugares aqui da do meu ecossistema interno se se é só um lugar a gente tá dizendo que às vezes não precisa né Eh Em contrapartida dependendo do monitoramento que você precisa dessa api às vezes faz sentido você colocar colocar às vezes você quer ter um controle muito forte de do tempo de requisição e Cash Poxa Às vez você quer colocar cash numa P externa aí você quer botar lá no teu AP gator para gerir o Cash pode ser uma opção então de novo depende Depende do quê do teu cenário de negócio eu não sei se você tá querendo da gente aqui well uma uma bala de prata mas olha para esse cenário aqui tá com carinha de daquelas entrevistas que o entrevistador te dá um problema da empresa você resolve ele nunca mais te contata é exatamente isso isso acontece entrevista de emprego isso acontece para fornecedor também às vezes às vezes a empresa que ela faz ela não sabe resolver um problema que ela faz ela vamos fazer um projeto aqui ó faz o seguinte manda proposta aí você escreve a a proposta inteirinha vai lá apresenta dá show o cara faz o seguinte Ô faz faz um favor para mim manda proposta manda esse PDF aí manda detalhado os sprints tal isso e faz manda o template também dessas imagens aí manda o template e tá tudo certo é sacanagem mas estou aqui provocando pra gente ter uma discussão calorosa sobre porque assim o ponto é a gente fala muito sobre Gateway e exposição de de apis quando a gente tá tá expondo mas a gente fala muito pouco sobre isso no cenário interno Isso é um problema de governança grande Principalmente quando você tem cenários onde o seu ambiente de runtime ele é exposto na internet você não tem exatamente condições de ter uma governança sobre o que que aquela aplicação o que tá embarcado no desenvolvimento daquela aplicação consome ou não e às vezes o cara foi embora o cara desenvolveu tá consumindo uma ap externa ninguém sabe e ele vai embora e aí aquela PI ela ela vai ficar depreciada e ninguém viu ninguém teve notificação sobre aquilo e você sabe quando a aplicação parou Então como que a gente do ponto de vista de governança consegue fazer esse tipo de coisa e e a minha provocação aqui é se isso tem que ser rígido ou não E como flexibilizar isso porque eu acho que é é é muito difícil gerir isso que do do do processo de desenvolvimento porque cara toda aplicação hoje consome alguma coisa externa você vai mapear todos esse tipo de de de consumo dentro do seu barramento vai criar você vai criar uma sobrecarga muito grande para seu time de barramento ficar ficar mapeando entidade externa Néo não faz sentido Não eu falei que você vai colocar um uma uma energia muito forte no seu time né de barramento para ficar mapeando essas coisas externas e faz sentido faz a gente já falou falou vários momentos aqui que faz sentido né mas para para alguns casos sim para outros não sabe então é isso e e e como que a gente tem esse tradeoff tratado no no mundo do desenvolvimento sabe é muito difícil medir isso porque tem alguns casos que vão fazer muito sentido tem outros casos que não vão fazer sentido por outro lado do ponto de vista operacional como que eu trato isso eu bloqueio tipo acesso externo de todas as minhas aplicações que tão em produção em runtime não acessa a rede Externa vai me dar um problema porque algum algum momento vou precisar ter ter esse tipo de acesso é que você pode ter a melhor governança do planeta né cara a partir momento dependendo de um serviço externo tu tá na mão dos caras você você não tem controle mais aí é onde entra a parte da do desenvolvimento defensivo que Eu mencionei você arquiteta um software que se prepara pro cenário de desastre né que são APS fora ou qualquer outra exato abacaxxi que apareça Acho que até um ponto interessante que a gente fala muito aqui né que é a coreografia é você trabalhar com eventos inclusive e as suas aplicações trocarem eventos com aplicações externas e aí desse jeito você deixa ali bem Evidente o que tá acontecendo né o ponto que tá parado para que se você tiver um time ali de monitoramento ele tem Poxa tá ficando muito grande a fila de eh aguardando o pagamento aguardando aprovação de pagamento né E aí eles vão lá e atuem então mais uma vez aqui a a coreografia ela ajuda a gente para para cuidar disso né também é outra ferramenta que a gente tem que lançar a mão quando a gente tá falando de de comunicação com com componentes externos acho que eu quer gente tá tá Resumindo aqui de uma forma geral é que não existe uma solução única e tudo depende muito da arquitetura da solução como um todo do negócio depende do negócio também sim e que faz parte da arquitetura de solução né Você entendeu o a necessidade do negócio e ter essa sensibilidade daquilo que de fato pode ter um reuso daquilo que não e que não existe uma uma forma única de de lidar com esse problema né claro que muitas coisas vão ter um um um uma aplicação muito prática Porque como a gente deu um exemplo aqui eu nunca dificilmente vou trocar uma API com um de vendor com uma API com bilhete único por exemplo é muito específica Mas eu posso trocar qualquer momento sobre um API de SMS de e-mail e etc tío da vida Twi um abraço meus amigos do T né quiser Patrocinar teu logo aqui vai ficar Lindão um abraço então a a aí faz algum sentido porque são cores do negócio e que são situações muito específicas que faz sentido especializar para um AP interna né e que em outros sentidos talvez eu não não não não faça sentido ter esse esse carinho todo para isso E aí isso reflete em coisas de operação né vou restringir acesso das aplicações não faz sentido né vou ter governança sobre barramento faz sentido Mas como que eu trabalho isso de fato sem ter uma arquitetura de solução robusta para fazer isso né então tem tem tem todo um um uma complexidade do ecossistema de de desenvolvimento que tem que tá envolvido nisso né E lembrando da performance né vai botar mais um mais um um carinho no meio aí né bota tudo num redis lá que dá tá bom resolve o pior o pior que o redis eu acho que é uns dos serviços mais caros da Cloud né cara se é eu eu usava muito o o o Google né no passado e e bicho era o serviço mais caro que tinha Nossa Senhora é todo serviço em que usa memória né É É muito caro tudo que memória é muito caro né e o redis é um banco que usa memória absurdamente né cash de memória M Cash é caro enfim são serviços caros porque tem a latência muito alta né muito baixa no caso ao contrário né Muito bem meus amigos o que mais podemos dizer sobre boas práticas em gestão de consumo de apis B dia de consumo externo né Eu acho que a gente a gente falou de muitos cenários aqui o ponto eu acho que é é mais importante de todos é trate com carinho o os serviços que você tá acessando externamente porque às vezes a gente acha que é só plugar no código aí né Passa lá o cartão né o o desenvolvedor faça pro pro gerente passa lá o cartão eh corporativo que a gente precisa entregar aqui o projeto né E aí o cara esquece que tem ter uma gestão sobre isso que isso Ali vai ficar no código pro resto da vida daquele código e a empresa vai ser responsável por aquilo né então Eh o que a gente tá o resumo de tudo é gerencia esse tipo de situação e aí nós trouxemos formas de você gerenciar isso e acho que a mais feliz aqui que a gente trouxe é coloca um um componente administração no meio para você poder primeiro fazer a mediação da comunicação E aí você pode enriquecer diminuir e tal trazer mais informação para aquele para aquele request você vai ter gestão de de requisição de performance né você vai poder usar cche à vezes até D mais velocidade pra tua aplicação disponibilidade que é um ponto que vai ficar bem Evidente na tua infraestrutura versionamento que nós falamos aqui também você vai vai poder criar ali um um ponto único de alterações para poder eh a a trazer resiliência né paraas suas aplicações a partir da M mudança externa você não muda internamente ali eh enfim esse é um mecanismo muito bom pra gente gerir Esse esse tipo de situação né Arturzinho que mais você pode contribuir com isso e tenha pessoas que façam Essa gestão também né não adianta querer abraçar o mundo com a perna caramba processo de governança em cima disso faz todo sentido né ter um um time que olhe para isso e um bom como a gente falou aqui um bom time de arquitetura de soluções que consiga entender cada caso que precisa ter um acesso direto na aplicação ou ou ou que você precisa ter uma abstração maior pelo barramento Então acho que o recado maior que esse episódio traz é que cada caso é um caso né e cultura também você falou do arquiteto né esse é o tipo do problema que não é só o arquiteto que vai resolver é a cultura que você eh emprega na tua na tua Corporação né para que os desenvolvedores se sintam à vontade para levar esse tipo de situação para ser discutida num fórum é diferente e também ter ferramentas para que ele resolva isso rápido né porque o negócio é o seguinte desenvolvedor vai resolver tem que ser rápido né ele começa a codificar ali dá dois dias de Sprint tudo para porque não tem exatamente então contrato fechado e aí que vai acontecer o cara vai o cara vai chamar o a pesquisa do Google chat PT exatamente ele ele vai chamar via código a pesquisa do Google e pegar o o primeiro resultado lá e vai botar né então bicho e tem que ser rápido né e Valdir como é que a vem Bears pode ajudar a resolver esse tipo de problema para quem tá nos ouvindo Car que link pro puin [ __ ] lindo fo aqui nosso pu maravilhoso cara V pode ajudar de várias formas formas né a gente pode ajudar eh com a parte de arquitetura de soluções a gente a gente tem uma veia né nesse mundo de de de arquitetura a gente gosta muito de de de de problemas difíceis complexos para serem resolvidos e a gente entende que pensar neles antes é fundamental então a arquitetura de soluções ela ela vai te ajudar isso e a vem Bears ela tem um grupo de arquitetos fenomenais que que você pode usar eh para te ajudar na esse tipo de situações nós nós também fazemos assessment de arquitetura então se sua empresa tá passando por uma situação que você quer um direcionamento e esse direcionamento assim não vai ser um direcionamento externo né mas vai ser um direcionamento avaliando a sua situação interna eh consolidando com o ecossistema que você vive e também com o mercado né então a VB ela tem esse assessment de arquitetura que a gente usa eh técnica de design Thinking o nome do nosso produto é Tech Thinking né E aí se você olhar no nosso site no nosso canal no Linkedin tem algumas e apresentações sobre esse assunto a gente tem profissionais extremamente qualificados que a gente aloca nos clientes né seja desde arquiteto tecl leads desenvolvedores né que podem ajudar a disseminar ess essa cultura e e a gente também trabalha com squads né então se você tem aí um um problema também um produto que você quer rampar e você não sabe por onde começar a gente tem squads prontos que a gente vai lá e coloca para ajudar o cliente a a desenvolver um produto tá e evidentemente e manda um e-mail pra gente lá no comercial @ vb.
tá o link aqui embaixo na descrição independente do problema a gente vai ajudar É isso aí e você que acompanhou a gente até agora obrigado pela audiência de vocês eh se você ainda não compartilhou não deu um like não deu um comentário é muito importante sabia od sab o cara o cara tá vendo a gente discutindo aqui isso vem aqui ó compartilha aqui ó a sua opinião deixa o seu comentário deixa seu like compartilha seu o episódio com quem você e acha que vai contribuir com com essas informações e agora temos uma novidade Você pode ser membro do canal do PPT não c pila lá no YouTube então se você acha que a gente contribui de alguma forma para o seu desenvolvimento profissional se a gente traz algum tipo de informação você pode ir lá e ser membro a gente a não sabe exatamente o que que a gente vai dar em troca tem camiseta bicho tem camiseta que a gente vai trazer a camiseta nova com esse logo bonito aqui tem abraço que você comentou no EPO anter abraço no episódio anterior eu falei que vai dar vou dar abraço também e a gente vai trazer algumas pessoas para ver os episódios interagir aqui pessoalmente com os convidados conhecer o Valdir e quando você conhecer o Valdir você vai ver que ele realmente tem 2,30 m de altura Isso é verdade e e você vai ver que é sério essa história então então se você tem interesse compartilha com alguém seja membro E obrigado pelo Episódio vamos lá valeu até a
[Música] próxima [Aplausos] Y
Episódios Relacionados
1h 27minExperiência do colaborador: Transformação com dados e tecnologia | PPT Não Compila Podcast
Alex Galho, Bruno Cabuto
15 de jan. de 2025
1h 20minA sociedade está preparada para a nova era da IA? | PPT Não Compila Podcast
Luís Rúdi
18 de dez. de 2024
1h 27minMake or Buy? Decisões Estratégicas de Tecnologia c/ Agroforte | PPT Não Compila Podcast
Gustavo Andrade, Anderson Galeote
8 de nov. de 2023
1h 20minTransformando Costumer Experience: Do CRM à Inteligência Artificial - com Cleber Brito da Foundever
Cleber Brito
26 de jul. de 2023
