[Cloud Computing] O que é “Conteinerização”/”Containerization” (utilizando Docker)?

A “Conteinerização” é uma alternativa leve – e muito mais leve – para a Virtualização Completa (utilizando uma VM – Virtual Machine) que envolve a ação de encapsular um aplicativo em um recipiente com o seu próprio ambiente operacional. Esta alternativa fornece muitos dos benefícios de carregar um aplicativo em uma máquina virtual, como executar o aplicativo em qualquer máquina física adequada, sem quaisquer preocupações com dependências.

A Conteinerização ganhou bastante destaque com a solução open-source Docker. Os contêineres Docker são projetados para funcionar em qualquer tipo de dispositivo/plataforma (em tudo), de computadores físicos à máquinas virtuais, bare-metal, OpenStack cloud clusters, instâncias públicas e muito mais.

Talvez, para quem não tenha conhecimento técnico em Virtualização ou em Computação em Nuvem, a explicação acima fique um pouco complicada ou distante de algo que possa fazer sentido, então, para simplificar um pouco – se é que isto é possível – podemos definir a “Conteinerização” como uma forma padronizada (um modelo) para a entrega de uma determinada aplicação dentro de uma estrutura virtual (Conteiner) que se assemelha a uma VM (Virtual Machine), e que consome menos recursos e possui estrutura para portabilidade mais simples entre diferentes ambientes físicos/virtuais. Podemos considerar de forma mais genérica – ou grosseira – que um Contêiner seria uma versão enxuta de uma VM Padrão (que necessita de um hypervisor para ser executada).

Abaixo, está disponível um vídeo contendo uma Introdução ao Docker, apresentado pelo fundador Solomon Hykes, publicado no Youtube pelo Twitter University. Divirta-se! 😀

Quer adicionar alguma informação a este conteúdo? Envie estas informações, sugestões e comentários através das Redes Sociais ou através de um comentário nesta publicação.

Um Abraço!

Antonio Ricardo Gonçalves

Cloud Computing: Como funciona um Datacenter da Microsoft (Vídeo)

A maioria dos profissionais de tecnologia – e de outras áreas também – estão acostumados ao Termo Cloud Computing (Computação em Nuvem). Mas será que a maioria sabe o que é um datacenter preparado para este modelo?

Venho abordando o tema de vários pontos de vista, com conceitos técnicos – os modelos SaaS / PaaS / IaaS -, soluções de mercado e como Cloud Computing pode solucionar problemas relacionados ao negócio. No entanto, muitos não tem ideia do tamanho e da capacidade de um datacenter que atende a este modelo de Computação em Nuvem.

Pesquisando conteúdo, encontrei um vídeo publicado pela Microsoft no Youtube, onde é possível dar um passeio por dentro de um datacenter da Microsoft. Então decidi compartilhar, pois, nada melhor do que visualizar o que acontece por trás de todos estes conceitos, siglas, soluções que abordo neste blog.

Espero que gostem!
Caso haja alguma dúvida, por favor, escrevam. E se por algum motivo o vídeo apresentar algum problema, por favor, alguém informe.

Um abraço!
Antonio Ricardo

[Microsoft Cloud] Comercial de TV da Microsoft sobre Cloud Computing

Como estou sem tempo disponível para novas publicações, decidi compartilhar um comercial da Microsoft que é veiculado constantemente nos canais de TV dos EUA / Canadá.
É um exemplo da aplicação da Nuvem da Microsoft (Microsoft Cloud) na prática (em uma situação real).
Divirtam-se!

Um abraço!
Antonio Ricardo

Exemplo de IaaS

Para finalizar a Trilogia de Exemplos de Cloud Computing: SaaS, PaaS e IaaS, neste artigo ilustro a seguir uma aplicação prática do modelo IaaS.

Primeiramente vamos recapitular o conceito:

IaaS – Infrastructure as a Service (Infraestrutura como um Serviço) Neste modelo você contrata sua infraestrutura de TI como serviço, com uma vantagem muito interessante ao modelo tradicional, que é a contratação de servidores virtuais (e outros dispositivos de infraestrutura) ao invés de comprar servidores, roteadores, racks e outras “caixas” de hardware. Aqui você é tarifado por alguns fatores, como o número de servidores virtuais, quantidade de dados trafegados, dados armazenados e outros itens, dependendo de como e com quem (fornecedor IaaS) você trabalha. Neste caso, creio que o Windows Azure, Amazon EC2 e a IBM sejam bons exemplos para quem queira pesquisar mais sobre o assunto. No IaaS, obviamente também é utilizado o modelo pay-per-use, onde a cobrança é baseada no serviço e não em licenciamento de produto, ou seja, se você precisa de 10 servidores para o próximo mês, você contrata a utilização destes servidores por este período determinado e depois, simplesmente cancela a utilização.

O modelo IaaS é apoiado em soluções de virtualização (Ex. VMware, Microsoft, RedHat etc.) que são amplamente utilizadas atualmente, adicionando ingredientes extras muito importantes relacionados ao gerenciamento do ambiente. Geralmente num ambiente virtualizado “in company” a questão do gerenciamento fica limitada aos recursos mais básicos como memória, armazenamento e processamento, porém, no modelo IaaS é esperado que o gerenciamento vá além do básico, entregando maior capacidade de provisionamento do ambiente, melhor disponibilidade (por tratar-se de ambiente mais robusto e mais complexo), além do ponto fundamental que é a gestão do custo, pois, o IaaS é comercializado baseando-se na utilização dos recursos, então se não houver um sistema eficiente que gerencie todos os recursos, alguma das partes sairá prejudicada.

O Exemplo prático:

Como a Microsoft tem uma base instalada maior que os demais, torna-se um pouco mais fácil exemplificar, utilizando o Windows Azure, pois a maior parte (ou a parte total) é formada de soluções já utilizadas em infraestrutura de TI convencional.

Através da Plataforma Windows Azure, além de seus servidores Windows, Linux e outros Sistemas Operacionais x86 e 64 bits é possível criar do ponto zero ou ainda estender sua infraestrutura para o modelo Cloud Computing / IaaS transferindo parte dela para a nuvem, incluindo o Active Directory, aramzenamento / backup, aplicações web internas ou externas hospedadas em IIS, Apache etc.

Através de várias soluções integradas na plataforma Azure é possível criar conexões seguras pela Internet e tornar sua infraestrutura flexível, tirando proveito de uma infraestrutura na Nuvem. Você terá uma extensão da sua infraestrutura atual, sem se preocupar com o hardware.

Recomendo o acesso ao site do Windows Azure, pois, existe muito conteúdo em português, e cada um dos itens da solução possui uma grande biblioteca de informações, além de eventos e a comunidade Microsoft que é uma ótima fonte de obtenção de conhecimento. Creio ser mais interessante e objetivo obter as informações diretamente na fonte. Também não deixe de acessar a calculadora disponível no Site do Windows Azure, pois, esta lhe fornecerá uma excelente base para entender como os custos são aplicados.

Um grande abraço!
Antonio Ricardo

 

Exemplo de PaaS

PaaS

Recapitulando o Conceito (Já Publicado no artigo “O que é SaaS, IaaS e PaaS em Cloud Computing? – Conceitos básicos”):

PaaS – Platform as a Service (Plataforma como Serviço):
Este modelo fica entre o SaaS e IaaS, proporcionando uma plataforma mais robusta e flexível para a utilização de muitos recursos de tecnologia, onde é possível a utilização de softwares de maneira mais personalizada, sendo possível desenvolver suas próprias aplicações baseadas em alguma tecnologia (framework, linguagem etc.) e utilizar a infraestrutura necessária – disponível na Nuvem.

O exemplo (Aplicações práticas do Conceito):

Para ilustrar o que menciono no conceito, vou apresentar o WOLF, pois, trata-se de uma solução que utiliza todos os conceitos, mas, principalmente tira o melhor proveito possível da utilização de um Framework e da gestão do ciclo de vida de uma aplicação.

A solução WOLF permite que qualquer empresa desenvolva sua aplicação em um ambiente de Cloud Computing, tira proveito dos benefícios do modelo Web 2.0, utilizando o desenvolvimento “code free” (sem necessidade de escrever código), entre outras funcionalidades.

Eu poderia publicar vários parágrafos aqui, mas acredito ser mais produtivo acessar o site do Wolf Framework, pois, existem muitos detalhes e informações, além de vídeos autoexplicativos que irão auxiliar muito no entendimento. Além do mais, não há nenhum tipo de alteração radical, que seja incompreensível para quem tem algum conhecimento – mesmo que seja básico – em Tecnologia da Informação. PaaS é mais uma excelente ferramenta no apoio ao desenvolvimento de aplicações, porém, baseada em ambiente de Cloud Computing.

Lembrando que, este NÃO é um artigo patrocinado e estou utilizando o WOLF apenas pela facilidade de entendimento do modelo, pois, o site tem ótimas informações. Se você deseja mais opções, a seguir apresento mais algumas: Azure (Português), Drupal (Inglês), Salesforce1 Platform (Inglês/Português), Squarespace (Inglês), LongJump (o site do LongJump também é excelente para aprofundar o entendimento – Inglês).

Um abraço!
Antonio Ricardo Goncalves

O que é Fabric-Based Infrastructure

Vamos adicionar mais um pouco de conhecimento ao nosso Gerenciamento de Cloud Computing  e entender o que é Fabric-Based infrastructure (FBI). Este é um termo relativamente novo que é utilizado para ambientes com capacidade de gestão automatizada.

Este conceito destinado à integração vertical de hardware e infraestrutura de software, chamado de Fabric-Based infrastructure (FBI) é apoiado por uma camada de automação (baseada em softwares para o gerenciamento de ambientes computacionais) e tem como objetivo apoiar a T.I. a prover soluções sob demanda para apoio aos negócios com maior agilidade, eficiência e eficácia. Desta forma, promete entregar infraestrutura para aplicações em tempo real.

Como mencionei nos artigos anteriores (Gerenciamento de Cloud Computing P.I e P.II) e também em vários outros, este modelo de computação (no modelo Cloud Computing), vem se diferenciando dos modelos tradicionais pela capacidade de atender as demandas de negócios por entregar soluções flexíveis. Isto significa disponibilizar ambientes que crescem ou encolhem horizontal ou verticalmente, baseados nas necessidades dos negócios.  Da perspectiva das áreas de negócios, esta facilidade de obter e liberar recursos computacionais implica em menores custos para seus projetos e maior rapidez na entrega de soluções.  Na visão da TI, este tipo de solução com gerenciamento mais eficiente é muito interessante por ser capaz de reduzir o consumo de recursos desnecessários (ex. hardware, software, armazenamento, energia elétrica) disponibilizando somente o necessário para determinado projeto ou solução e distribuindo melhor tais recursos.

O conceito é bem simples. Trata-se de um modelo de gestão automatizada para ambientes computacionais, porém, sem um recurso desta natureza, os modelos de Cloud Computing tornam-se ineficazes, por não atingirem seus objetivos de entrega de ambientes (como SaaS, PaaS e IaaS) com maior agilidade e eficiência operacional do que os modelos convencionais. E por último, mas, não menos importante: Custo/benefício mais atrativo para aqueles que  utilizam este modelo de computação.

Um grande abraço!
Antonio Ricardo Goncalves

Gerenciamento de Cloud Computing (Private Cloud)

Como mencionei no artigo anterior, o gerenciamento de Cloud Computing para quem adota o modelo de Private Cloud (Nuvem Privada) merece atenção especial, pois, sem a aplicação de um bom modelo de gestão aliado a um software destinado a este fim, sua nuvem privada pode tornar-se um fracasso.

É necessário um conjunto de hardware e software para a criação de uma Nuvem Privada, e para que este conjunto funcione harmoniosamente, você precisará de uma solução – software – destinada ao gerenciamento de sua nuvem.  Um bom exemplo para entender como isto funciona é comparar com uma orquestra, onde existem músicos excepcionais e que dominam totalmente seus respectivos instrumentos musicais, porém, para que haja harmonia entre todos estes e seja produzida boa música e um resultado em grupo, o maestro é fundamental na condução do conjunto.

Existem vários fornecedores no mercado que entregam ótimas soluções para esta finalidade. Muitos fornecem soluções completas, onde você terá desde o modelo conceitual, hardware e software e a plataforma para fazer a gestão da sua Nuvem Privada.

Um ponto fundamental a ser destacado para quem passa a utilizar uma Nuvem Privada é basear a maior parte dos recursos oferecidos no conceito de auto-serviço (self-service), onde, o cliente pode criar seus próprios recursos, como máquinas virtuais (servidores / desktops), armazenamento etc. Este cliente pode ser um departamento de T.I. ou outro qualquer, dependendo da necessidade, e isto é definido de acordo com um modelo de gestão baseado nas necessidades dos negócios da empresa.

As duas fontes a seguir podem lhe fornecer muita informação sobre este assunto: (Obs. Os exemplos não são patrocinados, como sempre faço. Caso queira sugerir algum outro exemplo, fique a vontade. Sugestões são sempre bem-vindas!) http://www.microsoft.com/en-us/server-cloud/solutions/virtualization-private-cloud.aspx#fbid=IW3d6VZuKPD
http://www.vmware.com/br/products/vsphere/

Um grande abraço!
Antonio Ricardo