Perguntas a serem feitas ao escolher uma infraestrutura [fechada]

1

Minha empresa precisará de um back-end para inicializar seus serviços e eu sou responsável pela escolha da infraestrutura. Os produtos consistirão em vários aplicativos (mobile, web, desktop) com um back-end comum (algo como uma API enorme, eu acho).

Basicamente, precisaremos de algo como uma VM (ou várias VMs? Ou servidores dedicados?) onde podemos executar qualquer coisa que quisermos (Python, Ruby, Node.js, PosgreSQL, MySQL, PosgreSQL, redis, etc.).

Quais perguntas devem ser feitas (para mim e meus colegas de trabalho), a fim de ter uma idéia precisa das nossas necessidades? Eu não quero perceber daqui a um ano que esquecemos de considerar algo crucial (ou pelo menos eu prefiro perceber que esquecemos 1, não 10).

Eu sei que esta pergunta pode levar a uma resposta opinativa, mas eu acho que uma resposta é sempre um pouco tendenciosa.

    
por Simon 15.01.2014 / 14:40

1 resposta

1

Se você precisar de vários clientes (web, aplicativos de desktop, aplicativos móveis, ...), é necessário decidir como eles se comunicarão com o (s) back-end (s). Você poderia usar o REST, isso força um conjunto de opções de arquitetura; você poderia usar (digamos) CORBA, isso naturalmente forçará algumas decisões, etc, etc, e assim por diante.

Uma vez que isso tenha sido resolvido, você pode decidir se deseja usar apenas VMs no hardware de outra pessoa, VMs em seu próprio hardware dedicado ou executar máquinas "no bare metal" (ou seja, sem uma camada intermediária do hipervisor) . Ou talvez simplesmente execute aplicativos (no Google AppEngine, por exemplo) com os quais você se comunica usando HTTP.

Os fatores determinantes são:

  • custo, tanto em despesas de capital como em custos correntes correntes.
  • Esforço necessário para manter tudo em funcionamento
  • Expansibilidade (é relativamente rápido instalar novas VMs no hardware de outra pessoa, provavelmente demorará mais ou será caro ter máquinas não usadas por aí, se for seu próprio hardware).
  • Conjunto de habilidades existentes para manter um farm de servidores em execução
  • Custo na aquisição do referido conjunto de habilidades

Eu não posso, no entanto, dizer qual é a resposta certa, o melhor que posso fazer é dizer que "depende".

    
por 15.01.2014 / 15:43