Escenario 1: arquitectura de acceso seguro y escala global

Completado

En las dos unidades siguientes, revisará dos escenarios empresariales. Las descripciones de la empresa, los objetivos del proyecto y las restricciones ya se han diseñado de forma automática. Puede trabajar en esto de forma personal, aunque podría ser interesante realizar una lluvia de ideas con otras personas, si es posible.

Proceso para el desarrollo de soluciones

El objetivo, en estos escenarios y probablemente en el mundo real, es comprender:

  • El problema que la empresa tiene que resolver.
  • Los requisitos y las restricciones que acompañan a una solución.

Este objetivo suele adoptar la forma de declaración del problema. Se trata de un conjunto formal de párrafos en los que se definen claramente las circunstancias, la condición actual y los resultados deseados para una solución. En este momento, querrá evitar explorar cómo resolver el problema y centrarse en lo que quiere resolver.

Una vez que usted (y probablemente el equipo y las partes interesadas) acuerden una declaración del problema, debe extraer tantos requisitos (objetivos) para el proyecto como pueda identificar. Después, establezca las restricciones que tenga la solución.

En este punto, es aceptable tener restricciones poco realistas. Más adelante puede recuperarlas después de mostrar una relación entre los costos y beneficios de cada requisito y restricción.

En producción, normalmente hay seis fases para crear una solución. El desarrollo de la declaración del problema es solo el principio.

  1. Descubrimiento: la declaración original del problema del cliente.
  2. Escenario ideal: una descripción imaginativa de la mejor solución para el proyecto. A menudo se formula con afirmaciones de tipo "Puedo...".
  3. Sesión de diseño de la arquitectura: diseño inicial de las opciones de tecnología y las alternativas para una solución preliminar.
  4. Prueba de concepto (POC): una vez que se seleccionan las tecnologías y los procesos óptimos para la solución, se configura una POC con un pequeño ejemplo representativo del aspecto que podría tener una solución. Puede usar una solución en ejecución en un ejemplo paralelo, si está disponible.
  5. Implementación: implementación de un lanzamiento por fases de la solución completada en función de los resultados de las fases anteriores.
  6. Entrega: un análisis final del proyecto con un debate sobre futuras mejoras.

En este módulo, puede aprovechar las ventajas de plantillas de proyecto y los iconos más recientes. También puede usar estos recursos en las cargas de trabajo de producción.

En los escenarios de este módulo, tendrá que dedicar tiempo a determinar la declaración del problema (descubrimiento). Pero el enfoque importante estará en la sesión de diseño de la arquitectura. Si quiere desarrollar una solución más allá del módulo, puede usar los recursos del módulo para hacerlo.

Detalles del escenario

Su cliente es un proveedor de servicios y entrega de contenido en todo el mundo. Ha solicitado su ayuda para crear un sistema que pueda administrar miles de operaciones de escritura por segundo en lo que básicamente es un data mart operativo.

El cliente también necesita la capacidad de realizar análisis en tiempo real de los datos, para determinar tendencias e identificar anomalías. Actualmente lo hace con aplicaciones de Common Language Runtime (CLR). El cliente no busca un almacenamiento de datos ni usar grandes partes del área expuesta de SQL, sino que debe poder escalar allí donde residen los usuarios.

El cliente también trata de determinar qué métodos de autenticación usar en su entorno híbrido. Aunque la solución principal y la aplicación residirán en Azure, el cliente también debe acomodar lo siguiente:

  • Una aplicación en un equipo que no es de Azure unido a un dominio.
  • Una aplicación anterior que no permitirá cambiar el controlador o la cadena de conexión en un equipo que no es de Azure.
  • Varios usuarios que ejecutan informes desde herramientas de administración de SQL (SQL Server Management Studio, Azure Data Studio, PowerShell) en equipos que no son de Azure unidos a un dominio.

Siempre que sea posible, el cliente quiere eliminar la codificación de forma rígida de contraseñas o secretos en las cadenas de conexión y los archivos de configuración de la aplicación. Y quiere eliminar el uso de contraseñas en las herramientas de SQL, o bien encontrar una manera de mejorar la autenticación.

Instrucciones del escenario

  • Comience con la opción de implementación de Azure SQL, que es más compatible con la solución actual y está disponible hoy en día.
  • ¿Cómo escalará el cliente en varias regiones con varias consultas que se producen al mismo tiempo, al tiempo que se aíslan las cargas de trabajo de lectura de las de escritura?
  • ¿Cómo puede acceder el cliente a los datos de las distintas implementaciones?
  • ¿Qué métodos de autenticación se recomiendan para las rutas de interacción descritas en el escenario?

Tareas

  1. Después de revisar el escenario y las instrucciones proporcionadas, extraiga todos los requisitos del proyecto que pueda encontrar.

  2. Enumere las tecnologías y los procesos posibles que se podrían usar en una solución. No dude en adaptar el escenario para obtener más información donde se requiera claridad. Puede realizar suposiciones en este caso.

    Sugerencia

    En el caso de los desafíos de seguridad, podría considerar la posibilidad de usar el cuaderno de estrategias de procedimientos recomendados de seguridad de Azure SQL.

  3. Mediante una matriz de decisiones o algún otro proceso de decisión, seleccione las tecnologías y los procesos que integrarán la solución preliminar.

  4. Tome notas que presenten los objetivos y las restricciones del proyecto, así como el diseño de la solución recomendada.

Una vez que tenga en mente una solución preliminar, el paso siguiente suele ser presentarla al equipo más grande (o cliente, o directiva, según el escenario). Tendrá que ensamblar y presentar la solución de forma que comparta los objetivos y las restricciones del proyecto, así como el modo en que la solución trata esos elementos.

Cuando esté listo, responda a las preguntas siguientes para evaluar cómo se compara la solución con una solución de ejemplo. Puede haber varias respuestas correctas, por lo que incluso si la solución no aparece en la lista, podría ser viable.

Prueba de conocimientos

1.

¿Qué opción de implementación de Azure SQL ofrece el mejor ajuste para este escenario?

2.

¿Cómo escalará el cliente en varias regiones con varias consultas que se producen al mismo tiempo, al tiempo que se aíslan las cargas de trabajo de lectura de las de escritura?

3.

¿Qué método de autenticación recomendaría para la aplicación en una máquina virtual de Azure?

4.

¿Qué método de autenticación recomendaría para la aplicación en un equipo que no es de Azure unido a un dominio?

5.

¿Qué método de autenticación recomendaría para las herramientas de administración de SQL (SSMS, PowerShell) en un equipo que no es de Azure unido a un dominio?

6.

¿Qué método de autenticación recomendaría para una aplicación anterior en la que no se puede cambiar la cadena de conexión o el controlador en un equipo que no es de Azure?