Fazer ou Comprar?



Essa é uma pergunta antiga, em geral associada ao mundo de desenvolvimento de software, quando empresas avaliam se deveriam comprar um novo software de um fornecedor estabelecido no mercado ou desenvolver um novo aplicativo “in-house” (com ou sem o uso de fábricas de software).

Porém, nos últimos meses tenho tido várias conversas com clientes que estão passando pelo mesmo dilema, só que em outras camadas como INFRAESTRUTURA, CLOUD, BIG DATA, etc. Isso acontece pelo crescimento de algumas novas tendências como, por exemplo:
  • Adoção de software livre, como o Openstack (mencionado AQUI)
  • Crescimento de arquiteturas Convergentes (discutido AQUI)
  • Uso de tecnologias de virtualização de outros componentes da infraestrutura, como rede e storage. (Openvswitch, NSX, ScaleIO, Cepth, ECS, etc) (mencionado AQUI)

Mas qual caminho seguir?



O lado do “faça você mesmo”, significa adotar menos soluções prontas de fornecedores, como hardware whitebox (Open Compute Project) e investir em soluções de software open source “vanilla”. 

Vantagens: Independência de fornecedores, maior flexibilidade da sua infraestrutura para atender requisito de negócio 

Desvantagens: Necessidade de criação e manutenção de um time técnico grande e altamente especializado. Problemas inerentes ao desenvolvimento de novas soluções, como uma maior instabilidade. 

O outro caminho como podem imaginar, significa adotar soluções prontas, preferencialmente envolvendo o menor número possível de fornecedores. A solução torna-se simples e fácil de ser implementada, gerenciada e suportada. A empresa pode ter uma equipe de TI enxuta e manter a eficiência operacional. Mas a escolha de uma solução ruim ou a escolha do fabricante errado pode trazer consequências, como aumento elevado de custos e rigidez para utilizar novas tecnologias que tragam benefícios aos negócios.

Felizmente essa não é uma questão de “OU” (o caminho A OU B). É mais uma questão de qual lado começar a botar mais peso. 


Mas em qual lado colocar mais peso? Alguns Para isso é preciso fazer uma análise da infraestrutura e soluções, determinar a maturidade do mercado, grau de dependência a abstração dos componentes e até mesmo a estratégia de cada CIO e sua visão para sua área de TI.

Vamos exercitar rapidamente alguns exemplos:
  • Servidores: Dificilmente justifica-se construir o seu próprio servidor. É um componente aonde a abstração de camada de virtualização torna mais fácil a substituição de componentes. As empresas e as pessoas já estão acostumadas a gerenciar estes componentes. 
  • Storage: Está no meio do caminho. Algumas arquiteturas já permitem uso de hardware commodity + software para que as empresas montem seu próprio storage. (Ceph, VSAN, ScaleIO e ECS por exemplo). Mais em muitos casos as empresas ainda não estão prontas para terem que gerenciar por conta própria múltiplas camadas e fornecedores (hardware e software) para manter o storage funcionando. 
  • Soluções de IaaS e PaaS, surgiram com as empresas tentando montar suas próprias soluções (usando componentes dos mais diversos fabricantes (servidor, rede, storage, orquestrador, element managers, portal, automatizador, etc) e o que a maioria das empresas está descobrindo é que quanto mais partes, mais difícil é o “Faça você mesmo” (como eu comentei um pouco AQUI). Por isso estão surgindo soluções, como o EHC, que é uma “Cloud in a Box”, justamente para tentar entregar os benefícios de uma nuvem, de uma forma simples e rápida. 

E a lista vai longe, como banco de dados (Exadata), e em níveis diferentes como uso de soluções open source "produtizadas", como Cloudera & Hortonworks para big data/hadoop.

Não existe um caminho óbvio. Para cada componente e para cada empresa a resposta pode ser diferente e pelo menos por enquanto o mercado não mostra uma tendência maior para nenhum lado. 

Como sempre tento fazer posts curtos (a regra é que dê para ler em 10 minutos), mas é claro que com isso não dá para abordar todos os aspectos de um tema. Quer acrescentar algo? Descorda de algo? Comentários são *sempre* bem-vindos!




DevOps ou "a próxima onda da TI"


Quem trabalha com TI há alguns anos já deve ter percebido que a TI vive de ondas. Mainframes, arquiteturas cliente-servidor, Cloud Computing, Big Data, e agora... DevOps.
(não quer dizer que a tecnologia de uma onda seja necessariamente nova ou que substitua a onda anterior)

Cada onda surge por uma confluência de amadurecimento tecnológico, surgimento de novos fornecedores/soluções e necessidades das empresas. E cada onda está sempre sujeita a um ciclo de maturidade próprio, como o do gráfico abaixo: tudo começa com uma grande expectativa que essa nova onda irá resolver todos os problemas, depois existe uma "vale das desilusões" quando percebe-se as limitações e descobre-se novos problemas e desafios da nova onda, até chegar no platô da produtividade, quando o mercado atinge a maturidade de produtividade usando as tecnologias da nova onda.



O objetivo básico de DevOps é otimizar o desenvolvimento de softwares e a entrega de novos serviços pela TI, através de uma maior integração entre a área de desenvolvimento e a área de operação, com um número maior de interações entre as áreas, permitindo entregas frequentes de software.

Junto com DevOps surgem novos termos, arquiteturas & conceitos a serem estudados, debatidos e implementados:
  • TI Bimodal (Gartner) e Terceira Plataforma (IDC), ambos abordados brevemente AQUI.

  • Containers (como Dockers) com todo seu ecosistema (como Mesos e Kubernetes)  

  • Plataformas de PaaS (como CloudFoundry)

  • Infraestrutura definida por software

  • Cloud Computing (inclusive com uso mais eficiente de nuvem pública) 

  • Novos modelos de desenvolvimento de aplicações, as chamadas "Cloud Native Applications" ou "CNA" (quem não adora um novo acrônimo!). Eu já havia coloca um livro muito legal sobre o tema AQUI. Sobre esse tema vale também a leitura deste excelente SITE, listando os 12 fatores para aplicações modernas, como por exemplo:
    • o uso de micro-serviços
    • Stateless application servers
    • Setup do ambiente de aplicação de forma declarativa e automatizada
    • Repositório central de código
    • Menor ou nenhuma dependência da infraestrutura
Muitos dos temas listados acima se complementam. Apenas para citar alguns: a adotar algumas das premissas da TI Bimodal é importante para que as empresas possam acelerar seu ciclo de desenvolvimento e aproveitar as vantagens do uso de "Cloud Native Applications". Desenvolver "Cloud Native Applications" considerando os "12 fatores" é importante para que as empresas possam utilizar nuvem pública com todo seu potencial de benefício... e a lista segue com os demais componentes.


Como sempre tento fazer posts curtos (meu objetivo é que você possa ler em menos 10 minutos), mas mas com isso não dá para abordar todos os aspectos de um tema. Quer acrescentar algo? Descorda de algo? Comentários são *sempre* bem-vindos!




EMC Forum




Na semana passada (26/Ago) foi o EMC Forum Brasil, com mais de 1.200 participantes!



Muita coisa legal, como a palestra do Doug Cutting, criador do Hadoop!

Eu fiz uma palestra também - muito mais modesta :) - falando sobre a solução AFA (All Flash Array) da EMC, o XtremIO, e os impactos dessa solução para as aplicações e a infraestrutura do Data Center ágil.

Para quem não pode ir e quiser ver a apresentação, clique aqui.

Big Data pra crianças



Para aqueles me conhecem sabem que eu sou um palestrante de diversos eventos de TI. Desde pequenos grupos de executivos como no CIO Brasil ou IT Forum até para centenas (milhares?) de participantes como no VMware vForum.

Para quem já teve a oportunidade de palestrar para um grupo (não importa o tamanho), sabe do desafio. Definitivamente não é algo fácil. (Dizem que algumas pessoas têm mais medo de falar em público do que da própria morte)

Mas essa semana eu tive um desafio bem diferente – e para ser honesto, até um pouco mais assustador: fazer uma palestra de Big Data para duas turmas da 6ª série do ensino fundamental. :) Olha a galerinha aqui:


 






Foi um misto de apresentação (é difícil montar um powerpoint tentando imaginar como a mensagem vai aterrissar na mente de uma criança) + vídeo + jogo interativo para tentar mostrar o que é Big Data e como isso está mudando o mundo em que vivemos.

É interessante notar a diferença no comportamento das crianças com relação aos adultos: as crianças sentam nas primeiras fileiras e interagem muito, perguntando, tentando criar as analogias delas para entenderem os conceitos e compartilhando as experiências delas. Se isso fosse uma palestra para adultos provavelmente teríamos todos sentados no fundo, a maioria sem perguntar nada (mesmo que não estivesse entendendo) e provavelmente checando esporadicamente os e-mails no celular. Particularmente o modelo das crianças me parece melhor. :)

Abaixo as fotos do Joel Brawerman explicando Big Data e uma foto minha tentando organizar o jogo :)






E o resultado? As crianças adoraram (com crianças você sabe imediatamente se elas gostaram ou não) :) e foi uma experiência absolutamente incrível! As crianças passam uma energia revigorante!



Quem quer um storage grátis?


Quer criar uma camada de storage definido por software, utilizando hardware commodity de servidores já existentes no datacenter para criar uma camada de armazenamento sem hardware dedicado?

Quer criar uma solução hiperconvergente (mais informações aqui)?

E que tal um storage que pode fazer mais de 10.000 milhões de IOPS usando servidores x86?


A EMC está oferecendo o ScaleIO, ILIMITADO e SEM RESTRIÇÕES. Só clicar no link, fazer download e usar: http://www.emc.com/storage/scaleio/index.htm


E para completar a solução, você pode baixar uma controladora de software para gerenciar todo o seu ambiente de armazenamento (baseado em ScaleIO, ou storages tradicionais da EMC ou de outros fabricantes como NetApp, HP, IBM, etc).

O CoprHD, disponível sem custo aqui, é a versão software-livre do ViPR. (por exemplo, pense no Fedora, a versão livre do RedHat Enterprise Linux)


Obs: Para o CoprHD, diferentemente do ScaleIO, a EMC está liberando o código do produto, dentro do MPL 2.0 (https://www.mozilla.org/MPL/), ou seja, se quiser pode escrever código e complementar alguma funcionalidade do produto, que seja particular ao seu ambiente!

Livro GRÁTIS: Migrating to Cloud-Native Application Architectures


Muito tem se falado sobre a Terceira Plataforma, TI Bimodal, DevOps, mas ainda são termos recentes e que muitas vezes ainda são difíceis de serem contextualizados ou completamente entendidos por todos nós, profissionais de TI que vivemos a TI da Segunda Plataforma, de aplicações cliente-servidor.

A Pivotal está disponibilizando de forma gratuita o livro Migrating to Cloud-Native Application Architectures, explicando um pouco dessa transformação do modelo de desenvolvimento de aplicações. Assim como o próprio conceito de DevOps, essa é uma leitura para todos os profissionais de TI - desenvolvedores ou não.

Vale a leitura: http://pivotal.io/platform-as-a-service/migrating-to-cloud-native-application-architectures-ebook

EMC World vLabs




Esse post não é para falar das novas tecnologias anunciadas no EMC World (para isso teremos outros posts – não esqueça de se cadastrar para acompanhar o blog por email ou RSS).

Esse post é para falar sobre os vLabs – laboratórios virtuais para os participantes do EMC World testarem na prática todas as tecnologias da EMC.

Esse ano foram mais de 3.000 vLabs!!!

Apesar de não mostrarem necessariamente tendências para o futuro das empresas, eles dão uma ideia dos principais temas de interesse dos participantes do EMC World. E pra mim não foi nenhuma surpresa os líderes da lista:
  • AFAs (All-Flash-Array) com XtremIO; 
  • SDDC (Software-Defined Data Center), com ViPR, NSX e ScaleIO;
  • VMAX & VNX - afinal, é um evento da EMC :)
  • Data Protection
  • HyperConverged Infrastructure com VSPEX Blue
  • Integração com VMware e Openstack





O vLabs ficam disponíveis durante TODO O ANO, 24x7 e SEM CUSTO. Se você é um parceiro EMC, acesse http://portal.demoemc.com / Se você é um cliente EMC fale com o seu representante.