Nos últimos meses tive a oportunidade de trabalhar em uma ampla gama de projetos de migração de aplicações para o Microsoft Azure. Projetos de diferentes tamanhos e complexidades e de clientes de diferentes portes e ramos de atuação. O aumento recente da demanda por projetos desta natureza me fez refletir sobre os motivos pelos quais a nuvem pública se tornou, finalmente, um caminho viável não apenas para startups mas também, para empresas de médio e grande portes. Esta reflexão deu origem a este post e com ele quero compartilhar algumas visões/fatos que segundo minha ótica, têm feito com que as empresas e instituições cada vez mais considerem a nuvem como um caminho seguro para suas aplicações, dados e serviços.
Economia
Este é sempre o primeiro ponto. Tempos de crise são sempre, naturalmente, divisores de água nas empresas. É o tempo em que vários aspectos são revistos e claro, o setor de TI não passa largo a este tipo de análise. Estudos apontam que cerca de 60% de todo o esforço (tempo e dinheiro) em relação a TI nas empresas, está concentrado em “manter as luzes do data center piscando” e o dia-a-dia mostra que isso é um fato. É claro que, para se chegar a uma afirmação como essa, alguns indicadores precisam ser definidos (lembre-se: sem indicadores, sem medição). No meu entender (com base no que observei ao longo dos últimos anos em vários projetos), os indicadores que causam o maior impacto neste quesito e que portanto, devem entrar na conta, são aqueles apresentados pela lista a seguir.
- A – Manutenção e depreciação de hardware;
- B – Licenças com sistemas proprietários;
- C – Valor do m² na área onde infra está localizada;
- D – Custos com internet redundante;
- E – Custos com energia elétrica;
- F – Custos com refrigeração de ambientes;
No geral, para se chegar a um valor confiável neste quesito, as empresas costumam considerar um período de três anos com os valores anuais estabelecidos para cada indicador acima, somados (ou seja, Valor Total = A + B + C + D + E + F). Materializando: imagine a situação hipotética de uma empresa de médio porte com aproximadamente 100 funcionários onde toda a infraestrutura para execução de sistemas e armazenamento de dados e serviços encontra-se no prédio local da mesma, no modelo on-premisses. Imagine ainda que esta empresa está sediada na cidade de São Paulo, em algum bairro da zona sul da cidade. Uma pesquisa rápida poderá nos ajudar a preencher os valores anuais para cada um dos indicadores, conforme pode ser visualizado a seguir.
A – Manutenção e depreciação de hardware
De forma geral, empresas de pequeno e médio portes não possuem profissionais dedicados para este fim. Geralmente esta necessidade é suprida através de um contrato de manutenção de hardware, na maioria das vezes, com a própria empresa fornecedora dos equipamentos. Na média, empresas que prestam este tipo de serviço cobram um valor anual que gira entre 20% e 30% do valor total do(s) hardware(s) cuja manutenção será realizada. Vamos imaginar também que a empresa de nosso exemplo possui um parque de 3 servidores físicos com dois processadores cada (1 de aplicações, 1 de banco de dados e 1 para arquivos) ao custo de R$ 10.000,00 cada. Cada servidor possui 4 cores de processamento e 8 GB RAM. Os custos aproximados seriam os seguintes:
- Valor anual do contrato de manutenção: R$ 6.000,00
- Valor para 3 anos de contrato: 18.000,00
Não podemos esquecer de somar a este fato, o aspecto da depreciação (que no caso de computadores está na casa dos 10% anuais), que é inerente ao universo de infraestrutura.
B – Licenças com sistemas proprietários
Aqui já é mais difícil estimar custo, uma vez que as empresas podem usar n ferramentas proprietárias com suas respectivas licenças. Para compor o custo aqui, vamos imaginar que a empresa imaginária possui rodando em seus servidores a versão Standard 2012 R2 do Windows Server. Os custos aproximados são apresentados a seguir.
- Valor da licença para este cenário: US$ 600,00 (~ R$ 2.400,00)
C – Valor do metro² na área da infra
Este é outro fator cuja variação é enorme. Em nosso caso hipotético, temos a empresa localizada na zona sul de SP. Mesmo na ZS podemos ter uma enorme variação de preços de aluguel. Assim, para nosso exemplo, consideraremos uma média simples de aluguel nessa região, conforme apresentado a seguir.
- Valor médio do m² para salas comerciais na ZS de São Paulo: ~ R$ 5.000,00
- Custo para uma sala imaginária de 20m²: R$ 100.000,00
D – Custos com internet redundante
Quando falamos de internet, a conta é mais simples de ser fechada. Basta efetuar uma pesquisa simples nos planos oferecidos pelas principais fornecedoras do serviço no país e extrair uma média de custo. A seguir apresento o custo aproximado de internet já pensando em redundância.
- Valor mensal de um link dedicado de internet (4 MB): R$ 4.000,00
- Valor mensal para dois links (8 MB): R$ 8.000,00
- Valor anual de internet: R$ 96.000,00
- Valor de internet para três anos: R$ 288.000,00
E – Custos com energia elétrica
Aqui temos novamente uma grande possibilidade de variação. Como estamos considerando uma empresa na cidade de São Paulo e uma configuração bem definida de servidores, vamos estimar o custo com base nesses elementos. Os mesmos são apresentados a seguir.
- Custo anual aproximado de um servidor (7.446 kWh): ~ R$ 1.712,00
- Custo tri-anual aproximado de três servidores: ~ R$ 5.136,00
Não irei considerar aqui equipamentos como roteadores, switches, hubs, replicadores de sinais, etc., mesmo entendendo que estes equipemantos deveriam sim entrar na conta.
F – Custos com refrigeração de ambiente
Este é outro custo que pode variar bastante. Tamanho do ambiente, local onde o ambiente está localizado, categoria da máquina do ar condicionado, são alguns fatores que podem fazer com que o custo de refrigeração varie de um ambiente pra outro. Para o nosso exemplo, irei considerar uma sala de 20m² com ar-condicionado categoria A de consumo (mais econômico). Os custos aproximados são apresentados a seguir.
- Custo mensal de um ar de 18.000 BTUS (classe A): ~ R$ 190,00
- Custo anual: ~ R$ 2.280,00
- Custo da refrigeração para três anos: ~ R$ 6.840,00
Assim, considerando os custos apresentados pelos indicadores A, B, C, D, E e F, temos os seguintes valores mensais (para serem computados por 3 anos) aproximados. É importante observar aqui que não estamos considerando o aspecto “compra de servidores”. Estamos partindo do princípio que o servidor já está em operação na empresa. A conta que estou fazendo é: somar os custos totais em 3 anos e dividindo por 36 (número de meses em 3 anos).
- Custo total aproximado em 3 anos: R$ 420.376,00
- Custo mensal aproximado de uma infra básica de TI: R$ 11.678,00
De outro lado, vamos montar uma infra semelhante no Microsoft Azure. Vou utilizar a calculadora disponibilizada no portal oficial da plataforma para chegar aos valores da infra equivalente (você pode acessar a calculadora através do link abaixo). Segue o ambiente provisionado com seus respectivos valores mensais.
- 3 servidores A3
- 8 cores de processamento
- 14 GB RAM
- 605 GB de disco
- Custo mensal unitário: R$ 1.227,60
- Custo total mensal dos 3 servidores: R$ 3.682,80
Calculadora do Azure
https://azure.microsoft.com/pt-br/pricing/calculator/
Some a isso a internet necessária para alcançar os recursos (que neste caso nem precisa ser tão performática como no caso de se manter a infra “dentro de casa”). Assim, sumarizando os recursos necessários no Azure com seus respectivos custos, temos a lista abaixo.
- 3 Servidores A3: R$ 3.682,80
- Internet: R$ 2.000,00
- Refrigeração: Sem preocupação
- Depreciação: Sem preocupação
- Custo do m²: Sem preocupação
- Energia elétrica: Sem preocupação
- Custo mensal total aproximado com Azure em 3 anos: R$ 204.580,80
- Custo mensal aproximado com Azure: R$ 5.682,80
Não é preciso fazer um esforço muito grande para verificar que os custos com Azure são reduzidos em escala considerável (em nosso exemplo, cerca de 50% mais barato). Isso sem falar em aspectos como backup, storage, load balancer, redundância, tolerância a falhas, etc, que agregam muito valor ao parque de recursos e que para serem implementados em um cenário on-premisses exigiria a atuação de profissionais especializados, o que elevaria ainda mais os custos da infra local e que no Azure, podem ser fácil e rapidamente implementados. Recursos de automação (que otimizam o uso dos recursos computacionais) também poderiam ser utilizados aqui no sentido de baixar ainda mais os vencimentos relacionados à infra. Além disso, é importante mencionar que não estou considerando qualquer utilização de serviços PaaS. O uso deste modelo poderia baixar ainda mais os valores apresentados.
Por que é tão importante entender isso? Simples! Porque na maioria esmagadora dos casos a nuvem pública consegue oferecer poder computacional semelhante (e frequentemente até maior) em relação ao modelo on-premisses e ainda, com custo mais baixo. Pra mim, a união desses elementos (poder computacional + baixo custo) é um dos principais aspectos que tem encorajado as empresas a considerarem plataformas de nuvem pública como o Microsoft Azure, por exemplo, como um caminho seguro para suas aplicações e serviços.
A melhora da internet no Brasil
A melhoria da qualidade da internet brasileira é, sem margem para dúvidas, um dos pontos mais decisivos para que as empresas movimentem-se no sentido “vertical” da nuvem pública.
Segundo um estudo recente (2013) da UIT (União Internacional das Telecomunicações), o Brasil foi um dos países (157 foram analisados) que teve a maior evolução de banda larga, chegando a ocupar 62a. posição no ranking. Além disso, foi um dos países que mais aumentou a penetração de internet rápida em sua população, passando de 22% para 37% no início de 2013. O estudo pode ser visualizado na íntegra através do link abaixo.
Link do estudo:
http://www.itu.int/en/ITU-D/Statistics/Pages/publications/mis2013.aspx
Especialmente em cidades maiores, esta melhora pode ser percebida mais facilmente. É comum conseguir links de 100, 200 MB de fibra ótica ou até mesmo links dedicados a custos acessíveis. Especialmente para empresas.
Como o acesso aos recursos da nuvem se dão necessariamente através da internet, nem preciso dizer que este fato ajuda (e muito) para que o processo de crescimento adoção/movimentação do/para Azure.
Datacenter no Brasil
Aqui me refiro diretamente ao Microsoft Azure. Este é outro importante aspecto que tem incentivado as empresas a buscarem a nuvem como opção e os fatores são diversos. Apenas para destacar alguns:
- Alguns ramos de negócio, por lei, precisam manter dados hospedados no país de origem. Antes do datacenter no Brasil, todas as empresas ou instituições destes ramos estavam impedidas de manter suas estruturas no Azure por aspectos legais. Isso já não é um impeditivo mais.
- Redução de latência no acesso aos recursos e dados é outro problema que foi endereçado com a disponibilização do datacenter no Brasil. Pode parecer preciosismo das organizações mas, para aplicações críticas, com arquiteturas complexas e altos volumes de dados, toda baixa de latência é bem vinda.
- O datacenter no país abre uma possibilidade interessante para grandes organizações: conexão direta via fibra ótica com o pool de recursos lá disponíveis. É claro que esta não é uma opção aberta a todos os nossos clientes, entretato, é uma nova possibilidade que foi aberta.
IaaS competitivo
Este é outro aspecto de suma importância. Quando se fala em computação em nuvem para pequenas empresas, quase sempre o modelo de plataforma como serviço (PaaS) é o mais indicado. Isso porque boa parte delas (eu diria a maioria) possui aplicações com arquitetura mais moderna, modularizada e desacoplada e isso facilita bastante a migração dessas aplicações para um modelo mais fechado (em termos de customizações), como é o de PaaS.
Além disso, como hoje em dia as startups já nascem pensando em nuvem, suas soluções acabam sendo projetadas para este ambiente e claro, como PaaS abstrai boa parte da complexidade do ambiente operacional, ele acaba sendo a escolha natural das mesmas. Este contexto muda drasticamente quando o assunto “nuvem” chega para organizações maiores. Nestes casos basicamente o que temos é a necessidade por máquinas virtuais, VPN’s e demais recursos de redes, etc. O fato se justifica facilmente.
Organizações com esta característica possuem geralmente uma ampla gama de aplicações. Especialmente aplicações mais antigas não possuem arquitetura de referência voltada para a nuvem e portanto levá-las para a este novo ambiente requer, fundamentalmente, o uso de máquinas virtuais (que oferece total flexibilidade em relação a customização do ambiente).
Sabendo disso, a Microsoft anunciou em Abril de 2013 a disponibilidade geral de seu serviço de máquinas virtuais e de lá pra cá um número considerável de melhorias foram incorporadas à plataforma, o que a colocou como líder de segmento no quadrante mágico do Gartner, junto com AWS (ver Figura 1).
Figura 1. Quadrante mágico do Gartner
A confiança na infraestrutura disponibilizada pelo Azure aliada a provável redução significativa de custos com estes ativos, tem encorajado as empresas a fazer o “move on” para a nuvem a Microsoft.
DevOps facilitado
É fato que, por conta da simplicidade na gestão dos recursos computacionais, estruturar um processo de DevOps na nuvem pública se torna muito mais simples para empresas que produzem software.
Empresas que optam por Microsoft Azure tem um trunfo adicional na manga. Me refiro ao fato de que, além da plataforma de nuvem, elas podem optar pela integração do Azure com a plataforma de DevOps da Microsoft – o Visual Studio Team Services (VSTS).
Graças a esta integração nativa, atividades inerentes ao processo de DevOps (por exemplo: gerar testes de sobrecarga, (des)provisionar ambientes de teste/homologação de forma automatozada, CI, CD, etc.) são simplificados em grande escala. Com isso, há um ganho de tempo considerável, que pode ser melhor utilizado pelo time de desenvolvimento para atividades interessantes como: code review, refactoring, etc.
Nesta mesma categoria, outro aspecto que tem agradado (e muito) a maioria das empresas que desenvolvem software, é a grande diversidade de máquinas virtuais já prontas no Azure (VM Depot) que implementam ferramentas open source amplamente difundidas e utilizadas no mercado e que possuem integração suave com o VSTS. Apenas para citar alguns exemplos: Sonar Qube, Redmine, Jenkins, dentre outras.
A união do Microsoft Azure com o VSTS trouxe a possibilidade de profissionalização do processo de desenvolvimento de software à empresas de todos os portes com custo acessível. É a prática do conceito de “DevOps as a Service”.
O melhor PaaS do mercado
Isso é algo que comumente tenho ouvido de clientes nos projetos em que tenho trabalhado. Os recursos oferecidos como plataforma pelo Microsoft Azure não apenas funcionam. Funcionam bem. É seguro confiar a estes ambientes aplicações complexas e que precisam performar de forma satisfatória.
É claro que, neste caso, é preciso haver um cuidado maior com a arquitetura da aplicação para que ela atenda as expectativas. Entretanto, uma vez constituída, a execução desta arquitetura poderá ser simplificada em larga escala com Azure. Isso porque o processo de distribuição das aplicações é suave no modelo PaaS. Através de cloud services bem delineados e com as estruturas networks devidamente configuradas, será simples construir uma aplicação modular e performática com API’s separadas do(s) Web Server(s), Armazenamento e Banco de Dados, por exemplo.
É claro que, como PaaS oferece um modelo com alta abstração de recursos, as personalizações nos ambientes são restritas. Se este é um requisito da aplicação (alto nível de personalização), máquinas virtuais (IaaS) deverá ser o caminho mais adequado. Já comentamos sobre isso quando falamos sobre “IaaS competitivo”.
Dentre os muitos recursos disponibilizados como plataforma pelo Azure, destaco na lista abaixo os 5 mais utilizados:
- Azure Web Apps (anteriormente, Azure Websites)
- Azure SQL Database (anteriormente, SQL Azure)
- Azure Storage (especialmente Blobs)
- Azure Mobile Services
- Azure Web & Worker Roles
Startups adoram PaaS, e com razão!
Abertura (com suporte) para Linux e outras tecnologias não Microsoft
Já tive a oportunidade de participar de projetos de migração para Microsoft Azure onde tudo era Microsoft (em termos de tecnologias), onde o ambiente era misto (Microsoft com outras tecnologias) e também, onde quase que 100% das tecnologias eram “não Microsoft”. Sim, eu vi acontecer.
O caráter “não restritivo” do Azure é fundamental no sentido de encorajar as organizações a moverem suas estruturas para nuvem. Isso porque tira qualquer trava que possa existir e claro, toda empresa gosta de ser livre para estruturar seus produtos e serviços nas tecnologias que melhor lhe convierem.
Neste sentido o Azure dá um passo um pouco mais largo – não apenas dá a flexibilidade para que as empresas possam usar VM’s Linux, por exemplo, mas também e especialmente, suporta cenários com estas VM’s. A palavra “suportar” no meio corporativo é de extrema importância. Dá segurança para que as empresas possam estruturar produtos e serviços sobre Ubuntu Server por exemplo, no sentido de que, se algo der errado, ela (Microsoft) irá dispender especialistas para ajudar na solução do mesmo.
Sempre usamos os exemplos de VM’s mas esta mesma flexibilidade pode se aplica a cenários de PaaS. Aplicações Java, PHP, Pyton e outras, também são suportadas para Web Roles (cloud service), Web Apps, etc.
Seriedade no tratamento das informações e serviços
É um fato que as empresas querem e precisam saber exatamente onde e de que forma seus dados e serviços estão sendo armazenados/executados. Não apenas isso, querem e precisam das garantias de que tudo estará rodando sob a perspectiva de um ambiente seguro e resiliente.
Sabedora disso, a Microsoft buscou construir uma nuvem confiável. É possível a qualquer pessoa, cliente ou não do Microsoft Azure, saber exatamente como a Microsoft trata cada aspecto em relação a seus dados e serviços (conheça o Trust Center através do link abaixo).
Microsoft Azure Trust Center
https://azure.microsoft.com/pt-br/support/trust-center/
Além disso, existe a confiança auto gerada pelo fato de uma empresa do porte da Microsoft estar garantindo contratualmente todos os aspectos importantes e que são sensíveis em aplicações desta natureza.
Outro aspecto que pode ser colocado abaixo desta aba e que também corrobora para a confiabilidade da nuvem da Microsoft, é o suporte. Isso é levado super a sério aqui. O processo de suporte do Microsoft Azure é, reconhecidamente, um dos mais eficientes do mercado. Além disso, o suporte é oferecido também em português, o que dá conforto aos clientes quando um problema ou dúvida se apresenta.
Felizmente a boa fama se espalhou e isso tem feito com que as empresas sintam-se confortáveis em escolher o Azure como sua plataforma de serviços.
Gestão simplificada de recursos
Uma das principais características da nuvem – tornar os recursos de computação “commodities” para os clientes – foi potencializado pela Microsoft através de um portal super simplificado de gestão de recursos. Dessa forma, clientes que não possuem conhecimentos avançados de servidores, redes, etc., podem facilmente criar e monitorar máquinas virtuais, bancos de dados, etc. e ainda, ter uma visão de consumo (e estimativa de gastos).
Além disso, para profissionais que gostam da tradicional “linha de comandos”, estão disponíveis as mesmas operações do portal via PowerShell. É inegável que isso conquista a galera mais hardcore :-).
Vale mencionar ainda que todos os recursos podem ser acessados através de chamadas a API’s REST e que portanto, as empresas podem criar seus próprios painéis de gestão dos recursos do Azure ou ir além, fazendo com que as próprias aplicações possam demandar informações dos recursos com os quais trabalham em tempo real ou até mesmo, alocar novos recursos de forma automatizada na nuvem.
A possibilidade da criação e gerenciamento de recursos avançados como load balancer, auto scaling e outros sem que seja necessário ser um expert em infraestrutura, é algo extremamente atrativo às empresas.
Extendendo o assunto
No sentido de expandir o assunto deste artigo, gravei um vídeo no formato de palestra para o Channel 9 Brasil (abaixo). Assista, comente e compartilhe.
Facebook
Twitter
Instagram
LinkedIn
RSS