Windows Azure Overview
Transcripción
Windows Azure Overview
Computación en la nube Angel Acha ([email protected]) www.ciin.es @MICCantabria geeks.ms/blogs/ciin Interés común en el desarrollo del uso de la Tecnología y del sector TIC regional Gobierno Cantabria • Mejora sectores empresariales tradicionales • Apoyo a la microempresa con las TIC • Difusión y generalización de la Sociedad de la Información en la ciudadanía Microsoft • Apoyo en el desarrollo de la Sociedad de la Información en Cantabria • Trasladar al territorio el trabajo, actividad, conocimiento y ayudas de Microsoft • Apoyo en el desarrollo de negocio de Microsoft en el área de especialización Acciones ‘06 ‘07 ‘08 ‘09 ‘10 ‘11 Personas SAT www.dotnetclubs.com Proyectos Final de Carrera Becas Participación en proyectos I+D+i Apoyo a Emprendedores Apoyo a Estudiantes (MTA, ImagineCup, …) www.dreamspark.com Ejem: Uso del eDni en entornos Web con tecnologías Microsoft Donde encontrarnos http://www.ciin.es http://geeks.ms/blogs/ciin [email protected] http://twitter.com/MICCantabria http://www.nist.gov/itl/cloud/upload/cloud-def-v15.pdf Definición (en español) La computación en la nube es un modelo de computación que permite de manera conveniente, el acceso bajo demanda a través de la red, a un conjunto compartido de recursos configurables (p.e. redes, servidores, recursos de almacenamiento, aplicaciones y servicios), que pueden ser rapidamente aprovisionados y liberados, sin apenas esfuerzo de gestión e interacción con el proveedor del servicio http://www.nist.gov/itl/cloud/upload/cloud-def-v15.pdf Características esenciales Auto-servicio bajo demanda Amplio acceso a través de la red “Pooling” de recursos Rápida elasticidad Servicios medidos Modelos de servicio Software como Servicio (SaaS) Plataforma como Servicio (PaaS) Infraestr. como Servicio (IaaS) Modelos de Despliegue Privado Público Hibrido Comunidad recursos que son compartidos entre varios clientes los proveedores de serv. en la nube que están dedicados a tu organización tu organizacion recursos Utilización de la Infraestructura 85 por ciento de la capacidad de un centro de datos esta sin utilizar en promedio Complejidad de la Infraestructura 70 por ciento de los presupuestos de IT se gasta en mantener las operativa del centro de datos IT ( comp.) CAPACIDAD Ba rre ra p a ra la s in n o va c io n e s Ca p a c id a d e s IT a s ig n a d a s Ca rg a p ro n o s tic a d a Ca p a c id a d e s p o r d e b a jo d e la demanda De rro c h e d e c a p a c id a d e s Co s te fijo d e la s c a p a c id a d e s d e IT Carga actual TIEMPO CAPACIDAD IT Capacidades IT asignadas Re d u c c ió n d e la s in ve rs io n e s in ic ia le s Ca rg a p ro n o s tic a d a No in fra -o fe rta Re d u c c ió n d e la s o b re o fe rta P o s ib le re d u c c ió n d e c a p a c id a d e s IT e n e l c a s o d e c a rg a re d u c id a Carga actual Tiempo Computación en la nube ¡¡¡Que sitio tan bueno!!!! Servidor saturado Timeout Consecuencias: esta solución: ¡¡¡requirió mucho trabajo y dinero !!! Que pasa si mi aplicación ¡¡¡Deja de tener éxito!!! Para solucionar el problema de escalabilidad, se requirió mucho trabajo y dinero, Y ahora, mucha de esta infraestructura esta infrautilizada ¡¡¡ Que sitio tan bueno!!! Petición Respuesta Servidor saturado <?xml version="1.0"?> <ServiceConfiguration serviceName="WebDeploy" xmlns="http://schemas.microsoft.com/serviceHosting/2008/10ServiceConfiguration"> <Role name="Webux"> <Instances count="1"/> <ConfigurationSettings> <Setting name="DiagnosticsConnectionString" value="UseDevelopmentStorage=true/> <Setting name="Microsoft.WindowsAzure.plugins.RemoteAccess.Enabled" value="True"/> <Setting name="Microsoft.WindowsAzure.plugins.RemoteAccess.AccountUsername" value="dunnry"/> <Setting name="Microsoft.WindowsAzure.plugins.RemoteAccess.AccountEncryptedPassword" value="MIIBrAYJKoZIhvcNAQcDoIIB"/> <Setting name="Microsoft.WindowsAzure.plugins.RemoteAccess.AccountExpiration" value="2010-12-23T23:59:59.0000000-07"/> <Setting name="Microsoft.Windows Azure.Plugins.RemoteForwarder.Enabled" value="True"/> <ConfigurationSettings> <Certificate> <Certificates name="Microsoft.WindowsAzure.Plugins.remoteAccess.PasswordEncryption" thumbprint="D6BE55AC439FAC6CBEBAF"/> </Certificate> </Role> </ServiceConfiguration> Req Req Req Req Funcionalidad Computación Amazon Web Services Windows Azure VM Elastic Compute Cloud Roles Instances HPC Cluster Compute Instances HPC Scheduler MapReduce Elastic Map Reduce Hadoop on Azure Dynamic Scaling Auto Scaling Auto Scaling Application Block Simple Storage Service Azure Blob Flexible Entities SimpleDB Azure Tables Block Level Storage Elastic Block Store Azure Drive RDBMS Relational Database Service SQL Azure NoSQL DynamoDB Azure Tables CDN CloudFront Azure CDN In-Memory ElastiCache AppFabric Caching Almacenamiento Unstructured Storage Base de datos Servicios Funcionalidad Redes Mensajería Amazon Web Services Windows Azure Load Balancer Elastic Load Balancer Fabric Controller/Traffic Manager Hybrid Connectivity Virtual Private Cloud Azure Connect Peering Direct Connect DNS Route 53 Async Messaging Simple Queue Service Azure Queues Push Notifications Simple Notification Service AppFabric Service Bus Bulk Email Simple Email Service Monitorización Resource Monitoring CloudWatch System Center Seguridad Federated Identity Identity Access Management AppFabric Access Control Despliegue3 Resource Creation CloudFormation Web Application Container Elastic Beanstalk Web Role Lenguajes de programación de propósito general Plataforma de Windows Azure Computación Storage Management CDN AppFabric Marketplace Datos relacionales Management Aplicaciones Aplicaciones Applications Aplicaciones Aplicaciones Datos Datos Datos Datos Datos Softw. Personal. Softw. Personal. Startup Tasks Auth Código nativo Código nativo Código nativo Notificaciones Cortafuegos Regl. Cortafuegos Regl. Cortafuegos Red Virtual Network Virtual Network S.O. S.O. Virtualización Hardware VM with persistent drive VM with persistent drive VM with persistent drive > 500 miles Server Rack 1 Server Rack 2 2 6 92 Escalabilidad 92 Escalabilidad 10 Escalabilidad 99.95% Portal de desarrollo (Silverlight o HTML 5) Mgmt Tool (MMC) Aplicaciones de terceros, comerciales o no REST API Win Azure Powershell Cmdlets Aplicaciones de línea de comandos Nuestra propia aplicación atacando a REST API Csmanage.exe Your Service Service Service Model D N S LB Web Portal (API) config DNS Fabric Controller LB Your Service Service D N S Service Service Service LB Service Service Service Service Web Portal (API) Model Fabric Controller LB <?xml version="1.0"?> <ServiceConfiguration serviceName="WebDeploy" xmlns="http://schemas.microsoft.com/serviceHosting/2008/10ServiceConfiguration"> <Role name="Webux"> <Instances count="1"/> <ConfigurationSettings> <Setting name="DiagnosticsConnectionString" value="UseDevelopmentStorage=true/> <Setting name="Microsoft.WindowsAzure.plugins.RemoteAccess.Enabled" value="True"/> <Setting name="Microsoft.WindowsAzure.plugins.RemoteAccess.AccountUsername" value="dunnry"/> <Setting name="Microsoft.WindowsAzure.plugins.RemoteAccess.AccountEncryptedPassword" value="MIIBrAYJKoZIhvcNAQcDoIIB"/> <Setting name="Microsoft.WindowsAzure.plugins.RemoteAccess.AccountExpiration" value="2010-12-23T23:59:59.0000000-07"/> <Setting name="Microsoft.Windows Azure.Plugins.RemoteForwarder.Enabled" value="True"/> <ConfigurationSettings> <Certificate> <Certificates name="Microsoft.WindowsAzure.Plugins.remoteAccess.PasswordEncryption" thumbprint="D6BE55AC439FAC6CBEBAF"/> </Certificate> </Role> </ServiceConfiguration> Storage Service X número de Web roles external endpoint 1 (port80) external endpoint 2 (port X) webrole 1 Instance 1 Instance 2 blobs tables Instance 3 queues webrole 2 Instance 1 internal endpoint Instance 1 SQL Azure DB internal endpoint Instance 2 internal endpoint Instance 3 workerrole1 Performance Metrics Application Log Files X número de Worker roles certificate Event Logs IIS Logs Crashdumps Service configuration, mantenible despues de despliegue Service definition, definido en el despliegue Azure Diagnostics Your Service D N S Service Service LB Service Service Web Portal (API) Model Fabric Controller LB ! Replica 1 DB Replica 2 Replica 3 Replica 4