Skip to content

Instantly share code, notes, and snippets.

@jdnichollsc
Last active July 21, 2020 11:30
Show Gist options
  • Save jdnichollsc/1b74363de577451257f6755bdd26a951 to your computer and use it in GitHub Desktop.
Save jdnichollsc/1b74363de577451257f6755bdd26a951 to your computer and use it in GitHub Desktop.
Especialista en tecnologías Open Source sobre Microsoft Azure
* Billing REST API
Las operaciones se ajustan a la especificación del protocolo HTTP/1.1
Cada operación devuelve un encabezado x-ms-request-id
Azure Active Directory para la autenticación (El usuario debe ser miembro del rol propietario, colaborador o Lector)
Permiten consultar para las categorías:
- Uso de recursos
- RateCard de recursos (Obtener info de precios y metadatos de recursos de una suscripción de Azure)
* SQL databases
Basado en el motor Microsoft SQL Server. Ofrece rendimiento predecible, escalabilidad, continuidad empresarial y protección de datos.
Reducir plazo de comercialización. Admite herramientas y bibliotecas de APIs existentes.
* DocumentDB (JSON NoSQL)
Alta disponibilidad, escalado automático, bajas latencias. Elección para Web, móvil, juegos e IoT.
Indexa automáticamente todos los documentos, permite realizar consultas mediante SQL
Permite el lenguaje Javascript, transacciones con procedimientos almacenados, desencadenadores y UDF.
Clave valor, documento o datos tabulares
* Caché en Redis
Una caché segura y dedicada. Ayuda a mejorar la capacidad de respuesta de las aplicaciones. Cadenas, objetos Hash, conjuntos ordenados
* Servicio de almacenamiento
- Blobs (Objetos no estructurados, archivo binario como texto)
- Tabla (Conjuntos de datos estructurados, Clave - atributo)
- Cola (Flujos de trabajo y componentes de servicios en la nube)
- Archivos (Datos entre componentes en recursos compartidos, cuenta con una API REST)
* StorSimple (Almacenamiento integrada que administra tareas de almacenamiento)
Almacenamiento en la red SAM que utiliza un dispositivo propietario (StorSimple 8000) que se integra con servicios en la nube.
Usa niveles de almacenamiento y se puede almacenar el trabajo local en:
- SSD ()
- HDD (Datos con menos frecuencia, disco duro)
Compresión para reducir la capacidad de almacenamiento
* Búsqueda como servicio
Característica de busquedas en las aplicaciones utilizando una API REST, integra base de datos SQL, DocumentDB o Blobs con indexadores de busquedas.
1. Usar la nube pública como un ambiente de Dev/Test
2. Llevar las aplicaciones existentes a la nube
3. Hibrido - Usa la nube para tu plan de recuperación de desastres
4. Construye aplicaciones y servicios hiperescalables
IaaS - Máquina virtual
PaaS - SQL Azure
SaaS - Office 365
* Servicios Primarios
- Almacenamiento en la nube
- Computación virtual para máquinas virtuales
- Gestión virtual de redes para máquinas virtuales y otros servicios
- Servicios de monitorización avanzados de tus máquinas
- Cortafuegos para proteger tu conexión
- Enrutadores para direccionar puertos y servicios
- Gestión de IPs y DNS
- Balanceadores
* Recurso
Cualquier servicio o característica de Azure es un recurso.
Los recursos se agrupan por grupos de recursos que realizan una función o servicio que necesitamos de manera conjunta
Fácil de clonar y mantener una vez recogido el concepto.
Big Data para la toma de decisiones para automatizar sus procesos y entendimiento del negocio.
Se caracteriza por las 3Vs:
- Alto Volumen (Cantidad a procesar)
- Alta Variedad (Datos estructurados y no estructurados)
- Alta Velocidad (Los datos se generan con gran rapidez)
Hadoop nos permite el procesamiento distribuido de grandes conjuntos de datos en clusters de servidores.
- Redimensionable
- Rentable (Computa. en paralelo)
- Flexible (Sin esquemas)
- Tolerante a fallos (Redirección automática de nodos)
HDFS (Sistema de archivo distribuido)
MapReduce: Programa común para obtener información sobre los datos almacenados
- Ambari (Procesamiento, administración y supervisión para los clusters)
- Hive (SQL Query)
- Mahout (Machine Learning, determinar comportamientos a futuro)
- Pig (Scripts sencillos)
- Zookeeper (Controlar procesos sistemas distribuidos)
* HDInsight (Soporta Linux y Windows)
Es la implementación en la nube de Apache Hadoop.
Diseñado para procesar, analizar y generar informes en relación con macrodatos con alta confiabilidad y disponibilidad.
- Estandar: Ejecutar sus cargas de trabajo de macrodatos
- Premium: Análisis y seguridad, como un servidor de R para un análisis estadístico de la información
Clústeres en Linux
SO del clúster: Ubuntu 12.04 Long Term Support LTS
Tipo del clúster: Hadoop, Spark, HBase, Storm o R Server on Spark (PREMIUM)
Implementación: Portal Azure, Cli o PowerShell
Interfaz de usuario: Ambari
Acceso remoto: Shell seguro SSH, API REST HTTPS, ODBC, JDBC
HDInsight usa el almacenamiento de blobs de Azure como almacén predeterminado, no se sugiere usar el almacenamiento local del cluster (Recursos se cobran por hora en Azure).
* Beneficios:
- Almacenamiento económico a largo plaza
- Accesible desde servicios externos (Web sites, utilidades para carga/descarga de archivos, SDK, etc)
* Escalar el cluster:
- Permite cambiar la cantidad de nodos de datos que usa un clúster en ejecución en HDInsight sin necesidad de eliminar el clúster y volver a crearlo.
- Se pueden realizar operaciones de escala mientras se están ejecutando trabajos o procesos en un clúster
* Ubicación:
El clúster y su cuenta de almacenamiento deben colocarse en la misma ubicación en Azure.
* Tarifas:
- El costo de los clústeres de HDInsight viene determinado por el número de nodos y por los tamaños de las máquinas virtuales para los nodos.
- Los clústeres se facturan por hora, independientemente de que se usen o no. (Eliminar el cluster después de usarlo!!!)
* HIVE:
SHOW TABLES;
SELECT * FROM TABLE;
* Azure - Cómputo en la Nube, Infraestructura basada en la nube.
Nuevo portal: portal.azure.com
Portal clásico: manage.windowsazure.com
Colección de servicios, para construir y operar una infraestructura de IT, así como aplicaciones para la Nube de manera ágil.
Microsoft es líder en el Cuadrante Mágico De Gartner. Acuerdo de nivel de servicio de 99.95% de disponibilidad.
- Azure permite una arquitectura híbrida.
- Se puede escalar verticalmente para consumir según las necesidades del cliente.
- Proveedor reconocido por la Union Europea por cumplir en cuanto a la privacidad de los datos.
- ISO 27018 - Estándar de privacidad
- Su red mundial de centro de datos está distribuido en 24 regiones y va por más! (Supera a Amazon y Google juntos! :o)
- 1er Proveedor de nube multinacional en China Continental.
- > 66% compañias Fortune 500 confian en Azure. (Skanska, Heineken, Iberia Express, 3M, Grupo Herdez, etc)
* Microsoft Azure Government
Solo para EEUU para cumplir las exigencias del Gobierno! :o
* Azure Stack
La posibilidad de alojar Azure en el centro de datos del cliente si así lo requiere, para mantener sus activos en su propio centro de datos.
* Analizis predictivo que redefinen la inteligencia empresarial según el análisis estructurado y no estructurado de datos.
Aprendizaje automático, Cortana Analytics y Azure Stream Analytics.
* Administrador de recursos
Es necesario tener una cuenta en el directorio activo.
Modular, Object, Oriented, Dynamic, Learning and Environment.
Plataforma de formación (LMS - Open Source GNU)
Primera versión en 2003 por Martin Dougiamas.
Conjunto de herramientas que fomentan el aprendizaje colaborativo.
Fácil de instalar, usar y mantener.
79 millones de usuarios, 223 países, 71600 sitios registrados
Empresa: Moodle.com (Cada 6 meses se lanza una nueva versión)
* Clientes:
- Petroquimica Shell
- La Escuela Londinense de Economía (London School of Economics)
- La Universidad Estatal de Nueva York
- Microsoft
- La Universidad Abierta del Reino Unido (Open University)
* Cronología:
- 1999 Primer prototipo de Martin Dougiamas
- 2001 Primer site Moodle. CVS para su descarga
- 2002 Moodle 1.0
- 2010 Moodle 2.0 (Cambio arquitectura)
- Mayo 2013: Moodle 2.5. Primera versión enfoque móvil
- Mayo 2014: Moodle 2.7 LTS
- Noviembre 2015: Moodle 3.0
* Requisitos para ejecutarse
- Linux preferiblemente (Cualquier OS)
- PHP 5.4 o superior
- BBDD: MySQL, PostgreSQL, MariaDB, MSSQL u Oracle
* Características
- Versiones todo en uno
- Flexible y personalizable
- Escalable
- Seguro y Robusto
- Multitud de plugins y complementos
- Mejoras en gestión de cursos y actividades
- Nuevas características para estudiantes. Perfil
- Mejoras en actividades. Mucha más variedad
- Actualización de plugins
- Mejor rendimiento
- Herramientas de edición potentes. Atto
- Moodle Mobile
* Ejemplo de instalación (Se puede descargar de VM Depot)
- Máquina virtual Linux básica con OS Ubuntu 14.10 LTS
- Servidor Apache
- Interprete PHP
- Base de datos
* Sistemas de archivos
Se puede utilizar Gluster File System, para una estructura de ficheros distribuidos.
* Cluster de alta disponibilidad para bases de datos
Percona Server, Galera Cluster
OpenSSH para entrar al servidor.
La clave pública SSH se puede generar por RSA.
Comandos =>
ssh usuario@dnsName/virtualIpAddress
fingerprint es el identificador de la máquina, para estar seguros de la autenticidad de la conexión
top //La carga de procesamiento
apt-get update //Actualizar el estado de paquetes
apt-get upgrade //Actualizarlos!
apt-get install apache2 //Instalar
fdisk -l //Detalle del disco de sistema
wget url //Descargar un archivo
tar -xvzf archivo.tgz //Descomprimir
chown usuario:usuario carpeta -R //Darle permisos al usuario
crontab -u nombreusuario -e //Tareas programadas de linux
* Ejemplo docker
docker run nombredelaimagen //Si no existe la imagen, se descarga la primera vez mediante un pull
sha ... //Un hash para verificar la imagen
docker run -it ubuntu bash //descargar una imagen de ubuntu
ps aux //procesos que están corriendo actualmente
hub.docker.com //explorar contenedores para ser usados
* Sistemas Operatios:
- Windows Server
- CentOS
- Debian
- Suse SLES 11
- SQL Server
- Oracle Database
- Red Hat
- Ubuntu
* Servicios ya instalados
- Cisco CSR (Virtualizaciones)
- Cloudera Data Hub
- Fortigate (Hardware de red)
- MapR Distribution con Hadoop (Análisis de datos)
- SQL Always on Cluster
* Software ya preconfigurado
- https://vmdepot.msopentech.com/List/Index
- https://msopentech.com/
* Para crear una máquina virtual se necesita
- Una imagen de máquina virtual y su hardware virtual de procesamiento
- Una interfaz de red para conectarse a la máquina virtual
- Un espacio de almacenamiento donde desplegar los dicos de la máquina virtual
- Una red general. La red de todos tus servidores asociados
- Una red particulas donde se desplegará junto con otras máquinas para realizar servicios iguales o similares
- Si da servicios en internet, una IP o nombre de publicación en internet
- Un grupo de seguridad que permitirá gestionar el enrutamiento
- Un grupo de afinidad si varias máquinas darán el servicio de manera igual y simultánea. Así de consigue alcanzar alta disponibilidad
- Y una gran cantidad de recursos que podremos añadir
* El grupo de recurso va a agrupar todos los recursos en una misma región.
* Grupo de seguridad es para habilitar los puertos, el 22 es para SSH.
- HTTP:
- Prioridad: 1010
- Protocolo: TCP
- Puertos: 80
* Supervisión es para auditar la máquina
* Conjunto de disponibilidad es para replicar las máquinas
- Dominios de actualización: número de máquinas para actualizar
* Limitaciones
- El número de discos que se puede añadir está limitado por el tipo de máquina.
- El tamaño de discos también está limitado
- El rendimiento de los discos va asociado al tamaño de las máquinas y al número de discos en la cuenta de almacenamiento
- I/O de los discos no es siempre igual por estas razones
- Hay discos de diferentes rendimientos para cada una de las necesidades
- Sólo se puede montar un disco en una sola máquina a la vez
* Almacenamiento compartido
- Mediante API a la cuenta de almacenamiento de Azure
- Mediante servidores de ficheros creados en las máquinas
- Mediante sistemas distribuidos de almacenamiento
NFS, Glusterfs, SAMBA, rsync, btsync herramientas de réplica y/o uso compartido.
* Clonación
Se pueden clonar VHDs con o sin SO
Se pueden ejecutar comandos de clonación mediante PowerShell, Azure Cli o herramientas de terceros
En el caso de discos con SO es necesario tener claras las configuraciones de la máquina para poder usar el nuevo recurso de nuevo
* Seguridad de los datos
La seguridad en Azure, de base, es muy alta
- Sistema de réplica de discos en tres localizaciones
- Posibilidad de usar redundancia geográfica
- Sistema de réplica mediante agente
- Congelación del servicio para despliegue mediante agente
El problema de la seguridad es la incoherencia de lo que tengas almacenado
Ante recuperaciones de datos perdidos o dañados debes crear un sistema de copia y almacenaje para tu aplicación y así tener tú histórico
Consola fácil de utilizar creada para el usuario, le permite personalizarla para visualizar fácilmente sus proyectos y recursos.
* Control de acceso basado en roles RBAC
Se pueden dar controles de acceso a usuarios individuales o grupos en los niveles de suscripción, servicio y operación!
* Cálcula automáticamente
Da una estimación de los cargos mensuales para evitar sorpresas de costos!
* Excelente soporte técnico a un solo click
* Portal clásico de Azure cuenta con servicios adicionales
- Administración de API
- Active Directory de Azure
Una colección de servicios de Software, aplicaciones y conectores que permiten trabajar juntos para que fuentes de datos no relacionadas
se vean e integren de manera coherente, puedan verse visualmente integrados en reportes y dash board, que permiten hacer análisis y
obtener respuestas sobre la información (Hoja de Excel, base de datos On-premise, una colección de servicios de cloud).
Transforma los datos de su compañía en objetos visuales enriquecidos que puede recopilar y organizar, lo que le permite centrarse en lo
que realmente importa. (Soporta Lenguaje Natural para construir reportes sin conocimiento técnico)
Permite a nivel empresarial
- Análisis en tiempo real
- Modelado extensivo de reportes
- Integración de fuentes de datos
- Desarrollo a la medida
Gartner posiciona a Microsoft como líder en plataformas de BI y de análitica. 90000 organizaciones en 185 países están Utilizandolo.
México por ejemplo lo utiliza de manera frecuente.
* Componentes:
- Desktop (Características avanzadas de informes, modelado y consultas en Power BI)
Se require Windows 7 y Windows Server 2008 R2 o posterior, .NET 4.5 e Internet Explorer 10 o posterior
- Service
- Mobile (Apps gratis)
* Ediciones
- Gratuito: 1Gb/Usuario y consumir datos de transmisión de 10.000 filas por hora
- PRO: Incluye características de actualización de datos y Colaboración (1 millón de filas por hora de transmisión)
* Bloques
- Visualizations: Representación de los datos de manera visual (Ordernar y conectar)
- Datasets: Información fuente (Incluye limpieza y transformación de los datos)
- Power BI service: Conectores a servicios externos como MailChimp, Google Analytics, etc
- Múltiples conectores: SQL Server, Access, Archivo plano (CSV, XML, Texto, Excel), Oracle, IBM, MySQL
- Reports: Se agregan las visualizaciones, se tienen pestañas para mostrar diferentes reportes con filtros
- Dashboards: Se publican a través de Power BI Service, para ver una foto estática de la información
* Azure
PowerBI => App Service => Azure SQL Database => Azure SQL Data Warehouse
Hadoop => Azure SQL Data Warehouse
Azure Machine Learnin <= Intelligent App => App Service
* Data Analytics en Azure
Una plataforma líder en análitica totalmente administrada.
- HDInsight
- Machine Learning
- Stream Analytics
- Internet of Things (IoT Hub, Event Hubs, Notification Hubs)
* Conectarse a HDInsight
1. Power BI Desktop
2. Get Data
3. Import Excel File
4. Crear tus reportes
5. Se publica a Azure y se visualiza en https://app.powerbi.com
- DemoPI (Conjunto de datos generado)
* Máquina virtuales (IaaS - Configurar manualmente para luego implementar)
Infraestructura como Servicio para implementar cualquier carga de trabajo, con la posibilidad de realizarlo desde el entorno local.
* Cloud Services (PaaS - Solo implementar la aplicación y administrar la plataforma)
Aplicaciones escalables que se hospedan en máquinas virtuales. Los usuarios acceden mendiante una dirección pública (Service EndPoint)
- Web Roles (Apps)
Instancias de roles web mediante una variante de Windows Server con IIS
- Worker Roles (Colas o Solicitudes entrantes de los usuarios)
Windows Server sin IIS, se puede transmitir la solicitudes entrantes a un Rol Web para ser procesadas
* Lote (Computación por lotes de tareas similares)
Permite ejecutar a gran escala aplicaciones paralelas de gran rendimiento. Programa el exceso intensivo en una colección de máquinas virtuales.
Se definen los recursos para lotes a gran escala, a petición o mediante una programación.
Procesar y transformar grandes volumenes de datos. Varias tareas paralelas en varios equipos, como por ejemplo:
- Modelado de riesgos financieros
- Análisis de datos de clima e hidrología
- Representación, análisis y procesamiento de imágenes
- Codificación y transcodificación multimedia
- Análisis de secuencia genética
- Análisis de esfuerzos de ingeniería
- Pruebas de Software
* RemoteApp
Acceso remoto y seguro a distintas aplicaciones. Terminal Server no persistentes para compartir recursos con usuarios en cualquier device
* Service Fabric
Plataforma de sistemas distribuidos que facilita el empaquetado, la implementación y la administración de Microservicios escalables
Cargas de trabajo exigentes y críticas, plataforma MiddleWare de próxima generación para aplicaciones de clase empresarial
Escala de nube de nivel 1, alta densidad en un grupo compartido de máquinas (Clouster que crece a gran escala)
* Contenedores (Formato Docker, compatible con las plataformas Maraton, DCOS o Dockers One)
Facilitar la administración de un clouster de máquinas virtuales preconfiguradas.
Proporcionar un entorno de hospedaje de contenedores de código abierto.
Optimización de orquestación para implementar aplicaciones basadas en contenedores.
* Visual Studio Team Services
Compartir código, seguimiento de trabajo e implementen software para cualquier lenguaje. Complemento perfecto para el IDE
Repositorios de código privados gratuitos ilimitados
Seguimiento de errores, elementos de trabajo, comentarios, etc
Herramientas de planeación ágiles
Compilaciones de integración continuas
Desarrollo en cualquier lenguaje
Puede utilizarse en Visual Studio, Eclipse o herramientas propias
Los servicios de calidad empresarial escalan a cualquier tamaño de equipo
Gratuito hasta 5 usuarios
* Laboratorio de desarrollo y pruebas de Azure
Entornos a petición y escala vertical para control de costos. Provicionar rápidamente entornos.
* Application Insights
Análisis extensible que supervisa una aplicación activa, para comprender el comportamiento de los usuarios. Web con .NET y Java
* Herramientas de desarrollo
- Azure Tools en Visual Studio
- SDK de Azure (Plantillas y herramientas de servicios en la nube)
- Línea de comandos:
- Azure PowerShell
- CLI de Azure (Servicios y tareas)
- PowerShell en Visual Studio
- Explorador de almacenamiento de Azure (Administrar Blobs, Tablas y Colas)
- Azure Tools en Visual Studio Code (Multiplataforma)
- Docker (Trabajar con los contenedores de Docker mediante extensiones)
- Azure Service Fabric (Plantillas de servicio)
- Soporte Linux (RedHat, Ubuntu, CentOS, Suse, Debian, CoreOD, etc)
- Azure MarketPlace ofrece opciones preconfiguradas:
- Canonical
- OpenLogic
- Oracle
- Docker
* VM Depot (Mantenido por Microsoft)
Repositorio de la comunidad para publicar, encontrar y compartir imágenes OpenSource. Licencias Free, BSD o DEBIAN.
El usuario puede publicar sus propias imágenes Linux DIY (Do it yourself)
* Docker
Es un motor de código abierto que automatiza la implementación de aplicaciones utilizando contenedores portables y autosuficientes.
En Azure se puede implementar en minutos un host de Docker completo en una máquina virtual directamente desde el marketplace o utilizando
la interfaz de línea de comandos de Azure.
* Lenguajes soportados con el SDK
Java, Node, PHP, Ruby y Python
* DevOps (Administrar máquinas virtuales Linux)
Puppet labs, CHEF y SALTSTACK
* Pilas de datos con replicación
- SAP
- ORACLE
- SQL SERVER
- MySQL
- Cloudera
- DATASTAX
- MongoDB
* Soporte para soluciones basadas en Java
- ORACLE - JDK 6, 7, 8.
- Apache Tomcat
- Jenkins - integración continua
- Hudson - integración continua
- Eclipse
- IntellijIDEA
* Azure App Services
Plataforma administrada con características integradas como DevOPS, A
Permite crear aplicaciones:
- Web
- Móviles
- API - Liberar sus datos y servicios
- Lógica de acceso a datos
* Notification Hub
Permite enviar notificaciones push desde cualquier Backend a cualquier plataforma móvil. Usuarios individuales o a miles
Ejemplos:
- Enviar notificaciones de noticias de última hora a millones de personas
- Enviar notificaciones basados en la ubicación
- Notificaciones de eventos a usuarios o grupos
- Informar a los usuarios de eventos empresariales
- Enviar contraseñas necesarias para la autenticación multifactor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment