New Post

Rss

Showing posts with label Aplicaes. Show all posts
Showing posts with label Aplicaes. Show all posts
Friday, May 11, 2012
no image

Supervisor: Aumentando a disponibilidade das suas aplicações Web

E se você pudesse controlar uma série de processos através de um comando? Ou de garantir que serviços “down” sejam reiniciados automaticamente? Ou ainda, agrupar seus serviços e poder reiniciá-los com um simples comando de terminal?

Supervisor aparece para facilitar muito a vida de quem precisa administrar servidores Web, e não tem muito tempo a perder com criação de rotinas, ou mesmo com trabalho manual.

A proposta do Supervisor é simples: permitir que usuários possam controlar e monitorar processos (e grupos de processos) em um sistema Unix-like.

Em suma, o Supervisor é um programa escrito em Python, capaz de iniciar, reiniciar e parar outros programas. Mas, o que me chamou mais a atenção, é que ele é capaz de reiniciar programas “crashados” automaticamente.

Isso é possível pois, por baixo dos panos, o Supervisor é um serviço que inicia todos os demais como subprocessos. Desse modo, é capaz de monitorar o estado dos mesmos, e numa eventual “queda”, reiniciar um determinado processo/serviço imediatamente.

Ou seja, funciona como uma ferramenta centralizadora e de monitoramento. E que ainda serve uma API para gerenciamento remoto, através de XML-RPC.

Para instalar, basta utilizar o pip:

Vamos gerar um arquivo de configuração básico:

$ echo_supervisord_conf > /etc/supervisord.conf

Vamos aproveitar que falamos recentemente sobre a instalação do Nginx, para demonstrar o princípio do Supervisor. Adicione as seguintes linhas ao arquivo /etc/supervisord.conf:

[program:nginx]command=/usr/local/nginx/sbin/nginx

Agora iniciamos o serviço do Supervisor:

E através do supervisorctl, vamos iniciar e parar o Nginx:

$ supervisorctl start allnginx: started $ ps aux | grep nginxroot 1863 0.0 0.1 (...) /usr/local/nginx/sbin/nginx $ supervisorctl stop nginxnginx: stopped

E agora, o “pulo do gato”. Com o Nginx iniciado via Supervisor, vamos fechá-lo através de um comando kill:

$ supervisorctl start nginxnginx: started $ killall nginx $ ps aux | grep nginxroot 1917 0.0 0.1 (...) /usr/local/nginx/sbin/nginx

Magia? Que nada! É a ferramenta garantindo que os nossos processos não fiquem “down”. Brandon Konkle e Senko Rasic possuem exemplos utilizando um cenário real com Django e Nginx.

Embora o Supervisor seja uma ferramenta espetacular, acredito que muitos profissionais já possuam intimidade com os seus servidores, bem como já tenham construído sets de scripts, e atalhos em geral. Isso, de fato, faz a gente questionar a utilidade dela.

A possibilidade de monitorar e garantir a disponibilidade dos processos foi o que mais me agradou. Se você tem “poderes administrativos” na sua hospedagem, talvez o Supervisor seja a ferramenta que faltava para você possa dormir mais tranquilo.

Tecnólogo em Análise e Desenvolvimento de Sistemas pelo Centro Universitário de Jaraguá do Sul (UNERJ), Técnico em Informática com ênfase em Sistemas de Informação pelo Centro Politécnico Geraldo Werninghaus (CEPEG). Desenvolvedor Web defensor dos padrões Web. Usuário Linux, apaixonado por Python e alucinado por Django. Escreve quando pode no http://www.klauslaube.com.br.

Veja perfil e 83 post(s)

Tuesday, March 20, 2012
no image

SeamlessRDP – Integrando aplicações Windows em Desktops Linux

Hoje com o aumento da interoperabilidade no mundo empresarial, os desafios estão sendo cada vez maiores. No mundo dos servidores uma das integrações mais feitas é a de servidores de arquivos com autenticação no AD, para que os usuários dos desktops Windows possam ver seus arquivos de uma forma transparente, como se estivessem trabalhando em um ambiente homogêneo.

Uma outra crescente também são os desktops linux ingressando nestes ambientes, principalmente em micro e pequenas empresas que não querem gastar com o licenciamento ou não querem entrar no mundo da pirataria, então aderem ao mundo do software livre. Estas empresas acabam enfrentando um outro problema, a maioria das aplicações existentes para um mundo corporativo são para ambientes Windows, então como vou usar essas aplicações no meu desktop linux?

Para essa pergunta a solução é simples e bem antiga, usar o TS (Terminal Services ou Serviços de Terminal) em um servidor Windows 2003 ou o RDS (Remote Desktop Services ou Serviços de Área de Trabalho Remota) em um servidor Windows Server 2008.

Se o usuário precisa de usar apenas uma aplicação basta definir ela na guia ambiente no perfil do usuário Windows, mas e se caso precisa executar mais de uma essa solução não funciona. Para isso existe uma solução simples para o mundo Linux chamada Seamless rdp.

O Seamless é um modo integrado no rdesktop que permite que você execute somente a aplicação Windows que queira através da linha de comando, para isso basta um parâmetro do lado do comando rdesktop para ele funcionar do lado do cliente, isso será demonstrado mais a frente. Mas e no servidor não é preciso configurar nada? Sim em um servidor 2003 é necessário 3 passos para isso:

1º – Baixe o seguinte arquivo: http://www.cendio.com/seamlessrdp/seamlessrdp.zip
2º – Extraia o arquivo para uma pasta no seu servidor. Ex: C:\seamlessrdp\
3º – Use e Aproveite.

No Windows Server 2008 é necessário duas configurações a mais:

1º – Habilitar o RDS: Conforme o site: https://msmvps.com/blogs/msvirtualization/archive/2011/01/11/instalando-o-remoteapp-server.aspx

Nota: No site fala para habilitar a configuração mais segura, porém, como não é uma solução para o mundo Windows habilite a opção: “Allow connections from computers running any version of Remote Desktop (less secure)” (Permitir conexões de computadores executando qualquer versão da Área de Trabalho Remota)

2º – Na configuração do RemoteAPP (Iniciar > Ferramentas Administrativas > Serviços de Área de Remota > Gerenciador do RemoteApp), vá em RD Session Host Server (Servidor de Host da Sessão da Área de Trabalho Remota) e habilite a opção “Allow users to start both listed and unlisted programs on initial connections” (Permitir usuários iniciar ambos aplicativos listados e não listados sobre conexões iniciais)

Com o seu servidor Seamless instalado basta agora executar o aplicativo do lado do cliente, para isso, como dito anteriormente, basta adicionar um parâmetro na linha de comando do rdesktop que é a letra A (em maiúsculo), com isso se caso você queira executar a calculadora do Windows digite o seguinte comando no terminal do Windows:

rdesktop -A -s ‘caminho_do_seamlessrdp.exe_no_seu_servidor “calc”‘ “ip_ou_nome_do_servidor_seamlessrdp”

Ex: rdesktop -A -s ‘C:\seamlessrdp\seamlessrdpshell.exe “calc”‘ “192.168.0.1?

Agora o desktop linux já está preparado para executar aplicações Windows, mas como disse anteriormente, essa solução só é interessante se o usuário precisa executar mais de uma aplicação e para automatizar segue um script para facilitar a vida:

#!/bin/bash
echo “1 – VSphere”
echo “2 – Calc”
echo “3 – IE”
read -p “Escolha o Programa:” OPT
case $OPT in
1) rdesktop -A -s ‘C:\seamlessrdp\seamlessrdpshell.exe “C:\Program Files\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\VpxClient.exe”‘ “192.168.0.1?;;
2) rdesktop -A -s ‘C:\seamlessrdp\seamlessrdpshell.exe “calc”‘ “192.168.0.1?;;
3) rdesktop -A -s ‘C:\seamlessrdp\seamlessrdpshell.exe “C:\Program Files\Internet Explorer\Iexplore.exe”‘ “192.168.0.1?;;
*);;
esac

Este script realiza o seguinte:

1º – Pede para o usuário digitar o número a qual pertence o programa que quer executar: 1 para o VSphere da VMWare, 2 para a calculadora e 3 para o IE
2º – Armazena o valor na variável OPT
3º – Entra no case e dependendo do valor executa o programa desejado

Nota: Neste exemplo o caminho seamlessrdpshell.exe está na pasta “C:\seamlessrdp” e o servidor tem o endereço 192.168.0.1. Personalize da maneira que melhor lhe atender.

Pronto, você agora você já tem um ambiente configurado e automatizado para executar aplicações Windows através do Seamlessrdp e aproveitar ao máximo.

Observações:

Para essa solução é necessário licenças de TS (Windows Server 2003) ou RDS (Windows Server 2008), que o preço é bem inferior ao de uma licença Desktop Windows.Para quem gosta do Wine e diz que ele pode executar essa tarefa, uma observação: ele pode fazer isso, mas não com a mesma facilidade e a estabilidade do Seamlessrdp.Para quem é do mundo Windows essa solução é semelhante ao RemoteApp do Windows Server 2008.
Thursday, September 1, 2011
no image

Dojo ToolKit – Aplicações web com HTML5 e Javascript em camadas

Para participar desta atividade com desconto de 10% envie um email para mailto:%20pti@temporealeventos.com.br e solicite código promocional exclusivo para leitores do PTI!

Objetivo: Através de exercícios práticos, mostrar como controlar eventos, criar animações e gráficos e usar AJAX sem ficar louco com Javascript

Público Alvo: Webmasters e Webdesigners que desejam produzir sites sob o conceito de web 2.0, utilizando animações, requisições Ajax e manipulando elementos em tempo real na página.

Pré-requisitos: Pré-requisitos: Saber HTML e ter um mínimo de noção de programação, não necessariamente Javascript.

Sistema operacional em que o curso será ministrado: Windows

Após o término deste treinamento o participante estará imediatamente apto a: Desenvolver sites/sistemas utilizando Ajax, efeitos e os demais recursos fornecidos pelas bibliotecas do Dojo Toolkit

Local: São Paulo

Informações: http://www.temporealeventos.com.br/?area=170