Muitas das experiências digitais que estão transformando as organizações, têm sua origem no trabalho e desempenho de desenvolvedores. Um processo de Developer Experience bem feito garante que a sua API atraia tanto o público técnico quanto leigo, e para isso a integração de API deve ser a mais direta possível.
Em uma DX há uma preocupação tanto com o desenvolvedor quanto com a usabilidade do produto, SDKs, documentações, frameworks, soluções open source e claro APIs. Além disso, desenvolvedores com uma boa DX utilizam um produto por mais tempo e podem se tornar evangelizadores da sua marca.
Na tarde desta quarta-feira (25/11), a VMware patrocinou uma live a respeito deste assunto que contou com a participação de especialista como Thiago Bessa, Diego Rocha, Daniel Bronzatti e Anderson Duboc, engenheiros de soluções pela VMware, David Ruiz, Diretor de Engenharia do iFood e Thiago Ferreira, Arquiteto de APIs na Cielo.
Café com dev
David Ruiz participou do painel de abertura e trouxe consigo a perspectiva do desenvolvedor junto às preocupações de um executivo, comentando os desafios da profissão e do trabalhar em equipe.
Como dev, durante o processo de desenvolvimento, vejo a importância de ter uma documentação e a qualidade disso como um todo, comenta o empresário.
Para ele é preciso ser autossuficiente, já que nada é mais frustrante do que não conseguir evoluir.
Apesar da importância da documentação, não se pode olvidar o dilema sobre o compartilhamento de conhecimento. Segundo o diretor de engenharia do iFood, essa prática é importante quando falamos de chapters e de times formados por diferentes áreas, como arquitetos e desenvolvedores. “Dentro do iFood tem a quarta do desenvolvimento, é um momento de dedicação para aprender, conhecer coisas novas, realizar cursos”, explica David.
Quando o assunto é aplicação, os desenvolvedores costumam ter critérios quanto ao desenvolvimento de seus produtos, sendo o principal deles a velocidade. Porém, apesar de estar atrelada à inovação, abrir mão da qualidade não é uma opção viável. Anderson Duboc e Thiago Ferreira, concordam que é necessário testar hipóteses, pensamento orientado a MVP e, ao mesmo tempo, buscar tecnologias que possam dar suporte.
Pensando em qualidade da entrega e velocidade, Thiago Ferreira conta que já passou por experiências nas quais o resultado do produto não foi o aguardado: “Já fiz um projeto e depois de um tempo, só de olhar para código vi que estava ruim”. Para ele a entrega foi muito rápida e não seguiu um padrão.
Apesar da crescente importância da velocidade, os especialistas abordaram a importância de escolher uma melhor tecnologia para resolver um problema. “Não dá pra fazer algo rápido, sem buscar a tecnologia que traga avanços ao projeto”, comenta David. Assim sendo, é preciso colocar a qualidade e a eficiência em um patamar equivalente ao da velocidade.
Melhorando a experiência do desenvolvedor com Tanzu Build e Manage
Independente de criar mecanismos, automatizar atividades ou apenas adquirir informações para a tomada de decisão, tudo se resume ao processamento de dados. Porém, a velocidade nem sempre caminha lado-a-lado à eficácia. Para Diego Rocha, ao falarmos de processos velozes e eficazes atrelados ao desenvolvimento, tratamos a respeito da modernização das aplicações.
“Temos times de desenvolvedores buscando se manter atualizados e a migração para o mundo de cloud. Entretanto essa modernização gera dúvidas e não é feita de uma vez só”, afirma o engenheiro de soluções da VMware.
Um ponto envolvendo aplicações modernas é a transição do monolito para outras arquiteturas e abordagens. Um desses exemplos são os chamados microsserviços. No caso da Pivotal Labs, pertencente a VMware, há uma metodologia de desconstrução de monolito, que Diego Rocha divide em algumas etapas:
Definição de objetivos e resultados aguardados;
Realização da tempestade de eventos;
Seleção de uma “fatia” das funcionalidades;
Esboço da arquitetura nocional desejada;
Preenchimento dos backlogs;
Produção de códigos testados e em funcionamento;
Criação de padrão de modernização da nuvem.
Uma das ferramentas mencionadas na apresentação por Diego e que oferece suporte a jornada dos desenvolvedores é a Tanzu Build Service.
O Tanzu Build Service é um avanço originário dos kubernetes para a elaboração de contêineres. O sistema combina a experiência de buildpacks, tão conhecida pelos usuários do Tanzu Application Service, com o modelo de configuração de imagem que cria e atualizada os contêineres compatíveis com OCI com base em um estado desejado.
Essa experiência combinada irá oferecer para os desenvolvedores os pontos fortes do kubernetes. Os desenvolvedores não precisarão mais se preocupar em criar, modificar e corrigir compilações de contêiner usando Dockerfiles.
Desta forma, o desenvolvedor só precisará definir a configuração do aplicativo uma única vez, o Tanzu Build mantêm esse estado desejado. Ou seja, as atualizações de qualquer componente do aplicativo, não serão mais trabalho para o desenvolvedor.
Liberdade para a sua aplicação com Tanzu Run
Os desenvolvedores possuem como foco a geração de códigos, é preciso transformar ideias em protótipos viáveis em MVPs. Para isso, são utilizadas linguagens específicas como IDEs, que são aquelas que permitem a criação do serviço.
Para Daniel Bronzatti, uma vez que estes módulos de negócio são criados, podemos conectá-los a um pack de dados em um formato distribuído e moderno através do ambiente de integração automatizado.
A experiência em todo o processo deve ser rápida, contínua e eficaz, sendo um dos grandes desafios citados por Bronzatti garantir a liberdade da aplicação, por exemplo, possibilitando o seu deploy em múltiplas nuvens.
Sempre levando em conta a questão do controle, acesso, uso de dados, gráficos e dashboards, o que permite a visibilidade de nível de serviços, ou seja, resulta em uma consistência linear de consumo dos serviços oferecidos.
Outros desafios de aplicações modernas citados por Bronzatti são:
Saber o que está acontecendo com o seu deploy;
Consumir kubernetes independente da nuvem;
Escalar, reduzir e garantir o nível de serviço;
Não depender de uma plataforma, API ou runtime específico;
Configurar segurança desde o início e validar constantemente
Tendo em vista tais desafios, Bronzatti comenta sobre o Tanzu Run.
O Tanzu Run nada mais é do que uma coleção de conhecimentos que foram agregados através de corporação de empresas e organizações que são a alinhadas ao Open Service dentro da VMWARE, explica Bronzatti.
Objetivos do Tanzu Run
Tornar a vida do Dev e o Ops menos complexa;
Identificar problemas no deploy;
Validar Canarye A/B Tests;
Gerenciar tudo.
Dentre o portfólio do VMware, Bronzetti também fala do Tanzu Observability, plataforma de monitoramento e análise de métricas baseada em SaaS, que lida com os requisitos de alta escala de aplicativos nativos de nuvem modernos.
Tal ferramenta oferece aos desenvolvedores a visibilidade em tempo real de seus aplicativos, ou seja, análise de todos os todos os setores, aplicações, downloads e diferentes níveis da estrutura, o que implica na entrega de dashboards de qualidade para as diversas áreas envolvidas no projeto.
Este artigo foi escrito por Editorial Prensa.li e publicado originalmente em Prensa.li.