En este artículo conoceremos sobre uno de los mayores proveedores de servicios de computación en la nube, Amazon Web Services o AWS. Exploramos sus servicios, costos, ventajas y desventajas, y cómo su amplia gama de servicios es relevante para muchas empresas de diversos sectores productivos.
Para comenzar, considero oportuno entregar una definición preliminar de un término que utilizamos comúnmente, pero del cual no necesariamente conocemos su significado y alcance: Cloud Computing.
Cloud Computing es una plataforma tecnológica de infraestructura, con la cual podemos acceder de manera remota (internet) a diferentes recursos informáticos. Algunos ejemplos de recursos son: Software como servicio (SaaS), almacenamiento de archivos, procesamiento de datos, entre otros. Estos recursos son accesibles siguiendo modelos de pago, por ejemplo, un modelo de pago por uso.
De acuerdo con el NIST (National Institute of Standard and Technology), el servicio de Cloud Computing debe cumplir cinco aspectos esenciales:
Usando la base de qué es la computación en la nube, podemos definir qué es Amazon Web Services (AWS).
Amazon Web Services (AWS) es un proveedor de servicios de computación en la nube, que ofrece más de 200 servicios a nivel global y atiende a más de 245 países. AWS comenzó a proporcionar servicios a empresas el año 2006, y desde entonces, ha liderado el mercado de cloud computing. Así lo ha ratificado el informe entregado por la consultora Gartner, a mediados del 2021.
Con casi la mitad del mercado mundial de infraestructura de nube pública, Amazon es el líder del mercado a la fecha. El 2018, Amazon reportó ingresos de 15.400 millones de dólares, un crecimiento de un 26,8% con respecto al año anterior. Considerando hasta el 2019, Amazon reportó un crecimiento del 39% desde el primer semestre del 2018. En palabras del CTO, AWS es líder indiscutido, considerando a Google como “otros competidores”.
La propuesta de AWS se centra en facilitar bajo demanda recursos de TI a través de Internet, principalmente con precios de pago por uso. Según AWS: “En lugar de comprar, poseer y mantener servidores y centros de datos físicos, puede acceder a servicios tecnológicos, como poder de cómputo, almacenamiento y bases de datos, según sea necesario“.
AWS suele mencionar que la innovación es parte de su ADN, por lo que no sería raro ver nuevos servicios cada año. Un servicio que destacan es el denominado AWS Lambda (2014), pionero en permitir a los desarrolladores correr sus códigos sin administrar servidores (serverless computing).
AWS es una plataforma que nos permite implementar soluciones de negocio a través de la ejecución de aplicaciones empresariales, servicios de cómputo, almacenamiento, base de datos, conexión en red, lagos de datos (Data Lakes), aprendizaje automático e inteligencia artificial, IoT, seguridad y mucho más.
Su amplia gama de servicios le permite ser partícipe de casi toda industria o mercado actual. Aun cuando tú no hayas hecho uso de sus servicios directamente, es un muy probable que los consumas de manera indirecta, ya que su cartera de clientes a nivel mundial es extensa. Algunos de sus clientes son: Samsung, Netflix, Disney, Nintendo, The New York Times, Pfizer, Adobe.
La cantidad de servicios que AWS provee nos permite llevar aplicaciones existentes a la nube, y también crear nuevas aplicaciones optimizadas para funcionar en este entorno, y todo esto, de manera rápida, fácil y rentable. Para elegir las herramientas adecuadas para nuestro objetivo de negocio, necesitamos entender qué funcionalidades hay a nuestra disposición, cuáles son las más utilizadas y cómo se pueden organizar.
En AWS sólo pagamos por aquellos servicios de cómputo que utilizamos y cuando los utilizamos. Además, inicialmente no nos amarramos a contratos a largo plazo con los cuales debamos cumplir obligatoriamente. Incluso podemos partir con una capa gratuita (más abajo se explica).
Gracias a las características de su infraestructura y servicios a los que podemos acceder, podremos implementar aplicaciones con un excelente desempeño. Además, y en la medida que lo queramos, podremos escalar los recursos necesarios para que esta última esté siempre disponible.
AWS nos ofrece altos estándares de seguridad en lo que respecta a su infraestructura, esto incluye medidas de seguridad físicas, operativas y de software.
Aun cuando es fácil crearnos una cuenta y acceder a su gran cantidad de servicios, es necesario que contemos con experiencia técnica, ya que somos el usuario responsable de administrar servidores, base de datos, almacenamiento, etc. Es tanta la cantidad de servicios, que nos puede resultar abrumador y confuso al inicio.
Es cierto que AWS cuenta con una gran cantidad de servicios a nuestra disposición, pero si necesitamos características específicas, puede que no siempre encontremos la solución que buscamos. Por lo tanto, puede que debamos adaptarnos al entorno que AWS nos ofrece.
AWS nos ofrece la posibilidad de probar los servicios de AWS sin costo hasta llegar a los límites especificados para cada servicio. La capa gratuita consta de tres tipos diferentes de ofertas:
Son servicios 100% gratuitos con un tope máximo de capacidad o uso. Por ejemplo, el servicio Amazon DynamoDB (Base de datos NoSQL) es siempre gratuito, mientras superemos los 25 GB de almacenamiento.
Existen servicios gratuitos que se miden por horas o peticiones. Por ejemplo, podemos considerar el uso de maquinas virtuales EC2, con un máximo de 750 horas disponibles al mes.
Hay servicios que se pueden probar gratis por un plazo acotado, por ejemplo Amazon SageMaker. SageMaker es un servicio de Machine Learning que podemos probar sin costo por un periodo de 2 meses.
Nota: Para acceder a la capa gratuita de AWS, es necesario que registremos una tarjeta de crédito (o débito), sin embargo, mientras no excedamos los límites de la capa gratuita, no se realizarán cobros.
AWS cuenta con una Calculadora de Precios que nos permite obtener una estimación de costos, de acuerdo con la solución que necesitamos implementar. ¿Cómo podemos utilizarlo?
Como ejemplo, he seleccionado el servicio de Amazon EC2, con una instancia de tipo t4g.large, que cuenta con 2 vCPU y 8 GiB de Memoria.
Otro ejemplo de precios lo pueden encontrar en nuestro artículo sobre Data Lakes. En este artículo comparamos el costo entre AWS, Azure y GCP.
Con el objetivo de aplicar los conceptos mencionados, supongamos que somos responsables de construir un software a medida, el cual permita controlar la emisión de permisos de circulación de automóviles. Algunos requisitos son:
En cuanto a la arquitectura, esta se compondrá por los siguientes servicios:
Con los servicios mencionados, podremos desarrollar y hacer uso de un sistema web que aporte valor a nuestro negocio, y que pueda ser modificado a futuro de acuerdo con las necesidades que puedan surgir. Además, podemos cumplir con varios objetivos: Agilidad, elasticidad, ahorro de costos y despliege global en minutos.
AWS cuenta con diferentes iniciativas para enseñar habilidades relacionadas con el desarrollo y uso de servicios en la nube. Entre ellas, podemos encontrar:
Conecta a las empresas que buscan habilidades relacionadas con la nube con estudiantes cualificados en busca de empleo. Mas información en AWS Educate.
Ayuda a las personas a desarrollar y validar sus habilidades en la nube para que obtengan más de esta plataforma. De manera opcional, podemos obtener certificaciones (de pago) que AWS ofrece.
Nota: Si crees que este contenido puede ser útil para otras personas no dudes en compartirlo. Además te invitamos a seguirnos en Linkedin, Twitter, Facebook, Instagram y Youtube. Mientras en el Blog liberamos contenido más extenso, en las RRSS publicamos semanalmente tips relacionados con Data Warehouse, BI, Data Science y Visualización de Datos que es justamente lo que más nos apasiona hacer en Lituus.