Pergunta

Se você criar um aplicativo distribuído para fácil scale-out, ou você só quer fazer uso de qualquer um dos novos “cloud computing” ofertas pela Amazon, Google ou Microsoft, há alguns conceitos ou componentes típicos que você geralmente acabam usando:

  • armazenamento blob distribuída (aka S3)
  • assíncronas, duráveis ??filas de mensagens (aka SQS)
  • não Relational- / bancos de dados não-transacionais (como SimpleDB, Google BigTable, Azure SQL Services)
  • distribuída piscina trabalhador fundo
  • balanceamento de carga, processos de serviço de Borda manipulação solicitações de usuários (geralmente virtualizado)
  • caches distribuídos (como memcached)
  • CDN (rede de distribuição de conteúdo, como Akamai)

Agora, quando se trata de desenhar e esboçar uma arquitetura que faz uso de tais padrões, existem símbolos comumente utilizados que eu poderia usar? Ou até mesmo um download com alguns frescos stencils do Visio? :)

Ele não tem que ser um sistema formal como UML, mas eu acho que seria ótimo se houvesse símbolos que toda a gente sabe e compreende, como temos comumente formas para bancos de dados ou de documentos utilizados, por exemplo. Eu acho que seria importante não misturar-se com os conceitos tradicionais, como um sistema de arquivos normal (servidor local ou de rede / SAN), ou um banco de dados relacional.

Simplesmente falando, eu quero ser capaz de tirar algumas conclusões sobre problemas de escalabilidade ou de consistência de dados de um aplicativo por apenas olhando para o diagrama de arquitetura de sistema de visão geral.

Update: Muito obrigado por suas respostas. Eu gosto da idéia de colocar um pequeno "símbolo da nuvem" sobre os símbolos tradicionais. No entanto deixo esta discussão aberta apenas no caso de alguém vai encontrar símbolos específicos (talvez em um livro ou algo assim) - ou carregado alguns pimped stencils do Visio;)

Foi útil?

Solução

Aqui estão dois conjuntos de símbolos que mapeiam bem a conceitos em plataformas de nuvem.

Para o Windows Azure: http://davidpallmann.blogspot.com/2011 /07/windows-azure-design-patterns-part-1.html (download aqui )

EDIT fevereiro 2014 ==> Aqui está um conjunto mais completo divulgado recentemente pela Microsoft: http://www.microsoft.com/en-us/download/details.aspx?id=41937 Esta é agora a melhor opção para uso para Windows Azure.

Amazon Web Services: http: // AWS .typepad.com / aws / 2011/12 / introduzindo-AWS-simples-ícones-para-seu-arquitetura-diagrams.html

E @markus era, obviamente, bem à frente da curva já que ele postou esta pergunta bem antes de estes se tornaram disponíveis.

Outras dicas

Eu não sei qualquer um dos símbolos distintos, mas se você precisar de alguma - eu iria para os tradicionais e adicionar um pequeno símbolo de nuvem para cada um deles. Então, todo mundo sabe o significado tradicional - e em uma camada abstrata não importa se é uma nuvem ou não -. E o símbolo da nuvem adiciona as informações que ele seja executado em uma nuvem-ambiente

Mas explicar os símbolos se você quiser presente que a um cliente.

estaria interessado em ver um modelo do Visio. De uma perspectiva de alto nível, que vai fazer para colocar um clould ao longo de um banco de dados tradicional, no entanto, não é suficiente para expressar a importação completa de um componentes de nuvem, especialmente quando é necessário incluí-los em um diagrama - por exemplo asynch ônibus de mensagens aplausos - kalyan

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top