Aquí hay algunos principios que le recomendaría que aplique:
- Usted está en el negocio de diseñar y vender software a personas. Debe dedicar todo su tiempo a hacer eso, por lo que realmente desea evitar las soluciones que requieren que sea administrador del sistema o administrador de la base de datos durante el mayor tiempo posible; las mejores soluciones raramente harán que toque un servidor. La gente de software a menudo comete el error de creer que solo porque saben cómo manejar un servidor Linux, deberían entrar en el negocio de operaciones, evítelo.
- Tienes un tiempo antes de que necesites escalar: el desarrollo llevará más tiempo de lo que piensas, conseguir clientes llevará mucho tiempo y es poco probable que tu negocio se vuelva viral. Desea tener una solución que * pueda * escalar pero no gastar tiempo en hacerlo escalar hasta que lo necesite.
- El costo de oportunidad de su tiempo es increíblemente valioso: cientos de dólares por hora. No se deje engañar por la lógica como “podemos ahorrar $ 100 al mes yendo con el proveedor X” si resulta en incluso unas pocas horas por semana de problemas para configurar y administrar cosas y desplegar páginas de medianoche.
- Configurará múltiples entornos: estamos ejecutando media docena en cualquier momento (demostración, prueba, automatización de pruebas, pruebas de escala, puesta en escena, producción), por lo que desea poder instalarlos y derribarlos presionando un botón.
- Probablemente desee una implementación continua o algo similar, por lo que la capacidad de insertar código y hacer que el sistema se actualice rápidamente es clave.
- Si usa Github, quiere algo que se integre perfectamente con él y extraiga su código directamente de él.
Por lo tanto, desea el mayor nivel de abstracción que pueda obtener. El nirvana que estás buscando es:
- Ingrese el código a la rama maestra en Github.
- Todas sus pruebas se ejecutan y pasan (probablemente en bancos de pruebas alojados).
- El código va a la producción.
Y esto significa ir con uno de los proveedores de plataforma como servicio. Las opciones dependen de algunas cosas:
- Estoy creando una aplicación SaaS en Flask Python, ¿alguien conoce la mejor manera de permitir que los clientes agreguen un dominio personalizado?
- ¿Cuál es la mejor empresa de almacenamiento en línea para uso empresarial?
- ¿Cuál es su tasa de abandono del flujo de compra para una aplicación de prueba SaaS?
- ¿Qué plataforma podemos usar para administrar a nuestros vendedores?
- ¿Cuáles son las mecánicas de Gamificación más potentes que mantendrán a las personas interesadas, inspiradas y entusiasmadas?
Qué pila estás usando . Tienes opciones como:
- Rieles – Engineyard, Heroku
- PHP – Appfog, Heroku, otros
- . Net – Microsoft
- Nodo : Heroku, Nodejistu, otros
- Django , WordPress , etc. – muchas opciones
Base de datos
- MySQL : la mayoría de las opciones anteriores tienen MySQL como predeterminado, pero también puede ir directamente a Amazon RDS, que es una excelente solución
- Mongo – MongoLabs, MongoHQ
- CouchDB – Cloudant, Iris, otros
- Muchas otras opciones
Correo electrónico : Sendgrid o Amazon SES
Otros – Martin Wawrusch tiene una gran lista aquí: Startups para Startups – Servicios para usar
La mayoría de los servicios anteriores se ejecutan en AWS, y siempre tiene la opción de ir a AWS directamente más tarde, pero en la mayoría de los casos incurrirá en una sobrecarga administrativa. Solo hazlo en casos en los que puedas describir específicamente qué problema tienes que los chicos de Paas no pueden resolver.
Net: desea obtener todo lo que pueda de los proveedores de Paas; ellos pueden hacer esto mejor que usted. No son perfectos, pero por cada problema que te causen, habrías creado 10 propios.
Producto y clientes. Producto y clientes. No gastes tiempo en nada más.