DevSecOpsARTIGO

A realidade da computação em nuvem de software livre – Parte 03

Você conseguiu a plataforma de computação em nuvem perfeita para suas
necessidades e tem um aplicativo bem
projetado para executar nela. A pior parte está feita, certo? Não se
precipite. Você ainda precisa considerar todas aquelas coisas com as
quais se
preocuparia se o aplicativo fosse para seus próprios servidores:
implementação, teste e monitoramento.

Isso pode ser assustador, já que
seu aplicativo será executado na máquina de outra pessoa, à qual você
pode não ter acesso ou sobre a qual não sabe muita coisa. Nessa parte
final da série “A
Realidade da Computação em Nuvem de Software Livre”, aprenda sobre várias ferramentas e tecnologias de software livre
para ajudá-lo a administrar seu aplicativo em uma nuvem.

Sobre esta série

Nesta série de três partes “A Realidade da
Computação em Nuvem de Software Livre”, você aprendeu como determinar se a computação em nuvem pode ajudá-lo e como planejar
sua estratégia de computação em nuvem.

A
Parte 01 descreve os benefícios da computação em nuvem, os tipos de nuvens e as opções de alto nível nas plataformas de
computação em nuvem. A Parte 02 explora
algumas diferenças de design críticas entre um aplicativo em nuvem e um aplicativo N-tier tradicional.

Neste artigo, aprenda
sobre as outras partes do ciclo de vida de um aplicativo implementado em nuvem. Várias tecnologias e ferramentas de software
livre que ajudarão você a gerenciar seu aplicativo serão discutidas.

O Aptana Cloud

Na segunda parte do artigo, você implementou o aplicativo de exemplo na plataforma Aptana Cloud. Ela permitia PHP como a
linguagem de desenvolvimento de sua escolha.

O Aptana Cloud também suporta Ruby on Rails e Jaxer, uma implementação do
lado do servidor de software livre de JavaScript. Qualquer uma dessas linguagens de software livre populares e estruturas
associadas podem ser combinadas com tecnologias de software livre, como Apache e MySQL, no Aptana Cloud.

O IDE do Aptana, Aptana Studio, facilita o desenvolvimento de código para, e a implementação de código
em, Aptana Cloud. Aptana tem muito mais para oferecer. Ela fornece mais ferramentas para você gerenciar seu aplicativo
baseado em nuvem – mais uma vez, as tecnologias de software livre são fundamentais. A próxima seção explora como
administrar um aplicativo baseado em nuvem utilizando ferramentas do Aptana.

Administração em Nuvem

No ciclo de vida de um aplicativo, é fácil subestimar a complexidade operacional. As pessoas vão pensar
muito sobre o design do aplicativo e trabalharão dia e noite no desenvolvimento do código. Uma cilada muito comum é achar
que a tarefa é feita após o aplicativo ser gravado e executado.

O aplicativo terá pouco valor se eventualmente travar ou
se tornar não responsivo. A administração pode ser difícil. Pode ser assustador administrar um aplicativo que, em vez de
ser executado em seus próprios servidores, é executado em uma plataforma em nuvem. Em muitos casos, provedores de plataformas,
como Aptana Cloud, prevêem a situação e utilizam tecnologias e ferramentas de software livre para ajudar você a administrar
seus aplicativos baseados em nuvem.

Vamos começar controlando sua infraestrutura. O Aptana Cloud foi projetado para aplicativos da Web e utiliza
o servidor da Web Apache onipresente. Aptana fornece fácil acesso ao Apache. A partir do Aptana Studio, você pode verificar
seu status, reiniciá-lo, configurar a raiz do documento e verificar as atualizações do Apache.

Figura 1. Administrar Apache a partir do Aptana Studio

Aplicativos no Aptana Cloud aproveitam as vantagens do mais popular mecanismo de banco de dados de software
livre, MySQL, e do software de servidor de e-mail de software livre Postfix. Aptana também fornece ferramentas gráficas
semelhantes para esses serviços.

A administração de banco de dados costuma ser uma grande parte da administração de aplicativos da Web
acionados por dados. Aptana oferece várias maneiras para se administrar um banco de dados para aplicativos em execução
em sua plataforma.

O aplicativo da Web de software livre popular phpMyAdmin é instalado automaticamente com qualquer
aplicativo implementado no Aptana Cloud. Com phpMyAdmin, você pode executar várias tarefas comuns, como consultar seus
dados, gerenciar usuários e seus privilégios, criar tabelas ou visualizações, exportar dados para planilhas CSV ou Microsoft
Excel e fazer backup dos seus dados.

Também é possível determinar o funcionamento do seu servidor de banco de dados
a partir de consultas e atualizações, consultas lentas, retrocessos, etc.

É claro que phpMyAdmin não é a única ferramenta disponível para a administração do MySQL. Aptana também
inclui SQL Buddy, outra ferramenta baseada na Web de software livre. Você pode ativá-la diretamente a partir do Aptana
Studio. Ela pode ser útil para acessar seus dados diretamente a partir do Aptana Studio.

Felizmente, o Aptana Studio é
baseado na plataforma Eclipse, portanto, ele pode aproveitar as vantagens das várias ferramentas de software livre baseadas
em Eclipse, incluindo ferramentas para acessar bancos de dados. Por exemplo, você pode navegar diretamente em seus bancos
de dados e esquemas a partir do Aptana Studio.

Figura 2. Aptana Database Explorer

Você pode inserir diretamente consultas SQL e visualizar os resultados de dentro do Aptana Studio utilizando
seu Database Explorer.

Figura 3. Consultando dados a partir do Aptana Studio

O gerenciamento do hardware físico é outra parte da administração. E ele é diferente quando você está
administrando um aplicativo que é executado em uma plataforma em nuvem. Entretanto, Aptana também facilita isso. Você
pode alterar a memória e as alocações de disco (e o custo do uso da nuvem) on demand.

Figura 4. Gerenciando alocações de recurso em Nuvem

Fazer backup do seu site é outra consideração importante para administradores. Para aplicativos Aptana
Cloud, isso é bastante direto. Com tudo baseado na tecnologia de software livre, isso é apenas uma questão de utilizar
os vários recursos de backup oferecidos por estas tecnologias (OpenSolaris e MySQL). O Aptana Studio transforma isso em
um negócio de um único clique.

Você pode acessar seus backups diretamente a partir do Aptana Studio, e pode, de fato, acessar o sistema de
arquivos inteiro da nuvem a partir dele.

O exemplo é apenas um sistema de arquivos (remoto) para o Eclipse, portanto, você pode arrastar e soltar
arquivos, excluir arquivos, etc. Se você realmente quiser uma interface da linha de comandos, o Aptana facilita isso
também. Você pode ativar uma sessão SSH diretamente a partir do Aptana.

Figura 5. Iniciando SSH a partir do Aptana

Após se conectar através de uma sessão SSH, você terá acesso de linha de comando total à instância do
Aptana Cloud. Você pode utilizar todas as ferramentas do UNIX que conhece e gosta. SSH é apenas um dos métodos
de acesso “brutos” fornecidos pelo Aptana. A seguir está um resumo de todos os métodos de acesso.

Figura 6. Métodos de Acesso

A Figura 06 mostra SSH e acesso FTP seguro.
Existem informações de conexão com o banco de dados, caso você tenha uma ferramenta favorita que prefira utilizar. Existem
informações sobre Subversion e Git para seu controle de origem. Na seção SSH, observe que você pode até ter acesso root
ativado.

A próxima seção examina outra parte importante do gerenciamento de aplicativos: o monitoramento.

Monitorando a Nuvem

O monitoramento do seu aplicativo é uma parte crítica do ciclo de vida do produto. Não é apenas uma questão
de “Meu aplicativo está ou não em execução?”. Monitoramento é prever problemas antes que eles aconteçam e abordar de forma
proativa esses problemas antes que eles danifiquem seus negócios.

Trata-se de entender como os usuários estão interagindo
com seu aplicativo e como seu aplicativo se comporta em resposta ao uso real. Não deveria ser nenhuma surpresa que o software
livre, mais uma vez, tem muito para oferecer nesta área – e o Aptana Cloud em particular.

Quando você carrega o Aptana Studio, ele fornece imediatamente um painel para dar a você uma visão geral do
funcionamento do seu aplicativo. A Figura 07 mostra um exemplo.

Figura 07. Painel do Servidor Aptana

O painel sempre fornece a atual CPU, RAM, troca e uso do disco, além de mostrar isso em relação às alocações
que você configurou para seu aplicativo (consulte Figura 6). Você pode ver imediatamente se vai precisar aumentar ou diminuir
a alocação. É claro, ele mostra apenas o uso atual; e provavelmente, você vai querer ver os dados de um período de tempo mais
longo. No exemplo acima, o painel está mostrando o uso da CPU na última hora.

Como na Figura 06, você pode obter informações semelhantes e memória, troca, uso do disco e medidas em períodos
de tempo diferentes. Também é possível obter mais detalhes sobre qualquer um desses gráficos.

Figura 08. Estatísticas do Site Detalhadas

As estatísticas detalhadas são semelhantes ao que você vê no painel. Também é possível visualizar outras
estatísticas, como o número de ocorrências em seu aplicativo, quanta largura da banda foi utilizada, etc. A Figura 09 mostra um exemplo.

Figura 09. Estatísticas da Web

O número total de visitantes exclusivos do site nos últimos sete dias é mostrado. Essa estatística pode não
ser muito significativa para um administrador de sistemas, mas poderia ser inestimável para analistas de negócios.

Talvez
uma nova promoção de marketing tenha sido lançada recentemente e você quer quantificar quantos novos usuários ela está trazendo
para o site. Esse é apenas um exemplo do tipo de caso de uso comum que a plataforma Aptana Cloud fornece pronto para uso.

Você deve estar se perguntando exatamente como o Aptana está gerando esses gráficos excelentes. O Aptana
está armazenando todas essas estatísticas no MySQL. É fácil ter o uso do recurso em sistemas do estilo UNIX através de
ferramentas de linha de comando simples como principais.

As estatísticas da Web podem ser
reunidas facilmente através da inspeção de logs do Apache. O Aptana simplesmente alavancou esses “ganchos” do software
livre. Existem outras ferramentas populares de software livre que podem fornecer mais insight. Para obter um exemplo,
clique em Estatísticas da Web Avançadas na Figura 10 para ver as estatísticas avançadas.

Figura 10. Estatísticas da Web Avançadas

A interface acima é um aplicativo da Web incluído automaticamente com qualquer aplicativo Aptana Cloud. Ela
utiliza o aplicativo JAWStats de software livre, que é uma interface com o usuário sofisticada além do analisador de arquivo
de log do AWStats de software livre. Ela fornece muitos gráficos interessantes, como os que estão abaixo.

Figura 11. Principais Visualizações de Página

A Figura 11 mostra uma pane nas páginas mais visitadas em seu site. Você pode ter um insight sobre o que os
seus usuários estão fazendo em seu site.

Figura 12. Estatísticas do Navegador

A Figura 12 mostra estatísticas do navegador para seu site. Esta é uma questão comum para qualquer aplicativo
da Web. Que tipo de navegador seus usuários estão utilizando? Isso é importante principalmente para aplicativos sofisticados
que utilizam vários JavaScripts e CSS.

Você vai querer saber quais são as variações mais importantes de navegador para fazer
testes para se certificar de que seu aplicativo esteja otimizado para seus usuários. Outro gráfico interessante com tráfego de
Web spiders é mostrado abaixo.

Figura 13. Web Spiders

Web spiders geralmente são robôs dos mecanismos de procura como Google e Yahoo! A otimização do mecanismo de
procura é algo inevitável para qualquer aplicativo da Web, e o Aptana Cloud ajuda você automaticamente incluindo software
livre comprovado como JAWStats.

Todas as ferramentas acima são desenvolvidas analisando
os arquivos de log. Se você tiver outra ferramenta que
precise de acesso, ou se você precisar visualizar seus logs (para
depurar um problema, por exemplo), o Aptana
pode cuidar disso também. Existem atalhos no Aptana Studio para
visualizar um log inteiro ou apenas para observar uma parte do mesmo.

Figura 14. Acesso do Log

Você tem acesso rápido ao log de acesso do Apache e log de erro para:
seu site de produção (público), o
site privado (que hospeda todas as ferramentas como phpMyAdmin e
JAWStats) e um site de migração de dados. É possível usar o comando
tail em qualquer um dos logs diretamente no Aptana Studio.

Figura 15. Utilizando o comando tail em um Log

Os analistas de negócios em sua empresa provavelmente vão preferir os
belos gráficos criados pelo JAWStats. Mas,
ter um recurso de comando tail integrado pode ser inestimável para os
desenvolvedores tentando fazer a triagem de um erro de produção.
Independentemente
de suas interfaces serem perfeitas, ninguém quer ver arquivos de log e
gráficos o dia inteiro.

Então, o que você faz quando
ocorrem problemas? Talvez uma consulta de longa execução esteja
destruindo seu banco de dados ou seu site tenha sofrido um
pico inesperado no tráfego. Esses são problemas comuns para serem
tratados, mas o ponto crítico é ter que solucioná-los em
tempo hábil.

Por exemplo, se você estiver enfrentando um pico no tráfego, a maneira mais certa de acabar com esse pico
é a desativação do seu site. Se você puder ser alertado do problema rapidamente, será possível aumentar com facilidade os
recursos alocados para lidar com o tráfego e continuar oferecendo uma boa experiência para todos os novos usuários. A
plataforma Aptana Cloud inclui alertas altamente customizáveis.

Figura 16. Alertas do Aptana

A interface mostra uma visão geral dos tipos de alertas disponíveis para qualquer site em execução no Aptana
Cloud. Eles estão organizados em categorias:

  • Associação – Pessoas com acesso administrativo ao site
  • Site – O ciclo de vida do site
  • Serviços – Apache, MySQL, Postfix
  • Uso – Recursos como RAM e CPU
  • Backups

Você pode fazer uma pesquisa detalhada em cada categoria para configurar alertas individuais.

Figura 17. Alertas do Site

A Figura 17 mmostra os tipos de Alertas do Site disponíveis. Dois alertas muito importantes estão no fim da
lista:

  • Site Não Responsivo – É desativado quando seu site não está respondendo aos pedidos de
    usuários.
  • Site Responsivo – É gerado quando o site retorna para a responsividade normal.

A Figura 17 mostra os alertas sendo enviados apenas para e-mail. Eles também podem ser enviados para um
RSS feed customizado para seu site. É uma boa maneira de se manter conectado ao seu site, já que o RSS e o e-mail podem
ser utilizados por telefones inteligentes modernos para fornecer a você notificações instantâneas. Alertas para uso de
recurso são mostrados na Figura 22.

Figura 18. Alertas de Recurso

Os alertas de recurso geralmente são desativados quando você começa uma execução baixa em qualquer um dos
recursos básicos: ciclos de CPU, memória, troca ou espaço no disco.

Se receber um alerta indicando que está em uma execução baixa em qualquer um desses recursos, você pode reajustar facilmente
as alocações. Aproveite as vantagens da força da computação em nuvem para manter seu site ativo e em execução sob
quaisquer condições.

Resumo

Gerenciar e operar um aplicativo da Web é bastante desafiador. Você pode achar que seria muito mais difícil
se seu aplicativo da Web fosse implementado em uma plataforma de computação em nuvem.

Entretanto, ferramentas e tecnologia
de software livre podem reduzir significativamente a complexidade do gerenciamento de um aplicativo em nuvem. Neste artigo,
você explorou muitas tecnologias de software livre utilizadas pela plataforma Aptana Cloud para facilitar o gerenciamento
de aplicativos implementados. O Aptana pode ser uma opção atraente.

Se você escolher uma plataforma diferente, ainda assim será possível alavancar muitas das mesmas tecnologias
para ajudá-lo a gerenciar seu aplicativo em nuvem. As escolhas certas podem fazer uma enorme diferença para as pessoas em sua
organização, dos administradores de sistemas e desenvolvedores aos analistas de negócios e gerentes de produto. Você aprendeu
sobre muitas das melhores tecnologias de software livre da categoria utilizadas pelo Aptana. Recursos oferece
mais detalhes sobre essas tecnologias.

Recursos

Aprender

Obter produtos e tecnologias

  • Obtenha o Aptana Studio.
  • AWStats: Saiba mais sobre o analisador de logs popular do Apache.
  • JAWStats: Consulte todas as visualizações sofisticadas fornecidas com
    os logs do Apache utilizando este pacote de analítica e estatísticas de Web site de software livre gratuito.
  • phpMyAdmin
    oferece poder e controle durante a administração de bancos de dados MySQL.
  • O acesso ao seus dados remotos é fácil com o poder do Eclipse e da Eclipse Data Tools Platform

*

artigo publicado originalmente no developerWorks Brasil, por Michael Galpin

Michael Galpin vem desenvolvendo software Java profissionalmente desde
1998. Atualmente, ele trabalha no Ludi Labs, um negócio novo em Mountain
View, Calif. Ele possui formação superior em matemática do California
Institute of Technology.

é o portal de tecnologia da IBM para profissionais de TI de todo o mundo. Colabore, aprenda a criar aplicativos inovadores e compreenda tecnologias avançadas. Acesse mais artigos e tutoriais em www.ibm.com/developerworks/br

Ver perfil