Azure
Sin muchas vueltas, Azure es la Cloud de Microsoft. Aprendí cloud usando AWS, así que no me sentí muy cómodo cuando llegué al dashboard de Azure y vi las nomenclaturas de los servicios completamente diferentes. Entonces resolví hacer alguna documentación para crear una familiaridad con los nombres de los recursos y la forma de gestionarlos.
Si sabes AWS, genial, pero a veces tu empleador quiere trabajar en Azure porque consiguió valores más atractivos. En teoría, AWS posee mucho más tipos de SaaS que Azure, pero al final la mayoría de lo que necesitamos tenemos disponible también en Azure. Digo esto porque todos los días hay un truco nuevo en AWS que nadie usa!
El portal de Azure trabaja con el concepto de ARM (Azure Resource Manager). Esta es una de las mayores diferencias con AWS.
- Todo recurso necesita pertenecer a algún ARM.
- Basado en templates JSON permitiendo gestionar la infraestructura a través de modelos declarativos.
- Posibilita implementar, gestionar y monitorear todos los recursos de la solución como un grupo en lugar de manipular esos recursos aisladamente.
- Podemos definir dependencias entre los recursos para que sean implementados de la forma correcta. Lo que posibilita el uso de Terraform.
Una vez que el grupo de recursos que contiene los recursos para tu app es una única unidad de implementación, también se convierte en una única unidad de gestión. Esto nos permite juntar todos los recursos que vamos a crear para algo y gestionar de forma centralizada. Esta es una ventaja sobre AWS. Podemos destruir un grupo de recursos (pool) entero sin olvidar nada atrás.
Principales Recursos
Recursos con los que trabajamos más.
-
Computación- Azure Virtual Machines (VMs): Máquinas virtuales que pueden correr sistemas operativos Windows o Linux.
- Azure App Service: Servicio PaaS para hospedar aplicaciones web, APIs y aplicaciones móviles con soporte para varios lenguajes de programación como .NET, Java, Node.js, Python, etc.
- Azure Kubernetes Service (AKS): Servicio gestionado de Kubernetes que simplifica la implementación, la gestión y las operaciones de clusters Kubernetes.
- Azure Functions: Servicio de computación serverless que permite ejecutar trozos de código en respuesta a eventos sin la necesidad de gestionar servidores.
-
Almacenamiento- Azure Blob Storage: Servicio de almacenamiento de objetos escalable, optimizado para almacenar grandes cantidades de datos no estructurados, como archivos de imagen, video y logs.
- Azure Files: Ofrece comparticiones de archivos totalmente gestionadas en la nube, accesibles vía protocolo SMB o NFS.
- Azure Disk Storage: Discos gestionados para VMs, ofreciendo alta disponibilidad y desempeño con diferentes niveles de almacenamiento (Standard, Premium).
-
Redes- Azure Virtual Network (VNet): Permite la creación de redes virtuales privadas que pueden ser segmentadas en subredes, conectadas a redes on-premises vía VPN, y configuradas con reglas de firewall.
- Azure Load Balancer: Distribuye automáticamente el tráfico de red de entrada entre varias instancias de servicio para garantizar alta disponibilidad.
- Azure Application Gateway: Un balanceador de carga de capa 7 (HTTP/HTTPS) que incluye recursos de firewall de aplicación web (WAF).
-
Base de Datos- Azure SQL Database: Servicio de base de datos gestionado para SQL Server en la nube, que ofrece escalabilidad, alta disponibilidad y soporte para operaciones transaccionales.
- Azure Cosmos DB: Base de datos NoSQL distribuida globalmente que ofrece soporte a múltiples modelos de datos y garantías de latencia baja y alta disponibilidad.
- Azure Database for MySQL/PostgreSQL: Servicios gestionados para bases de datos MySQL y PostgreSQL, con recursos de backup automático, escalabilidad y alta disponibilidad.
-
DevOps- Azure DevOps: Conjunto de herramientas para gestión de ciclo de vida de desarrollo de software, incluyendo repositorios Git, integración continua, entrega continua y gestión de pipelines de CI/CD.
- Azure Pipelines: Servicio que permite crear y gestionar pipelines de CI/CD para automatizar la construcción, prueba e implementación de aplicaciones.
-
Seguridad e IdentidadAzure Active Directory (AAD): Servicio de gestión de identidad y acceso que proporciona autenticación y autorización para aplicaciones, APIs y usuarios.Azure Security Center: Central de seguridad unificada que ofrece protección contra amenazas para workloads en ejecución en Azure, datacenters híbridos e incluso en otras nubes.
-
Gestión y GobernanzaAzure Monitor: Herramienta de monitoreo que recopila, analiza y actúa en relación a datos de logs y métricas de tus aplicaciones e infraestructura en Azure.Azure Policy: Servicio que permite la creación, asignación y gestión de políticas de gobernanza y conformidad en tu ambiente Azure.
Principales Recursos Especializados
Recursos destinados a áreas específicas pero que es bueno conocer.
-
IA y Machine Learning- Azure Cognitive Services: Conjunto de APIs y servicios de IA que permiten la inclusión de funcionalidades como reconocimiento de voz, visión computacional, procesamiento de lenguaje natural y búsqueda inteligente en aplicaciones.
- Azure Machine Learning: Servicio que ofrece herramientas para construir, entrenar e implementar modelos de machine learning a escala.
-
Analytics y Big DataAzure Synapse Analytics: Servicio de análisis integrado que combina el almacenamiento de datos con análisis de big data, permitiendo consultas SQL y Spark a gran escala.Azure HDInsight: Servicio gestionado para ejecutar cargas de trabajo de big data como Hadoop, Spark, Hive, HBase, y Storm.Azure Data Lake Storage: Servicio de almacenamiento para big data, que permite la captura y análisis de datos en cualquier formato y escala.