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

Exemplo de SaaS

SaaS

Para não ficar apenas nos conceitos e nas explicações teóricas, decidi publicar este artigo com um exemplo simples e didático de SaaS ou Software as a Service.

Tenho o (estranho) hábito de pesquisar soluções no modelo “as a Service” para situações que enfrento no meu dia-a-dia. Como nesta semana tive uma experiência desagradável com um agendamento para exames de rotina, então saí pela Internet pesquisando e analisando o que havia.

Após algumas horas e várias leituras, análises, testes etc; encontrei na AWS (Amazon Web Services) o software tuOtempO, e por tratar-se de um software muito simples conceitualmente, mas com aplicação muito eficiente para o dia-a-dia, decidi utilizá-lo como exemplo para quem deseja visualizar na prática os conceitos de SaaS que repetidamente menciono neste blog.

Recapitulando o conceito de SaaS – Software as a Service:
SaaS – Software as a Service (Software como Serviço) é basicamente um modelo onde a aquisição e/ou utilização de um software não está relacionado a compra de licenças, ou seja, você utiliza algum software e paga por sua utilização. Este software é baseado em um ambiente computacional no modelo de Cloud Computing, e – na minha visão – deve disponibilizar acesso multiplataforma, ou em outras palavras, quem está utilizando deve possuir meios de acessá-lo através de diferentes aparelhos (celulares, tablets, desktops, notebooks) com diferentes tipos de clientes (browser/navegador) sem a necessidade de instalação de nenhum tipo de software adicional.

O que é o tuOtempO?
O tuOtempO é um conjunto de softwares no modelo SaaS, que podem trabalhar de forma independente ou integrada entre seus módulos e também integrando-se a software legado em caso de necessidade. Alguns módulos são: Serviço de Agendamento, Comunicação Interativa com Pacientes, Resultados de Exames entre outros. Para maiores detalhes, consulte o site do fornecedor.

Como utilizar o modelo SaaS no dia-a-dia (a prática):

Se a clínica, que atualmente utiliza um software ultrapassado (uma mescla um sistema baseado em Access / MS Office, Visual Basic e algumas planilhas) e que aparentemente não atende as expectativas, decidisse adotar uma nova solução, seria muito interessante do ponto de vista ‘custo x benefício’, passar a utilizar algo no modelo SaaS, pois a solução que menciono como exemplo – tuOtempO – e que é 100% SaaS, atenderia facilmente uma das necessidades do negócio – o agendamento de consultas, sendo possível passar a utilizá-la imediatamente através da assinatura mensal que possui custo baixo e sem a necessidade de nenhum tipo de intermediário, aquisição de hardware, software etc.

Com a transição do modelo atual para o SaaS, a clínica teria muitos benefícios, como a facilidade de gestão dos recursos de TI, pois, atualmente se o servidor onde o software está instalado ou uma das estações onde a atendente faz os agendamentos apresenta alguma falha, há indisponibilidade total ou parcial por conta do modelo ser ultrapassado e não oferecer alternativas para o caso de falhas. Já na situação onde o SaaS é utilizado, a interrupção dos serviços é praticamente nula, pois, é possível acessar o software de qualquer dispositivo e em qualquer local. Mesmo que haja uma queda na infraestrutura da clínica, é possível acessar o sistema de agendamentos por um smartphone ou tablet com acesso a Internet e continuar a atividade normalmente. Como estamos mencionando SaaS/Cloud Computing, o nível de confiabilidade e disponibilidade esperado é sempre alto.   Concluindo a ideia, é sempre fundamental analisar  qual o tipo e o tamanho do negócio para saber quando é interessante um ou outro modelo, mas de forma simplista, para situações mais simples você terá benefícios utilizando SaaS e para situações onde há necessidade de software com maior nível de parametrização (‘customização’) devido a regras do negócio, outros modelos como IaaS ou PaaS, e mesmo a computação em seu modelo tradicional, provavelmente serão mais interessantes.

Obs. Este artigo não é patrocinado. Apenas utilizei o exemplo da tuOtempO porque considero uma solução simples e de fácil entendimento para fins didáticos e o AWS por tratar-se de um fornecedor conhecido.

Um grande abraço!
Antonio Ricardo

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

Gerenciamento de Cloud Computing

Como em qualquer outra atividade, a gestão de recursos da TI é essencial, porém, com o avanço da TI e a adoção de modelos baseados em computação em nuvem, este tema torna-se muito mais crítico e importante na obtenção dos resultados desejados.

Devido a este modelo (Cloud Computing) entregar muito mais confiabilidade, disponibilidade, agilidade e flexibilidade – é o que todos desejam, certo?! –; a atenção ao gerenciamento deste padrão de ambiente necessita muito estudo e gerenciamento no dia-a-dia de sua operação. Isto vale tanto para quem contrata ou comercializa algo como SaaS, IaaS, PaaS ou para quem utiliza Private / Hybrid Cloud.

Para ficar bem fácil de compreender, pensemos primeiramente num caso em que uma empresa utiliza correio eletrônico no modelo SaaS (Software as a Service). Todos nós concordamos que ficar sem email por minutos (ou segundos), pode custar caro, principalmente para áreas como centrais de atendimento, comercial e assim por diante. Portanto, quando pensamos no gerenciamento, devemos tomar cuidados especiais, como por exemplo, o tipo de contrato que está sendo contemplado com o fornecedor de serviços, pois, se você necessita de 99,999% de disponibilidade e assina um SLA de 95,9% dificilmente atingirá seu objetivo de disponibilidade, pois, a maior parte das empresas – ou todas elas – baseiam seus preços de SaaS nesta questão – a disponibilidade. Quando você analisar o Custo x Benefício de alguma solução deste tipo, o SLA substituiu exatamente o termo Benefício. (Custo X Benefício = Custo x SLA).  Quer ter melhor beneficio ou ter um SLA mais agressivo? Terá que desembolsar mais (Isto já aplicado nos modelos tradicionais, como Outsourcing).

Podemos considerar importantes, neste exemplo, outros fatores, como as funcionalidades que o produto disponibiliza, pois, sua empresa pode necessitar também de soluções de colaboração, mensagem instantânea ou ainda funcionalidades de CRM que podem ser agregadas a este produto de correio eletrônico, e que, se forem adquiridas separadamente podem custar mais ou ainda não se integrarem. Além disso, não podemos esquecer NUNCA de pensarmos num parceiro de verdade e não simplesmente em um fornecedor, pois, a entrega do serviço dependerá totalmente dele e nos momentos de crise ele deverá ser seu Parceiro e não apenas o Fornecedor de SaaS (este é um fator bem crítico no dia-a-dia de quem utiliza Cloud Computing).

Também podemos adotar Cloud Computing internamente, que conhecemos como Private Cloud, e neste caso, necessitamos de modelos mais robustos de gestão, o que inclui, além do que citei nos parágrafos anteriores, soluções integradas de gerenciamento de seu ambiente de computação em nuvem.  (Vou dedicar meu próximo artigo a este tópico para não estender demais este aqui. Já está longo demais… :-D)

Finalizando a ideia, podemos perceber que, apenas num único e simples exemplo – do correio eletrônico -, vários tipos ou domínios de gerenciamento são necessários para obtenção de bons resultados. A seguir, cito alguns: Gestão de contratos, gestão de riscos, gestão financeira, gestão de ativos, gestão de fornecedores, gestão de crise entre outros.

Mas tenha calma, não se desespere, pois, tudo que foi citado é perfeitamente viável de ser colocado em prática, principalmente adotando metodologias e conhecimento para apoiar a gestão de seu dia-a-dia.

Todos já ouvimos falar de ITIL, TOGAF, COBIT, PM e outras siglas e letrinhas que fornecem excelentes conhecimento,  métodos e maneiras de superar tais desafios… Não ouvimos?! Tem muita coisa boa para se colocar em prática e apoiar o avanço da adoção da tecnologia que você necessita. Também existem vários frameworks direcionados a gestão de Cloud Computing pipocando… Então, siga em frente!

Um grande abraço!
Antonio Ricardo Gonçalves

O que é Cloud Computing?

Cloud Computing

OS CONCEITOS:

Porque o termo Nuvem  (em inglês: Cloud) é utilizado?
A ideia é bem simples: A(s) nuvem(ns) não possui(em) forma definida, ou seja, podem assumir qualquer formato ou tamanho, dependendo de fatores como vento, pressão atmosférica, temperatura etc, podem juntar-se ou dispersar, formando novas nuvens; também podem deslocar-se entre locais totalmente distintos.

Agora vamos aplicar a ideia acima a computação.

E o que significa Computação em Nuvem (em inglês: Cloud Computing)?
Basicamente a Computação em Nuvem refere-se a utilização de recursos computacionais como memória, capacidade de armazenamento de dados/informações, capacidade de processamento/cálculo baseados em servidores compartilhados e interligados através da Internet, baseados no princípio da Computação em Grade (em inglês: Grid Computing).

Grid Computing é um modelo de computação onde é possível executar processos através de computadores distribuídos localmente ou geograficamente distribuídos. A Computação em Grade (Grid Computing) é uma evolução da Computação Distribuída. Um exemplo muito interessante de Grid Computing é o “World Community Grid”. Acesse o site http://www.worldcommunitygrid.org para conhecer. Caso queria saber mais sobre os assuntos Grid Computing e Computação Distribuída, a Wikipedia é sempre uma boa fonte para pesquisa.

Outra questão fundamental para entendermos a Computação em Nuvem é a Virtualização, que também possui um conceito simples. A ideia da virtualização é isolar as aplicações/sistemas do hardware, através de uma camada de software conhecida como Hypervisor. O objetivo deste modelo é prover a liberdade de execução de um sistema, sem depender do tipo de hardware utilizado.

Finalmente chegamos onde eu queria: Sintetizar todas as ideias acima em uma explicação para o que conhecemos como Cloud Computing e utilizamos em nosso dia-a-dia.

Cloud Computing (esta é minha visão): Um conjunto de hardware agrupado (em inglês: clustered) com capacidade automática (ou autônoma) de prover serviços através de provisionamento e análise em tempo real da capacidade deste conjunto de hardware. Este modelo tem como objetivo o consumo transparente de recursos de computação que podem estar em qualquer lugar de forma simples e amigável a quem consome o serviço. Este serviço, de acordo com sua capacidade de autogerenciamento, pode “crescer” ou “encolher” de acordo com a necessidade de que está consumindo.

Resumidamente, a ideia de Cloud Computing é atender as necessidades de um consumidor de TI, sem burocracia, com agilidade e de maneira totalmente transparente e gerenciável, baseado nos conceitos acima descritos.

 

A PRÁTICA:

Na prática, utilizamos Cloud Computing o tempo todo. Quando utilizamos serviços como o Google, Gmail, Outlook, Azure, Facebook estamos consumindo Cloud Computing, pois, independente de onde está a infraestrutura e os softwares envolvidos na solução – e estes estão espalhados pelo mundo todo – o que precisamos está sempre ao nosso alcance.

Atualmente existem inúmeros tipos de ofertas de Computação em Nuvem no mercado de TI. Desde as grandes como Microsoft, IBM, HP, Google, Amazon até pequenas empresas fornecem soluções neste modelo. Cabe a cada um, profissional ou empresa, entender o que necessita em quem pode lhe fornecer a melhor solução.

Quando falamos de Cloud Computing, geralmente entramos nos conceitos de TI como um Serviço (TI as a Service), como SaaS, IaaS, Paas, DaaS e vários outros. Caso queira saber sobre estes modelos, acesse este artigo https://antonioricardo.org/2013/03/28/o-que-e-saas-iaas-e-paas-em-cloud-computing-conceitos-basicos  ou navegue pelo blog para mais informações.

Um grande abraço!
Antonio Ricardo

O que é DTaaS – Desktop as a Service (Desktop como um serviço)

DaaS

Com o objetivo de complementar a publicação anterior, a seguir, explico o que é DTaaS e como podemos utilizar este conceito em nosso dia-a-dia.Como o nome sugere, DTaaS (Desktop as a service) é mais um modelo de utilização de recursos de Tecnologia da Informação, onde é possível substituir o modelo tradicional de aquisição de produtos, pela contratação de serviços, ou seja, ao invés de você adquirir um desktop (hardware) e softwares (sistema operacional, softwares de proteção, softwares de produtividade etc.), você contrata um provedor de serviços que irá fornecer tal infraestrutura, através de um modelo pré-determinado (normalmente baseado em Cloud Computing / Virtualização) cobrando uma assinatura mensal.

O conceito de DTaaS está diretamente associado a recursos de Virtualização de Desktops e Cloud Computing (Também chamado de Virtual Desktop as a Service). No segundo caso, podemos expandir o modelo de Cloud Computing em modelos tradicionais, em Private Cloud (Nuvem Privada) e também na mescla de ambos, chamados de modelos híbridos.

De forma simplista – e para facilitar o entendimento – podemos fazer um paralelo entre DTaaS e SaaS (Software as a Service) onde no modelo DTaaS, além do software (descrito no SaaS), adquirimos também o hardware como um serviço, pagando pela utilização ao invés de comprar o alugar. Isto significa que o provedor deste serviço fica responsável por toda a infraestrutura, entregando todos os recursos de hardware e software dentro de um “pacote de serviços”.

E como funciona a estrutura de virtual desktop as a service na prática?
Esta solução é formada por Servidores (onde são criadas estruturas para fornecimento destes desktops virtuais, através da utilização de produtos fornecidos por empresas como Citrix, Dell, VMware entre outras), elementos de rede como roteadores e switches e por clientes ou Thin Clients (Estes responsáveis por acessar os recursos armazenados nos servidores e disponibilizá-los para os usuários da solução).
Um ponto muito positivo e importante neste modelo é seu gerenciamento facilitado pela arquitetura das soluções que proporciona maior segurança e agilidade na administração.
Como ponto negativo ou crítico cito a necessidade de atenção com sua característica de alta disponibilidade, pois, se algo falhar por falta de redundância de recursos ou falha na especificação da capacidade de carga, pode haver indisponibilidade para muitos usuários ao simultaneamente.

Como sempre menciono em meus artigos, adotar uma solução de TI em um ambiente corporativo é uma questão delicada, e deve estar sempre direcionada ao apoio direto ao negócio.  O DTaaS é apenas mais um modelo dentre muitos e seu sucesso depende primeiramente da necessidade de sua utilização, combinando-se a isto um ótimo projeto de viabilização, implantação e adoção do modelo.

Um abraço,
Antonio Ricardo

O que é SaaS, IaaS e PaaS em Cloud Computing? (Conceitos básicos)

Hoje vou tratar objetivamente e com abordagem simples a respeito destas três siglas relacionadas a Computação em Nuvem (Cloud Computing em inglês), que, apesar de não se tratarem de algo tão novo assim, causam dúvidas em quem não tem muito contato com conceitos de tecnologia da informação.

SaaS – Software as a Service (Software como Serviço):
É um modelo onde a aquisição e/ou utilização de um software não está relacionado a compra de licenças, ou seja, você utiliza algum software e paga por sua utilização. Como exemplo, para fácil compreensão, cito o Skype da Microsoft. O Skype é um software de comunicação que permite vários tipos de utilização, que pode ser a simples troca de mensagens até uma videoconferência em grupo. Para utilizar o Skype você não paga nenhum tipo de licença, e é tarifado (ou cobrado) de acordo com os serviços que utiliza. Por exemplo, se você utiliza apenas o recurso de videoconferência em grupo, pode contratar apenas este recurso, porém, é possível combinar vários recursos oferecidos adaptáveis a sua necessidade. É um modelo flexível, que lhe permite controlar o que você necessita, pagando apenas pelo que utiliza em determinado período ou situação pontual. Resumidamente, você paga o serviço e não o produto. (Pesquise também o Lync Server e o Webex)

IaaS – Infrastructure as a Service (Infraestrutura como Serviço):
De maneira análoga a anterior, neste modelo você contrata sua infraestrutura 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 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 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, exatamente como a compra de um serviço de TV a cabo ou um plano de serviço de dados para seu celular.

PaaS – Platform as a Service (Plataforma como Serviço):
Aqui temos um modelo que 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 flexível, sendo possível desenvolver suas próprias aplicações baseadas em alguma tecnologia (framework, linguagem etc.) e utilizar a infraestrutura necessária, e o mais importante, adequada a aplicação desenvolvida. Pense em uma solução onde você necessite de um software, porém, por alguma limitação de um fornecedor do modelo SaaS, você não conseguirá implementar um determinado recurso personalizado que é fundamental para seu negócio. É aqui que o modelo PaaS é interessante, pois, você pode utilizar a mesma estrutura que você teria “em casa”, porém, utilizando o modelo “as a service”, livrando-se da aquisição de hardware, licenças de software etc. e utilizando esta mesma estrutura como serviço. Para entender este modelo é muito interessante pesquisar sobre o Microsoft Azure. Aliás, o Azure é bem flexível e lhe permite utilizar, além do PaaS, também os modelos SaaS e IaaS.

De uma maneira bem simplista, podemos dizer que os modelos SaaS, IaaS e Paas em Cloud Computing são substitutos para a infraestrutura tradicional com o diferencial do modelo de comercialização, que, ao invés de licenciamento, utiliza um modelo baseado em pagamento por utilização de recursos.

Espero ter contribuído para facilitar o entendimento. E, em caso de dúvidas, mantenha contato.

Sempre lembre-se que qualquer tecnologia deve ser utilizada para apoiar o negócio, então, antes de decidir, analise se é o momento certo para utilizar ou não alguma solução. Também considere sempre a possibilidade de evolução em ondas, ou seja, comece utilizando moderadamente as tecnologias que você não se sente seguro e vá aprendendo e evoluindo. Só não deixe de inovar no apoio aos negócios, senão você ficará para trás e terá que dar um salto bem grande para atualizar sua tecnologia, o que pode causar prejuízo na continuidade dos negócios de sua empresa.

Caso queira saber mais sobre o tema Cloud Computing, acesse este outro post, onde a abordagem é apenas Computação em Nuvem: https://antonioricardo.org/2013/09/18/cloud-computing/

Grande abraço!
Antonio Ricardo