7 consejos para obtener la certificación AWS Developer

Desde el cambio de paradigma de las tecnologías Cloud, cada vez es más importante estar familiarizado con estos servicios.

Uno de los más importantes en el sector es Amazon Web Services. Desde el punto de vista de los que implementan soluciones en su nube, los cuidan mucho creando una documentación muy extensa, muy clara y por la que se preocupan en tenerla continuamente actualizada.

Además, AWS han sido de los primeros en presentarnos certificaciones oficiales en diferentes sectores, ya sea como arquitecto, operaciones, desarrollador o DevOps.

Si decides aventurarte en prepararte una de estas certificaciones, notarás enseguida que, por la idiosincrasia de la temática, la mayoría de cursos, resolución de dudas y documentación (más allá de la de AWS) están principalmente enfocados a  arquitectos.

Pero, ¿qué pasa con los desarrolladores? ¿Es necesario tener el CNNA Cisco o la Linux LPIC? ¿Qué conocimientos del mundo de administración de sistemas necesita un programador para ser AWS Developer?

Si partimos de 0, enfrentarse a una certificación de AWS como desarrollador puede parecer algo abrumador. En este post os doy una guía para saber cómo emprender este camino, ya sea con formaciones gratuitas, describir los servicios más importantes que competen a esta certificación o puntos clave que deberemos estudiar. ¡Empecemos!

ATENCIÓN: las siguientes recomendaciones van a servir para encaminarte a sacar la certificación, pero para nada puede tomarse como un dogma o unos pasos fijos para conseguir la certificación. Y menos cuando AWS evoluciona constantemente y saca servicios nuevos cada poco tiempo.

¿Por donde empiezo?

1. Requisitos previos

  • Saber que Amazon, además de marketplace, tiene servicios Cloud.
  • Nivel de inglés técnico suficiente para comprender documentación.
  • Crearse una cuenta en APN Portal.
  • No es obligatorio, pero conocer a un SysAdmin muy majo para consultarle dudas ayudará mucho ;)

2. Primeros pasos

Cuando uno quiere afrontar una certificación de AWS Associate, la primera pregunta que se hace es ¿por dónde empiezo?

Además de toda la teoría que aprendamos, será muy importante llevarla a la práctica y saber manejarse por la consola de AWS, en especial, conocer los problemas habituales que pueden surgir, por ejemplo, con una DynamoDB; qué causas hacen que nuestra máquina en una red privada no tenga acceso a Internet, etc.

Una vez que estemos familiarizados con todo este ecosistema, la mejor forma para trastear será con los 12 meses de prueba gratuita que ofrece AWS para nuevas cuentas.

No será necesario conocerse al milímetro todos los servicios de AWS, pero sí que nos suenen los más destacados. Para ello, una buena recomendación sería empezar por algún curso introductorio que ofrece gratuitamente Amazon.

3. Primer curso: Profesional técnico de AWS (¡gratis!)

En esta página podremos inscribirnos a este curso básico de AWS de aproximadamente 4 horas de duración a través de nuestra cuenta del APN Portal.

Nos presentará una visión global de los servicios más destacados de AWS, de la infraestructura global o el Modelo de responsabilidad compartida.

4. AWS Docs: Servicios destacados

En la propia descripción de la certificación, nos detalla que los principales servicios que debemos conocer son S3, DynamoDB, SQS, SNS, SWF, Elastic Beanstalk y CloudFormation.

Aunque, a la hora de la verdad, de algunos de estos servicios no aparecen muchas preguntas. Por el contrario, sí de los siguientes: Amazon Lambda, EC2, EBS, VPC (Subnets, ACL, IGW, Security Groups…), STS, IAM… entre otros.

Pero claro, “¿aprenderse toda la teoría? ¿De todos estos servicios? Para cuando me lo sepa… ¿habrá cambiado el temario!”. Keep calm! Centrémonos en unos cuantos puntos clave:

  • EC2: Es importante conocer cómo se levanta una instancia, cómo acceder con Key Pair a estas; si se crea con un EBS o Instance store.
    • AMI: no es de los puntos destacados, pero está bien que nos suene.
    • Terminate Your Instance: qué ocurre si se para o se reinicia.
    • Instance Metadata y User Data: podemos conocer información de nuestra instancia accediendo desde dentro de la máquina a una URL concreta. No es necesario aprenderlo de memoria, pero sí diferenciar entre recuperar metadata y user-data.
    • Regions & Availability Zones: saber las diferencias entre regiones (14 actualmente, pero en breve se anunciarán nuevas), países y zonas de disponibilidad.
  • VPC: nuestra red privada en la nube. Podremos crear nuestras subnets, firewalls y desplegar de forma privada flotas de instancias de EC2.
    • NAT: importante saber qué es una NAT, cómo se crea dentro de un VPC (ejemplo: desactivando Source/Destination Checks).
    • Internet Gateway: la forma de exponer al mundo las subnets e instancias de nuestro VPC.
    • Security Groups y Network ACL
  • Elastic Beanstalk: muy simplificado, es un servicio que desde la consola de AWS nos permite desplegar un VPC, con una base de datos y una(s) instancia(s) con el código de nuestra aplicación. La pregunta más habitual que he visto sobre Elastic Beanstalk es “¿qué tecnologías y lenguajes de programación se pueden utilizar?”.
  • Lambda: aunque sea una tecnología bastante nueva en AWS, en mi caso me tocaron dos preguntas sobre AWS Lambda, más enfocadas al concepto de serverless y ejecución de estas.
  • S3: el servicio de objetos estáticos de AWS. Es importante conocer bastante bien cómo funciona, como por ejemplo:
    • Bucket restrictions: número de caracteres máximos, cuáles no están permitidos…
    • Data Consistency Model: cuando se crea un objeto la consistencia es read-after-write, pero para puts y deletes no.
    • Request Rates y “best practices”. Es importante cómo nombrar nuestros objetos.
    • Versioning
    • CORS
    • Static Website: es básico saber cómo crear una web en S3: cómo configurarla, los permisos que hay que darle, la url resultante…
    • Encryption: hay que conocer las formas de encriptar tanto en el lado servidor como en el lado cliente.

  • CloudFormation: es muy amplio y cada servicio tiene sus propios términos. Pero para la certificación es importante conocer las diferentes partes que componen un template y las funciones propias de CloudFormation que podemos usar.
  • IAM: principalmente las IAM Policies. Todos los ejemplos y preguntas que he visto, son más prácticas que teóricas.
  • AWS Security Token Service: sobre este servicio hay una pregunta que se repite constantemente y que podemos ver en las preguntas de muestra que nos da AWS.
  • SWF: es un servicio en el que no se incide en exceso, lo más importante es conocer los Actores que forman parte de este servicio.
  • SNS: el servicio de notificaciones de AWS es muy versátil y es común encontrar muchos casos de cómo se puede aplicar. En la teoría es importante conocer cómo se compone un mensaje.
  • SQS: el primer servicio de AWS, será importante insistir en que es un servicio asíncrono (pronto cambiará con las nuevas colas FIFO), cómo procesar los mensajes (ejemplo: Long Polling), o cómo se puede usar en combinación con SNS.

5. AWS Docs: Límites y best practices

Además de todo esto, unos puntos que habrá que conocerse bastante bien son los límites que tienen servicios como SQS, EC2, DynamoDB, S3, Cloudformation.

Del mismo modo, conocer las APIs y nombres de las llamadas de SQS, EC2, S3 o Cloudformation. Para este punto lo más sencillo será si nos familiarizamos con algún AWS SDK de algún lenguaje.

Para finalizar esta parte, destacar algunos whitepapers y best practice que viene bien conocer de estos servicios, algunos como:

6. Cursos Online y formaciones

Pero todo esto no será suficiente para sacarse una certificación. Hay mucha más información que hay que aprenderse. Para ampliar, recomendaría algunos cursos online que nos pueden ayudar mucho para avanzar:

  • Linux Academy: Desde mi experiencia, con este curso sales muy bien preparado para afrontar la certificación y, además, incluye talleres prácticos con acceso a cuentas de AWS para que podamos cacharrear.
  • A Cloud Guru: Algunas partes las mezcla con la certificación de Arquitecto. Esto pudiendo despistar un poco, pero explican de una forma muy clara y esquemática la gran mayoría de los puntos clave de la certificación de Desarrollador.
  • Cloud Academy: No pude completarlo al utilizar una cuenta gratuita. No puedo dar una valoración tan profunda como de los otros dos cursos mencionamos anteriormente, pero también lo actualizan con periodicidad y está a la altura de los anteriores.

7. Experiencia práctica

Por último, si tenemos la oportunidad de trabajar con AWS y podemos “trastear” con todos estos servicios, tendremos gran parte del camino hecho.

No solo porque si falla la infraestructura y nos tenemos que sacar las castañas del fuego se nos grabará a fuego, sino porque parte del examen es saber afrontar casos prácticos y eso sólo se saca con experiencia.

Así que si estás interesado en la certificación de AWS Developer, deja respirar a tu Super-SysAdmin y dile que te encargas tú de AWS ;)

Gracias a mis compañeros Juanma, Elo, Rafa, Ernesto y Álvaro Linares que, con su ayuda, mi camino para tener la certificación ha sido mucho más fácil.

Developer, SyAdmin, QA, DevOps, Fullstack, Hacker... ¡qué importa la especialización! Mientras el puzzle suponga un reto, todo lo demás es superficial. Apasionado de la informática desde que tengo uso de conciencia y desde que en 2010 unos locos decidieron empezar a pagarme por hacer lo que me gusta las 24 horas del día

Ver toda la actividad de Alberto Vara

Comentarios

  1. Sancho Sancho dice:

    Hola amigo Francisco Alberto Vara.
    Estoy atorado en un un proyecto donde hago una pagina estática en AWS S3 con html y javascript, en el contenedor S3 tengo varias carptetas que tienen un nombre espesifico y quiero que mediante un input text y un boton buscar, pueda:
    * Mediante el input text introducir el nombre especifico de la carpeta
    y cuando le de en el boton buscar Imprima en la pagina html todas las imagenes contenidas en esa carpeta, llevo días tratando de hacerlo y no puedo.
    Utilice la librería de Jquery para listar los nombres de los archivos contenidos en una carpeta en mi caso son imagenes .jpg y asi pintar todas las fotos como si fuera una galeria pero lo logre en un ec2 amazon linux pero cuando lo pase directamente al contenedor ya no realiza su funcion.
    Me podrás ayudar?

Escribe un comentario