2021/11/27

Preparación para la certificación AWS Cloud Practitioner

Como ya he manifestado en otra ocasión, no soy amigo de las certificaciones y más las que no son las que me interesan muchisimo como CSSLP, CEH u otras que no me dá la cabeza para dar. Sin embargo, tengo sobrados motivos para AWS Cloud Practitioner:

Me obliga a aprender, comprender y practicar cosas que vengo haciendo de modo esporádico desde hace diez años.

Aprovechar que recientemente hice los cursos de Architecting y Security. El tachado se debe a que escribí esto a fin de 2020 y no pude darla en ese entonces por motivos logísticos. Todo esto que estás leyendo, es del pasado.

Si tomás una certificación, la siguiente te sale la mitad y la verdad es que si logro hacerme tiempo, querría hacer la de Security, me parece que hay que dar la de Architecting antes, el tiempo dirá, tengo otras cosas que me interesan mucho más.

En lugar de pagar 150 por la siguiente, pagás 175 (100 + ( 150 / 2)) por dos certificaciones. Igual es un ahorro menor, lo que más me cuesta es practicar y estudiar.

Unos meses antes había creado mi cuenta gratuita, medio que por error, así que me conviene aprovechar el período para hacer todo lo que pueda.

Y finalmente, en estos tiempos tan Cloud, queda bien en el CV.

---

Como anécdota, en el trabajo anterior tipo 2011 teníamos unas techtalks, en una de ellas presenté una serie de scripts para desplegar instancias de EC2, no recuerdo si con bash o PHP.

Lo que hacía era de un conjunto de máquinas, apagar un tercio y actualizarlas. Luego tomar otro tercio y apagarlas, luego apagar el tercio restante y a la vez levantar el tercio actualizado, luego actualizar uno de los tercios restante y levantarlo y dejar el tercio restante apagado por si había que restaurar.

En la charla al comentar los resultados, me perdí un montón de puntos de marketing al decir, cito casi textualmente:

"De las ocho veces que lo hemos probado, sólo una vez funcionó... y no fué la última"

---


Otro motivo para usar Cloud en general, AWS en particular, no muy fuerte, es sólo una excusa, es que desde que cambié de proveedor estoy detras de un NAT impenetrable y he necesitado para algún taller exponer un servidor.


Recursos 


Tambien gracias al trabajo, tengo acceso a LinkedIn Learning, que antes se llamaba Lynda. Tomé unos cursos de una señorita, llamados Introduction to AWS for NonEngineers, del 1 al 4 (Cloud Concepts, Security, Core Services, Billing and Pricing), son superficiales, pero amenos e instructivos y ante la falta de práctica, la repetición de conceptos básicos van formando un terreno fértil. Duran entre 40 y 80 minutos cada uno.

Luego, como persona podés acceder a muchos cursos gratuitos de AWS, pero, otra vez gracias al trabajo, si la empresa es partner, con esa cuenta se pueden acceder a más cursos.

El criterio que utilicé fue dejar la instrucción oficial y más específica para más cerca del examen, así que la siguiente etapa fueron un montón de estos cursitos de AWS de poca duración, menos de media hora cada uno:

  • Amazon Simple Storage Service - Basics (AWS Support)
  • Amazon Simple Storage Service - Closer look - Part 1 (AWS Support)
  • Amazon Simple Storage Service - Closer look - Part 2 (AWS Support)
  • Identity and Access Management - Architecture and Terminology
  • Identity and Access Management - Basics (AWS Support)
  • Introduction to Amazon Elastic Compute Cloud

 Fuí mechando con un algunos labs gratuitos de qwiklabs:

  • Introduction to Amazon Simple Storage Service (S3) 
  • Introduction to AWS Identity and Access Management (IAM)

Si quisieras un certificado de completitud de qwiklabs, este tiene hay una especie de dashboard público pero no brinda detalle de los labs, sólo de los "quests". De todos modos te llega un lindo mail con tu nombre registrado y el detalle de la fecha y lo que hiciste.


Quedó entonces para el final el de seis horas

 

Y un agregado extra, en 2020 hubo un "challenge"  que te regalaban el curso "Cloud Practitioner Essentials Day" que viene a ser una versión lavada de "Cloud Practitioner Essentials Training", no labs, no materiales, no slides. Y un voucher para un examen de prueba y hubo algunos webinarcitos y por supuesto lo tomé todo.

A por acá es que retomo un año más tarde...

Y otro agregado extra, más que agregado el balde que rebalsó el vaso, ahora a fin de 2021 hubo una Rocket Journey o similar, para quienes por acuerdos empresariales pueden acceder a AWS Partnet Network, un montón de capacitación, incluso un día con instructor y un desafío final gracias al cual me conseguí un voucher por el %100.

Lo interesante es la fragmentación, no hubo ningún recurso completamente contenido dentro de los otros, incluso si nos limitamos a los de AWS, simpre hay algo que no está en ningún otro, más si dejás pasar tanto tiempo, todo va mutando.

Por un lado más personal, esto es una de las cosas más difíciles que he hecho en mi vida, no por que en sí sea difícil sino por mi mismo, no sé por qué. Pensá que empecé a escribir esto 2020-12-25 más o menos y el examen lo dí 2021-11-25.

 

El examen

 

Me facilitó mucho el que fuera presencial, la idea de tener que armar una máquina con windows, en un ambiente que no estuviera lleno de cosas prohibidas y garantizar evitar interrupciones, me supera.

Cuando me faltaba media hora para salir rumbo al examen, caí en cuenta que no habia leido The Well Architected Framework, por que la vista web no indica bien rápido que hay unos heavies pdf (entre 40 y 60 páginas). Aún así aprobé.

 

Retrospectivamente

 

Con leer atentamente TWAF, recorrer un poco https://docs.aws.amazon.com/, tomarse todos esos cursitos gratuitos, tener visto para que sirven los, ponele 50 servicios principales y por qué no, algunas horas de práctica, debería alcanzar.






2021/11/17

Notas al seminario de MCU PIC16F

He asistido a un interesante seminario de explicaciones del PIC16F a cargo de Andrés Bruno Saravia que es Certified Trainer de Microchip, autor del libro "Arquitectura y Programación PIC16F1939 En Lenguaje C con XC8", comparto acá mis notas y la adaptación a linux.

 

Ideas


Un concepto que ya tenía aunque no recuerdo de donde ni tenerlo bien conciente es el de la compresión de instrucciones, me llevó un rato darme cuenta que no era una compresión real, sino a la manera de referirse a la relación entre el número de instrucciones en C y las necesarias en assembly.


Otro concepto que había sufrido antes sin darme cuenta es el de arquitectura cerrada vs abierta. Los 8051 tiene arquitectura abierta, esto es que se pueden tomar unos pines y exponer el bus de datos, direcciones y control para agregarle una memoria, por ejemplo. Los microcontroladores como los PIC y AVR que he usado son cerrados, no hay buses paralelos afuera.

Me llamó la atención que siendo uno de los objetivos que la ISA fuera bien chiquita, que existieran:


bcf f,b borra bit f
bsf f,b setea bit f

que según entiendo bien se podrían implementar con

 

andwf f, d AND W con f
iorwf f,d OR inclusiva W con f 

 

Cuando me junte con el kit, probaré. ¿Qué? ¿Que podría simular? Ni a palos, tengo otras cosas que hacer estos días, pero es una buena idea, lo probaré tanto con el chip como como excusa para aprender a simular.

 

El kit


Entiendo que el kit que recibiré no incluye los capacitores ni el cristal, evidentemente este seminario está más orientado a profesionales que a hobbystas como yo, que se asustan ante la más mínima insinuación de electrónica digital. No importa, son unos pesitos más, no pasa nada.

 

La adaptación a linux

 

Toolchain


Se trata de MPLAB-X, no hay nada que adaptar, sólo hay que bajarla del sitio oficial. Me pone un poco incómodo que tanto para la instalación de ésta como para la instalación de los compiladores haga falta hacerlo como root. Esto garantiza que siempre lo usaré en una virtual.

 

El tiny bootloader

 

¿Cómo hacés para cargarle un programa a una computadora? Lo bajás de internet, lo pasás por pendrive, diskette, lo que sea. Estos bichitos no tienen tantas posibilidades, en el caso de PIC se llama ICSP, que no es una certificación sino In-Circuit Serial Programming, parecido supongo a ISP (In System Programming) de los AVRs,  sólo le ocupan dos o tres pines y necesitan un programador, que son $$$ más y como yo sólo estoy de visita no lo pienso adquirir, con mis ATMega328p aún me sobra para lo que necesito.

Como hay otra gente a la que tampoco le cierra gastar esa plata ni perder N pines, existe un método que es cargar un programa que cuando arranca se fija si en el puerto serie hay unos ciertos códigos y si los encuentra considera que son el programa y lo carga en la flash. Si pasa un rato y no hay nada en el puerto serie, ejecuta lo que tenga de antes, supongo que nada si no hay nada.

 

En el seminario se utilizó tinybld198 que gentilmente fué provisto por Andrés y corre en windows. A buscar y lo primero que aparece es tinybldlin que ni siquiera hay que compilar pues funciona con python.

 

El adaptador


Ni hace falta que lo diga pero lo haré, no necesita agregar ningún driver, no entiendo por qué windows tiene esa tara, pasa lo mismo con edu-ciaa-fpga, usbasp, lo que sea.

Sí puede hacer falta toquetear udev y permisos. Los pasos ya los he registrado en otras entradas pero no me ofende volver a hacerlo...

 

Conclusión


A mi me encantó, no sé si tanto si ya hubiese sabido antes de PIC, tuvo quizás demasiado tiempo de no demo, pero el tiempo de demo fue bien respetado, al punto que el seminario duró como cuarenta minutos de más.

 

Cuando me junte con el kit, sigo... en https://seguridad-agile.blogspot.com/2022/02/primer-contacto-real-con-pic16.html