0% encontró este documento útil (0 votos)
20 vistas23 páginas

Certificacion Camino

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1/ 23

Mi 

camino hacia la certificaci
ón de Google Cloud Architect
Debido al gran auge que está teniendo el universo cloud, y para poder desempeñar

de una manera más óptima mi trabajo en Paradigma Digital, los últimos meses he

invertido mi tiempo en la plataforma de Google, Google Cloud Platform (GCP), y he

conseguido certificarme como Professional Google Cloud Architect, no siendo éste

un camino sencillo. Nada sencillo.

Una de las razones por las que este viaje me ha parecido complicado, además de

por la dificultad técnica, es porque Google no provee de ningún tipo de temario al

que agarrarse durante la preparación, ni tampoco existen exámenes de prueba que

sirvan para validar si los conocimientos adquiridos son suficientes o no.

En este sentido, el único material oficial de Google lo podréis encontrar en su

propia documentación: el, en mi opinión, demasiado abstracto plan de estudios y

el mini-examen de prueba.

Por estos motivos he decidido escribir un post sobre ello, para intentar ayudar a

quien persiga este mismo objetivo, contando qué he estudiado exactamente, los

recursos que he utilizado, cómo me he organizado, y qué conceptos considero que

son claves dominar con vistas a superar el examen.


¡Empecemos!

Fase 1

Tal y como me recomendó mi compañero Álvaro Linares (Chamo), aconsejo que

los primeros pasos a dar en el camino a la certificación sean los cursos de las

habituales plataformas de formación. Quizá esta sea la fase en la que invertí más

tiempo, ya que simplemente el ver los vídeos conlleva un buen número de horas

(recomiendo verlos a 1.25x o 1.5x cuando se pueda), y además, el de Coursera

tiene bastantes labs interesantes a completar. Los cursos que recomiendo son:

Google Certified Professional - Cloud Architect de Linux Academy:

Se trata de una serie de tres cursos (el enlace es al primero) bastante enfocados a

pasar el examen, con un contenido muy bien explicado en todos ellos:

 El primer curso es una buena introducción a la plataforma.

 En el segundo se adentra un poco más de detalle en algunos elementos (no tanto

como para que sea suficiente de cara al examen).


 Y en el tercero se centra en recoger una serie de recomendaciones a nivel general,

tanto de diseño de arquitectura como con vista a aprobar el examen. En mi opinión merece

bastante la pena.

Architecting with Google Cloud Platform de Coursera:

Se trata de una de las especializaciones de Coursera, compuesta por un total

de seis cursos. Aunque pueda dar la impresión que se solapa con el anterior,

considero que son bastantes complementarios por la sencilla razón de que esta

especialización consigue profundizar en mucha de la temática a cubrir, sin estar

especialmente enfocado en el examen, pero con bastante buen criterio a la hora de

abordar los contenidos, a mi parecer.

Además, contiene un conjunto de labs que aportan mucho al conocimiento de la

plataforma, bajo mi punto de vista, y que recomiendo no saltarse aunque pueda

resultar tentador, porque no son necesarios para aprobar la especialización ;-)

Google Cloud Platform Certification - Cloud Architect (GCP) de Udemy

Este es otro curso de las mismas características que los anteriores. Yo no lo hice

porque consideré que se solapaba demasiado con los que ya había hecho; así que

opté por comprar éste otro de sólo exámenes.


De todas formas, lo incluyo aquí porque considero que es otra opción que puede

ser interesante a cubrir.

Fase 2

En esta segunda fase de estudio me centré en profundizar en cada una de las

temáticas vistas en los anteriores cursos, pero por mi cuenta y utilizando la

documentación de GCP. Para ello, me organicé el trabajo de una manera muy

parecida a la que lo hace el curso anterior de Coursera, y fui sacando mis propias

conclusiones y material a revisar.

En esta fase invertí menos tiempo que en la fase anterior, aunque también me

supuso bastante esfuerzo debido a que a la vez fui agrupando conceptos,

construyendo mis propios apuntes, etc.

A continuación he listado las diferentes temáticas en las que trabajé, lo que

considero imprescindible dominar con solvencia de cara al examen, y algunos

enlaces que considero interesantes:

1  VIRTUAL NETWORKING - REDES


En este apartado es necesario tener claro los diferentes tipos de conexión entre

redes (VPN, Interconnect, etc), qué aplicar en cada caso y cómo dar solución a

diferentes escenarios de soluciones híbridas.

Además, también es importante realizar alguna práctica interconectando redes

mediante VPN y aplicando las dos políticas de routing. Algunos enlaces

interesantes en este apartado son:

 Infraestructura de Google: importante conocer la topología de las redes de Google, los

tipos de nodos que tienen y el cometido de cada uno de ellos.

 Árbol de decisión de interconexión : en este artículo destaco el árbol de decisión a la

hora de elegir tipo de conectividad. Muy a tener en cuenta y muy útil para el repaso de última

hora.

 Cloud Interconnect y Cloud VPN: importante conocer las ventajas e implicaciones de

estos tipos de conexiones a la hora de diseñar soluciones híbridas: costes, velocidad de

conexión, tipo de direccionamiento (público/privado), etc.

 Direct Peering y Carrier Peering: otro tipo de conectividad con las redes de Google

desde los centro empresariales tradicionales, y no exclusivas a solo GCP.


 CDN Interconnect: muy interesante conocer este componente y saberlo utilizar en los

diseños de arquitectura que puedan plantearse.

 Virtual Private Cloud (VPC): imprescindible tener claro los conceptos acerca de estas

redes virtuales: visibilidad y conectividad de sus instancias con otras en el exterior,

configuración de rutas y firewalls, tipos de redes, relación con proyectos, organizaciones,

regiones y zonas, etc.

 VPC Peering: interesante conocer las posibilidades de interconexión de los tipos de

redes anteriores.

 Firewalls: imprescindible tener dominio de este componente. Muchas preguntas y

soluciones implican estar familiarizado con la configuración y posible problemática de estos

elementos.

2  COMPUTE ENGINE - MÁQUINAS


VIRTUALES

Las máquinas virtuales son la base de todos los servicios de GCP. Por esto que es

imprescindible dominarlas, conocer sus características, qué se puede realizar con

ellas, (como por ejemplo qué cambios admiten en caliente o paradas), o los tipos

de facturación y descuentos existentes.

Ahí van algunos enlaces interesantes para complementar los conceptos

anteriores:
 Compute Engine: página de documentación de entrada y resumen de sus principales

características.

 Preemptible instances: tipo de máquina virtual más económica que la habitual, y que

puede ser muy útil en los diseños de arquitectura donde proceda, como aquellos con carga de

trabajos batch, por ejemplo. Importante conocerlas y dominar sus ventajas y limitaciones.

 Troubleshooting SSH: artículo interesante a la hora de abordar preguntas relacionadas

con conectividades SSH.

3  IAM

Ni qué decir tiene que dominar los conceptos de seguridad es básico a la hora de

poder superar el examen.

Conocer la diferencias entre los principales roles, cómo se puede realizar la

gestión de los usuarios de la plataforma, o cómo securizar las distintas soluciones

a implementar, son conceptos clave dentro de este apartado. Ahí va el listado:

 IAM: página de entrada a la documentación sobre seguridad en GCP. Es clave conocer

los diferentes actores que participan y los conceptos generales que se comentan aquí.

 Listado general de roles: no hace falta memorizarlos, ni mucho menos; pero es

conveniente echarle una ojeada para entender cómo se suelen estructurar.


 Roles de facturación: especial énfasis en los roles relacionados con conceptos de

facturación, ya que suelen intervenir en muchos de los casos de uso que estuve viendo en mi

preparación.

 Service Account: es fundamental conocer este tipo de actor en GCP, sus

características y qué debemos tener en cuenta para su securización. Importante también

realizar algún lab en el que intervenga este tipo de cuenta.

 Security Scanner: considero que sólo es necesario conocer de qué se trata este

producto, sin entrar en mucho más detalle.

 Auditoría: es un plus conocer los distintos tipos de logs de auditoría que existen en

GCP, así como sus periodos de retención en el sistema.

 Cloud Identity Aware Proxy (IAP) : al igual que otros productos, considero que basta

con conocer este producto a grandes rasgos, y saber cuándo podría aplicar en las soluciones

a diseñar. Poco más.

 Google Cloud Directory Sync: especialmente importante en muchas de las

arquitecturas híbridas que he consultado para la gestión y sincronización de usuarios entre los

entornos on premise y cloud.
 Autenticación: interesante el apartado de API Key, no abordado en otros artículos de la

documentación.

4  STORAGE - ALMACENAMIENTO

Sin duda una de las temáticas más recurrentes en el examen y que intervienen en

multitud de preguntas. Además de tener claro a nivel técnico cada una de las

opciones de almacenamiento que tenemos disponible en la plataforma, es muy

importante saber cuándo utilizarlas desde un punto de vista funcional, según el

caso de uso planteado.

Además, también es interesante dominar cómo mapear las diferentes opciones

actuales de almacenamiento con su análogo cloud,y nociones básicas de cómo

adaptar nuestro modelo de datos a la solución de almacenamiento seleccionada.

 Opciones de almacenamiento: muy buen artículo de documentación a revisar, tanto

por su árbol de decisión como por la tabla de posibles opciones de almacenamiento y sus

casos de uso. Es imprescindible tener en la cabeza lo que se plantea en esta entrada.

 Clases de Cloud Storage: un clásico en las preguntas relacionadas con la opciones de

almacenamiento. Buena tabla resumen y descripciones muy claras.

 Analogía con sistemas actuales: como he comentado antes, es muy importante tener

en cuenta el posible mapeo de los sistemas persistentes actuales con las opciones de
almacenamiento cloud. Este aspecto aplica a todos los diseños de arquitectura donde está

implícito un plan de migración de los sistemas on premise hacia arquitecturas cloud.

 Transfer service: al igual que algún servicio anterior, este producto es importante

conocerlo, saber sus limitaciones y posibles casos de uso, pero sin profundizar en su detalle.

Es importante saber distinguir cuando deberíamos utilizarlo en planteamientos de arquitectura

que impliquen migración de datos hacia el cloud de Google.

 Datastore: una de las opciones NoSQL de GCP. Fundamental conocer sus

características y casos de uso.

 Cloud SQL: servicio de PostgreSQL y MySQL en GCP. Al igual que el caso anterior, es

muy útil conocer sus características y casos de uso.

 Spanner: opción de almacenamiento relacional con escalado horizontal global. Aunque

no es una opción demasiado económica, es imprescindible tenerla en cuenta para los casos

de uso donde pueda aplicarse frente a las otras opciones de persistencia relacionales.

 Big Table - Diseño de TimeSeries: opción dentro de la categoría NoSQL, aunque, en

este caso esté más orientada a soluciones basadas en clave-valor, de baja latencia y gran

cantidad de datos de almacenamiento. Especialmente interesante saber cómo hacer el


modelado de datos (vertical vs horizontal) en uno de sus casos de uso más típico: la

persistencia de eventos temporales (time series).

 Big Query: data warehouse y herramienta de análisis masivo de datos mediante

sintaxis SQL de la plataforma. Imprescindible tenerlo en cuenta como capa de

almacenamiento para muchos diseños de arquitectura que me he encontrado en la

documentación.

5  MONITORIZACIÓN

Otro de los puntos clave de GCP. Es bastante importante dominar los distintos

productos involucrados en este aspecto, concretamente:

 Las diferencias entre cada uno de ellos.

 En qué caso debemos utilizar uno u otro.

 Cómo los diferentes elementos de la plataforma se integran con estos productos.

 Lenguajes soportados. No hace falta memorizarlos, solo que nos suene familiar.

Además, este aspecto es algo que creo que evoluciona con bastante periodicidad.

 Nociones básicas de funcionamiento y configuración.

 Estos son los enlaces a cada uno de los productos relacionados con la monitorización:
 Stackdriver Monitoring.

 Stackdriver Logging y su estructura.

 Stackdriver Error Reporting.

 Stackdriver Tracing y su configuración.

 Stackdriver Debugger y su configuración.

6  BALANCEO Y AUTOESCALADO

En este apartado es importante conocer los balanceadores disponibles en la

plataforma, así como estar familiarizados con las políticas de autoescalado y

cómo éstas son calculadas para crecer o decrecer el número de instancias.

 Balanceo y autoescalado: punto de entrada a la documentación sobre balanceadores,

autoescalado y grupo de instancias. Como he comentado antes, considero que este punto es

de vital importancia complementarlo con un conjunto labs que nos permita ver estos

componentes en marcha, para poder entender bien cómo funcionan las políticas de

autoescalado, los diferentes tipos de balanceadores existentes, etc.

7  RECURSOS, DEPLOYMENT MANAGER Y


AUTOMATIZACIÓN

Aquí he agrupado todo lo que tiene que ver con los distintos recursos de la

plataforma y la automatización de su gestión.


De este modo en este apartado destacaría que es importante distinguir qué

recursos tenemos disponibles en la plataforma, cuáles de ellos son

globales/regionales/zonales, y cómo podemos automatizar los despliegues en la

plataforma vía plantillas (Jinja2/Python) y archivos de configuración (yaml).

Los enlaces a destacar en cuanto a los recursos son:

 Componentes en el ciclo de vida.

 Listado de tipos de recursos.

Y la documentación relacionada con la automatización de los despliegues

(Deployment Manager) es:

 Deployment Manager: Conceptos básicos.

 Deployment Manager: Buenas prácticas.

 Deployment Manager: Variables de entorno.

 Deployment Manager: Uso de referencias .

 Deployment Manager: Plantillas.


 Deployment Manager: Manifest.

8  MANAGED SERVICES - SERVICIOS


GESTIONADOS

Por último, en este apartado he incluido todos aquellos servicios gestionados que

nos ofrece la plataforma y que están construidos sobre los pilares vistos en las

otras secciones: App Engine, Container Engine, Functions, Pub/Sub, etc.

En líneas generales, para poder pasar el examen se puede decir que no es

necesario conocer en profundidad ninguno de estos componentes, pero sí es

esencial saber trabajar con ellos a un nivel básico, y, sobre todo, saber aplicarlos

en los diseños de arquitectura que puedan plantearse.

A continuación los enlaces que me parecieron más interesantes revisar a la hora

de cubrir estos aspectos:

 Tabla usos soluciones Compute: buena tabla de repaso a la hora de seleccionar una de

las tres opciones de computación, con las características de cada uno y sus casos de uso más

habituales.

 Árbol decisión soluciones Compute: al hilo del anterior enlace, árbol de decisión para

elegir la opción de computación adecuada en cada caso. Uno de mis imprescindibles en los

repasos.
 Google Container Engine: punto de entrada a la documentación de Kubernetes en GCP.

 Google Container Engine: Node Pools : de la documentación anterior, considero

especialmente importante dominar los conceptos relacionados (configuración, características,

etc) con los pools de nodos (node pools) asociados.

 App Engine: Standard, App Engine: Flexible y App Engine: Standard vs Flexible:

Fundamental conocer este servicio en profundidad, así como las diferencias entre sus dos

modalidades (por ejemplo: preferencia por la modalidad standard si no tenemos carga regular

de trabajo y/o necesitamos escalado a 0 de nuestra aplicación), los posibles casos de uso que

pueden aplicarse y los métodos de facturación de cada uno de ellos.

 Task Queues: opción muy recurrente en los diseños basados en App Engine. Posible

alternativa a los pub/sub en estos diseños para coordinar “microservicios”.

 Prevención ataques Ddos: muy interesante este artículo de buenas prácticas a la hora

de prevenir nuestras arquitecturas cloud contra estos tipos de ataques.

 Cloud Endpoints: capa ligera de API Management de la plataforma. Basta con conocer

de su existencia y sus características básicas. Pasa lo mismo con su ‘hermano mayor’ en el

mundo del API Management: apigee.


 Pub/Sub: producto recurrente en todas las soluciones donde haya asincronía y

tratamiento masivo de eventos.

 Dataproc: servicio gestionado de Hadoop en la nube. Considero que sólo es necesario

conocer de su existencia, sus posibles casos de uso y poco más.

 Dataflow: parecido a lo anterior, conocerlo y poco más. Producto ETL para trabajos

en streaming y batch de la plataforma GCP.

Fase 3

En este último apartado he recopilado lo que considero que es importante estudiar

en la recta final antes del examen. Esta fase fue la que menos tiempo me llevó y en

la que estuve centrado en mis dos últimas semanas de preparación,

aproximadamente. A destacar:

Soluciones de arquitectura

La documentación de Google es bastante extensa, y bastante buena. Y una de las

cosas que encontré de especial utilidad es la parte de ella que habla de soluciones
ya implementadas mediante Google Cloud Platform en distintos sectores de

negocio.

Además, da la excelente casualidad que algunos de estos casos de negocio

coinciden en su naturaleza con los propuestos para el examen, por los que los

considero de doble utilidad.

Este es el listado de soluciones de arquitectura que, en mi opinión, merece más la

pena revisar, aunque recomiendo revisar el máximo número de soluciones posible:

 E-commerce: Sistema de recomendaciones de productos.

 E-commerce: Inventario en tiempo real.

 Gaming: Solución de plataforma de gaming.

 Gaming: Sistema de analítica basada en plataforma de gaming.

 Gaming: SQL como persistencia en plataforma gaming.

 IoT: Arquitectura general.

 Media: Arquitectura general.
 Media: Solución híbrida: Renderizado.

 Media: Solución híbrida: Carga de trabajo.

 Movilidad: Arquitectura general.

 BigData: Ingestión de eventos.

 Complex Event Processing (CEP): Diseño de Arquitectura.

Prácticas

Por supuesto, toda experiencia real trabajando con la plataforma es muy útil, o en

su defecto, todo que se pueda practicar mediante los labs disponibles:

 Codelabs: conjunto de tutoriales con los que coger experiencia práctica con la

plataforma.

 Qwiklabs: en el caso de haber realizado la especialización de Coursera, aquí se puede

encontrar el conjunto de labs incluidos en los distintos cursos. Especialmente interesantes,

bajo mi opinión, los relacionados con la manipulación de cloud storage, y los relacionados con

balanceadores (Network/HTTP) y un/managed instances groups.


Documentación de repaso final

También hacer hincapié en que, de cara al examen, considero muy importante

repasar todo el contenido estudiado, como es lógico. Sobre todo si tenemos en

cuenta que la materia es bastante extensa (como se ha podido comprobar en

secciones anteriores).

Personalmente, y aunque esto puede variar dependiendo de las capacidades o

el expertise de cada uno, yo encontré bastante útil la siguiente documentación

como material de repaso ‘de último minuto’:

 Slides del la especialización de Coursera.

 Exámenes de prueba de Google Cloud Architect y Google Cloud Engineer.

 Soluciones de arquitectura propuestas por Google (sección anterior).

 Slides del tercer (y último) curso de Linux Academy.

 Mis propios apuntes que me fui construyendo a medida de que estudiaba.

Y, por supuesto:

 Casos de estudio propuestos por Google de cara al examen.


¿Cómo es el examen?

El examen consta de 50 preguntas tipo tests, algunas con respuesta única y otras

de multirespuesta (te indican el número de respuestas válidas en todo caso). Te

conceden dos horas para hacerlo, tiempo que considero más que suficiente. Es

más, creo que el tiempo para hacer el examen es el menor de los problemas para

superarlo.

En cuanto a la tipología de las preguntas, al menos en mi caso, no se parecieron

demasiado a los otros exámenes que hice en los distintos cursos que comentaba

anteriormente, ni los que hice de Coursera y Linux Academy, ni los de Udemy

(éste), aunque considero que son muy útiles en el proceso de formación.

Recuerdo que me encontré con todo tipo de preguntas: de código de bastante bajo

nivel, de conocimiento concreto de algunas tecnologías de la plataforma, de

diseño de arquitectura de bastante alto nivel, etc.

Además, tal y como te comentan en propia documentación, muchas de las

preguntas (no sé decir exactamente cuántas, pero fueron un número importante)

están basadas en los casos de estudio que plantean, así que, aunque permiten ver

los casos prácticos durante el examen, es importante llevarlos bien preparados y

con una solución prediseñada en la cabeza el día del examen.


Por lo demás, es como otro examen de certificación, con la salvedad de que no se

puede realizar desde casa (a diferencia de otros como MongoDB o Spring

Enterprise), sólo desde alguno de sus centros homologados, y que no se sabe

cuantas preguntas respondidas correctamente se necesitan para superarlo (yo al

menos lo desconozco).

¿Realmente merece la pena?

Aunque pueda parecer mucho trabajo, puedo decir que realmente merece la pena

por todo lo que he aprendido. Además, hay que tener en cuenta que las

arquitecturas cloud están cada vez más de moda. Esto no es ningún secreto. Y lo

están por razones como las siguientes:

 Capacidad de cambiar los gastos iniciales de inversión en nuestros sistemas por

gastos operacionales (Operational expenses vs Capital expenses). Es decir, aplicar la filosofía

del pay as you go al mundo del software.

 Poder centrar nuestros esfuerzos en el desarrollo de nuestro negocio, que es lo que

realmente nos genera beneficios, y no en la implantación y mantenimiento de toda la

infraestructura que lo rodea.


 Escalabilidad de 0 hasta virtualmente el infinito de nuestros sistemas, dependiendo de

las necesidades en cada momento.

 Presencia regional o global, dependiendo de la naturaleza de nuestros usuarios.

 Poder delegar la gestión de la seguridad de nuestros sistemas en la plataforma y sus

ingenieros, en lugar de tener que invertir en securizar nuestros entornos con nuestros propios

medios.

 En definitiva, y como consecuencia de todo lo anterior, mejora el time to

market y costes de nuestros productos. Además, seremos más flexibles, por lo que nos

podremos adaptar más rápidamente a los nuevos cambios y necesidades que nos puedan ir

surgiendo con el paso del tiempo.

Conclusiones

Por último, me gustaría decir también que, en cualquier caso, esto no es una guía

de cómo sacarse la certificación, aunque lo pueda parecer en un primer momento,

ni garantiza absolutamente nada en ningún sentido, sino que sólo describe lo que

me ha funcionado a mí, personalmente, en el camino hacia la certificación: cómo

me he organizado y cómo me he preparado, nada más.


Además, y aquí hago un poco de spoiler, en el examen se cubren algunos

conceptos que no son exclusivos de la plataforma, y que no se cubren de manera

explícita en la documentación de Google (que yo sepa), como pueden ser

conceptos de ALM, cuestiones de diseños de arquitectura de alto nivel, o buenas

prácticas, por ejemplo.

Es por esto que considero que, además de estudiar y practicar todo lo que sea

posible, obviamente, si se cuenta con experiencia como Arquitecto y/o Devops en

otros proyectos, mejor que mejor.

Espero que este artículo resulte de utilidad y ayude a conseguir la certificación a

todo aquel que se lo proponga, así, que, por último, sólo decir a estos valientes:

¡Ánimo y mucha suerte!

También podría gustarte