La tecnología marca el rumbo al cual el mundo marcha. Marca el rumbo al cual nosotros marchamos, y por supuesto también marca nuestra forma de trabajar y de hacer negocios. El mercado del hosting y de los servicios web es uno de lo más afectados en ese sentido, y por supuesto con el avance de grandes gigantes del mercado tecnológico y con el lanzamiento de nuevos y mejores servicios, es irremediable ver que algunas tendencias van siendo marcadas.
Una de estas tendencias es Amazon Web Services, o AWS para abreviar. Hoy te contaremos todo lo que necesitas saber al respecto.
Primero que nada, antes de hablar de Amazon Web Services, necesitamos hablar de su compañía padre, es decir, Amazon. Conocida principalmente por su servicio de ventas a través de Internet, Amazon es un gigante de la tecnología que no ha parado de crecer desde su fundación en el año 1994.
En solamente 25 años Amazon se ha convertido en una de las principales empresas de Internet y claro también en una de las más importantes del mundo. Su negocio actualmente está enfocado en cuatro sectores: las ventas por Internet, la computación en la nube, los servicios de streaming digital y la inteligencia artificial.
Allí donde Amazon pisa deja huella, no importa el sector, y hoy en día se ha convertido en el mayor sitio de ventas por Internet a nivel mundial, el mayor proveedor de servicios relacionados con inteligencia artificial y posee también la mayor plataforma cloud del mundo.
Dicho de otra forma, de los cuatro sectores principales en los que Amazon trabaja, solo en uno de ellos no es la empresa número uno (el streaming), y eso es mucho para una compañía tan joven, aunque también es cierto que estos nichos de mercado son relativamente “nuevos” dado que no tienen ni 3 décadas de existencia.
¿Qué es el Hosting de Amazon conocido como Amazon Web Services?
Ahora que tenemos un poco más en claro qué es Amazon exactamente, podemos comenzar a hablar sobre sus servicios, o mejor dicho, sobre uno en concreto: Amazon Web Services, o AWS si prefieren llamarlo así. Amazon Web Services, dicho de forma sencilla y llana, la plataforma de computación en la nube de Amazon, y la misma abarca docenas y docenas de servicios de todo tipo relacionados con Internet y la informática en general.
Los servicios de Amazon Web Services son utilizados por personas, por empresas, por gobiernos, por instituciones, por organizaciones, por escuelas y colegios y mucho más. El modo de cobro de los servicios de AWS es según el consumo, es decir, pagamos de acuerdo a los recursos que estén siendo consumidos.
Amazon Web Services provee al usuario de diversos tipos de herramientas para automatizar o realizar algunos procesos de forma más rápida. La plataforma fue lanzada originalmente en el año 2002, con un relanzamiento más tarde en 2006, ofreciendo en ese momento solamente tres tipos de servicios.
Con el paso de los años AWS ha ido añadiendo más y mejores servicios, e incluso dispone de un programa de certificaciones para personas que busquen especializarse en esta plataforma y todo lo que la misma provee.
Para una explicación resumida en formato multimedia, tienes el siguiente vídeo a tu disposición:
Servicios que ofrece Amazon Web Services
Amazon Web Services ofrece muchísimo servicios de distintas clases que se encuentra relacionados a Internet y la informática. Muchos de estos se brindan a buenos precios, son muy estables y también muy populares. Veamos entonces cuáles son las características de algunos de los principales productos que AWS brinda actualmente.
Amazon S3: es probablemente el servicio más popular de toda la gama de AWS. Se trata de un servicio de almacenamiento y recuperación de datos, sin dudas un plato muy fuerte en cualquier plataforma de nube informática. Es conocido como Amazon Simple Storage Service, o bien Amazon S3 si queremos abreviarlo.
Amazon S3 permite al usuario almacenar contenido de cualquier tipo en la nube y luego recuperarlo o bajarlo desde cualquier lugar, pudiéndose almacenar archivos de hasta 5TB de peso. Se trata de un producto escalable, de bajo costo y de alta velocidad, diseñado principalmente para almacenamiento y respaldo de datos, y el contenido subido puede ser configurado como privado o como público si deseamos que otros también puedan tener acceso.
Amazon EC2: otro servicio de AWS extremadamente popular es el llamado Amazon Elastic Compute Cloud, o bien Amazon EC2 para abreviar. Este servicio nos permite, básicamente, crear una computadora en la nube, ya sea para alojar aplicaciones o directamente para montarlo como servidor. Existen distintos tipos de instancias (así se llama a cada una de estas máquinas virtuales): están las de propósitos generales, las optimizadas en memoria, las optimizadas en almacenamiento, las optimizadas en procesamiento, entre otras.
Dependiendo de nuestras necesidades haremos uso de una instancia o de otra, o incluso de varias si el proyecto que vamos a montar así lo requiere. Se admiten varios sistemas operativos distintos para cada instancia de Amazon EC2, entre los que encontramos Fedora, Ubuntu, RHEL, SUSE, Debian, CentOS, FreeBDS, Windows Server y Amazon Linux, por mencionar algunos.
AWS Lambda: un servicio bastante usado por desarrolladores y programador, se trata de un medio en el cual podemos correr código sin necesidad de contar con un servidor como tal. Nuestros códigos en Lambda son ejecutados únicamente cuando así lo indicamos y además podemos escalar en forma automática. Los usuarios de este servicio van a pagar solamente por el tiempo que usen el mismo, es decir, no se nos cobrará el tiempo durante el cual nuestro código no esté siendo ejecutado.
Amazon Lambda es un servicio fantástico para tener código en producción o simplemente para realizar pruebas en un entorno seguro y en el cual podamos evitar afectar a otros sistemas. El hecho además de que solo se cobre por el tiempo en el cual el código está siendo ejecutado es un gran punto a su favor sin lugar a dudas.
Todo esto hace que muchos programadores opten por usar Lambda para correr código de todo tipo, y además hay varios lenguajes de programación soportados, incluyendo algunos bastante populares como Python, Ruby, Node.js y Java.
Amazon Glacier: es el servicio de respaldos de Amazon Web Services. Tiene algunas características que lo hacen distinto de un servicio de almacenamiento tradicional, aunque también puede ser usado como tal. Glacier está orientado principalmente a los backups, es de bajo costo y tiene algunas funciones de seguridad estupendas. Con este servicio es posible almacenar respaldos durantes meses, años e incluso décadas si así lo queremos.
Glacier incluye un sistema de versionado que nos permite tener distintas copias de un mismo respaldo, y como cabe esperarse dispone de integraciones con servidores y programas para que podamos programar la subida y generación de nuevos backups, así como la posterior rotación y eliminación de las copias que sean demasiado viejas si así lo queremos.
Amazon SNS: se trata de otro de los productos de Amazon Web Services y este está enfocado en lo que son las notificaciones. Su nombre completo es Amazon Simple Notification Service, aunque claro para abreviar es mucho mejor llamarlo Amazon SNS.
Como cabe esperarse, el servicio es utilizado para entregar notificaciones a los usuarios. El sistema posee una fuerte integración con otros de los servicios de AWS, por ejemplo si tenemos el escalado automático activado en una instancia de Amazon EC2 nos llegará una notificación en caso de que el sistema esté creciendo mucho.
En Amazon SNS existen dos tipos de usuarios: por un lado están los suscriptores y por otro lado están los editores. Por supuesto que el rol de cada uno queda bastante claro basándonos simplemente en esos nombres, ya que los editores son quienes crean y envían las notificaciones, mientras que lo suscriptores son quienes las reciben.
Amazon CloudFront: este es el servicio de CDN que podemos utilizar por medio de Amazon Web Services. ¿Qué es un CDN entonces? Pues se trata de una red de distribución de contenido, y es usada para acelerar la velocidad de carga de sitios web.
Una CDN funciona generando un caché de los recursos estáticos más frecuentados en un sitio y distribuyéndolo desde el servidor más cercano al usuario, lo cual permite que la velocidad de carga de un sitio web mejore a nivel global.
Los servicios de CDN como CloudFront están basados en varias docenas de nodos distribuidos en todo el mundo, de manera tal que si por ejemplo nuestro sitio web recibe una visita desde Europa será un nodo ubicado en dicho continente el que despachará el contenido cacheado, mientras que si la visita viene por ejemplo de Estados Unidos entonces un nodo que se encuentre en dicho país tendrá la tarea de despachar el contenido estático guardado en caché.
Amazon EBS: conocido también como Amazon Elastic Block Store, se trata de un servicio estupendo para contar con datos persistentes. Es un producto que nos permite hacer uso de un almacenamiento en bloque, el cual posee un rendimiento estupendo y además es muy fácil de utilizar.
Con frecuencia es usado en conjunto con otros productos como Amazon EC2, a los cuales puede conectarse sin problemas, de hecho mediante EBS podemos incluso pasar bloqueos de datos de una instancia de EC2 a otra.
Usando EBS en conjunto con EC2 podemos incluir montar varios volúmenes de datos en la misma instancia, y además de esto es importante resaltar que existen cuatro tipos de distintos de volúmenes disponibles. Según nuestras necesidades y nuestro presupuesto podremos usar unos u otros, ya que los distintos volúmenes poseen varios niveles de optimización y por supuesto el precio varía de unos a otros.
Amazon RDS: este es otro servicio bastante popular de Amazon Web Services que suele ser usado a veces en conjunto con instancias de EC2, ya que se trata de un servicio de bases de datos relacionales, de ahí que su nombre en inglés sea Amazon Relational Database Service.
Como cabe esperarse se trata de un producto en general de bajo costo y mediante el mismo podremos crear todas las bases de datos del tipo SQL que queramos, y por supuesto realizar todas las operaciones necesarias en las mismas.
Las bases de datos podremos usarlas en conjunto con entornos de EC2 o directamente con servidores que se encuentren por fuera de la infraestructura de Amazon si así lo queremos. Para cada base de datos podemos configurar respaldos individuales y es posible guardar múltiples copias de los mismos, de forma tal que tendremos varias copias disponibles en caso de que detectemos algún problema en una de las bds, o también si se ha borrado algo por error, etc.
Amazon Route 53: es el servicio de DNS de Amazon. Se trata de un DNS escalable y que como cabe esperarse nos brinda alta disponibilidad, al ser un sistema basado en la poderosa infraestructura Cloud de Amazon Web Services. Al igual que cualquier sistema DNS, la idea detrás de Route 53 es que los usuarios puedan llegar a un sitio web, y eso justamente es posible solo mediante un sistema DNS.
El sistema DNS funciona, explicado en forma sencilla, de la siguiente manera: en el mismo especificamos a cuál dirección IP (es decir a cuál servidor) un dominio o subdominio debe responder.
El DNS recibe las peticiones (o requests) de las computadoras de los usuarios cuando estos tratan de ingresar a un sitio web, y en cuestión de milésimas de segundos se indica a cuál IP responde un dominio, de manera tal que el navegador web del usuario sabrá a dónde dirigir la consulta para ver el sitio web deseado.
Diferencia Amazon Web Services y un Hosting tradicional
Como hemos visto Amazon Web Services es una plataforma cloud muy potente que brinda muchos tipos distintos de servicios, de hecho entre los mencionados apenas hemos arañado la superficie, ya que existen muchísimos más.
Debido a la existencia de diversos productos como Amazon EC2, Amazon RDS y Amazon Route 53, es frecuente a veces ver comparativas entre lo que sería un web hosting tradicional y montar un hosting haciendo uso de los varios servicios que AWS brinda, y justamente a continuación vamos a realizar una de esas comparaciones.
Cabe mencionar que como hosting tradicional entenderemos el que está basado en lo que podrían ser servidores dedicados y VPS, dentro de lo cual claro estaría incluido también el hosting compartido, hosting reseller, etc.
No tendría mucho sentido comparar AWS con un servicio de hosting basado en la nube ya que son muy similares y las diferencias serían realmente pocas. Así que sin más preámbulos, vamos a ver algunas de las diferencias entre AWS y un Hosting tradicional.
Costos
Este es uno de los puntos más importantes sin lugar a dudas, y en el caso de los servicios de AWS es probable que sea este quien tenga la ventaja en la mayoría de los casos, aunque también puede suceder lo contrario en algunas situaciones. Sucede que en el mercado del hosting tradicional no se cobra por tiempo de uso, sino que directamente existe una tarifa fija, por lo general mensual. En AWS esto no es estrictamente así, ya que en varios de sus productos se cobra únicamente por tiempo de uso.
Obviamente que si hablamos de hosting el tiempo de uso será permanente, pero hay la ventaja de Amazon en este sentido es que se cobra además por el tiempo de uso de determinados recursos, es decir que podemos facilitar escalar nuestros recursos por unos días de ser necesario y posteriormente bajarlos, y no se nos cobrará una tarifa fija, solo se cobrará el tiempo usado.
A nivel de hosting tradicional esto supone un problema, ya que por lo general si realizamos un upgrade de un plan de hosting a otro para disponer de más recursos vamos a tener que quedarnos con dichos recursos por un ciclo completo (generalmente mensual)y habremos pagado una tarifa fija por los mismos.
La ventaja a favor de los servicios de hosting tradicional es que están montados de forma que puedan ofrecer todo al cliente en un mismo paquetes: hosting para la web, DNS, servicios de emails y servicio de bases de datos. En AWS en cambio cada uno de estos productos existe por separado, y hay que pagar tarifas por cada uno de ellos.
Disponibilidad, escalabilidad y flexibilidad
Los servicios de AWS son estupendos ya que la mayoría de ellos integran alta disponibilidad, es decir, son servicios redundantes, cosa que no es vista en el hosting tradicional con frecuencia. Para el hosting tradicional el tener alta disponibilidad implicado el uso de al menos dos servidores, lo cual lógicamente elevará los costos finales del servicio.
Otra ventaja que Amazon Web Services posee es que sus servicios son rápidamente escalables, podemos bajar o subir de recursos en cualquier momento, e incluso en algunos productos como EC2 es posible escalar de manera automática. En los servicios tradicionales de hosting no suele ser sencillo subir o bajar de recursos, a menudo requiriéndose downtime en el caso de los servidores dedicados.
En cuanto a la flexibilidad, en AWS disponemos de herramientas para montar un servidor a nuestra medida, con soporte para los lenguajes de programación deseados y con el sistema operativo que necesitemos. Esto no suele ser así en los servicios de hosting compartido, los cuales están generalmente orientados para lenguajes como PHP y bases de datos montadas en sistemas como MySQL o PostgreSQL, lo cual limita un poco el tipo de sitio que podemos alojar. Sin embargo el hosting tradicional dispone de servidores dedicados y de VPS, servicios que pueden ser tan flexibles como los brindados por Amazon.
Facilidad de uso
En este punto ambos poseen ventajas y desventajas. Por un lado Amazon Web Services puede ser bastante confuso para usuarios nuevos, y lo cierto es que su documentación no siempre es la más adecuada, sin mencionar que tampoco de dispone del asesoramiento de un técnico como sí se da en los servicios de hosting tradicional. Sin embargo, si AWS es estudiado lo suficiente entonces es posible saber manejarlo a la perfección y conocer cada uno de sus productos.
El hosting tradicional en este aspecto es más amigable con el usuario, sobre todo a nivel de hosting compartido, ya que se suele disponer de asistencia técnica, documentación sencilla y bien explicada, así como interfaces fáciles de utilizar.
Donde sí se necesitarían más conocimiento es en lo referente a servidores dedicados y Cloud VPS, ya que se vuelve necesario poseer conocimientos técnicos para poder administrar un servidor, siempre y cuando no hayamos contratado un servicio de administración de servidores por supuesto.
Velocidad
A menudo se suele decir que Amazon Web Services supera al hosting tradicional en lo que respecta a velocidad, ya que podemos disponer de más recursos en cualquier momento de forma que el tráfico pueda ser mejor atendido, sin embargo esto no es necesariamente cierto en todas las situaciones, ya que aplica principalmente a cuando comparamos AWS a un servicio de hosting tradicional pequeño.
Si la comparativa es con un servidor dedicado, que puede tener una configuración de hardware muy potente, lo cierto es que este último podría ser fácilmente mejor en cuanto a velocidad comparado con AWS. Por supuesto un servidor dedicado potente no será barato, aunque si se dispone del presupuesto entonces se vuelve una mejor elección.
¿Qué es mejor entonces? ¿Un hosting tradicional o el servicio de hosting de Amazon AWS?
Pues lo cierto es que dependerá de varios factores. Si por ejemplo disponemos de poco presupuesto pero tenemos conocimientos suficientes puede que nos convenga más elegir Amazon Web Services, mientras que si disponemos de pocos o nulos conocimientos un hosting tradicional del tipo compartido será la mejor opción.
No debemos olvidar otros factores importantes como la estupenda escalabilidad que brinda Amazon, la cual nos vendrá muy bien si tenemos que atender picos de tráfico, o directamente podemos escalar a medida que vayamos creciendo. En el hosting tradicional esto no es fácil de lograr, y generalmente la forma atender estas situaciones es directamente disponiendo de hardware extra ya incorporado en el server.
Resumiendo, ¿usar AWS o un hosting tradicional? Pues como decíamos va a depender principalmente de tu presupuesto, conocimientos técnicos y necesidad de escalabilidad. Estos serán los tres principales factores que te harán inclinarte por uno o por otro.
Conclusión
Como hemos podido ver en esta oportunidad, Amazon Web Services es sin lugar a dudas la mejor plataforma cloud del mundo. Se trata de un servicio que brinda un enorme repertorio de productos al usuario, los cuales estarán accesibles desde cualquier lugar y en cualquier momento.
Entre los servicios que encontramos disponibles en Amazon Web Services tenemos servidores virtuales, un servicio de DNS, podemos crear ambientes de prueba para códigos, hay servicio de notificaciones, contamos también con entornos para montar bases de datos individuales, podemos crear backups históricos, usar el servicio como almacenamiento, y muchísimas cosas más. Ciertamente solo hemos arañado la superficie porque AWS todavía tiene docenas de productos más que no hemos mencionado aquí.
Amazon Web Services presenta además algunas ventajas frente a otros productos similares, ya que los brinda a bajos costos y además de esto en la mayoría de los casos solo cobra por tiempo de uso, ya sea por tiempo de uso de un producto o tiempo de uso de recursos, según el producto que estemos utilizando claro.
Si quieres una plataforma en la nube que lo tenga prácticamente todo entonces AWS es probablemente tu mejor apuesta.