¿Qué startups de software reemplazaron su pila de tecnología y por qué?

Las pilas evolucionan constantemente:

Todas las compañías exitosas en crecimiento continuamente reemplazan porciones de sus pilas. A veces esto significa un modelado o desnormalización de bases de datos más eficiente. A veces esto significa crear nuevas plataformas especializadas para tareas a escala.

Para las pequeñas y medianas empresas, algunas razones comunes para reemplazar completamente una pila incluyen:

  • La solución existente no es escalable para satisfacer las necesidades comerciales actuales / futuras
  • No “poseen” su solución existente, y para diferenciarse u obtener inversión, quieren ser dueños de su stack
  • El costo variable de su pila existente es demasiado alto, posiblemente debido a los costos de licencia, escala, servidor o mano de obra.
  • Es imposible o muy difícil alterar la pila existente para lograr nuevos objetivos.
  • Las soluciones existentes modelaron cómo funcionaba su negocio, luego su negocio cambió

Las buenas noticias:

Cuando tira su código, retiene sus aprendizajes. Es fácil sentir que su código es su activo más valioso, pero su verdadero activo es lo que ha aprendido.

Puede ser aconsejable recurrir a un asesor externo al evaluar las opciones. Lo más probable es que el equipo que tiene ahora esté más familiarizado con la plataforma que tiene ahora. Una empresa como la mía (Firestitch.com) realiza frecuentes llamadas con empresas para analizar los desafíos existentes y explorar opciones para mejorar o reemplazar las pilas de software existentes.

¡Interesante pregunta! Solo puedo responder con respecto a mi propia startup, PageKicker, que está en proceso de cierre, aunque su plataforma de software de código abierto seguirá viva. La pila inicial fue LAMP con bash en Ubuntu y AWS haciendo la mayor parte del trabajo pesado de backend y una base de datos Magento con PHP en el front-end. Diseñé la arquitectura desde el principio para que fuera modular y, por lo tanto, pude conectar muchos scripts de Python como middleware para que sea LAMPy. También sabía desde el principio que no quería estar vinculado exclusivamente a un front-end particular, así que diseñé el middleware para poder exportar paquetes de metadatos / datos a cualquier front-end de comercio electrónico o html. A medida que pasó el tiempo, agregué front-end adicionales, iOS, Android y entrega de correo electrónico. También comencé a experimentar con diferentes capas base, por ejemplo, Bash para Windows 10 y OSX.

Para responder a su pregunta directamente, el cambio más importante no fue reemplazar la pila de tecnología, sino cambiar el enfoque de desarrollo . Uno de los principales logros y objetivos de PageKicker fue crear una aplicación de extremo a extremo que creara ebooks algorítmicamente y los entregara a cualquier front-end. Ser capaz de demostrar esto fue extremadamente importante. Sin embargo, descubrí que el principal obstáculo de ventas era que el “creador de libros” de middleware todavía no era lo suficientemente efectivo como para deslumbrar a los lectores. También descubrí que las etapas posteriores de la canalización, especialmente el catálogo personalizado de Magento que conectaba el middleware al usuario, eran desproporcionadamente propensas a errores y difíciles de depurar. En consecuencia, tomé una decisión estratégica de centrarme en el middleware de creación de libros, que fue tanto el bloqueador en la ruta crítica para el ajuste del producto / mercado como el área más fácil para hacer un progreso rápido. Esta fue una buena decisión y progresé más en la calidad y confiabilidad del producto en el último año que en los dos años anteriores combinados.

La lección aprendida es que antes de reemplazar una pila completa, consideraría si centrarse en una capa en particular es una mejor alternativa. En el caso de las pilas LAMP, la fiabilidad y la ubicuidad de Linux hacen que sea poco probable que exista una necesidad imperiosa de romper una capa base de Linux, aunque uno puede decidir agregar capas base como Windows, Android u OSX. Creo firmemente que solo puede haber una prioridad número uno a la vez, por lo que sería escéptico sobre una estrategia de “reemplazo de la pila” que afirme que cada capa será más fácil. Es cierto que algunas pilas pueden ser más fáciles de trabajar que otras y esto puede mejorar su flujo de trabajo de muchas maneras, pero IMO la pregunta clave es qué capa única es probable que produzca su ventaja estratégica. Si puede ajustar su enfoque en esa capa sin reemplazarla, debe hacerlo hasta el momento en que haya logrado el ajuste del producto / mercado. Después de eso, puede usar su mayor flujo de efectivo para considerar cambiar a una nueva pila que sea más fácil de mantener, producir y mejorar.