En esta presentación vemos conceptos sobre Cloud Computing y su implementación en Windows Azure y SQ Azure.
Saludos,
Ing. Eduardo Castro, PhD
http://ecastrom.blogspot.com
http://comunidadwindows.org
2. Agenda Plataforma de computación en la nube Conceptosbásicos Seguridad de computación en la nube Arquitecturas de computación en la nube Aplicacionespreparadaspara la computación en la nube Introducción a servicios de computación en la nube Windows Azure Platform
13. Transformar hacia un negocio de “servicios” Administración de servicios Casos de negocio Modelos de compra Aumentar agilidad, retorno de la inversión Modelos de pago flexibles Reducir la complejidad y costos de administración de servicios Entendiendo las implicaciones Aspectos técnicos Negocios
16. Demandas estacionales “Cada año, tomamos el minuto con mayor demanda de la hora de mayor uso durante el día de mayor actividad y con ese dato planificamos la capacidad de los sistemas”* -- Scott Gulbransen Jefe de Prensa de Intuit * http://news.com.com/2100-1038_3-6177341.html
17. Aspectos en el desarrollo de aplicaciones 70% del desarrollo web no es programación: Centros de datos Ancho de banda / Electricidad / Sistemas de enfriamiento Operaciones Personal La escalabilidad es difícil y requiere inversiones altas: Inversiones previsoras Invertir antes de presentarse los crecimiento de demanda La carga de demanda puede ser impredecible
18. La solución: computación web escalable Escalabilidad de capacidad por demanda Convertir los costos fijos en costos flexibles Contar siempre con disponibilidad Confiabilidad en el servicio Modelos de creación de aplicaciones simples y conocidos Reducir el tiempo de puesta en producción Enfocarse en el producto y sus funcionalidades
21. Crecimiento de demanda en las aplicaciones? Usuarios Capacidad No utilizada Comprar más de todo Servidores Cambiar la arquitectura para soportar escalabilidad Comprar servidor de BD más grande Agregar algunos servidores web
22. Patrones óptimos para computación en la nube “On and Off “ “Crecimientorápido“ Periodo de inactividad Recursos Recursos Utilización Promedio Uso promedio Tiempo Tiempo Patrones On & off (ej. Trabajo en lotes) La capacidad sobre dimensionada no es utilizada Entrar en producción puede ser difícil Los servicios exitosos necesitan crecer y escalar Mantenerse al día con el crecimiento es un reto para TI Despliegue y entrada en producción es complejo “Crecimiento inesperado“ “Crecimiento predecible“ Recursos Recursos Usopromedio Uso promedio Tiempo Tiempo Crecimiento de demanda inesperado Picos inesperados afectan el rendimiento No se puede adquirir hardware solo para casos extremos Servicios con múltiples tendencias estacionales Se presentan picos debido a la demanda Complejidad de TI y recursos no utilizados
23. Origen del término “Computación en la nube” “Proviene desde los días en que Internet se ve como una nube … no nos preocupamos por la infraestructura, los correos electrónicos llegan a través e la nube.” – Kevin Marks Primera nube alrededor de los conceptos de redes (abstracción de TCP/IP) Segunda nube alrededor de los documentos (abstracción de datos en la WWW) La nube actualmente abstrae la complejidad de la infraestructura de servidores, datos, aplicaciones y plataformas heterogéneas
24. Qué es la ‘nube’? La nube – metáfora para Internet ‘Computación en la nube’ Explotar los recursos ‘que está ahí’ Poder computacional escalable Administración de datos y almacenamiento Habilitar servicios Aplicaciones
25. Qué es computación en la nube?definición inicial “.. Un amplioconjunto de servicios basados en web que permiten que los usuariosobtenganunagamavariadade capacidadesfuncionalesbajo el modelo“pagarpor el uso”, lo cualanteriormenterequería grandes inversiones en hardware, software y habilidades especiales de implementación” Irving Wladawsky-Berger Chairman Emeritus, IBM Academy of Technology
26. Quétrae de nuevo? El modelo de recursos computacionales infinitos bajo un modelo por demanda No requiere inversiones iniciales por parte de los usuarios Se paga por el uso de los recursos a medida que se necesita o consumen (extraído de “Above the Clouds: A Berkeley View of Cloud Computing”)
27. Qué debe proveer la nube? Debe proveer características tales como: Ambiente de ejecución abstracto Sistema de almacenamiento Aprovisionamiento de recursos Ambientes de programación Además: Utilitycomputing Disponible 24/7 Se paga por el consumo Administración simple y transparente
28. Qué ventajas me brinda la nube? Administración de servicio automatizado Usted define las reglas y provee su código La plataforma se apega a las reglas: instala, monitorea y administra su servicio Un ambiente de ejecución poderoso Provee todo el hardware: servidores; balanceadores de carga, firewalls; … Administración de la ejecución y de la virtualización Almacenamiento escalable BLOBS, tablas, colas, base de datos, … Un ambiente de desarrollo poderoso y conocido
29. Uso de lasaplicaciones en la nubeAlgunosejemplos Unaempresapodría necesitar computación elástica 10 instancias 24/7/365 1000 instanciasdurante 90 minutos 5 veces al año Un departamentopodríanecesitaragilidad sin afectar a TI Procedimientos de implementaciónmáságiles
30. Que NO es la ‘Nube’? No es únicamente...alojamiento de aplicaciones Plataformas en la nube Modelo de pago por uso y modelo de suscripción No es únicamente... ‘software como un servicio’ No es únicamente una aplicación web alojada remotamente No es únicamente...infraestructura de un tercero Sobrevivir a la Ley de Moore No es únicamente... almacenamiento administrado Ambientes híbridos No es únicamente...un bus de servicios
31. Qué SI es la ‘Nube’? ...es todo esto y la habilidad de construir, implementar, utilizar y administrar aplicaciones que aprovechan y explotan el poder computacional onpremises y off premises
32. La nube está en todo lugar A medida que la tecnología inalámbrica y las comunicaciones son más poderosas y económicas, surgen más objetos que se conectan directamente a la nube
33. Crecimiento esperado El cremiento esperado de computación en la nube 80% de la compañías en Fortune 1000 invertirán para utilizar servicios en la nube y el 30% invertirá en infraestructura Gartner En este momento los cinco principales motores de búsqueda poseen 2.000.000 de computadoras 2012 2011 Mercado: 42 billonesIDC 95 billonesMerrylLinch 2009 33% de la industria de TI está en nube Gartner Data Center de Microsoft en Chicago: 610.000 servidores
34. Definición formal de Computación en la Nube La computación en la nube es modelo que permite tener acceso a un conjunto de recursos computaciones compartidos, de una forma rápida y sencilla, los cuales pueden ser utilizados en producción con un mínimo esfuerzo administrativo y con poca interacción con el proveedor de servicios. Dentro de estos recursos se encuentran redes, servidores, almacenamiento, aplicaciones y servicios. Este modelo promueve la disponibilidad y está compuesto de cinco características esenciales y cuatro modelos de implementación. NIST, Information Technology Laboratory
35. Qué está en la ‘Nube’? La Nube Aplicación “Estándar” Una aplicación que adquiero “off theshelf” y ejecuto en mi infraestructura Aplicación “Estándar” Alojada Una aplicación que adquiero “off theshelf” y ejecuto en sitio de hospedaje “Estándar” que utiliza la nube Una aplicación que adquiero y se aloja en la plataforma de la nube “Software como servicio” Una aplicación alojada que se adquiere de un proveedor como un servicio Comprar Construir vs. Comprar Aplicación “Personalizada” Una aplicación que se desarrolla y ejecuta internamente Aplicación “Personalizada” Alojada Una aplicación desarrollada internamente y que se ejecuta en un sitio de hospedaje “Personalizada” Que utiliza la nube Una aplicación desarrollada internamente que utiliza la plataforma de la nube “Plataforma como un servicio” Un ambiente de desarrollo y ejecución que se adquiere de un proveedor Construir
36. Características fundamentales de computación en la nube Servicio auto gestionado bajo demanda Acceso global Conjunto de recurso disponibles Independencia de localización geográfica Elasticidad rápida Servicio medible y tarifable NIST, Information Technology Laboratory
37. Modelos de servicios en la nube Cloud Software as a Service (SaaS) Se utilizan las aplicaciones del proveedor a través de la red Cloud Platform as a Service (PaaS) Implementar las aplicaciones desarrolladas internamente en la nube del proveedor Cloud Infrastructure as a Service (IaaS) Alquilar procesamiento, almacenamiento, capacidad de red y otros recursos computaciones
39. Modelos de despliegue Nube privada Implementada internamente o alquilada Nube Comunitaria Infraestructura compartida para una comunidad en específico Nube Pública Se comercializa a las empresas, infraestructura a gran escala Nube híbrida Composición de una o más nubes
41. Nubeprivada y pública Public Cloud App4 Nubepública Nivel de servicio App1 App2 & 3 Nivel de servicio NubePrivada Dept A
42. La nube NubeDedicada Nube Pública Seguridad Federada en la nube Publica en la nube o internamente Nube Privada Internacional Corporaciones
43. Características comunes de la computación en la nube Escala masiva Homogeneidad Virtualización Computación elástica Distribución geográfica Orientada a servicios Tecnologías avanzadas de seguridad
44. Computación en la nube Nubeshíbrida Modelos de implementación NubeComunitaria NubePública Modelos de servicio NubePrivada Características esenciales Software comoServicio (SaaS) PlataformacomoServicio (PaaS) InfraestructuracomoServicio(IaaS) Bajodemanda - autogestionado Características comunes Escala Masiva ComputaciónElástica Acceso Global Elasticidad Homogeneidad DistribuciónGeográfica Virtualización Orientación a Servicios Conjunto de Recursos ServicioMedible Hardware de bajocosto SeguridadAvanzada
45. Beneficios de computación en la nube La computación en la nube crea nuevas oportunidades Administración de los cambios dinámicos en la demanda No se aplica en todos los casos La nueva puede cambiar a las empresas Reduce el tiempo desde la creación de la idea hasta su realización No se debe sobreestimar La creación de sistemas distribuidas escalables es difícil Las plataformas de computación en la nube reduce dicha complejidad
47. Seguridad en la nube Aspectos importantes a considerar: confianza, múltiples clientes, encriptación, complimiento con estándares y aspectos legales Lasnubes son sistemascomplejosmasivosquepuedenserreducidos a primitivas simples que son replicadas miles de veces en hardware común La seguridad en la nube es manejable Existen tanto ventajas como desventajas
48. Ventajas con respecto a seguridad La homogeneidad de la nube hace que la auditoría y pruebas de la seguridad sean más sencillas de realizar La nube permite que se automatice la administración de la seguridad Redundancia y alta disponibilidad Prevención y recuperación ante desastres
49. Principales retos de la seguridad Confianza en el modelo de seguridad del proveedor Contar con soporte para realizar investigaciones Responsabilidad indirecta de administración Las implementaciones propietarias son difíciles de evaluar Pérdida del control físico
50. Principales componentes de la nube Servicios de aprovisionamiento Servicios de almacenamiento de datos Infraestructura de Procesamiento Servicios de soporte Seguridad de la red y seguridad de perímetro Elementos elásticos: almacenamiento, procesamiento y redes virtuales
51. Servicios de aprovisionamiento en la nube Ventajas Rápida recuperación y recreación de los servicios Posibilita la disponibilidad Instalar en múltiples centros de datos y múltiples instancias Capacidades de redes globales Retos Impacto en caso de suspensión de los servicios de aprovisionamiento
52. Servicios de almacenamiento en la nube Ventajas Fragmentación de datos y escalabilidad Replicación automática Zonas de aprovisionamiento de datos (ej, por país) Encriptación local y durante la transmisión Retención automática de datos
53. Servicios de almacenamiento en la nube Retos Aislamiento de la administración / datos de múltiples clientes Controlador del almacenamiento Un único punto de falla / está la infraestructura comprometida? Exposición de datos y almacenamiento en gobiernos extranjeros
54. Servicios de soporte Ventajas Controles de seguridad (e.j., autenticación, bitácoras, firewalls…) Retos Integración con las aplicaciones corporativas Necesidad de acreditar los servicios de soporte Actualización inmediata del código
55. Seguridad de la red y de perímetro Ventajas Protección contra ataques de denegación de servicio distribuidos Seguridad en las redes Seguridad de perímetro (IDS, firewall, autenticación) Retos Creación de zonas de seguridad virtuales con movilidad de las aplicaciones
56. Ventajas de seguridad en la nube Fragmentación, dispersión y replicación de datos Personal de seguridad dedicado Mayores inversiones en seguridad de infraestructura Tolerancia a fallas y confiabilidad Mayor elasticidad Protección contra ataques de red
57. Ventajas de la seguridad en la nube Cumplimiento con estándares internacionales Soluciones de recuperación ante desastres Detección en tiempo de real de ataques al sistema Rápida reconstrucción de servicios Capacidades de redes globales
58. Retos de la seguridad en la nube Datos dispersos y leyes internacionales de privacidad EU Data ProtectionDirective U.S. Safe Harbor program Almacenamiento de datos en un país extranjero Políticas de retención de datos Necesidad de aislamiento de la administración Múltiples empresas compartiendo la misma infraestructura Necesidad de bitácoras Aspectos de propiedad de los datos Garantías de calidad de servicio
59. Retos de la seguridad en la nube Las nubes son un punto atractivo para los hackers Posibilidad de fallos masivos de red y conectividad Encriptación de datos en la nube Encriptación del acceso a las interfaces de control de recursos Encriptación del acceso administrativo a las instancias que residen en la nube Encriptación del acceso a las aplicaciones Encriptación de los datos dentro de la nube Seguridad de las Nubes Privadas vs Nubes Públicas
60. Consideraciones Adicionales Consideraciones de mover datos privados a la nube Contratos y políticas de privacidad Uso de SLAs en la nube Planes de contingencia y recuperación ante de desastres de las implementaciones en la nube Cumplimiento de normas internacionales FISMA. Federal Information Security Management Act HIPAA. Health Insurance Portability and Accountability Act SOX. Sarbanes–Oxley Act PCI. PCI Security Standards Council SAS 70 Audits
67. Cómo Microsoft ve la nube Fundamentos Administración automática de servicios Alta disponibilidad Escalabilidad Múltiples clientes Consideraciones Localización On premises Off premises Infraestructura Heterogénea Homogénea Operaciones Inversiones Modelo de negocio Rentado Propietario Propiedad Proveedor Interno Administración
68. Software + Servicios Cliente PC Phone TV Herramientas y soporte multiplataforma Server Cloud
69. Servicios en la nube de Microsoft Windows Live Identidad Correo electrónico, Mensajería Office Live Documentos Live Meeting – conferencias web Exchange Online Mensajería empresarial SharePoint Online Administración de recursos y flujos de trabajo Microsoft Dynamics CRM Online Administración de clientes Xbox Live Juegos en línea y entretenimiento BPOS Business Productivity Online Suite
70. Servicios en la nube de Microsoft Windows Azure Provee un ambiente basado en Windows que permite la ejecución de aplicaciones y almacenamiento de datos. Microsoft SQL Azure Provee servicios de SQL Server en la nube.
71. La plataforma de Windows Azure Windows Azure SQL Azure Windows Azure platform AppFabric Developer tools
73. Cómo funciona la nube en Windows Azure? Conjunto de servidores conectados En los cuales los desarrolladores pueden: Instalar y ejecutar servicios Almacenar y recuperar información
79. En resumen Windows Azure esunaplataformaescalable de servicios en la nubeque reside en los centros de datos de Microsoft alrededor del mundo, y proveeunaplataforma simple, confiable y poderosapara la creación de aplicaciones web y servicios
80. AzurePlataforma de Servicios .NET Services SQL Services Aplicaciones Service Bus Windows Azure Aplicaciones Windows Mobile Windows XP/Vista/7 Windows Server Otros…
81. Ventajas de Windows Azure Microsoft ejecutasuaplicación No existeinversión inicial ni costos adicionales Bajoimpacto en la administración Ejemplo aplicación de actualizaciones y seguridad Escalabilidad por demanda Tolerancia a fallas
82. Ambiente flexible de ejecución de aplicaciones Promueve servicios y su administración Cree su código, elija el modelo de servicio y presione ENTER Almacenamiento a escala masiva Compute Storage Management
89. Aplicación Cálculo Almacenamiento Application Fabric Config .NET Services SQL Services Applications Live Services Windows Azure Aplicaciones Windows Mobile Windows Vista/XP Windows Server Otros Componentes de Windows Azure
90. Bloques de construcción Windows Azure Centro de Datos Windows Azure Servicio Web Site (ASPX, ASMX, WCF) Web Site (ASPX, ASMX, WCF) Web Role (ASPX, WCF) LB Tablas Worker Service Worker Role Internet Almacenamiento Colas LB Blobs
100. Administración automática de los servicios La abstracción es clave Todos los recursos son lógicos y deben ser declarados en el modelo del servicio Los servicios utilizan el API de la plataforma para mapear los recursos lógicos a recursos físicos La nube reemplaza recursos de forma transparente En caso de alguna falla Cuando se realizan actualizaciones Desarrollo Instalación y ejecución Estabilidad del servicio
101. Windows Azure para desarrolladores Servicio Portal SDK Almacenamiento Desarrollo Ejecutar Instalar
103. Web Role vs Worker Role Worker Role Web Role System Host IIS Host Código Código
104. Infraestructura de Windows Azure Portal del neogocio User Code Portal del desarrollador Portal de administración de servicios REST Runtime API VM Setup … … Cluster almacenamiento Cluster de cálculo Cloud VM VS Tools … REST WA SDK Centro Datos MSFT Desktop
106. Balance de carga por medio de instancias Rol Instancia 1 http://app.cloudapp.net Instancia 2
107. Windows Azure Compute Service Las máquinas virtuales son creadas mediante hypervisor optimizado para la nub No es una máquina virtual común Son ejecutadas en Windows Server 2008 64-bit Cada máquina virtual tiene una relación uno a uno con un núcleo de procesador Para los desarrolladores: Es prácticamente un Windows y .NET Existe una interfaz para acceder al agente de Windows Azure, por ejemplo, bitácoras
108. Windows Azure Compute Service VMs VMs Instancia Worker Role Instancia Web Role HTTP IIS Balance de carga RoleEntryPoint.Start() Agente Agente Windows Azure Fabric Aplicación Almacenamiento Compute Fabric …
109. Almacenamiento Instancia Web Role Instancia Worker Role Agente Fabric Agente Fabric Controlador Fabric Windows Azure Fabric
110. Almacenamiento en la nube Abstracción de tipos de almacenamiento: Datos de usuario de gran tamaño: Blobs, file streams, … Guardar datos: tablas simples, caché, … Comunicación dentro del servicio: colas, cerrojos, … Se da énfasis en: Escala masiva, alta disponibilidad Distribución geográfica y replicación NO es un servicio de base de datos en la nube
111. Almacenamiento en Windows Azure Tipos de almacenamiento: Blobs: una jerarquía de datos binarios Tablas: entidad de almacenamiento (no son tablas relacionales) Colas: estructuras de colas de alto desempeño Forma de acceso: Datos expuestos mediante una interfaz RESTful Los datos pueden ser accedidos por: Aplicaciones en Windows Azure Cualquier otra aplicación que este conectada a Internet ya sea que ejecuta en la nube on está instalada localmente
112. Servicio de almacenamiento en Windows Azure HTTP/ HTTPS RESTServicios Blobs Tablas Colas Application Storage Compute Fabric …
113. . . . Tabla Tabla Tabla Entidad . . . Entidad Entidad Propiedad Propiedad . . . Propiedad Flexible, no esquematizado Nombre Tipo Valor Almacenamiento en Tablas de Azure
114. Bases de datos en la nube Análisis del Negocio Reportes Sincronízación de datos Base de datos
115. SQL AzureUna BD relacional en la nube BD SQL Azure Hub de datos Otros Base de datos realacional como servicio Alta disponibilidad, administración automática Extensión de la plataforma de SQL Server .NET Services SQL Services Applications Live Services Windows Azure Applications Windows Mobile Windows Vista/XP Windows Server Others
116. Database Base de datos proveída como un servicio Experiencia de desarrollo conocida, utiliza protocolo TDS y T-SQL Alta escalabilidad Creado con base en SQL Server Más que “hospedaje de base de datos” Alta disponibilidad, creación de bases de datos, administración es proveída como un servicio Se paga por lo que se utiliza
135. Arquitectura de alto nivel SQL Data Services Gateway Tier Protocol Parser Protocol Parser Protocol Parser Protocol Parser Protocol Parser Protocol Parser Protocol Parser Management Services Management Services Management Services Management Services Management Services Management Services Management Services Partition Services Partition Services Partition Services Partition Services Partition Services Partition Services Partition Services SQL Data Services Back End SQL Server SQL Server SQL Server SQL Server SQL Server SQL Server SQL Server Distributed Data Fabric Distributed Data Fabric Distributed Data Fabric Distributed Data Fabric Distributed Data Fabric Distributed Data Fabric Distributed Data Fabric Mgmt. Services Mgmt. Services Mgmt. Services Mgmt. Services Mgmt. Services Mgmt. Services Mgmt. Services
136. Topología de red de SQL Azure Aplicación Aplicaciones utilizan bibliotecas SQL estándar: ODBC, ADO.Net, … TDS (tcp:1433) Balanceador de carga con manejo de sesiones Balance de Carga TDS (tcp: 1433) Gateway Gateway Gateway Gateway Gateway Gateway NodoDatos NodoDatos NodoDatos NodoDatos NodoDatos NodoDatos TDS (tcp: 1433) Escalabilidad y altadisponibilidad: Fabric, Failover, Replicación y Balance de Carga
137. Arquitecturas de aplicaciones en SQL Azure SQL Azure access from outside MS Datacenter (On-premises – ADO.NET) SQL Azure access from within MS Datacenter (Azure compute – ADO.NET) App Code / Tools Application/ Browser SOAP/REST HTTP/S ADO.NET Data Svcs/REST - EF HTTP/S App Code (ASP.NET) Windows Azure T-SQL (TDS) T-SQL (TDS) SQL Azure SQL Azure Code Far Code Near
138. BD Aplicación BD BD Aplicación BD SQL AzureUtilizar una o muchas bases de datos
139. Escalabilidad de SQL Azure Tamaño máximo de base de datos 1 GB – 5 GB (Web Edition) 10 GB – 50 GB (Business Edition)
140. Sharding Permite la escalabilidad entre bases de datos Creación dinámica de bases de datos Esquemas de particionamiento Vertical Horizontal Dinámica Aleatoria Con base en rangos
141. SQL Azure Sharding Aplicación ASP.NET Cliente 123 Capa de Datos Partition Aware Particiones de datos “Shards”
142. Control de acceso Bus de servicios .NET Services SQL Services Applications ? Live Services Windows Azure Applications Windows Mobile Windows Vista/XP Windows Server Others Integración y seguridad
143. Modelo de negocio Modelo de facturación basado en consumo Compute: Utilizar una máquina por horas Base de datos: Rentar una BD por mes Almacenamiento: Pago por transacción y dato almacenado Todos: Pago por transferencia de datos
144. Disponibilidad Global Disponibilidad de plataforma 41 países 13 monedas en Marzo 2010 Localización de centros de datos North Central US South Central US North Europe Southeast Asia
145. Resumen Las plataformas basadas en la nube han llegado Se están generando nuevos modelos Prepárese para ser parte Cree arquitecturas que sean escalables Con la computación en la nube el tiempo para estar en producción ha sido reducido
146. Resumen La plataforma de Windows Azure está compuesta por Windows Azure SQL Azure Windows Azure AppFabric La plataforma Windows Azure Platform está diseñada para Ejecutar aplicaciones críticas de negocio Bajar el costo total de propiedad Proveer funcionalidades completas e integradas Soportar interoperabilidad
Notas del editor
Not new technology
Cloud diagram idea inspired by Maria Spinola 8-31-09
Artículo de David Chappell: http://download.microsoft.com/download/e/4/3/e43bb484-3b52-4fa8-a9f9-ec60a32954bc/Azure_Services_Platform.pdf
We could bring to life the valueprop by putting case study in the slide itself
Virtualized Computation provides massive application scalability. Customers can build a combination of web and worker roles, and those roles can be automatically replicated as needed to scale the applications and computational processing power.•Storage Services allow customers to scale to store any amount of data – in any format – for any length of time, only paying for what they use or store.•Services Management takes place in the Fabric Controller, the core of Windows Azure Services Management. The Fabric Controller is where load balancing and application scaling take place. Additionally, the virtualized computational capabilities are performed here.•Security and Control with storage encryption and access authentication as well as over-the-wire encryption secures your data and application. Industry certification is a core part of the Windows Azure roadmap, seeking certifications on compliance with SOX, SAS70, and others. State-of-the-art data centers located around the would – or on your site – host your applications and data securely anywhere you desire, accessible from everywhere you allow.