O que você precisa saber antes de desenvolver aplicações para a nuvem

Vivemos em uma sociedade hiperconectada, com smartphones, tables e outros dispositivos móveis fazendo parte de nosso dia a dia. A velocidade das transformações é aluciante e aumenta a cada dia. 🙂

Os antigos processos de desenvolvimento e gestão do ciclo de vida das aplicações foram baseados no conceito que o sistema era desenhado para ser praticamente estático na TI tradicional. As modificações, sejam por incremento de novas funcionalidade ou aspectos pertinentes a demanda do negócio, eram acumuladas e embutidas em nova versões do software, em ciclos de no mínimo um ano entre estas mudanças.

O mercado demanda mudanças urgentes e para vencer é necessário proporcionar uma boa experiência de uso aos usuários. A busca por melhores experiências deve ser contínua. As evoluções fazem com que o ciclo de vida das aplicações passem de longos períodos de requerimentos e desenvolvimento, para um modelo em contínuo “estado beta”, ou seja, em evolução constante, em intervalos cada vez mais curtos.

Atualizações não são mais anuais, mas sim mensais, semanais ou mesmo diárias!

É exatamente por causa dessa mudança de paradigma, onde características das aplicações tradicionais se distinguem das características da nova geração de aplicações que a implantação de aplicativos em um ambiente de nuvem pode ser muito diferente de implantá-los em um ambiente de TI tradicional.

É esperado que a nova geração de aplicativos em nuvem tenham a capacidade de adicionar e reduzir a elasticidade sem impactar a performance da infraestrutura.

Os aplicativos considerados cloud native utilizam:

  1. Recursos via API (Application Programming Interface)
  2. CLI (Command-line Interface)
  3. SDK (Software Developement Kit)

Tudo isso permite que os processos de desenvolvimento e operação do aplicativo funcionem de forma integrada, permitindo que o desenvolvedor atue inclusive como um DevOps.

O DevOps representa uma ruptura na cultura tradicional de desenvolvimento e gestão do ciclo de vida das aplicações. Ao utilizar os conceitos já consagrados de “agile development” e adiciona também as práticas de “lean startup”. E ao oferecer um conjunto de ferramentas aos desenvolvedores como as APIs, CLI e SDK possibilita a utilização de nuvens sem lock-in como o OpenStack – o maior orquestrador de nuvens em opensource para IaaS.

Com a nuvem OpenStack, por exemplo, os desenvolvedores possuem diversas possibilidades de criação dos seus aplicativos, podendo escolher diversas linguagens de programação tanto via SDK ou APIs.

A nova geração das aplicações permite a consolidação da nova TI. De modelos monolíticos, altamente integrados e fechados em si mesmo, para um modelo de serviços, com pontos de contato com o mundo exterior através de um ecossistema de APIs. Na prática, nenhuma aplicação é uma ilha isolada. Ela deve proporcionar experiências positivas para seus usuários.

As empresas responsáveis por produzir software estão cada vez mais alinhadas com o movimento DevOps.

Luiz Eduardo Severino

Com mais de 10 anos de experiência em vendas e marketing direto, Luiz Eduardo é Bacharel em Economia pela PUC de São Paulo, com MBA em Marketing pela Universidade Anhembi Morumbi e especializações nas áreas de gestão de projeto, design, marketing digital, social media, inbound marketing, webmetrics e web.