Paper Title (use style: paper title)
Transcripción
Paper Title (use style: paper title)
Servicios de Almacenamiento en Internet Una Perspectiva Empresarial Miguel Ángel Mejía Juan Carlos Ramírez Ingeniero de Desarrollo Infotrack S.A. Bogotá Colombia [email protected] Arquitecto de Soluciones de Software Infotrack S.A. Bogotá Colombia [email protected] II. Resumen—Este artículo presenta los resultados de un análisis a tres de los principales proveedores de alojamiento Web actuales, evaluando sus aspectos relevantes y los mecanismos de acceso a cada una de sus plataformas de cara a la publicación de aplicativos Web construidos en plataformas .Net de Microsoft. Plabras Claves; hosting; amazon; Rackspace; Cloud;Server; Dotnet; .Net azure; Microsoft; I. INTRODUCCIÓN El vertiginoso ritmo de los negocios y la complejidad competitiva que hace parte de las empresas proveedoras de tecnología, en especial, de las empresas desarrolladoras de software, exigen cada vez más plataformas robustas y escalables a bajos costos y con un alto nivel de calidad. Pensar en el alojamiento de aplicativos Web dentro de empresas cuyo objeto de negocio no tiene nada que ver con la infraestructura de centros de cómputo, es muy difícil, tanto por costo, como por personal para mantenimiento. La expansión de corporaciones de Software más allá de Microsoft como Google o Facebook, ha puesto los ojos del mundo tecnológico en la asombrosa capacidad de almacenamiento y procesamiento de los centros de cómputo necesarios para sostener a estos gigantes de la internet, dando la perspectiva que ante el potencial crecimiento de cualquier negocio, es necesario poder soportarlo de manera rápida y eficiente a través del concepto de moda, cloud computing, la consecuencia, un reluciente negocio, el alojamiento de negocios en la nube. Como necesidad, el concepto, como negocio, el servicio. En las siguientes secciones haremos un recorrido por tres de los principales proveedores de servicios de almacenamiento en la nube, a saber, Amazon, Microsoft Azure y RackSpace, analizáremos las características principales de estos proveedores como precios, geo referencia de sus servidores, mecanismos de enrutamiento de dominios a los servicios, consola de administración y publicación de aplicaciones Web construidas en .Net. Al finalizar haremos un breve comparativo de los tres proveedores basándonos en ofertas para configuraciones similares de servidores virtualizados. AMAZON Con una versátil apariencia y una gran variedad de opciones, el ahora gigante de Internet nos muestra una buena forma de proveer escalabilidad y rendimiento. Bajo el nombre clave EC2 (Elastic Cloud Compute Cloud), amazon se posiciona como un importante proveedor de servicios, ofreciendo virtualización de servidores en plataformas Linux y Windows. Amazon ofrece instancias según la necesidad del usuario. Estas pueden ser reservadas (Pago puntual del servicio y únicamente se cancela el plus de los servicios que se consuman por mes), por demanda (se cancela según el uso que se les da, esto es dependiente de la configuración que se le asigne a la instancia) e instancias puntuales (dependiendo del uso que haga de estas, se hará un descuento sobre lo que no se utilice del servicio adquirido). Adicionalmente permite la creación de una instancia gratuita con características mínimas para uso por un año. A. Precios Dependiendo del modelo de reserva de la instancia, amazon aplica un cargo mensual basado en el uso y tráfico del cloud server, con una opción interesante de pago por uso y precios que pueden oscilar al mes entre USD 1 y USD 1000. Las condiciones de precios pueden visualizarse aquí. Amazon provee una interesante calculadora para estimar muy acertadamente el cobro por el servicio acorde a las características de la instancia que se quiere reservar. B. Geo Referencia de Servidores Con opciones en latitudes diferentes de tres continentes, amazon permite la selección de ubicación de la instancia dentro de la calculadora mensual, en donde los precios no varían pero si la disponibilidad de algunos tipos de instancias. Fig. 1. Ubicación de Servidores para Instancias Amazon C. Mecanismos de Enrutamiento de los Servicios a Dominios Corporativos Amazon para cada instancia configurada ofrece una IP elástica, que puede ser regenerada tantas veces como se desee y un subdominio canónico, ambas desplegadas en la consola. De tal manera que para cualquier dominio con una consola de administración básica que permita la edición de registros MX se pueden crear dos tipos de registros, un registro A * que debe ser en rutado a la IP elástica y un registro CNAME www que debe ser en rutado al sub dominio. Fig. 2. Configuración Dominios corporativos a servicios EC2 D. Consola de Administración Con una consola amigable Web Enabled no comercial, amazon permite la administración de las instancias con una total automatización. Para nuestro caso de estudio, una vez activada la instancia de Windows 2008, se pudo acceder vía escritorio remoto y realizar la administración total del cloud server. La consola permite la gestión de instancias asociadas a una cuenta de usuario, así como administración de servicios adicionales dentro de los que resaltamos S3, servicio de almacenamiento para expandir capacidades del cloud server. Se selecciona el sistema operativo, tamaño de instancia, tamaño en disco y todo lo demás necesario para configurar. Si se posee una llave de acceso se utilizará para la obtención de la clave, de lo contrario se asignará una llave única que controla la funcionalidad de la Instancia. Luego de generada la instancia, se deberá esperar en promedio 5-7 minutos para poder acceder vía escritorio remoto o consola (Dependiendo el sistema operativo). Se deberá obtener el password, solicitándolo en el menú de la instancia y usando la llave de acceso conectada a la máquina. En el panel de “Security Groups” se configurarán los puertos y reglas de acceso para la instancia que se encuentre asociada a ese grupo. Cabe aclarar que se pueden tener múltiples instancias asociadas al mismo grupo de seguridad. Luego de acceder a la instancia vía escritorio remoto o consola, se dispone del sistema operativo para realizar la configuración respectiva de componentes y del contenedor IIS. Las bases de datos vienen dentro de la instancia (si al momento de solicitarse estas vienen incluidas). El modo de conexión cuando se usa el mismo Server para la Base y el IIS, se hace apuntando a localhost, de lo contrario se usaran las IP’s privadas que asigna amazon automáticamente por cada instancia. La consola administrativa permite establecer las direcciones por las que se puede acceder a la instancia, así como todas las reglas de exposición de los puertos. F. Desventajas Fig. 3. Consola de Administración EC2 E. Procedimientos de Publicación de Aplicativos .Net A partir de la generación de la cuenta en amazon, el procedimiento de publicación de un aplicativo web se resume en los siguientes pasos: Ingreso sobre la cuenta. Clic sobre EC2. Clic en Instances. Clic sobre launch Instance, lo cual despliega un formulario de configuración para la instancia. Si se pierde la llave para la definición de instancias, no se podrá acceder en caso de que se olvide la contraseña. La llave de acceso es un archivo encriptado que se adjunta al momento de obtener un password para ingresar a la instancia. En caso de que el sistema crezca, la instancia no permite su ampliación según necesidad, es necesario reservar otra instancia para migrar las aplicaciones o la configuración de servicios de balanceo y cargas para la expansión, lo cual es buena idea para replicaciones y redundancia, estos servicios también son provistos por amazon. Algunos de los servicios que ofrecen, requieren el uso de API’s especiales para poder consumirlos, esto hace que el sistema no permita la migración directa en el momento que se quiera cambiar de proveedor. III. MICROSOFT WINDOWS AZURE C. Mecanismos de Enrutamiento de los Servicios a Dominios Corporativos El gigante de Redmond en sus ya acostumbrados movimientos reactivos nos ofrece sus servicios de almacenamiento en la nube bajo una plataforma denominada Windows Azure. Aunque con una integración algo molesta a sus tradicionales SDKs para la utilización de los servicios, Azure es una apuesta fuerte de transición hacia la nube del ecosistema Microsoft. Azure provee un subdominio canónico que puede ser visualizado en la consola. Desde una consola de administración básica que permita la edición de registros MX se pueden crear un registro CNAME www que debe ser en rutado al sub dominio. Azure ofrece instancias con la misma variedad que sus competidores directos, con varios colores y sabores que se pueden configurar para obtener diferentes escalas de servidores, extrañamente sin restricción exclusiva a plataformas Windows ya que también se pueden dimensionar servidores Linux. Se pueden probar los servicios azure sin costo por 90 días. Fig. 6. Configuración Dominios corporativos a servicios Azure A. Precios Bajo un esquema mucho más digerible y entendible acerca de las dimensiones de los servidores, aunque un poco menos flexible, azure nos presenta tres opciones de instancias, “gratuitas”, compartidas y reservadas, en donde para cada una se puede seleccionar tamaño de procesador, tamaño de almacenamiento y ancho de banda. Desde la calculadora de precios, se pueden estimar según la configuración de la instancia, pagos anticipados por semestres o años, o pagos por uso, siempre con un compromiso de compra de al menos USD 500. Los precios al igual que sus competidores oscilan entre USD 1 y alrededor de 1000 USD. Una detallada descripción de precios también está disponible para garantizar el entendimiento de sus esquemas. D. Consola de Administración Con una consola 100% Web, azure proporciona un mecanismo centralizado para la administración de lo que Microsoft llama servicios independientes, en donde no se necesita de una consola o escritorio remoto para gestionarlos. Los servicios están divididos según su funcionalidad en Web Sites, Virtual Machines, Mobiles Services, Cloud Services, SQL Databases, Storage, etc. Azure permiten una sencilla escalabilidad, cuenta con gráficos que determinan cuando se está llenando el espacio, y sin necesidad de migrar la instancia a un espacio más grande se pueden realizar los ajustes necesarios para expandir las capacidades del cloud server. No se necesita tener instalado nada en el equipo, los administradores de cada servicio son paneles Silverlight que cuentan con todo lo necesario para cumplir con los requisitos. Al estar separados los servicios que ofrece azure, se pueden gestionar todos los sistemas de forma independiente. Fig. 4. Tipos de instancias Windows Azure. B. Geo Referencia de Servidores Al igual que sus competidores azure ofrece diferentes latitudes para sus servidores, igualmente permite la selección de ubicación de la instancia, en donde los precios no varían y todas las instancias están disponibles en todas las locaciones. Fig. 7. Consola de Administración Windows Azure. E. Procedimientos para la Publicación de Aplicativos .Net Luego de la creación de una cuenta en Windows azure, la publicación de un aplicativo Web se realiza siguiendo Fig. 5. Ubicación de Servidores para Instancias Azure estos pasos bajo dos modalidades posibles, generación directa de instancia y publicación independiente: Generación de una instancia para publicación: El proceso es similar al de Amazon EC2, salvo que el password se ingresa al momento de la generación de la instancia. La configuración de puertos es más restrictiva que en Amazon, ya que los puertos se configuraran desde la propia instancia y no mediante reglas externas. Publicación Independiente: Se crea una base de datos en el administrador de base de datos. Se crea un WebSite donde se realizará la publicación. Se descarga el perfil de publicación del sitio, que luego se importará en el proyecto a publicar dentro de Visual Studio. Al momento de publicar, si las credenciales están configuradas, el sitio quedará montado sobre el punto que se configuró. F. Desventajas Windows Azure asegura muy bien que los aplicativos Web sean desarrollados con herramientas Microsoft, y de hecho requiere la utilización de SDKs para la integración con la plataforma, tiene varias limitaciones respecto a lo que se puede gestionar sobre los cloud servers, en donde la orientación de los servicios es netamente para la publicación Web. La configuración se realiza directamente sobre los contenedores Web restringiendo así el uso de componentes de terceros. El motor de base de datos tiene varias limitaciones, no tiene compatibilidad directa sobre una versión específica de SQL Server, y se requieren los componentes del SDK para la conexión, aunque la cadena de conexión y los objetos de acceso no cambian mucho (Data Source=[ServerName] .database.windows.net; Initial Catalog=[DBName]; User ID=[User];Password= [Password]), si lo hacen la cantidad de características, siendo estas mucho menores a las existentes en las versiones recientes de SQL Server. Una lista completa de limitaciones está disponible en el msdn para azure. Aunque es posible una conexión remota a través de SSMS, esta tiene las limitaciones mencionadas en cuanto a características sobre la instacia. Fig. 8. Consola de Administración Windows Azure Database IV. RACKSPACE Nuestra tercera opción de proveedores de servicios de alojamiento Web no tiene la dimensión empresarial de los dos anteriores competidores, tampoco su variedad de negocios, tal vez por eso, RackSpace merece mucho respeto, están focalizados y son especialistas en proveer soluciones de hosting, con cuartel general en San Antonio Texas, este pequeño gigante tiene uno de los servicios mejores calificados tras su sugestivo lema, “Fanáticos del soporte”, y el nada despreciable hecho que su plataforma es soportada por OpenStack, un sistema operativo para servidores Cloud, patrocinado entre otros por la NASA que entre otras cosas está disponible para ser descargado e instalado en servidores privados. Rackspace ofrece siete tipos de instancias que se pueden configurar sobre distintos sistemas operativos. Cada una de estas variando entre el número de procesadores, el tamaño en disco, o la memoria de procesamiento. Una lista de características de las instancias está disponible en su sitio Web. Llama la atención sus APIs Restful para el control y monitoreo de instancias, los cuales permiten personalizar de manera interesante aspectos como la gestión de crecimiento o configuración de los cloud servers. A. Precios Con opciones entre USD 160 / Mes y USD 1204 /Mes para instancias Windows + SQL Server Web, Rackspace no se aleja mucho del sus competidores. Presentando propuestas concretas de configuración de servidores en modalidades Cloud y Managed Cloud, la diferencia es que para el segundo, Rackspace ofrece un monitoreo directo y un tunning realizado por el propio soporte “fanático” ofrecido, con una diferencia de cerca de USD100 por este servicio, algo para tener en cuenta si una empresa no cuenta con un departamento IT que pueda estar verificando el comportamiento de la plataforma para tomar decisiones a tiempo, de cuando debe ser expandida. La lista de precios se encuentra en su sitio Web. B. Geo Referencia de Servidores Rackspace ofrece las ubicaciones comunes para sus centros de datos, con dos salvedades, la primera, ningún centro de datos en Suramérica y la segunda, con un particular centro de datos en Australia. Fig. 9. Ubicación de Servidores para Instancias Rackspace C. Mecanismos de Enrutamiento de los Servicios a Dominios Corporativos Rackspace ofrece el mismo mecanismo de configuración para los dominios corporativos que ofrece Amazon, ofrece una IP y un subdominio canónico, ambas visibles desde la consola. De tal manera que para cualquier dominio con una consola de administración básica que permita la edición de registros MX se pueden crear dos tipos de registros, un registro A * que debe ser enlutado a la IP y un registro CNAME www que debe ser en rutado al sub dominio. D. Consola de Administración Al igual que sus competidores, rackspace ofrece una consola Web no comercial con características similares, desde esta se pueden gestionar las tareas relevantes para las instancias. Adicionalmente una vez en ejecución, las instancias pueden ser accedidas vía escritorio remoto o consola. E. Procedimientos de Publicación de Aplicativos .Net La Configuración de la publicación de un aplicativo .Net sobre RackSpace se puede realizar de dos maneras, como Cloud Server, en donde se gestiona un servidor virtualizado o desde Cloud Sites, en donde se publican aplicativos directamente sobre la consola Web de administración similar al modelo de azure: Configuración mediante Cloud Server: Se crea un Cloud Server que incluya SQL Server Web. Se asigna un tamaño de memoria el cual ya viene con un tamaño de disco por defecto. Al configurar la máquina, el sistema asigna un password que posteriormente se podrá cambiar. El manejo de puertos se realiza vía interna sobre la máquina. Se realiza la configuración del sitio directamente en el server vía escritorio remoto. Configuración mediante Cloud Sites: Se crea un sitio de publicación asignando un nombre de dominio. A diferencia de la configuración por Cloud Server, si no se posee un dominio, se podrá comprar o en su defecto configurar para que no sea requerido un dominio. Se presenta un panel de selección de Hosting. Se selecciona el tamaño y número de bases de datos que se utilizarán en el sitio, así como el Sistema Operativo que se manejará. Ya generado el sitio, al igual que con azure, se procederá a hacer el despliegue desde aplicativos de terceros o desde Visual Studio. F. Desventajas A pesar de ser una opción muy completa y de tener una infraestructura muy veloz, alojar en Rackspace puede ser un poco más costoso comparado con los otros proveedores. Al igual que azure, el escalamiento se hace con nuevas instancias, en donde se tendría que migrar las aplicaciones o contratar servicios adicionales de balanceo. V. COMPARATIVO DE PRECIOS Mostramos a continuación una comparación de precios basada en una instancia grande, que cuenta con especificaciones parecidas entre los proveedores. TABLA I. TABLA COMPACIÓN DE PRECIOS Sistema Operativo Windows Server 2008 SP1, Base de datos SQL Server 2008 Web Edition, Memoria RAM : 7.5 GB, Núcleos de procesamiento: 4 Fig. 10. Consola de Administración Rackspace Amazon USD 366 / Mes Windows Azure USD 230 / Mes Rackspace USD 467 / Mes VI. CONCLUSIONES Este vínculo presenta un comparativo complementario acerca de otras características para cada uno de los proveedores evaluados anteriormente. Se contemplan aspectos que van desde la seguridad, hasta la persistencia sobre información y Servicios ofrecidos. Los tres son opciones interesantes con infraestructuras robustas y con tiempos de respuesta adecuados, sin embargo por facilidad de implementación y flexibilidad de opciones, nuestra recomendación se inclina por amazon y rackspace. La configuración inicial de la instancia de Windows Azure requiere más tiempo respecto a amazon y a rackspace, ya que temas como puertos, requieren que el usuario ingrese a la máquina y defina sus propias reglas. La diferencia de precios se da debido a que azure ofrece servicios independientes con el fin de que la administración sea separada según la necesidad, amazon entrega una instancia que se puede programar como un servidor normal, además tanto amazon como rackspace ofrecen servicios como Ancho de Banda, Cantidad de peticiones (I/O), etc. Otro punto importante es la cantidad de opciones que define cada uno. Mientras azure ofrece tamaños fijos de instancias (5 tamaños sin importar sistema operativo), amazon como se mencionó ofrece distintas opciones, esto con el fin de que el usuario puede elegir la instancia según lo que necesita, rackspace provee configuraciones estándar con la posibilidad de hacer ajustes en almacenamiento y ancho de banda. Los tipos de instancia que ofrece Amazon permiten descuentos en caso de no cumplirse con la cuota de consumo del mes, algo que Azure ni rackspace ofrecen. Azure condiciona un costo de facturación mínimo por el uso de la plataforma una vez adquirida, que implica la obligación de cerca de tres meses de permanencia. Todos ofrecen la opción de prueba de las instancias, lo que permite hacer evaluaciones puntuales sobre aplicativos que tengan alguna necesidad especial. En el caso de Rackspace, las especificaciones de la instancia son mayores en algunos aspectos a sus competidores (Mayor memoria, menor espacio en disco). Azure se aleja un poco de la flexibilidad de sus competidores, y es entendible ya que es la plataforma más joven. REFERENCIAS [1] [2] [3] [4] Amazon, “Amazon Elastic Compute Cloud (Amazon EC2)”, amazon.com, http://aws.amazon.com/es/ec2/, 2013 RackSpace, “Rack Space Cloud”, rackspace.com, http://www.rackspace.com/cloud/, 2013 Microsoft, “Windows Azure”, windowsazure.com, http://www.windowsazure.com/en-us/documentation/?fb=es-es , 2013 Frank Gens. “Microsoft vs Amazon Cloud: Cinco diferencias claves”. itnews.ec. http://www.itnews.ec/news/001158.aspx . 2013