Modern Apps: porquê incorporá-las na sua empresa?

As empresas estão cada vez mais empenhadas em oferecer a melhor experiências aos seus clientes, esforçando-se por estar presentes em todas as fases do processo e muitas vezes num ambiente omni-canal onde as aplicações e dispositivos estão a ganhar proeminência.

Nestes ambientes, onde a agilidade é fundamental e por isso são exigidos ciclos de desenvolvimento mais curtos, ou mesmo ser capaz de responder aos clientes em “tempo real”, muitas das aplicações com que as empresas têm trabalhado tradicionalmente tornaram-se “obsoletas“.

Por outro lado, à medida que cada vez mais empresas transferem parte das suas cargas de trabalho para a nuvem, surgem novas formas de desenvolver aplicações, permitindo tanto aos programadores como aos gestores de TI agir mais rapidamente e até antecipar as exigências do mercado, permitindo assim que as suas organizações se tornem mais competitivas.

Neste sentido, estamos a falar do que é conhecido como “Modern Apps”, aplicações desenvolvidas por e para a nuvem, que são um “antes e depois” para as empresas. Porque são interessantes para as empresas? Acima de tudo, porque são um “antídoto” para aplicações herdadas que funcionam isoladamente e impedem as empresas de alcançar mudanças tecnológicas e operacionais significativas.

As aplicações modernas deixam para trás a antiga estrutura de “computação finita”, escalam de acordo com as necessidades das empresas e podem funcionar na nuvem, em hardware local ou em ambos os ambientes em simultâneo.

Ao não exigirem um servidor de aplicações, as empresas ganham uma liberdade tecnológica que, ao mesmo tempo, traz mais flexibilidade financeira: as empresas podem livrar-se de alguns dos seus custos de capital em activos fixos de TI, mudando para aplicações baseadas na nuvem para construir e gerir as suas operações.

Modern Apps: o que precisa de saber

Mas o que é exactamente uma “aplicação moderna”? Para além do facto de que, como já mencionámos, estamos a falar de aplicações que são desenvolvidas por e para a nuvem, a melhor forma de a definir é explicando as características que as tornam únicas. As principais seriam as seguintes:

São aplicações flexíveis

As aplicações modernas são na realidade conjuntos de microserviços, que são mais leves, mais ágeis e mais tolerantes a falhas do que as aplicações desenvolvidas num ambiente “tradicional”. Estes microserviços funcionam normalmente em contentores que são colocados em nuvens públicas ou privadas e embora possam funcionar independentemente, estão muitas vezes ligados a outros contentores.

Ao não confiar num servidor de aplicação tradicional, cada microserviço pode ser escrito na língua mais adequada à carga de trabalho e ao programador. Cada aplicação tem um pacote auto-contido e auto-descritivo em contentores como Docker, e orquestradores como Kubernetes são utilizados para gerir contentores e agrupamentos.

Evolução através da entrega contínua

O facto de cada aplicação ser autónoma permite a realização contínua de pequenas alterações sem afectar o resto do ambiente. Neste sentido, graças às Modern Apps, novas metodologias de desenvolvimento e entrega de aplicações tais como DevOps ou CI/CD estão a ganhar cada vez mais seguidores. Em vez de esperar pelo desenvolvimento de um produto completo, estas metodologias tornam possível partir de um MVP (Minimum Viable Product), e continuar a melhorar com base em entregas que podem mesmo ser feitas diariamente.

A grande vantagem deste tipo de prática é que permite a implementação de uma implantação contínua e automatizada de aplicações em ambientes de produção a partir de ambientes de teste.

Modern Apps de alta qualidade

Uma vez acondicionadas, estas aplicações não só podem funcionar numa grande variedade de ambientes, como também requerem apenas recursos mínimos para funcionar, aumentando assim a eficiência operacional e a velocidade de implantação, e reduzindo os custos.

As modernas aplicações permitem assim às empresas aumentar a produtividade dos criadores, encurtar o caminho para a produção e acelerar a frequência de lançamento de novas funcionalidades e serviços. Permite operações multi-nuvem para maior agilidade e flexibilidade e encurta o tempo de comercialização de novos produtos.

Isto é demonstrado por estudos como o realizado pela Dimensional Research em empresas com mais de 1.000 empregados que já utilizam Kubernetes (e que estão, portanto, habituadas a utilizar as Modern Apps) e em que participaram mais de 200 organizações em todo o mundo.

A este respeito, 56% dos inquiridos disseram que a utilização de aplicações modernas e Kubernetes melhorou a utilização dos seus recursos; 53% disseram que acelerou os ciclos de desenvolvimento de software; e 50% disseram que beneficiaram da possibilidade de continuar a trabalhar com aplicações monolíticas, em contentores.

Com isto em mente, empresas como a VMware estimam que nos próximos três anos 70% das empresas com mais de 1.000 empregados irão adoptar totalmente a Kubernetes, permitindo que até 35% do desenvolvimento de novas aplicações se enquadrem na categoria Modern Apps.