Mis primeras experiencias con AWS

En esta entrada voy tratar de escribir mis primeras experiencias/sensaciones con AWS. Creo que mi mi primera experiencia con el cloud ha sido algo tardía, ya que no había usado de el Cloud de Amazon, Google, o Microsoft, solo los había usado de forma experimental y desde aproximadamente un año tenido trabajar y entender al mismo tiempo algunos servicios de AWS tales como, ECS, S3, Lambda, Cloud formation, Cloud watch.

Hasta la fecha (2023) y ya con casi 20 años de experiencia en desarrollo, el patrón de comportamiento que se ha repetido en mi carrera profesional (aun recuerdo por ahí por el 2005 trabajando en .NET sin tener idea de la sintaxis y viniendo de PHP) es tener que trabajar en una plataforma/tecnología/lenguaje y luego entender los fundamentos que la sustentan. Particularmente no encuentro que esta sea una mala forma de aprendizaje(a lo mejor no la ideal), pero si la que puede hacerte dar mas pasos en falsos y de seguro pasaras alguna que otra vergüenza. 

 

Volviendo al tema central en relación al mundo de AWS, lo encontré ideal, siempre he querido hacer experimentos de desarrollo (y por que no algunos emprendimientos) principalmente en Python y .NET, pero pierdo la motivación/interés en pensar donde tener que montar la aplicaciones sin tener mucha idea de servidores y con AWS es realmente fácil montar un/os servidores servidores (me imagino que con el resto de Cloud debe ser igual)  y hacer poder mostrar los resultados a todos y poder hacer un MVP (Producto mínimo viable) por ejemplo.

 

Es por la razón anterior, ademas que me  lo pidieron en mi actual trabajo, estoy tomando varios cursos  de AWS para sacar la primera certificación, hay mucho debate sobre el tema de las certificaciones, de que si sirven o no, pero podemos hablarle en otra oportunidad.  Si bien el curso es bastante básico, es para lograr la primera certificación llamada "AWS Certified Cloud Practitioner", pero la verdad es que me "voló la cabeza" con la cantidad de cosas que se puede hacer con todos los servicios que se tiene y espero no perder la motivación y poder seguir aprendiendo para lograr certificarme (y aprender) mas orientado mas a desarrollo y arquitectura en los proximos años.

 

En cuanto a los servicios que he usado hasta ahora, les puedo escribir unas pequeñas lineas de mi entendimiento hasta la ahora

  • ECS: Principalmente para poder almacenar y ejecutar contenedores de docker en la plataforma de AWS. No hay mucho mas que explicar, solo que se puede tener un sin fin de aplicaciones o casos de uso. 
  • S3: Almacenes de información, archivos en la nube pudiendo tener accesos publico a estos, o tener políticas de acceso mucho mas restringidas. Aquí en cuanto al desarrollo se tiene un SDK que permite subir, bajar y en general hacer todas las acciones sobre un bucket (que es como se le llama  aun contenedor de archivos)
  • Lambda: Debe ser uno de los mas conocidos, al menos yo había escuchado mucho sobre esto. Es principalmente tener una o varias funciones en modo serverless, que es computación sin servidor, es decir no tenemos una maquina virtual, ni un contenedor corriendo esperando a ser invocado (Disclaimer, si existe se ejecuta en un servidor, pero no es administrado por nosotros). Aquí el paradigma es que AWS(en este caso) levanta todos los recursos según la configfucacion para que se pueda ejecutar y luego elimina esos recursos. El esquema de cobro de este servicio es por cantidad de llamada y unidad de procesamiento en tiempo.  La recomendación aquí es hacer funciones que ocupen el menor tiempo posible y hacer que estas se puedan volver a ejecutar en caso de algun error, ejemplo con una conexión a la base de datos.
  • Cloud Watch:  Visualización de Log de los distintos servicios, aquí se desplegaran nuestros Log que pongamos en nuestro código. 
  • Cloud formation:  Para mi hasta ahora es el que mas me ha llamado la atención, permite generar la arquitectura donde van a estar estar nuestras aplicaciones con código ya sea con archivos JSON o Yaml, la estructura es bastante complicada sobre todo si uno esta partiendo, pero es genial lo que te permite esto, imaginemos que desde el pipeline podemos generar/actualizar la arquitectura para los diferentes ambientes. realmente lo entre muy cool y es primera que vez que lo veo. Nota: también existe forma no usar plantillas en Json/Yaml y hacerlo en un lenguaje de programación con código Javascript., c#, python, etc.
Por ahora no quise escribir sobre las diferentes regiones, zonas de disponibilidad y precios  que tiene Amazon para todos los servicios, que es todo un mundo, pero por ahora un mundo un poco aburrido para mi.
 
Hasta la proxima y happy coding  👏




--
Atte.
Víctor Hugo Saavedra
http://vhspiceros.blogspot.com

Comentarios

Entradas populares de este blog

Buscar columnas en todas las tablas SQL SERVER

"is not null" o "<> Null" en Sql Server

Como saber que versión de Jquery tenemos