¿Cómo prueba Amazon los millones de versiones del sitio web que sirve?

Creo que puede haber una premisa inválida presente en esta pregunta.
No hay millones de “versiones” del sitio web de Amazon. Hay varios sitios diferentes (piense en un sitio minorista, consola de AWS, Fresh, etc.), hay diferentes regiones para estos sitios (EE. UU., Reino Unido, DE, etc.), y cada sitio tiene una serie de características / productos diferentes . Las combinaciones de estos grupos pueden crear millones de páginas, pero estas no son millones de versiones del mismo sitio. Trabajando desde allí, podemos hablar sobre cómo construir / probar un sitio como ese.

La premisa básica detrás de la construcción de un sitio como este es tener contratos entre la capa de presentación y la capa de datos (API), y hacerlos cumplir en el desarrollo, prueba y producción.

  1. Para la mayoría de los productos en Amazon, la página se representará utilizando un código llamado “ProductPageTemplate”, que cuando se le da un ID de producto, representa la página del producto para un ID de producto determinado. Hay excepciones para algunos productos, pero la mayoría usará esta plantilla. El código de la página del producto se probará dada una amplia variedad de datos de productos válidos e inválidos, asegurando que la página no se rompa cuando se proporcionen datos incorrectos. La plataforma de almacenamiento de datos tendrá una serie de pruebas y procesos para garantizar que solo los datos válidos del producto estén disponibles para el sitio.
  2. En la medida de lo posible, las diferentes regiones de un sitio web utilizarán la misma base de código, pero todas las cadenas de lenguaje escrito se administrarán por separado del código para cada idioma. Esta técnica se denomina comúnmente “externalización de cadenas”, y su IDE probablemente tiene un botón que lo hace por usted (o lo alienta a que lo haga de manera predeterminada). Varios equipos realizan una tarea conocida como localización, que es el proceso de tomar un conjunto de cadenas y traducirlas (o localizarlas) para una región diferente.
  3. Los sitios separados funcionan con bases de código completamente diferentes (piense en el sitio minorista, Fresh y AWS), y tienen sus propios equipos para crear y probar cada tipo de página.

Esperemos que esto explique un poco sobre el desarrollo web moderno. Si desea obtener más información sobre estas técnicas (o probarlo usted mismo), le recomiendo que consulte los tutoriales para obtener un marco web de su elección. Aquí hay algunos enlaces:
Tutoriales – Django
Tutorial de Ruby on Rails (3ª ed.)

La razón por la que algunos dicen que Amazon (y otros similares) tienen millones de versiones de su sitio web es porque cambian una pequeña parte de él todo el tiempo. Por ejemplo, cambian el color de un botón o el peso de la fuente de un texto.

Las herramientas de marketing rastrean qué efecto tiene sobre la página predeterminada. Las herramientas hacen esto al mostrar a un X% de las personas la nueva versión, recopilar datos sobre ella con clics, tasa de compra, etc.

No tiene nada que ver con diferentes regiones o diferentes productos. Sin embargo, algunas regiones pueden requerir un enfoque diferente. Aprendí esto en Adobe con conversaciones con el jefe de Marketing Cloud.