Essa semana encontrei uma excelente demonstração de desenvolvimento JAVA utilizando serviços Iaas(Infrastrutura como serviço) providos pela Amazon (EC2).
A Hazelcast criou uma plataforma de cluster Java baseada em Tomcat que trabalha com a solução Cloud Computing da Amazon, tendo assim a capacidade de utilizar pequenas máquinas e mais baratas para criação de um ambiente clusterizado e de alta-disponibilidade. A solução é peer-to-peer onde cada servidor é um peer, caso ocorra algum problema com um ou mais servidores, o cluster não sofrerá falhas mas perderá performance.
A configuração é muito simples, vejam os passos abaixo:
- Download hazelcast-1.8.3.zip from www.hazelcast.com.
- Unzip the file and move the monitoring war file into tomcat6/webapps directory.
- Edit the test.sh under the bin directory:
- Add -Xmx1G -Xms1G
- Add -Dhazelcast.initial.wait.seconds=100 to make the cluster evenly partition on start so that migration can be avoided for better performance.
- Add t250 as an argument to the application to set thread count to 250. Remember the latency issue.
- Run the Deployer from IDE.
- Check from EC2 Management Console if 100 servers started.
- Start tomcat.
- Copy the public DNS name of one of the servers to connect to from monitoring tool.
- Go to http://localhost:8080/hazelcast-monitor-1.8.3/ (Hazelcast Monitoring Tool). Paste the address and connect to the cluster.
O pessoal da Hazelcal colocou um excelente vídeo com a execução dos passos acimas.
Vejam que como pré-req, vc precisa ter um cartão de crédito internacional, para o aluguel dos serviços da Amazon e a configuração, básica, de servidores com Linux.
Vejam que a utilidade dessa aplicação é gigantesca, onde você pode começar o seu ambiente com um número determinado de máquinas e crescer e diminuir de acordo com a demanda, sem quedas no seu ambiente. Você remove ou adiciona máquinas sem precisar de um restart.