O desenvolvimento e implantação de software nas empresas têm sofrido mudanças que acompanham as tendências de evolução tecnológica e isto deverá se acelerar mais nos próximos anos na medida em que os recursos de TI passam a ser oferecidos cada vez mais como serviços.
Não resta dúvida que o grande agente de mudanças diz respeito ao modelo de entrega de TI baseado na nuvem. Embora tenha tido uma adoção restrita e bem criteriosa por parte das empresas, o oferecimento de software como serviço (SaaS – Software as a Service) já é uma opção disponível há algum tempo. Entretanto, a abordagem inicial de SaaS é bem diferente do que representa essa sigla no atual contexto de nuvem.
O SaaS surgiu basicamente como uma alternativa comercial de pagar pelo uso do software como um serviço. Ao invés do cliente comprar licenças de software, instalar, colocar em produção e manter no seu ambiente interno de TI, tudo isso passou a ser realizado por um provedor de serviços responsável por manter a infraestrutura e o software no seu data center.
SaaS no contexto de nuvem vai além disso. A nuvem pressupõe a execução do software num ambiente virtual onde existe padronização e automação que permite o oferecimento e provisionamento de recursos de TI de acordo com a necessidade, através de interfaces de autosserviço. Nesse cenário, o desenvolvimento e arquitetura de um software aplicativo deve se basear no oferecimento de recursos/funcionalidades como instâncias replicáveis e independentes seguindo os conceitos de uma arquitetura orientada a serviços (SOA – Service Oriented Architecture). O software deixa de ser monolítico e confinado nos seus servidores para oferecer seus serviços e consumir outros por meio de APIs (interface de programação) e protocolos abertos. A execução de um software aplicativo é capaz de atender vários clientes de forma segura e independente.
A nuvem também possibilitou a entrega de recursos de infraestrutura e de plataforma de aplicativos, descrita pelas siglas IaaS (Infrastructure as a Service) e PaaS (Platform as a Service), respectivamente. Com isso, o desenvolvimento, implantação e manutenção do software aplicativo precisa agora considerar o uso desses recursos na nuvem, tais como capacidade de processamento, storage, networking, servidor de aplicação e banco de dados.
A inovação não para por aí. Por que não oferecer SaaS, PaaS e IaaS de forma integrada e inteligente num hardware adequado para nuvens públicas e privadas? Essa foi a última novidade dos grandes fornecedores de hardware e software e das parcerias complementares daqueles fornecedores exclusivos de hardware ou e de software.
Hardware e software integrados requerem outra ação por parte dos desenvolvedores de software aplicativos: homologar suas soluções para executarem na nuvem num hardware que contém todos os pré-requisitos integrados e otimizados para garantir desempenho, escalabilidade e eficiência em custos operacionais.
Isso altera substancialmente a experiência do cliente ao implantar um software aplicativo e usufruir do valor agregado aos seus negócios. Um projeto tradicional de implantação de um aplicativo pode levar meses até o cliente adquirir o harware/software necessário e integrá-los de forma a preparar os ambientes de desenvolvimento, testes, homologação e produção. Qualquer mudança nesse ambiente representa riscos e gastos em suporte e manutenção.
Com a integração vinda da fábrica de harware e software para execução da aplicação, o tempo de implantação da solução deixa de ser meses para dias e a nuvem permite o provisionamento dos recursos necessários elasticamente.
Parece que agora temos todos os componentes para oferecer TI da mesma forma como usufruímos de energia, a visão de TI como utility. Hardware e software poderão ser oferecidos como appliances. Seguindo a analogia, os geradores próprios são as nuvens privadas; as nuvens públicas representam os operadores do sistema elétrico. Como os sistemas integrados de hardware e software para nuvem oferecem uma grande capacidade em recursos de TI, a grande questão é oferecer às empresas um modelo de investimento progressivo para que elas possam usufruir dos recursos de TI de acordo com as necessidades do negócio, evitando investimentos em capacidade ociosa, ao mesmo tempo garantindo a escalabilidade que irá prover a resiliência nos negócios.
*Gilberto Magalhães é gerente de marketing da IBM Brasil.