Fundamentos de la plataforma Azure para startups

En este artículo se ofrece una orientación rápida con una lente de inicio en cinco pilares fundamentales de la plataforma: proceso, redes, almacenamiento, contenedores y datos. Para cada pilar, recibirás una breve tabla de decisión que relaciona tu situación con un servicio predeterminado, además de una nota sobre cuándo conviene replantearse esa elección a medida que tu startup crece.

En este artículo, aprenderá a

  • Elija los componentes básicos adecuados de Azure para cómputo, red y almacenamiento para su etapa.
  • Decida si Azure Kubernetes Service es la plataforma de contenedor adecuada para la fase y qué usar en su lugar si no lo es.
  • Elija una primera plataforma de datos en cargas de trabajo relacionales, de documento, de vectores y de análisis.
  • Aplique un pequeño conjunto de configuraciones predeterminadas de costes, fiabilidad y seguridad que sigan funcionando bien a medida que crece.
  • Reconozca las señales que indican que una opción predeterminada ha superado su utilidad.

Prerequisites

  • Una suscripción de Azure activa.
  • Con CLI de Azure instalado y con sesión iniciada. Para iniciar sesión, ejecute az login.
  • Acceso de propietario o colaborador en al menos un grupo de recursos.
  • La familiaridad con la página de aterrizaje del portal de Azure es útil, pero no es necesaria.
  • Familiaridad básica con los fundamentos de Azure (regiones, suscripciones y grupos de recursos).

¿Por qué esto es importante para las startups?

En una startup en fase inicial, el coste de una mala elección de infraestructura no está en la factura. Es la semana que pierdes al migrar desde el servicio equivocado después de haber construido tu solución en torno a él. Los cinco pilares de este artículo son aquellos en los que una opción predeterminada mal elegida tiende a tener un efecto acumulativo: la plataforma de cómputo equivocada da forma a tu canalización de despliegue; la base de datos equivocada limita tu modelo de datos; la topología de red equivocada te impide conseguir tu primer cliente empresarial. No necesita un equipo de plataforma, un ingeniero de confiabilidad de sitios ni un especialista en operaciones financieras para tomar estas decisiones bien. Necesitas una configuración predeterminada que sea lo bastante buena como para lanzar el producto y una señal clara que te indique cuándo volver a revisarla. Si tu startup está en el programa Microsoft for Startups, la misma configuración predeterminada hace que tus créditos rindan más y te permite seguir optando a ventajas avanzadas más adelante.

Proceso: donde se ejecuta el código

Azure tiene más de una docena de servicios de proceso. La buena noticia es que, para la mayoría de las cargas de trabajo en etapas iniciales, tres de ellas cubren lo que necesita.

Su situación Servicio de Azure predeterminado Por qué Volver a visitar cuándo
Aplicación web o API HTTP, uno o dos servicios, quiere un entorno de ejecución administrado. Azure App Service (Linux) No se requiere construir ningún contenedor. TLS integrado, dominios personalizados, ranuras de implementación y escalabilidad automática. Los planes Gratuito y Básico son lo bastante económicos como para ejecutar un entorno de preproducción, aunque los slots y el escalado automático requieren el plan Estándar o uno superior. Quiere ejecutar más de un puñado de servicios, necesita escalado por servicio o necesita sidecars.
Función controlada por eventos, trabajo programado o controlador de webhook Azure Functions (plan de consumo) Pago por ejecución. Escala a cero. Los enlaces quitan la mayoría del código de pegamento para colas, blobs y desencadenadores HTTP. Los arranques en frío perjudican la latencia de cara al usuario o hacen que superes los límites del plan de consumo.
Microservicios en contenedores, quiere un entorno de ejecución con opiniones sin administrar Kubernetes. Azure Container Apps Se basa en Kubernetes con el escalado automático basado en KEDA, pero no se administra el clúster. Dapr está disponible como una integración opcional. Se incluyen la escala a cero, las revisiones y la entrada HTTPS. Necesita un control de nivel de clúster, un programador personalizado o redes avanzadas.
Proceso por lotes de larga duración, entrenamiento con GPU o lift-and-shift de una carga de trabajo existente de máquina virtual Máquinas virtuales de Azure Control total del sistema operativo. Use un conjunto de escalado de máquinas virtuales cuando necesite escalar horizontalmente. La sobrecarga operativa de la aplicación de parches y la gestión de imágenes empieza a ralentizar la entrega.
Está seguro de que necesita Kubernetes (consulte la sección 4 antes de asumir esto). Azure Kubernetes Service Plano de control administrado. Se adapta a los equipos que ya tienen experiencia de Kubernetes o requisitos específicos de la plataforma. Consulte la sección Contenedores para conocer los criterios de decisión de AKS.

Tip

Comience con App Service para su primera aplicación web orientada al usuario y Azure Functions para todo lo controlado por eventos. Más adelante, puede migrar a Azure Container Apps o Azure Kubernetes Service sin cambiar el código de la aplicación, si mantiene la aplicación sin estado y escribe la configuración en variables de entorno.

Elegir entre Container Apps y App Service

Aplicaciones de contenedor y App Service se superponen. El criterio de desempate más sincero: si su aplicación ya se ejecuta como imagen de contenedor y quiere escalado por servicio (distintas réplicas para la capa web que para el servicio worker), gana Container Apps. Si la aplicación es un único proceso web y no quiere mantener un Dockerfile, App Service gana.

Caution

Considere Azure Kubernetes Service cuando tenga requisitos claros que no cumplan las opciones más sencillas. Aunque ofrece una gran flexibilidad y control, también presenta consideraciones operativas adicionales (como actualizaciones, ajuste de tamaño del grupo de nodos, configuración de entrada y administración de certificados). Si se adopta demasiado pronto, los equipos suelen encontrar más tiempo en la administración de la plataforma que la creación de características del producto.

Redes: qué configurar el día uno

La mayoría de las cargas de trabajo de Azure de fase temprana no necesitan una red virtual el día uno. App Service, Functions, Container Apps y la mayoría de las bases de datos administradas proporcionan puntos de conexión públicos con TLS que son seguros para exponer, siempre y cuando establezca la autenticación correctamente. Agregar complejidad de red antes de tener una razón es la optimización prematura más común en Azure.

Su situación Enfoque predeterminado Por qué Volver a visitar cuándo
Nueva aplicación, tráfico web público, sin requisitos de cumplimiento aún Use el punto de conexión público con TLS. No hay ninguna red virtual. Sobrecarga operativa más baja. App Service, Container Apps y bases de datos administradas controlan TLS por usted. Use Microsoft Entra ID para la autenticación. El primer cliente empresarial solicita conectividad privada.
Necesita una conexión privada entre la aplicación y una base de datos administrada. Integración de red virtual en el lado de proceso, punto de conexión privado en la base de datos El tráfico permanece en la red troncal de Microsoft. No hay exposición pública para la base de datos. El mismo servicio administrado, no hay ningún cambio en la aplicación. Desde el primer día si manejas datos protegidos; de lo contrario, cuando lo pida una auditoría o un cliente.
Necesitas un único punto de entrada público que actúe como punto de acceso delante de varios back-ends, con enrutamiento, terminación TLS y un cortafuegos de aplicaciones web Azure Front Door (global) o Azure Application Gateway (regional) Front Door agrega una red global de entrega de contenido y almacenamiento en caché perimetral. Application Gateway es la opción regional nativa de la red virtual. Ha superado el enrutamiento y TLS integrado de App Service.
Necesitas direcciones IP estáticas de salida (por ejemplo, para la lista de direcciones permitidas de un procesador de pagos) Puerta de enlace NAT conectada a la red virtual IP de salida predecible. Requerido por muchas API de terceros. Un proveedor lo requiere. No lo añadas por suposición.
Topología de varias regiones o de varias cuentas Emparejamiento de redes virtuales o Azure Virtual WAN La arquitectura de red real comienza aquí. Fuera del ámbito de la mayoría de los equipos en fase de exploración. La multirregión es un requisito real, no una aspiración.

Importante

Bloquee Microsoft Entra ID y las asignaciones de roles de suscripción antes de preocuparse por el aislamiento de red. La mayoría de los incidentes de seguridad de Azure en pequeñas empresas se deben a una identidad con demasiados permisos, no a la exposición de red. Use grupos de Microsoft Entra ID para el acceso del equipo de ingeniería y no conceda el rol de Propietario en el nivel de la suscripción.

Almacenamiento: blobs, archivos y discos

Azure Storage es un tipo de recurso único (la cuenta de almacenamiento) que expone cuatro servicios de datos: blobs, archivos, colas y tablas. A la hora de tomar decisiones sobre el almacenamiento de aplicaciones, casi siempre se elige entre blobs (almacenamiento de objetos), archivos (recursos compartidos de archivos administrados) y discos administrados (almacenamiento en bloques conectado a una máquina virtual).

Lo que estás almacenando Servicio de Azure predeterminado Por qué Volver a visitar cuándo
Archivos cargados por el usuario, informes generados, registros, artefactos de modelo, copias de seguridad Azure Blob Storage (nivel de acceso frecuente) Almacenamiento de objetos. Barato, duradero, es escalable hasta petabytes. Use niveles de acceso esporádico o de archivo más adelante para los datos a los que no accede con frecuencia. Necesita semántica de archivos POSIX o lectura y escritura aleatorias en un único archivo desde varias máquinas.
Un sistema de archivos compartido montado por varias máquinas virtuales o contenedores Azure Files (Estándar) o Azure NetApp Files (alto rendimiento) Volúmenes compartidos del bloque de mensajes del servidor (SMB) o del sistema de archivos de red (NFS). Evite usar esto con contenido que se ajuste al modelo de blobs. Empieza a usar un recurso compartido de archivos como una cola o una base de datos. Desplácese a la primitiva derecha.
Discos para una máquina virtual Discos administrados Premium SSD v2 Rendimiento ajustable, buen rendimiento de precio para discos de aplicación. Ssd Premium v2 no se puede usar como disco del sistema operativo; empareje con SSD Premium (v1) o SSD estándar para el sistema operativo. Ssd estándar es aceptable para cargas de trabajo de bajo rendimiento. Necesita almacenamiento en bloques compartido entre máquinas virtuales (use Azure Elastic SAN o Azure NetApp Files).
Activos de sitios web estáticos (paquete de aplicaciones de página única, sitio de marketing, documentación) Azure Storage hospedaje de sitios web estáticos + Azure Front Door Static Web Apps es el valor predeterminado moderno: dominios personalizados integrados, TLS administrados gratis, distribución global, Acciones de GitHub CI/CD y autenticación integrada. El sitio web estático de almacenamiento + Front Door sigue funcionando para configuraciones muy de bajo costo, pero no admite de forma nativa encabezados personalizados ni autenticación. Añade páginas renderizadas en el servidor. Cambie a App Service o Container Apps.

Note

Las cuentas de almacenamiento tienen un límite no estricto de 250 cuentas por región y suscripción (ampliable a 500 previa solicitud). Eso es suficiente para los equipos de primera fase. El error que hay que evitar es crear una cuenta de almacenamiento por microservicio; en su lugar, agrúpalas por entorno (producción, preproducción, desarrollo) y por patrón de acceso (caliente, frío, archivo).

Una nota sobre las copias de seguridad

Azure Backup y las opciones de redundancia de la cuenta de almacenamiento (Almacenamiento con redundancia local, Almacenamiento con redundancia de zona, Almacenamiento con redundancia geográfica) son ajustables por cuenta y por disco. El almacenamiento con redundancia local (LRS) es adecuado para el desarrollo y el almacenamiento provisional. Use el almacenamiento con redundancia de zona (ZRS) para los datos de producción. El almacenamiento con redundancia geográfica agrega costos y no es un sustituto de la recuperación ante desastres de nivel de aplicación.

Contenedores y Azure Kubernetes Service

Azure tiene tres maneras de ejecutar contenedores en producción: Azure Container Apps, Azure Container Instances y Azure Kubernetes Service. Se corresponden con distintos tamaños de equipo y niveles de disposición operativa.

Su situación Servicio de Azure predeterminado Por qué Cuando empieza a doler
Tiene imágenes de contenedor y quiere un entorno de ejecución administrado con entradas HTTPS, escalado a cero y revisiones. Azure Container Apps Plataforma sin servidor en Kubernetes con autoescalado mediante KEDA, pero no ves ni administras el clúster. Paga por lo que se ejecuta. Encaja bien hasta que surgen requisitos a nivel de clúster. Dapr está disponible como integración opcional. Necesita planificadores personalizados, redes avanzadas (varias tarjetas de interfaz de red, complementos personalizados de Container Network Interface) u operadores específicos de Kubernetes.
Quieres ejecutar un único contenedor como una tarea puntual o como un proceso por lotes breve. Azure Container Instances Ruta de acceso más rápida desde la imagen hasta el contenedor en ejecución. Sin orquestación. Se cobra por segundo del tiempo de ejecución. Necesitas cualquier cosa que se parezca a una malla de servicios o al escalado automático y que vaya más allá de un único contenedor.
Ya utiliza Kubernetes en otro entorno, o la arquitectura de su aplicación realmente lo requiere Azure Kubernetes Service Plano de control administrado. Traiga sus propios grupos de nodos, complemento de red, controlador de entrada y pila de observabilidad. Día uno. Planee actualizaciones en curso (versión secundaria publicada cada 4 meses), ajuste del grupo de nodos y administración de certificados.
No está seguro de si necesita Kubernetes Aplicaciones en contenedores por el momento Puede volver a compilar en Azure Kubernetes Service más adelante si es necesario. Poner en marcha una aplicación en contenedores sin estado lleva días de trabajo, no semanas. Tiene una necesidad concreta (ecosistema de operadores, política a nivel de clúster) que puede identificar. "Prepararse para el futuro" no es una necesidad concreta.

Cuándo graduarse en AKS

Vaya a Azure Kubernetes Service (AKS) cuando se cumplen al menos dos de estos valores:

  • Ejecuta más de diez servicios con consideraciones compartidas sobre el ciclo de vida y la red.
  • Necesita controladores personalizados, sidecars o definiciones de recursos personalizados (CRD) que las aplicaciones de contenedor no exponen.
  • Necesita una integración de red virtual profunda con estricta aplicación de directivas.
  • Está normalizando en un ecosistema de código abierto basado en Kubernetes (Argo, Istio, KEDA, etc.).

Si adopta AKS, siga la arquitectura de línea base de AKS. El marco de Microsoft Azure Well-Architected y la referencia de línea base de AKS abarcan juntos los valores predeterminados de seguridad, escalado y actualización que desee.

Valores predeterminados de AKS para un equipo pequeño

Setting Default Por qué
Tamaño del nodo grupo del sistema Standard_D4s_v5, grupo de usuarios Standard_D8s_v5 Precio a rendimiento predecible para cargas de trabajo generales
Escalador automático de clúster Habilitado Evitar pagar por nodos inactivos
Identidad de carga de trabajo Habilitado Reemplaza la identidad del pod e integra con Microsoft Entra ID
complemento de Azure Policy Habilitado Límites de protección libres (sin contenedores con privilegios, etiquetas necesarias)
Container Insights Habilitado Métricas y registros de primera clase en Azure Monitor
Clúster privado Activado para producción Plano de control accesible solo desde la red virtual

Azure Container Registry (Registro de Contenedores de Azure)

Independientemente de la plataforma de proceso que elija, almacene las imágenes en Azure Container Registry. El nivel Básico es suficiente para los equipos de fase temprana. Use un registro independiente por entorno (producción, almacenamiento provisional) si desea un aislamiento estricto o un único registro con repositorios independientes y control de acceso basado en rol si desea simplificar.

Plataforma de datos: relacional, documento, vector, análisis

Las decisiones de la plataforma de datos son las más probables para ser permanentes. El esquema que lanzas en el primer mes condiciona cada funcionalidad de los dos años siguientes. Elija un valor predeterminado lo suficientemente flexible como para crecer con el producto y resista la tentación de elegir previamente una base de datos especializada para una característica que aún no ha creado.

Carga de trabajo Servicio de Azure predeterminado Por qué Volver a visitar cuándo
Datos de la aplicación transaccional (usuarios, pedidos, contenido) con un esquema relacional conocido Azure Database for PostgreSQL (servidor flexible) Ecosistema de extensión sólido, ampliamente comprendido (incluido pgvector para incrustaciones). El nivel ampliable es lo suficientemente barato para el desarrollo y el almacenamiento provisional. Patrones de escritura multirregión o de lectura a hiperescala. Considere Azure Cosmos DB para PostgreSQL.
Datos operativos con esquema flexible, distribución global y lecturas predecibles de un solo dígito de milisegundos Azure Cosmos DB (API de NoSQL) Multirregional de forma predeterminada. El nivel sin servidor es lo suficientemente barato como para empezar. El diseño de particiones es importante; lea la guía de clave de partición antes de enviar. Estás forzando uniones relacionales en la capa de aplicación. PostgreSQL es probablemente la respuesta correcta.
Buscar en contenido estructurado y no estructurado, incluida la generación aumentada mediante recuperación Búsqueda de Azure AI Palabra clave híbrida y búsqueda de vectores. Se integra con Azure OpenAI Service y Cosmos DB. El nivel gratis existe para la creación de prototipos. Se superan los límites de índice por nivel (Standard 1 es un punto de actualización común).
Incrustaciones de vectores para una característica de generación aumentada de recuperación Comience con pgvector en PostgreSQL o Búsqueda de Azure AI Evite una base de datos vectorial independiente para la primera versión de una característica de recuperación. Aprenderá lo que realmente necesita (filtrado, búsqueda híbrida, escalabilidad) a partir del uso real. Usted ha caracterizado sus patrones de lectura y las limitaciones justifican un motor especializado.
Análisis, informes y consultas ad hoc sobre datos de producción Azure Database for PostgreSQL réplica de lectura (Explorar), Microsoft Fabric (Expandir y extraer) Una réplica de lectura es suficiente para la mayoría de los análisis en la fase de exploración. Microsoft Fabric es la plataforma de análisis moderna una vez que se supera. Tus réplicas de lectura no dan abasto, o los responsables del negocio necesitan un entorno de análisis de autoservicio.
Capa de caché delante de una base de datos Azure Cache for Redis (nivel Básico) Primitivo de almacenamiento en caché estándar. Barato para añadir más tarde; no agregue especulativamente. Se observa un claro patrón de lecturas intensivas que está saturando la base de datos. Mida antes de agregar.

Importante

Elija una base de datos predeterminada y permanezca en ella mientras pueda. Un equipo de quince ingenieros que opera PostgreSQL, Cosmos DB, Redis, AI Search, una cola y una base de datos de grafos ha terminado asumiendo sin querer una carga de trabajo equivalente a la de un equipo de plataforma.

Dónde encaja Azure OpenAI Service

Azure OpenAI Service no es una plataforma de datos, pero comparte el mismo ritmo de decisión. La mayoría de las startups que crean una funcionalidad de IA generativa comienzan con el despliegue de un modelo (un modelo reciente de finalización de chat) en una sola región, además de AI Search o pgvector para la recuperación de información. No necesitas un pipeline dedicado de ajuste fino, una puerta de enlace para modelos ni varios despliegues hasta que el uso te indique que debes incorporarlos.

Lo que trata este artículo (y lo que no lo hace)

Tema En este artículo Cuándo agregarlo
Administración de identidades y acceso más allá de los conceptos básicos No Día uno para la configuración de Microsoft Entra ID. Acceso condicional y administración de identidades con privilegios cuando haya una revisión de la seguridad de la información.
Infraestructura como código (Bicep, Terraform) No Cuando los cambios manuales del portal empiezan a desincronizarse entre entornos. Normalmente, cuando se añade un entorno de pruebas.
Pipelines de integración continua y despliegue continuo No Día uno. Acciones de GitHub o Azure DevOps Pipelines, ambas opciones son válidas.
Observabilidad (registros, métricas, seguimientos) No Application Insights desde el primer día. Azure Monitor libros cuando tenga fatiga de alertas.
Administración de costos No Establezca un presupuesto a nivel de suscripción desde el primer día. Etiquete los recursos con el entorno y el propietario desde el principio.
Cumplimiento (SOC 2, ISO 27001, HIPAA) No Cuando un cliente le pregunte. Microsoft Defender para la nube tiene un panel de cumplimiento que asocia los controles con los recursos de Azure.
Recuperación ante desastres y varias regiones No Cuando el coste de una hora de inactividad supera el coste de ingeniería de la segunda región.

Cuando los valores predeterminados de la plataforma ya no son suficientes

Estas señales de crecimiento indican que un valor predeterminado específico necesita un reemplazo más deliberado:

  • Ha implementado más de cinco servicios distintos en App Service o Container Apps y la escala por servicio se está convirtiendo en un problema diario. Consulta Azure Kubernetes Service.
  • Su factura mensual Azure está creciendo más rápido que sus ingresos mensuales durante dos meses consecutivos. Es hora de revisar la gestión de costos y de analizar las instancias reservadas o el plan de ahorro.
  • La red virtual ahora abarca varias suscripciones o regiones. Examine Azure Virtual WAN y una topología en estrella tipo hub-and-spoke.
  • Una sola instancia de PostgreSQL no puede contener el conjunto de trabajo en la memoria y las réplicas de lectura no cierran la brecha. Examine Cosmos DB para PostgreSQL o una arquitectura particionada.
  • Las consultas de análisis en la base de datos de producción afectan notablemente a la latencia de la aplicación. Mueva el análisis a Microsoft Fabric.
  • Está ejecutando más de dos cuentas de almacenamiento por entorno para el mismo patrón de acceso. Consolidar.
  • Ha agregado un tercer país con clientes de pago. Tiempo para evaluar una segunda región, almacenamiento con redundancia geográfica y una estrategia de enrutamiento de Front Door.

Note

Resista la tentación de adoptar pronto las herramientas de plataforma empresarial. La mayoría de los patrones anteriores (malla de servicios, activo-activo multirregión, herramientas de operaciones financieras, operadores personalizados de Kubernetes) aumentan la complejidad operativa y solo compensan a gran escala. Añádelos cuando tengas un equipo que pueda mantenerlos, no antes.

Lista de comprobación de referencia

Ejecute esto una vez al mes durante los primeros seis meses en Azure. Detecta la desviación más común.

  • Una suscripción por entorno (producción, ensayo, desarrollo) o una suscripción con grupos de recursos estrictos por entorno. No mezcles.
  • Cada recurso se etiqueta con el entorno, el propietario y el centro de costes (aunque hoy el centro de costes tenga el mismo valor para todos).
  • Un presupuesto a nivel de suscripción con alertas al 50 %, 80 % y 100 % del objetivo mensual en Cost Management.
  • Los grupos de Microsoft Entra ID, no los usuarios, tienen asignaciones de roles en los grupos de recursos. No hay ningún Propietario persistente en el nivel de la suscripción.
  • Application Insights o Azure Monitor está habilitado en cada recurso de proceso del entorno de producción.
  • Las copias de seguridad de base de datos de producción se comprueban mediante una prueba de restauración documentada (al menos una vez).
  • Los secretos están en Azure Key Vault, no en la configuración de la aplicación. Use identidades administradas para la ruta de acceso de proceso aKey-Vault.
  • Las imágenes de contenedor se analizan (Microsoft Defender para contenedores o el escáner integrado de tu registro).