sexta-feira, 30 de maio de 2014

Primeiro meetup de OpenShift em São paulo

O time da Getup Cloud apresentou o primeiro meetup de OpenShift em São Paulo. O evento aconteceu na Osmose coworking e contou com a participação da Red Hat.

O evento

Nesse primeiro meetup, o pessoal quis abordar os termos mais básicos sobre o OpenShift, suas vertentes(expliquei sobre isso em um post anterior), a arquitetura e como a Getup Cloud se encaixa nisso.

À espera do início da apresentação
O evento foi sensacional, as pessoas que foram trouxeram muitas dúvidas prontamente respondidas pelos organizadores, houve uma interação dos participantes e muito interesse por parte deles em conhecer sobre Openshift.

Diego (Getup Cloud) explicando a diferença das vertentes do Openshift
Ao final do evento, a Red Hat pagou pela pizza e houve um ótimo espaço para Networking. Todos conversando sobre as possibilidades de uso do OpenShift e também muitas idéias para aplicações e quickstarts/cartridges.

Slide sobre a arquitetura da Getup Cloud

O pessoal do meetup no espaço Osmose coworking
Provavelmente, haverá um próximo evento do meetup em Junho. Pra quem não quer ver a Copa, conversem com os organizadores para fazer o evento. Pra quem quer ver, vamos assistir a Copa juntos enquanto falamos de OpenShift. =D
Por ora é isso, até o próximo post!

domingo, 25 de maio de 2014

OpenShift Origin Index: O catálogo de serviços para o OpenShift

Com tantas possibilidades de serviços para utilizar no OpenShift, ficamos até perdidos em saber qual está disponível ou não. Google nem sempre é nosso amigo quando se trata de quickstarts e cartuchos para o OpenShift, então é importante procurar em um ponto central para também ter uma sensação de que o quickstart/cartucho que estamos utilizando é até confiável e não incompleto. Com base nisso, a equipe do OpenShift criou o OpenShift Origin Index. Falarei sobre ele nas próximas seções.

O que é o OpenShift Origin Index?

O OpenShift Origin Index é uma aplicação criada pelo time de OpenShift afim de centralizar todos os quickstart e cartuchos da comunidade em uma página, onde os desenvolvedores que querem divulgar seu trabalho adicioná-los no site e os que estão interessados en utilizar poder buscar e fazer o deploy  diretamente no Openshift.

Basicamente, o OpenShift Origin Index é um Google para o OpenShift Origin porém com a diferença de que ao lado do Quickstart/ Cartucho há um botão de deploy, que irá lhe redirecionar diretamente para a página de criação da aplicação OpenShift e com isso

Tela do OpenShift Origin Index
 A interface é bem simples, porém está em constante desenvolvimento pela equipe e com certeza veremos uma evolução cada vez maior dele.

Como Acessar?

O OpenShift Origin Index está disponivel na URL http://origin.ly/ e você pode tanto publicar seu quickstarts/ cartuchos quanto usar os que estão disponíveis no catálogo.
Para quem quer visualizar ou usar os serviços não é necessário login, porém para divulgar você precisa fazer o login com a sua conta do GitHub. Para isso, clique em Sign In e você será redirecionado para a página do GitHub onde irá pedir sua autorização para que a aplicação possa acessar seus repositórios e sua conta.

Adicionando um quickstart/cartucho



Posso usar o OpenShift Origin Index em meu próprio ambiente OpenShift Origin?

O código do OpenShift Origin Index é aberto (assim como o código do OpenShift Origin) e você pode encontrar o código em
https://github.com/openshift/oo-index. A aplicação foi feita em Python utilizando Flask e Bootstrap.
Para utilizá-lo em seu próprio ambiente OpenShift Origin, basta seguir as instruções na página do GitHub do OpenShift Index e fazer o deploy em seu próprio ambiente. Não se preocupe com dados, pois no momento seu repositório de dados é um arquivo .json que armazena todos os quickstarts.

Conclusão

Não há como negar as infinitas possibilidades do OpenShift em trazer plataformas, aplicações ou linguagens para o ambiente de Computação em Nuvem. Basta analisar todos esses quickstarts e cartuchos para ver o quanto pode ser feito nesse ambiente. Até o próximo post.

sábado, 24 de maio de 2014

xPaaS: A nova geração de serviços na nuvem

É cada vez mais claro que a nuvem está se tornando uma solução mais atraente quando se fala em reduzir o Time-to-Market e desenvolvimento rápido de aplicações. Porém em determinados momentos não há como simplesmente esquecer conceitos do passado e em alguns momentos reinventar a roda. Com base nessa necessidade, a equipe do OpenShift está lançando a solução xPaaS, que reúne alguns serviços para desenvolvimento de aplicações mais avançados. Neste post, falarei um pouco sobre a solução.

A Solução xPaaS

A solução xPaaS é um conjunto de features adicionais agregadas ao OpenShift que permite utilizar em suas aplicações conceitos já utilizados atualmente dentro da nuvem. Tais conceitos, como BPM e EAI, rodam como aplicações dentro do OpenShift permitindo assim integrar os sistemas através de padrões de arquitetura EAI, orquestração de serviços utilizandos processos e regras e fazer deploy em ambientes híbridos.
O OpenShift xPaaS possui até o momento os serviços iPaaS, BPMaaS e mPaaS. O que eles são e para que serve? Tentarei explicar nas próximas seções.

O serviço base ou o serviço de container de aplicações

Desde o início, o OpenShift oferece Servidores de Aplicações Java (como JBoss, Tomcat e outros) para desenvolvimento de aplicações. Sem dúvida, esses servidores são essenciais já que hospedam suas aplicações. A partir daí, o desenvolvimento cria as aplicações corporativas utilizando a especificação Java EE onde define as APIs necessárias tais como persistência, transação e outros.


Aplicação Kitchensink rodando no cartridge JBoss EAP
Mais informações você pode encontrar em https://www.openshift.com/developers/jboss

iPaaS: Integração como um Serviço

Geralmente, em uma empresa, há diversas aplicações para agilizar o fluxo de trabalho de departamentos internos da empresa porém é necessário que essas aplicações interajam entre si afim de melhorar a eficiência deles sem reinventar a roda. Para isso, os padrões EAI facilitam a integração entre sistemas utilizando princípios arquiteturais.

Fuse no OpenShift

Além de integração, há também uma necessidade de se integrar diversas fontes de dados para o ecossistemas de aplicações de uma empresa. Uma vez que há diversas formas de se armazenar dados, sempre há um problema para juntar informações que vêm de várias fontes e com isso criou-se o conceito de Data Virtualization. Esse conceito trata de juntar todas as fontes de dados em uma base de dados virtual, criando-se um único ponto de acesso  para as informações vindas de diversas fontes de dados.
O OpenShift oferece um cartucho chamado Data Virtualization que consiste em criar uma instância de Teiid (mais informações sobre o projeto Teiid em http://teiid.jboss.org/) e assim poder criar um ponto único de acesso a diversas fontes. A integração pode ser feita via IDE Eclipse utilizando os plugins do JBoss Tools ou utilizando o JBoss Developer Studio.

Eclipse executando uma instância de Teiid rodando no OpenShift

Você pode encontrar mais informações sobre o Fuse em https://www.openshift.com/developers/jboss-fuse/getting-started e sobre o Teiid/Data Virtualization Platform  em https://www.openshift.com/developers/jboss-data-virtualization/getting-started

BPMaaS: Processos de negócio como um Serviço

Apesar de o desenvolvimento de código para criar aplicações é a forma mais clássica da computação de se facilitar processos das áreas da empresa. No entanto, certas áreas possuem regras de negócio mutáveis que inviabiliza o desenvolvimento de código dado o esforço de se alterar as regras a qualquer momento. Para isso, existe o conceito de Business Rules Management (Gerenciamento de Regras de Negócio) que permite que o analista de neǵocios possa criar e alterar as regras de negócio de forma mais prática e rápida através de uma linguagem simples e sem necessitar de alterações no código da aplicação.
O projeto Drools (http://drools.jboss.org/) permite esse tipo de lógica e vai além: é possível também criar fluxos de negócio para serem integrados a aplicações e com isso criar um ambiente de BRM para regras de negócios mutáveis.

Criando um Fluxo de Negócio com o Cartucho BPMS

O OpenShift utiliza o Drools através do cartucho JBoss BPM Suite, que também adiciona BAMs (Business Activity Monitoring ou Monitoramento de Atividade de Negócios) para que sejam gerados dashboards que monitora como estão os dados gerenciais que permite tomar decisões mais certeiras a respeito do negócio.

Tela de BAM do JBoss BPMS no OpenShift

Mais informações sobre o JBoss BPM Suite pode ser encontrada em https://www.openshift.com/developers/jboss-bpms/getting-started

mPaaS: Plataforma de Mobilidade como um Serviço

Uma das tecnologias que têm sido cada vez mais adotada é a Mobilidade, ou seja, aplicações corporativas criadas para Smartphones e/ou Tablets. Um dos desafios dessa tecnologia é criar aplicações que rodam sem dificuldade em diversas plataformas Mobile, o que dificulta o desenvolvimento. Para isso, há um conceito chamado de Mobile Web onde é possível criar aplicações que podem rodar em qualquer plataforma, uma vez que a aplicação é desenvolvida utilizando as tecnologias W3C (HTML, CSS e Javascript). Mas e quando é necessário utilizar conceitos nativos do SO Mobile? Aí é necessário desenvolver a aplicação sob o conceito de aplicações Híbridas em que a partir do código cria um pacote nativo para determinada plataforma Mobile.
Ok, mas e se eu precisar fazer algum tipo de comunicação Push nas minhas aplicações Mobile? O OpenShift possui o cartucho Aerogear Push Server que gerencia todos os provedores de Push para assim criar um ponto único de comunicação entre as diversas implementações de Push como o Google Cloud Messaging, Apple Push Network, etc.

Aerogear Push Server no Openshift

Para maiores informações sobre o Aerogear, veja em https://www.openshift.com/quickstarts/aerogear-push-0x. O Aerogear Push Server é parte do projeto Aerogear, que pode ser encontrado em http://aerogear.org/.

Conclusão

O OpenShift cresce cada vez mais e com mais aplicações e plataformas disponíveis para uso.  O xPaaS é uma das plataformas que eu particularmente acho mais promissora dada a variedade de serviços corporativos envolvidos. Quem quiser conhecer mais sobre o xPaas, pode ver em https://www.openshift.com/xpaas. Até o próximo post.