¿Qué tecnología específica de pila y proveedor de nube usarías para un inicio web típico y por qué?

Están sucediendo muchas cosas en esta pregunta, pero fundamentalmente creo que puedes dividirlo en algunas partes:

¿Qué estás construyendo * en realidad *?
La pregunta menciona “otro servicio de comercio electrónico como Amazon con clientes web y móviles”. ¿Entonces aquí viene tu primera gran decisión, construir o comprar? Si está de acuerdo en comprar algo del estante y personalizarlo desde allí, tiene muchas opciones específicas de comercio electrónico que incluyen:

  • Magneto (software de comercio electrónico y soluciones de plataforma de comercio electrónico)
  • Una gran cantidad de complementos de WordPress (WordPress ›WP e-Commerce” Complementos de WordPress)
  • Y muchas otras opciones: ¿quiénes son los competidores de Magento? (Código abierto de comercio electrónico)

La alternativa sería construir algo completamente personalizado, específicamente para su caso de uso. Si decides seguir esta ruta, me concentraré en asegurarme de que hagas lo siguiente:

  • Desacople el back-end de la interfaz de usuario tanto como sea posible; esto lo ayudará a crear un cliente móvil fácilmente
  • Conozca a su audiencia: ¿es una parte considerable de su audiencia potencial en oldIE? Diseñe apropiadamente. ¿Son generalmente mayores o menos expertos en tecnología? La misma idea.
  • Utilice un RDBMS: “NoSQL” puede ser excelente para algunos casos de uso, pero transaccional, el comercio electrónico no es uno de ellos.
  • La elección del lenguaje (PHP, Python, Ruby, etc.) probablemente no sea muy importante, pero será mejor que te quedes con algo convencional versus algo con menos tracción: después de todo, eres una empresa de comercio electrónico.

Datos crujientes ¿eh?
Entonces, hay un gran volumen de datos y luego hay un GRAN volumen de datos. Siendo realistas, si estás produciendo menos de 1-2GB de datos por día, probablemente estarás calculando bien los agregados y las sumas con cualquier RDBMS que ya estés usando. Pero digamos que estás produciendo más o solo quieres opciones, esto es lo que tienes:

  • HDFS, Hadoop y Hive / Pig / Impala: probablemente la pila más reconocible para tratar con “big data”. Una vez que rodeas todas las piezas, es una solución extremadamente poderosa. Consulte también Amazon Elastic MapReduce (Amazon EMR), una solución de MapReduce alojada por AWS.
  • Google BigQuery – Desarrolladores de Google – Grandes datos de los chicos que aman los grandes datos. ¡Cargue datos CSV / TSV del almacén de datos de Google y luego consulte con un lenguaje similar a SQL! Desafortunadamente, no todo son rosas, tiene algunas limitaciones extrañas, como no tener grandes conjuntos de resultados y políticas de cuotas de cálculo (Política de cuotas – Google BigQuery – Desarrolladores de Google). Ah, y también te cobran por la cantidad de datos que lees, por lo que un trabajo de 2 minutos puede terminar costando un centavo.
  • Amazon Redshift: producto relativamente nuevo de Amazon, se ve y huele a PostgresSQL, pero en realidad es la plataforma analítica ParAccel. Puede consultar tablas con SQL normal y escalar hacia arriba / abajo con solo unos pocos clics. Tiene algunas peculiaridades, pero en general si no necesita mucha T en su Extracto, transformar, cargar, podría ser una buena opción.

¿Dónde estamos hospedando?
Otra consideración interesante, probablemente dependerá en gran medida de la plataforma de análisis que decida usar y de la composición de su equipo de ingeniería. Otro punto clave es que, hasta cierto punto, puede mezclar y combinar nubes. Es totalmente factible usar Amazon S3 para copias de seguridad y alojamiento de imágenes, pero luego usar cuadros dedicados de Rackspace para alojamiento web / db real.

Al final del día, necesitará comprender cuán “explosivo” es realmente su tráfico y cómo se amplía la arquitectura de su aplicación. ¿Realmente se va a beneficiar de la flexibilidad de poder lanzar máquinas con un clic del mouse mientras se incurre en la molestia de administrar estas máquinas usted mismo? O, sería mejor comprar el servidor más grande que pueda y en una instalación colocada totalmente administrada.

En cualquier caso, recomendaría buscar en los siguientes servicios no relacionados con el servidor (principalmente Amazon AWS):

  • Amazon Route 53 – ¿Recuerdas cuando el DNS de GoDaddy se cayó y todos fueron tomados por sorpresa? Yah, no dejes que eso te suceda.
  • Amazon S3, Cloud Computing Storage para archivos, imágenes, videos: el almacenamiento es tan barato que no hay excusa para no seguir haciendo copias de seguridad de * todo *.
  • Desarrolle software mejor, juntos. – Quieres Git pero no quieres alojar tu propio Git. Ah, y poder ver un registro de confirmación en una GUI es bueno.
  • Herramienta de prueba de navegador cruzado. Más de 200 navegadores, móviles, IE real. – Con la explosión de dispositivos y navegadores, las pruebas de navegador cruzado son un lastre.

Para la colocación administrada, consulte Servidor de colocación, plataforma y alojamiento administrado en Rackspace

Y luego móvil
Como un juicio improvisado, diría que es mejor construir una experiencia web optimizada para dispositivos móviles que invertir en una aplicación nativa. Mire su propio teléfono, ¿cuántas aplicaciones de comercio electrónico tiene instaladas? ¿Cuántas compras tomó antes de instalar la aplicación? Exactamente.

Yo diría que Google o Amazon. Microsoft tiene un programa para obtener acceso a software gratuito con su programa BizSpark. ¿Estás buscando ser un proveedor de plataforma de comercio electrónico como Shopify? Tienen una plataforma receptiva y una API sólida. Diría que responder es el camino a seguir para tener una experiencia común en todas las plataformas. La forma en que dices “otro” parece que ya te preocupa que haya demasiados jugadores de comercio electrónico, ¿estás seguro de que quieres seguir ese camino?