3 tendências de desenvolvimento cloud native que conferimos na Cloud Conference Day

Não participou da 3ª edição da Cloud Conference Day? Confira algumas das lições sobre desenvolvimento cloud native que aprendemos por lá!

Conquistar, atender e fidelizar clientes são tarefas multidisciplinares que formam a base para o desenvolvimento de novas soluções. Qualquer nova aplicação, interface ou plataforma tem o objetivo final de trazer potenciais clientes mais próximos da empresa, atender suas necessidades e fidelizá-los.

Mas para que isso aconteça, os times de desenvolvimento precisam encontrar maneiras cada vez mais ágeis para evoluir suas aplicações, visando atender demandas que mudam constantemente e com pouca previsibilidade. 

Assim, a pergunta que fica é: como desenvolver novos recursos na velocidade que o mercado demanda? Para grandes players, como RedHat, IBM e Microsoft, a resposta pode estar em um termo que começou a ser amplamente difundido em 2018, mas que apenas mais recentemente vem ocupando espaço no vocabulário brasileiro: com uma estratégia cloud native, ou nativa em nuvem.

Um dos principais responsáveis pela ampliação dos conhecimentos sobre arquitetura cloud native no Brasil é a Cloud Conference Day, evento que conta com a participação de palestrantes de todo o mundo para falar sobre infraestrutura e desenvolvimento nativo em nuvem. A Binario Cloud, como startup de tecnologia empenhada em trazer soluções para impulsionar o crescimento das empresas por meio de cloud computing, não poderia deixar de fazer parte desse ecossistema de inovação e participar da 3ª edição da Cloud Conference Day. E hoje você vai descobrir quais foram as principais tendências de desenvolvimento cloud native apresentadas durante o evento!

1. Microsserviços: desenvolva e escale o serviço que você precisa com menos esforço

Diferentemente da arquitetura monolítica, em que os processos são acoplados e executados como um único serviço, os microsserviços são um tipo de arquitetura para o desenvolvimento de software ou aplicação a partir de um conjunto de serviços menores, cada um com seus próprios processos, sistemas de dados e independência em relação ao projeto final. Na prática, equipes auto suficientes desenvolvem os componentes através dos microsserviços que, depois, são integrados à aplicação.

Em uma analogia simples, é como se um grande projeto fosse dividido em pequenas tarefas, o que traz mais agilidade na implementação de novas funcionalidades ao software ou aplicação, permitindo a escalabilidade da solução desenvolvida na sua empresa. Por isso, se a ideia é oferecer um conjunto cada vez mais robusto de ferramentas para o mercado, a melhor estratégia para seu time de desenvolvimento será aplicar a abordagem de microsserviços. Mais do que uma tendência, essa importante lição foi ressaltada mais de uma vez durante todo o evento.

2. Cognitive-Driven Development: código que pode ser entendido pode ser evoluído

Não é de hoje que ouvimos falar sobre código limpo, por exemplo. Na prática, sabemos que desenvolvedores costumam se apegar à sua criação e tratá-la quase como uma obra de arte, pertencente ao seu autor. Porém, no desenvolvimento de novas soluções para o mercado, é importante que o seu código seja inteligível para que outras pessoas possam trabalhar em cima dele e evoluir o serviço em ritmo exponencial. 

Por isso, uma lição preciosa que aprendemos com Alberto Souza, CTO da People e autor da metodologia Cognitive-Driven Development (CDD), foi a seguinte: código que pode ser entendido, pode ser evoluído. A partir da teoria da carga cognitiva de John Sweller, Souza defende que as pessoas têm um espaço de memória muito limitado e que a sobrecarga de ítens para memorizarmos pode nos levar ao que chamamos de “efeito parafuso”.

Com isso, a metodologia defende que cada pedaço de um código deve ser considerado com um material que precisa ser entendido e que, por isso, o design do código deve ser otimizado de modo a reduzir sua complexidade — Souza chamará essa atividade de “limitar a carga intrínseca do código”. A ideia é simples, como deve ser:

  • Definir qual unidade de código será analisada pelo time de projeto
  • Definir junto com a equipe quais são os itens que aumentam a complexidade do código (por exemplo, heranças, condicionais, funções como argumento)
  • Não ter mais do que 6 itens que aumentem a complexidade do código em cada unidade

Como vantagens de criar um código que pode ser entendido, Souza cita uma facilidade maior em automatizar testes, aplicar códigos em diversas arquiteturas e realizar modificações.

3. Cloud testing: acelere a escalabilidade da sua aplicação

Uma das principais lições que aprendemos no Cloud Conference Day foi como a computação em nuvem é uma ferramenta que pode auxiliar desenvolvedores na qualidade da sua aplicação. E já existe até mesmo um nome no mercado para essa prática: é o cloud testing, que pode ser resumido como o ato de utilizar a cloud computing como base para qualquer coisa relacionada à testagem da sua aplicação, seja como suporte a qualquer ciclo de vida de desenvolvimento pertinente à execução de teste de software, seja o teste de alguma aplicação em nuvem. Os recursos que poderão ser utilizados durante o cloud testing são vários, desde hardware, software e até mesmo infraestrutura. 

Como vantagens do cloud testing, temos a tão desejada escalabilidade, uma vez que a nuvem acelera a adoção e uso de práticas de qualidade no desenvolvimento. Por consequência, realizar testes em nuvem também é uma forma de otimizar o investimento da empresa em recursos computacionais, visto que uma das principais características da cloud é o pagamento conforme o uso — ou seja, é possível executar servidores apenas quando for necessário realizar testes, e não 24×7, diminuindo muito os custos de utilização de infraestrutura.

Se a aplicação que passará por cloud testing já for cloud native, a orquestração será mais ágil. Por isso, como lição adicional, também pudemos confirmar que essa tendência de organizar aplicativos — o cloud native — é, de fato, o futuro do desenvolvimento.

Estas foram as 3 principais tendências que conferimos na última Cloud Conference Day e, pelos spoilers que já conferimos no site oficial do evento, em Setembro teremos ainda mais conteúdo para aprender e aplicar no dia a dia. O interessante da palavra “desenvolvimento” é que ela é metalinguística: quando trabalhamos nesta área, estamos em um contínuo de aprimoramento constante. Por isso, pode apostar que no próximo Cloud Conference Day a Binario Cloud marcará presença para trazer ainda mais conteúdo de qualidade para você.

Veja também

Jornada para Nuvem: tudo o que você precisa saber

Economia, agilidade e Cloud Computing

3 Lições para a continuidade dos negócios que aprendemos com a crise