Hola a todos! :D Si ya has escuchado de la Nube pero no sabes que es o lo sabes, pero aún no has comenzado, este artículo es para ti! En esta oportunidad vamos a ver que es la Nube, que es Microsoft Azure y como podemos servirnos de todo esto para orientarnos a crear aplicaciones que sean escalables sin tenernos que preocupar por la infraestructura de nuestros Servicios. (Este artículo esta enfocado a todos los desarrolladores que trabajen con tecnologías como HTML5, PhoneGap/Cordova, JS, .Net, PHP, Java, Node.js, Ruby, Python, Android, iOS, etc).
Agradecimientos a el MVP Miguel Muñoz Serafín por sus excelentes Diplomados!
Sin más preámbulos, comencemos!
Nube, ¿Qué es eso y con qué se come?
La Nube es básicamente una infraestructura de cómputo en donde se pueden conectar diversos dispositivos mediante distintos medios de comunicación. Es aquí donde nuestros clientes se pueden conectar y consumir nuestras Aplicaciones y Servicios (Sitios Web, Almacenamiento de archivos, Bases de datos, Servicios de mensajería, Servicios móviles, Servicios de autenticación, entre muchos otros).
Tipos de Nubes:
- Nube Privada (Nube no significa necesariamente Internet):
Son las infraestructuras privadas de las empresas. Las aplicaciones se ejecutan en la intranet y los datos se almacenan también en la intranet. En este punto es recomendable manejar ambientes virtualizados para disminuir los gastos de adquisición de Hardware y Software. Ideal para cuando se tienen políticas de confidencialidad de no exponer los datos por fuera de la empresa.
- Nube Pública (Ofrecen servicios que no siempre se tienen en las Nubes privadas):
La Infraestructura en este caso se encuentra sobre el Proveedor de Servicios de cómputo, por lo tanto es el proveedor el que se encarga del mantenimiento y seguridad de la infraestructura para garantizar disponibilidad de nuestros Servicios. Ideal para disminuir los costos que implican mantener toda una infraestructura y además existe alta disponibilidad de los datos y de las aplicaciones.
Las aplicaciones y servicios se encuentran distribuidos en ambos ambientes, tanto On-Premise (Recursos dentro de la empresa) y Off-Premise (Recursos por fuera de la empresa). Ideal para cuando se desea mantener la confidencialidad de algunos datos y aprovechar al mismo tiempo la disminución de costos de cómputo y la disponibilidad presente en la Nube pública.
¿Para qué limitarnos si podemos estar en las Nubes? :)
Básicamente la Nube te permite hacer de tus sueños una realidad… Te enfocas en hacer tus aplicaciones y ya! No tienes que preocuparte del cómo llevar tus Aplicaciones y Servicios a tus clientes.
Ahora que ya sabes que es la Nube, continuemos con los gastos…
Computación en la Nube (Cloud Computing), solo paga por lo que consumas!
La idea de llevar nuestras Aplicaciones y Servicios a la Nube es “Pagar por lo que se consume”, ¿Para qué vamos a pagar por algo que no estamos utilizando? Es por esto que la Computación en la Nube permite que nuestros recursos se proporcionen a todos nuestros clientes sobre demanda, es decir que a medida que más dispositivos consuman de nuestras aplicaciones y servicios, mayores recursos de cómputo vamos a necesitar y por lo tanto vamos a tener con que pagar porque nuestro negocio esta creciendo. Recuerda que tu eliges cuantos recursos necesitas y siempre tendrás el control total para escalarlos!
¿Qué estas dispuesto a pagar?
Gastos de Operación: En el computo en la Nube pagamos por el consumo de las aplicaciones y el almacenamiento de nuestros datos. Estos gastos tienen una gran ventaja porque si la demanda aumenta o disminuye, nosotros podemos aumentar o disminuir en igual manera los recursos de cómputo que utilizamos.
Gastos de Activos Fijos: Tener un Centro de Datos propio cuesta. En este punto tenemos que pensar en el hardware, en el mantenimiento y en las actualizaciones. Si la demanda de nuestros servicios es baja, por lo tanto hay un desperdicio en la capacidad de nuestro centro de datos.
En el Cómputo en la Nube prácticamente no se tienen en cuenta estos gastos por mantenimientos y actualizaciones, porque los gastos del proveedor se reparten entre todos los usuarios que consumen los Servicios, se suministran los recursos computacionales (Utility Computing) y las Empresas solo pagan una renta sin tener que realizar grandes inversiones.
Ahora que ya sabes que es Computación en la Nube y te interesa, continuemos con el contrato…
Quiero Calidad en mis Servicios, entonces hagamos un contrato de nivel de servicio!
Un Contrato de Nivel de Servicio o Service Level Agreement (SLA), es un contrato que haces con tu proveedor de servicio con el fin garantizar un nivel acordado para la calidad del servicio. El acuerdo abarca puntos como disponibilidad, respaldo de la información, ubicación geográfica de mis servicios en los Centros de Datos del proveedor, entre otros.
Entonces un Proveedor de Servicios, ¿Qué tipos de Servicios me puede ofrecer?
Ahora que ya sabes que tipos de servicios puedes consumir en la Nube, continuemos con Azure…
Tengo mis aplicaciones en mi lenguaje favorito, ¿Puedo llevarlos a Azure?
Claro que si! Microsoft te ofrece con Azure una Nube del tipo Plataforma como Servicio Paas, proporcionándote toda la Infraestructura de cómputo que necesites para poder hospedar tus datos y aplicaciones (Servicios como Sitios Web, Servicios HTTP para móviles, Servicios para procesar datos, …). Recuerda que como vimos antes en la Nube híbrida, puedes continuar teniendo parte de tus aplicaciones en tu propia infraestructura si lo consideras necesario.
Uno de los puntos más interesantes en Azure es la alta disponibilidad, tus aplicaciones y tus datos son replicados 3 veces por si llegara a ocurrir alguna falla, permitiendo que tus servicios continúen por tanto ejecutándose normalmente sin que tus clientes se vean afectados y lo más importante, sin que tu tengas que pagar más por esto (Lo cual sería muy costoso de hacer si fuera en tu propio Centro de Datos!). Todo este tiempo de procesamiento y espacio de almacenamiento se paga sobre el Modelo “Pago por lo que se consume” (Pay as you go).
Microsoft Azure garantiza que tus aplicaciones y datos se encuentren en su propia máquina virtual, pero no únicamente en un servidor entero (Hace uso de la virtualización con Windows Server Hyper-V para poder soportar varios Sistemas Operativos en el mismo Servidor físico de manera simultánea). Un Centro de Datos de Microsoft tiene miles de Servidores, y las aplicaciones y los datos comparten los recursos del Centro de Datos.
Libro recomendado para leer mientras sigo actualizándolo… ¿A qué esperas para leerlo desde tu Kindle?
ed8383f9-65a2-4602-bcd0-2d4c0b0a045e|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04