A organização e o custo da nuvem

Toda a idéia de computação em nuvem baseia-se em delegar / mover parte(s) de nossos sistemas tecnológicos a terceiros, para fora do controle e do ambiente organizacional.

Abordo aqui a minha própria visão geral sobre o assunto, principalmente a respeito do que mais me preocupa neste contexto. A figura abaixo ilustra como eu percebo a computação em nuvem em relação às nossas organizações empresariais:

Figura 1. Visão geral

Podemos representar a evolução da Tecnologia da informação de acordo com a seguinte figura:

Figura 2. A computação em nuvem no tempo

A computação em nuvem se estrutura hierarquicamente em camadas (Figura 3). E é comum encontrarmos outras classificações, derivadas das representadas abaixo, tais como DaaS (Database as a Service), CaaS (Communication as a Service) etc.

Figura 3. Principais camadas de serviços da computação em nuvem

[ Fonte: Wikipedia ]

Trata-se sem dúvida uma tendência irreversível, e uma importante opção “estratégica”. Mas não é isenta de (grandes) riscos, já que “confia” valiosos e sensíveis bens patrimoniais (assets) da organização a agentes externos.

O ponto aqui é que estamos cedendo o controle sobre recursos tecnológicos fundamentais à viabilidade de parte ou de todo o nosso negócio. E quanto mais descemos na hierarquia de camadas, maior o risco, dado que estamos delegando mais e mais recursos. Por outro lado, o benefício financeiro é também diretamente proporcional, aumentando na mesma medida em que delegamos poder sobre os nossos (mais valiosos) recursos e assets.

Sem dúvida sai muito mais em conta delegar a responsabilidade sobre parte de nossos negócios a terceiros (hardware, middleware, software, peopleware, …). A questão é que se / quando algo sai errado, é o futuro de nosso próprio negócio que está em jogo. Somos nós que perdemos clientes, receita e credibilidade. É a nossa imagem e o nosso posicionamento mercadológico [MKT] que são seriamente ameaçados, talvez irreversivelmente. A própria sustentabilidade e viabilidade econômica de nossos negócios é posta à prova. Em outras palavras: o prejuízo pode sim, ser exponencialmente maior do que toda a redução de custo e o barateamento inicialmente obtidos.

Estou certo contudo que aqui o X da questão, o calcanhar de Aquiles, é mais político-administrativo do que técnico-operacional.

Tecnicamente, não existem grandes diferenças em relação a ambientes de intranet e extranet, há muito já adotados como que por “padrão de mercado” (por default). Tanto lá, na nuvem, como cá, em ambientes controlados pela organização, os desafios são basicamente os mesmos; e tanto lá como cá existem diversos tipos de aplicações, soluções e sistemas de TI – mais ou menos complexos. Os conceitos, porém, são basicamente os mesmos, desde o surgimento dos primeiros ambientes cliente-servidor e sistemas distribuídos: sync/async, parallel computing, multi-threading, atomic transactions, identity/permission management, clustering, load-balancing etc.

Figura 4. A arquitetura da computação em nuvem

[ Fonte: Wikipedia ]

O comportamento de todo sistema de informação é implementado de acordo com determinados requisitos funcionais e não-funcionais. Requerimentos funcionais são mais diretamente relacionados às necessidades e características dos processos de negócio propriamente ditos; a recursos de software, voláteis, lógicos. Na nuvem os requerimentos não-funcionais (robustez, disponibilidade, segurança, latência etc.), de hardware, não-voláteis, físicos, aparentam e/ou tendem a ganhar certa precedência sobre os funcionais.

Mas isso não significa, em absoluto, que os requerimentos funcionais se tornaram menos relevantes. Pelo contrário: ao se tornarem mais “transparentes” e, por isso mesmo, “presumivelmente” mais confiáveis; os requerimentos funcionais passam a demandar muito mais controle, em termos de testabilidade, monitoramento, previsibilidade etc.

E isso não é tudo. Como já dissemos, o maior perigo aqui se encontra nas dimensões de governança organizacional e de seus processos (internos) de gerenciamento de recursos de TI. SLAs; estratégias, planos e procedimentos de contingenciamento confiáveis; estratégias e procedimentos de versionamento, auditoria, delivery and deploy; etc.; são de crucial importância neste contexto. Algo como: “e se/quando eles falharem, o que faremos? Como nos preparamos para essa eventualidade?” (eficiência, eficácia, credibilidade, responsividade, …)

Eu costumo comparar sistemas baseados e/ou orientados para a nuvem a sistemas aeronáuticos, médicos e espaciais. E se aquele dispositivo que fica bombeando ar durante a cirurgia falha, o que acontece? Quantos processos de contingenciamento – e de contingenciamento de processos de contingenciamento – existem em uma aeronave comercial, em um drone, ou em um caça militar? E se faltar luz no interior do módulo lunar? E se faltar água na primeira viagem tripulada a Marte? Tanto nesses tipos de sistemas como na computação em nuvem, o buraco é mais embaixo, bem mais embaixo.

É preciso estar sempre muito atento à nossa tendência natural de abraçar a crença na existência de uma “solução mágica e pronta”; ou como se dizia há algumas décadas: boa, bonita e barata. Aqui como nas alturas, cada caso é um caso. E na nuvem, todos os casos – possíveis, imagináveis e inimagináveis, conhecidos e desconhecidos – devem ser considerados e contemplados, apropriadamente. Profissional, cuidadosa e; principalmente, estrategicamente.

Administrativa e gerencialmente, é necessário ter sempre em mente que, na computação em nuvem, enquanto os requerimentos não-funcionais “tendem” a ganhar certo destaque e relevância em relação aos requisitos funcionais; os processos, políticas e “estratégias” organizacionais (de comunicação, contingenciamento, etc.) “invariavelmente” demandam uma média-alta gestão muito melhor estruturada, em relação às suas contrapartes “táticas”, administrativas; de gerenciamento local e/ou regional e operacionais. E isso ocorre tanto no âmbito de processos e recursos mais diretamente relacionados à atividade-fim de nossos negócios como em suas correspondentes dimensões de desenvolvimento e manutenção de recursos e serviços de TI.

E, no topo de tudo isso (como representado na primeira figura deste artigo), é de fundamental importância existência uma direção (e um conselho-administrativo) muito bem “afinados”, informados e instrumentalizados – de preferência com confiáveis e eficazes ferramentas, técnicas e metodologias de tomadas de decisões, monitoramento, controle e auditoria.

É também altamente recomendada a formação de uma equipe exclusivamente dedicada à gestão e à manutenção da integridade de todo o portifólio organizacional de software, processos e serviços de TI. Neste contexto, conceitos como “Continuous Integration e Continuous Delivery, bem como uma bom sistema de manutenção de configuração [CM – Configuration Management] devem ser seriamente considerados.

Figura 5. Tipos de computação em nuvem

[ Fonte: Wikipedia ]

Sempre que o assunto é computação em nuvem eu me lembro de ditados que aconselham prudência, tipo: “devagar com o andor porque o santo é de barro”, ou “vamos devagar porque temos pressa”. Afinal, não queremos “tropeçar nas próprias pernas”, não é?

E nunca é demais relembrar que tudo o que o computador pode nos dar é velocidade e “capacidade” de armazenamento e processamento. O resto é por nossa conta. E risco.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: