Enquanto há muitos padrões de software maduros para as aplicações, o mesmo não pode ser dito sobre clouds. Cada fornecedor emprega sua própria solução, que provavelmente está mais sujeita a mudanças e melhorias. A tecnologia não está madura o suficiente para um claro conjunto de padrões a emergentes, mas o primeiro exemplo de trabalho está aí.
A Amazon sugere usar seu cloud para as seguintes tarefas:
Processamento de Pipelines
- Documento de processamento de pipelines – converter centenas de milhares de documentos do Microsoft Word para PDF, OCR milhões de páginas/imagens em texto puro e indexável
- Imagem de processamento de pipelines – criar thumbnails ou variantes de baixa resolução de uma imagem, redimensionar milhões de imagens
- Video transcoding pipelines – transcodifique AVI para vídeos MPEG
- Indexação – criar um index de rastreamento de dados da web
- Data mining – realizar pesquisas ao longo de milhões de registros
Sistemas de Processamento Batch
- Aplicações back-office (em financeiras, seguro ou setores varejistas)
- Análises Log – analisar e gerar relatórios diariamente/semanalmente
- Nightly builds – perform nightly automated builds do repositório do código fonte toda noite em paralelo
- Teste Unitário Automatizado e Desenvolvimento de Testes – Testar e implantar e realizar testes unitários automatizados (funcional, load, qualidade) em diferentes configurações de deployment toda noite
Websites
- Websites que “dormem” a noite e auto-escala durante o dia
- Instant Websites – websites para conferências ou eventos (Super Bowl, torneios esportivos)
- Websites de promoção
- Websites de temporada- websites que somente funcionam durante a temporada dos impostos ou a temporada das férias (“Black Friday” ou Natal)
Um exemplo de uma arquitetura cloud está na GrepTheWeb da Amazon:
Depois de um boa olhada, a arquitetura se parece com isto:
Jinesh Varia, um Evangelista de Serviços Web da Amazon, explicou o GrepTheWeb em detalhes através de uma apresentação publicada pela InfoQ.
Todd Hoff compilou uma lista de componentes básicos empregador por SmugMug na sua arquitetura cloud, que também é construída na Amazon EC2:
- Iniciadores de trabalho - O trabalho vem de seu website e/ou outro subsistema de software e está na fila para processamento na Queue Service. Trabalho não tem de ser grandes relatórios. Trabalho pode ser pequena parte independente de um overall pipeline total. Não manter o estado nos Workers. Empacote o que você precisa que seja feito no relatório de trabalho e dispare de volta ao Queue Service, para processamento.
- Provisioning Service - Esta é a infra-estrutura da Amazon que permite que instância sejam automaticamente escalada para cima e para baixo em relação à carga de trabalho. Esta será a grande diferença entre seu VPS ou a típica configuração do datacenter. Há uma API para começar e parar as AMIs e os mecanismos para automaticamente configurar e executar as VMs.
- Workers - Estes são os caras que continuamente puxam o trabalho para fora das filas e fazem alguma coisa interessante com ele. Para SmugMug os resultados são armazenados no S3 mas os resultados poderiam ser colocados em seu próprio database, o SimpleDB ou qualquer que seja.
- Queuing Service - Este é onde o trabalho está enfileirado para o consumo pelos workers. O SmugMug constrói seu próprio queuing service, mas você poderia usar com a mesma facilidade do próprio SQS da Amazon. Criar um queue service escalável, distribuído, performático e altamente disponível não é facil, então você pode querer dar uma olhada na variedade de diferentes sugestões de produtos para queue no Flickr - Do the Essential Work Up-front and Queue the Rest.
- Controller - Este componente monitora muitas variáveis relacionadas ao work flow e decide quantas instâncias do EC2 são necessárias baseadas na otimização de um pequeno conjunto de objetivos. As instâncias são adicionadas e removidas quando necessário.
Cada fornecedor tem sua própria solução e diferentes são esperadas para aparecer no futuro. Os clouds não tem sido explorados e lentamente, mas constantemente, suas soluções arquitetônicas estão sendo elaboradas.