Investigación de asistentes de migración

Completado

Analizar una consideración de migración implica una revisión de todas las diferentes opciones disponibles. La unidad anterior mencionaba los servicios de hospedaje, como IaaS y PaaS. La migración de IaaS puede proporcionar una opción de migración mediante lift-and-shift en la que se crea una máquina virtual, se configura con el mismo software y la misma configuración que el entorno local y, luego, se hospeda en Azure. IaaS todavía requiere que su organización administre, aplique revisiones, actualice y ayude a proteger el software en la máquina virtual.

Si tiene una aplicación de ASP.NET que quiere migrar, considere la posibilidad de usar la opción de PaaS para obtener el máximo beneficio de la automatización y escalabilidad en Azure. Para la solución PaaS con aplicaciones ASP.NET, la discusión pasa al uso de Azure App Service.

¿Qué es Azure App Service?

Azure App Service es un servicio basado en HTTP en Azure que puede usar para hospedar aplicaciones web y API REST. Este servicio ofrece ventajas como las siguientes:

  • Escalado automático, para ayudar a escalar la aplicación para satisfacer la demanda, en función de los parámetros que especifique y, a continuación, reducir automáticamente la escala cuando se reduzca la demanda.

  • Alta disponibilidad, para ayudar a asegurarse de que la aplicación sigue estando disponible en caso de que se produzcan errores o tiempos de inactividad en el servidor o en el centro de datos. Azure usa zonas, regiones y conjuntos de disponibilidad para ayudarle a lograr esto.

  • Compatibilidad con las plataformas Windows y Linux.

  • Integración con modelos de implementación automatizada mediante repositorios de Azure DevOps o GitHub.

¿Cómo hospeda Azure App Service las aplicaciones de ASP.NET?

Puede usar Azure App Service para hospedar la aplicación de ASP.NET en un plan de App Service. El plan de App Service definirá un conjunto de recursos de proceso para su aplicación de ASP.NET. Piense en los recursos informáticos como si fueran similares a una granja de servidores local. Los recursos de proceso se componen de máquinas virtuales que contienen el software necesario para hospedar la aplicación. Puede tratarse de una máquina virtual que ejecuta un producto de Windows Server con IIS que hospeda la aplicación.

Diagram of web app architecture hosted on Azure with app plan, DNS, resource group, and databases.

La aplicación también usará otros recursos, como:

  • Recursos de red para proporcionar acceso a la aplicación web a través del puerto estándar 80 o el puerto HTTPS 443. Las redes también proporcionan opciones para las configuraciones de direcciones IP públicas y DNS.
  • Opciones de supervisión y registro para el servicio.
  • Control de acceso mediante Microsoft Entra ID y el control de acceso basado en rol (RBAC).
  • Otras opciones disponibles, dependiendo de la configuración necesaria para la aplicación específica, como el acceso a bases de datos y las opciones de escalado y disponibilidad.
  • Una opción de almacenamiento para varios archivos necesarios para hospedar la aplicación.

¿Qué es Azure SQL Database?

Azure SQL Database es un servicio de base de datos relacional, inteligente y escalable creado para la nube. Es un servicio de base de datos SQL totalmente administrado que administra la aplicación de revisiones, la actualización y las copias de seguridad sin la intervención del usuario. Puede seleccionar entre dos modelos de implementación para la base de datos de Azure SQL: una sola base de datos o un grupo elástico.

Modelo de base de datos única

Un modelo de implementación de base de datos única es similar a una base de datos independiente y única en un motor de base de datos de SQL Server local. En el modelo de implementación única de Azure SQL Database, obtendrá la opción administrada completa mencionada anteriormente en esta unidad. Es una base de datos aislada para las necesidades de datos de las aplicaciones.

Modelo de grupo elástico

El grupo elástico es una colección de bases de datos únicas que comparten un conjunto de recursos, como la memoria y la CPU. Si es necesario, puede trasladar bases de datos únicas fuera del grupo elástico y trasladar otras bases de datos únicas al grupo.

Existen varios niveles de servicio y tamaños de proceso que le ayudarán a personalizar la implementación de Azure SQL Database según las necesidades específicas de la aplicación. Por ejemplo, puede comenzar con una única base de datos pequeña para satisfacer sus necesidades actuales y ayudar a mantener los costos bajos. A medida que crezcan las necesidades de la aplicación, puede actualizar el nivel de servicio para proporcionar opciones de escalabilidad dinámica para ayudar a satisfacer la demanda de la aplicación y el acceso a los datos. El escalado dinámico le permite traer recursos para administrar la escala cuando sea necesario y, a continuación, reducir la escala cuando disminuye la demanda, lo que ayuda a mantener los costos más bajos.

Comparación entre Azure SQL Database y SQL Server

La comparación de un motor de base de datos de SQL Server local con Azure SQL Database puede ayudar a resaltar las ventajas del uso de Azure.

Con un motor de base de datos de SQL Server local, puede:

  • Solicitar al departamento de TI que adquiera el hardware del servidor.

  • Instalar el sistema operativo.

  • Instalar el motor de base de datos.

  • Administrar revisiones.

  • Configurar la seguridad del firewall.

  • Administrar el acceso a la base de datos.

  • Administrar la copia de seguridad de base de datos.

  • Administrar la recuperación ante desastres.

  • Vuelva a realizar todas las tareas anteriores para el nuevo hardware cuando los recursos de proceso no sean suficientes para satisfacer la demanda.

Cuando usa Azure SQL Database, puede:

  • Crear una instancia de base de datos en Azure mediante el modelo de implementación elegido.

  • Migrar los datos a la nueva instancia.

  • Configurar el acceso de la aplicación.

  • Configurar las opciones de escalabilidad si es necesario.

  • Disfrute de las ventajas de un entorno administrado.

Escenarios de datos híbridos

Ventaja híbrida de Azure es un modelo que ayuda a reducir los costos de licencias para ejecutar las cargas de trabajo de SQL en la nube. Para aprovechar esta ventaja, use sus licencias locales de Software Assurance para Windows Server y SQL Server en la plataforma Azure.

En este gráfico se muestra un ejemplo de ahorro correspondiente a SQL Server Enterprise.

Graph of SQL hybrid savings, depicting enterprise at $3.97 per hour and hybrid at $0.598 per hour. This represents an 85% savings.

¿Qué son las herramientas de asistencia para la migración?

Microsoft proporciona un conjunto de herramientas de asistencia para la migración que lo ayudarán a evaluar su entorno, a resaltar los problemas que puedan producirse durante la migración, y a prestarle asistencia durante el proceso real de traslado de su aplicación y datos a la nube.

¿Qué es Azure Migrate?

Azure Migrate es un servicio gratuito que proporciona Microsoft que detecta, evalúa y migra sistemas locales a Azure. Este servicio facilita los cálculos de tamaño basados en el rendimiento (tamaño de la máquina virtual y proceso o almacenamiento) de las máquinas que se van a migrar, y la estimación de los costos continuos de la ejecución de estas máquinas en Azure. Azure Migrate puede evaluar máquinas virtuales basadas en Hyper-V y VMware. También evalúa servidores físicos. Azure Migrate también permite visualizar las dependencias de esas máquinas. Ayuda a crear grupos de máquinas que se pueden evaluar de manera conjunta y, en última instancia, migrar a Azure al mismo tiempo. Entender las dependencias le proporciona la seguridad de que no se deja nada en el tintero.

¿Qué es Azure Migration Assistant?

Azure Migration Assistant es una herramienta que puede usarse para migrar una aplicación ASP.NET a la nube. Además, funciona en combinación con Migration Assistant de App Service, que es un asistente diseñado para simplificar la migración a la nube mediante una solución gratuita, sencilla y rápida que migra las aplicaciones ASP.NET desde el entorno local a la nube. Con estas herramientas puede realizar lo siguiente:

  • Evalúe si su aplicación es una buena candidata para migrarse examinando su dirección URL pública.

  • Descargue Migration Assistant para comenzar la migración.

  • Use la herramienta para ejecutar comprobaciones de preparación y una evaluación general de los valores de configuración de la aplicación. A continuación, migre la aplicación o el sitio a Azure App Service.

¿Qué es Data Migration Assistant?

Data Migration Assistant lo ayuda a actualizar su infraestructura a una plataforma de datos moderna detectando los problemas de compatibilidad que pueden afectar a la funcionalidad de la base de datos en la nueva versión de SQL Server o Azure SQL Database. El asistente recomienda mejoras de rendimiento y confiabilidad para su entorno de destino, y permite trasladar el esquema, los datos y los objetos dependientes desde el servidor de origen al de destino.

Estas son las características principales:

  • Evaluación de instancias de SQL Server locales para detectar problemas con una migración que produjo problemas de compatibilidad o de falta de compatibilidad de características

  • Descubrir nuevas funciones en Azure SQL Database que puede aprovechar

  • Migración de instancias de SQL Server locales a la nube

  • Evaluación de los paquetes de SQL Server Integration Services locales migrando a Azure SQL Database

Evaluación del entorno actual

Un paso fundamental en el proceso de migración es evaluar el entorno actual. Esto ayudará a garantizar una transición fluida en su escenario de migración, y también a identificar posibles problemas antes, en el transcurso y después de la migración.

Inventariado del entorno actual

Realizar un inventario de su entorno ayudará a identificar los servidores, las aplicaciones y los servicios que se encuentran dentro del ámbito de la migración. Aproveche sus equipos empresariales y de TI que trabajan con esos servicios para ayudar a proporcionar orientación, comentarios y soporte técnico para la migración.

También recomendamos crear un inventario completo y un mapa de dependencias de los servidores y servicios que se encuentran dentro del ámbito de la migración. El inventario y el mapa determinan cómo se comunican esos servicios entre sí. Además, pueden ayudarlo a definir el entorno en línea para asegurarse de que la migración se realiza correctamente.

Identificación de los cambios necesarios en la aplicación

Es probable que la aplicación requiera cambios para que funcione correctamente después de la migración. Por ejemplo, su aplicación ASP.NET tiene acceso a una base de datos. Es probable que la cadena de conexión de base de datos necesite un cambio. Una de las ventajas de usar Azure es la posibilidad de almacenar la cadena de conexión de base de datos como secreto en Azure Key Vault. De este modo, se protegen los parámetros de autenticación en la cadena de conexión "ocultándola" detrás de un secreto en el almacén de claves. Después, puede configurar la aplicación para que use ese secreto, en lugar de la cadena de conexión directamente.

cálculo de los costos

Uno de los principales aspectos que tener en cuenta en cualquier escenario de migración es el costo que tendrá que asumir su organización por hospedar la aplicación en Azure. Pasará a usar un modelo de costos que es diferente al de un entorno local típico. En el entorno de Azure, se le facturará mensualmente por varios costos de consumo relacionados con los costos de proceso, almacenamiento y acceso.

En la unidad anterior hablamos sobre la calculadora de precios de Azure, que puede usar para ayudar a evaluar el gasto estimado.

Evaluación de las consideraciones sobre seguridad

La seguridad es, y debería ser, una prioridad máxima en cualquier escenario de migración. Es posible que le preocupe el hospedaje de los datos en un entorno en línea o que se pregunte si los empleados podrán seguir usando sus credenciales actuales para acceder a las aplicaciones. También le preocupa la seguridad de los datos desde el punto de vista del cumplimiento de los estándares del sector. Comprender las opciones disponibles en Azure puede ayudar a resolver estos problemas.

Evaluación de los requisitos de seguridad de la aplicación

En un escenario de aplicaciones ASP.NET, en el que necesitan acceder a un almacén de datos, debe tener en cuenta cómo proteger la base de datos mientras sigue permitiendo el acceso al front-end web. Azure proporciona redes virtuales para ayudarlo en este sentido. Las redes virtuales de Azure pueden ayudarle en las siguientes tareas:

  • Crear una infraestructura híbrida que usted mismo controle

  • Traer sus propias direcciones IP y servidores DNS

  • Proteja sus conexiones con una red privada virtual (VPN) de IPsec o Azure ExpressRoute.

  • Obtener un control granular del tráfico entre subredes

  • Crear topologías de red sofisticadas con aplicaciones virtuales

  • Obtener un entorno aislado y de alta seguridad para sus aplicaciones

También podría acceder a las aplicaciones que se ejecutan de forma local mediante Active Directory con fines de autenticación y administración de identidades. Microsoft Entra Connect permite integrar los directorios locales con Microsoft Entra ID. Esto significa que no es necesario que los empleados tengan varios conjuntos de credenciales para llevar a cabo la autenticación.

De forma similar a realizar un inventario del entorno local para aplicaciones y hardware, también debería planear sus requisitos de seguridad e implementación, con el objetivo de poder realizar una evaluación de seguridad adecuada para el escenario de migración. Querrá asegurarse de que un entorno hospedado en la nube siga cumpliendo las necesidades de seguridad de su organización.

Exploración de Azure Pipelines para un escenario de migración

Muchas organizaciones están adoptando prácticas DevOps para llevar a cabo un desarrollo más ágil e implementaciones más rápidas. Una de las áreas clave que hace que esto sea posible en un entorno de nube es la integración nativa entre las herramientas que usan los desarrolladores. La integración de Microsoft Visual Studio, GitHub y App Service permite a los desarrolladores crear y enviar cambios con mayor rapidez. En el caso de las aplicaciones ASP.NET, la depuración remota y en el sitio activo ofrece más ventajas a los desarrolladores para diagnosticar problemas en el entorno de producción.