dimensionamento SaaS Atático

1

Estou pensando em como configurar melhor meu aplicativo SaaS para dimensionamento automático e cheguei a uma etapa em que não tenho certeza de como lidar. Para descrever corretamente o problema, é melhor começar explicando como vejo todo esse processo em andamento:

Primeiro, vou hospedar o site principal em um VPS separado que lida com inscrições e tem todas as informações sobre os servidores de aplicativos reais, sua carga e contagem de usuários e assim por diante. Estou pensando que um trabalho do cron ou algo irá verificar para que eu sempre tenha espaço para N mais usuários, e se eu for abaixo desse número, inicie o processo de configuração de uma nova instância do VPS automaticamente.

Eu decidi usar o DigitalOcean e sua API para configurar droplets, que depois conectarei ao ServerPilot enviando o script de configuração do ServerPilot como metadados do usuário do CloudInit ao criar o droplet no DigitalOcean.

Posso usar uma combinação das APIs ServerPilot e DigitalOCean para verificar os servidores, criar "aplicativos", bancos de dados, conectar domínios e assim por diante.

Agora, para a parte complicada. Eu preciso de alguma forma obter repositórios Git configurado no servidor recém-criado sem manualmente SSH: ing para ele.

Minhas opções aqui parecem limitadas. Eu não posso realmente configurar algum tipo de web-api normal desde o início para gerenciar implementações de git e app, já que o ServerPilot não fez nada quando o CloudInit é executado.

Uma possibilidade seria incluir um script personalizado no CloudInit que sirva como uma API da Web rudimentar para configurar e implantar os aplicativos PHP. Foi quando comecei a olhar para o Sinatra para o Ruby ou o Flask / Bottle para o python. Se eu entendi corretamente, eles podem fornecer um ponto de extremidade da API sem que o nginx / apache esteja instalado ainda. Ou talvez eu esteja totalmente fora daqui?

Antes de prosseguir, gostaria de inserir minhas idéias até agora.

  • Este plano parece razoável?

  • Existem alternativas melhores para o ServerPilot para esse tipo de uso, onde eu prefiro ficar longe de arquivos de configuração eu mesmo?

  • Seria melhor apenas criar meu próprio arquivo de imagem personalizado para novos droplets e não usar o ServerPilot, fazendo com que ele inclua API "manager" -app no PHP normal para configurar os aplicativos do usuário?

Eu meio que gosto da ideia de deixar o ServerPilot lidar com a configuração, já que eu não sou basicamente um servidor. Qualquer entrada é apreciada.

    
por Christoffer Bubach 28.01.2015 / 17:04

0 respostas