AWS Certified Developer Reloaded

I’m going to share my recent experience with the re-certification – June 2020AWS Developer, one of my favorites, without a doubt. An experience that has been very different from the previous one, since, if my memory serves me well, I didn’t find any repeated question.

The structure of the exam is the usual one for the associated level: 2 hours and 65 questions, with an evolved format, even more, towards scenario-type questions. I don’t recall any direct questions, and certainly not extremely easy ones. That said, it seems to me to be a much more balanced exam than the previous version, where some services had much more weight than others – API gateway, I’m looking at you.

Virtually all Core / Serverless services – important ones – are represented in the exam:

  • S3
  • In Memory Databases: Elastic Cache, Memcache, Redis
  • Databases: RDS, DynamoDB …
  • Security: KMS, Policies ..
  • CI / CD, IAC: ElasticBeanstalk, Codepipeline, Cloudformation …
  • Serverless: Lambda functions, API Gateway, Cognito …
  • Microservices: SQS, SNS, Kinesis, Containers, Step Functions …
  • Monitorización: Cloudwatch, Cloudwatch Logs, Cloudtrail, X-Ray …
  • Optimización: Cost control, Autoscaling, Spot Fleets …

Developer is the Serverless certification par excellence, although some services, such as Step Functions or Fargate Containers, are poorly represented – just one or two questions, and of high difficulty.

Serverless is a great option for IoT Sytems

Prerequisites and recommendations

I will not repeat the information that is already available on the AWS website; instead, I will give my recommendations and personal observations.

Professionals with experience in Serverless development – especially in AWS – Microservices, or experience with React-type applications, will be the most comfortable when preparing and facing this certification.

  • AWS Experience. Certification indicated for professionals with little or no experience on AWS. I´d recommend getting the AWS Certified Cloud Practitioner, though.
  • Dev Experience. It’s essential to possess a certain level, since many of the questions are eminently practical, and are the result of experience in the development field. Knowledge of programming languages like Python, Javascript or Java is something very desirable. The exam poses programming problems indirectly, through concepts, debugging and optimization. The lack of this knowledge or experience generates the impression in many professionals that this certification is of a very high level of difficulty, when in my opinion it is not.
  • Architecture experience. The exam is largely focused on the development of Cloud applications, especially Serverless – Microservices. However, some questions may require knowledge at the Cloud / Serverless / Containers architecture pattern level.
  • DevOps Experience. Concepts such as CI / CD, infrastructure or configuration as code are of great importance today, and this is reflected in the exam. Obviously, the questions focus – for the most part – on AWS products, but knowledge of other products like Docker, Jenkins, Spinaker, Git and general principles can go a long way. Let’s not forget that this certification, together with SysOps, are part of the recommended path to obtain the AWS DevOps Pro certification, and obtaining them automatically re-certifies the two previously mentioned.

Neo, knowing the path is not the same as walking it” – Morpheus. The Matrix, 1999


Imagen aws.amazon.com

AWS Technical Essentials: introductory course, low level. Live remote or in person.

Developing on AWS: course focused on developing AWS applications using the SDK. It is intermediate level, and the agenda seems quite relevant to the certification. Live remote or in person. Not free.

Advanced Developing on AWS: interesting course, but focused on AWS Architecture: migrations, re-architecture, microservices .. Live remote or face-to-face. Not free.

Exam Readiness Developer: essential. Free and digital.

AWS Certified Cloud Practitioner: Official certification, especially aimed at professionals with little knowledge of the Cloud in general, and AWS in particular.

Exam

As I have previously commented, the exam format is similar to most certifications, associated or not. That is, “scenario based”, and in this case of medium difficulty, medium-high. You are not going to find “direct” or excessively simple questions. As it is an associated level exam, each question focuses on a single topic, that is, if the question is about DynamoDB, the question will not contain cross cutting concerns, such as Security, for instance.

Let’s examine a question taken from the certification sample questionnaire:

Very representative question of the medium – high level of difficulty of the exam. We are talking about a development-oriented certification, so you will find questions about development, APIs, configuration, optimization and debugging. In this case, we are presented with a real example of configuring and designing indexes for a DynamoDB table.

DynamoDB is an integral part of the AWS Serverless offering and the flagship database – with permission from Aurora Serverless. Low latency NOSQL database ideal for IoT, events, time – series etc … Its purely Serverless nature allows its use without the need to provide and manage servers, or the need to place it within a VPC. This fact provides a great advantage when accessing it directly from Lambda functions, since it is not necessary that they would “live” within a VPC, with the added expense of resource management and possible performance problems – “enter Hyperplane”.

DynamoDB hardly appears in the new AWS Databases certification, so I´d recommend that you study it in depth for this certification, due the number of questions that may appear.

Services to study in detail

The following services are of great importance – not just to pass the certification – so I highly recommend in-depth study.

Imagen aws.amazon.com
  • AWS S3 – Core service. It appears consistently across all certifications. Use cases, security, encryption, API, development and debugging.
  • Seguridad – It appears consistently in all certifications: KMS encryption, Certificate Manager, AWS Cloud HMS, Federation, Active Directory, IAM, Policies, Roles etc….
  • AWS Lambda – Use cases, creation, configuration-sizing, deployment, optimization, debugging and monitoring (X-RAY).
  • AWS DynamoDB – Use cases, table creation, configuration, optimization, indexes, API, DAX, DynamoDB Streams.
  • AWS API Gateway – Use cases, configuration, API, deployment, security and integration with S3, Cognito and Lambda. Optimization and debugging.
  • AWS ElastiCache – Use cases, configuration-sizing, API, deployment, security, optimization and debugging. It weighs heavily on the exam – at least in my question set.
  • AWS Cognito – Use cases, configuration and integration with other Serverless and Federation services. Concepts like SAML, OAUTH, Active Directory etc … are important for the exam.
  • AWS Cloudformation – Use cases, configuration, creation of scripts, knowledge of the nomenclature / CLI commands.
  • AWS SQS – Use cases, architecture, configuration, API, security, optimization and debugging. Questions of different difficulty levels may appear.

Very important services to consider

  • AWS SNS – Knowledge of use cases at architecture level, configuration, endpoints, integration with other Serverless services.
  • AWS CLI – Average knowledge of different commands and nomenclature. In my set of questions not many appeared, but in any case, it is very positive to have some ease at the console level.
  • AWS Kinesis – Some more complex questions appear in this version of the exam than in the previous embodiment. Use cases, configuration, sizing, KPL, KCL, API, debugging and monitoring.
  • AWS CloudWatch, Events, Log – It appears consistently across all certifications. Knowledge of architecture, configuration, metrics, alarms, integration, use cases.
  • AWS X-RAYUse cases, configuration, instrumentation and installation in different environments.
  • AWS Pipeline, CodeBuild, Cloud Deploy, CodeCommit, CodeStar – High-level operation, architecture, integration and use cases. I´d recommend in depth study of CodePipeline and CodeBuild.
  • AWS ELB / Certificates – Use cases, ELB types, integration, debugging, monitoring, security – certificate installation.
  • AWS EC2, Autoscaling – Use cases, integration with ELB.
  • AWS Beanstalk – Architecture, use cases, configuration, debugging and deployment types – very important for the exam: All at Once, Rolling etc …
  • AWS RDS – One of the star services of AWS and the Databases Certification. Here it makes its appearance in a limited way: use cases, configuration, integration – caches – debugging and monitoring.

Other Services

  • AWS Networking – architecture and basic network knowledge: VPC, security groups, Regions, Zones, VPN … They appear in a general and limited way, compared to the rest of the certifications. It is one of the reasons why this certification is ideal for beginners. Network architecture on AWS can be a very complex and arid topic.
  • AWS Step FunctionsA service widely used in the business environment, but which appears circumstantially in certifications. I recommend studying architecture, use cases and nomenclature – the questions are not easy.
  • AWS SAM – Use cases, configuration and deployment. SAM CLI Commands.
  • AWS ECS / Fargate – Its appearance in the certifications is quite disappointing – and more so when compared to Google Cloud´s certifications, where Kubernetes – GKE – has a main role – logical, since it´s Google’s native technology. I´d recommend studying the architecture, use cases – microservices – configuration, integration and monitoring (X-RAY).
  • AWS Cloudfront – General operation and use cases. Integration with S3.
  • AWS Glue – General operation and use cases.
  • AWS EMR General operation and use cases.
  • AWS DataPipeline – General operation and use cases.
  • AWS Cloudtrail – General operation and use cases.
  • AWS GuardDuty – General operation and use cases.
  • AWS SecretsManager – General operation and use cases.

Essential Resources

  • AWS Certification Website.
  • Sample questions
  • Readiness course – recommended, with additional practice questions,
  • AWS Whitepapers – “Storage Services Overview“, “Hosting Static Websites on AWS“, “In Memory Processing in the Cloud with Amazon ElastiCache“, “Serverless Architectures with AWS Lambda“, “Microservices“.
  • FAQS – specially for Lambda, API Gateway, DynamoDB, Cognito, SQS and ElastiCache.
  • AWS Compute Blog
  • Practice Exam – highly recommended, level of difficulty representative of the exam.

Laboratories

I´d like to propose you an incremental practical exercise, cooked by me, that can be useful for preparing for the exam.

Serverless Web App

Imagen aws.amazon.com
  • Create a static website and host it on S3. Use AWS CLI and APIS to create a bucket and copy the contents.
  • Create a repository with CodeCommit and upload the files from the Web to it.
  • Integrate S3 and Cloudfront – creating a Web distribution.
  • Create a Serverless backend with API Gateway, Lambda and DynamoDB, or alternatively Aurora Serverless, using Cloudformation and the AWS SAM model.
  • Code the Lambdas functions with one of the supported runtimes – Python, Javascript, Java … – and use BOTO to insert and read in DynamoDB. Each Lambda will correspond to an API Gateway method, accessible from the Web.
  • Integrate X-Ray to trace Lambdas.
  • Create the Stack from the console.
  • Upload the generated YAML´s files to CodeCommit.
  • Optional: create a pipeline using CodePipeline and CodeCommit.
  • Optional: integrate Cognito with API Gateway to authenticate, manage, and restrict API usage.
  • Optional: replace DynamoDB with RDS and integrate Elasticache.
  • Optional: add a SQS queue, which will be fed from a Lambda. Create another Lambda that consumes the queue periodically.

Is it worth it?

Certifications are a good way, not only to validate knowledge externally, but to collect updated information, validate good practices and consolidate knowledge with real (or almost) practical cases.

Obtaining the AWS Certified Developer seems to me a “no brainer” in most cases, as I explained previously in another post, and in this one.

Good luck to everyone!

AWS Certified Developer Recargado

Voy a compartir mi reciente experiencia con la recertificación – Junio 2020 – AWS Developer, una mis certificaciones favoritas, sin ninguna duda. Una experiencia que ha sido muy distinta a la de la convocatoria anterior, ya que, si mi memoria no me engaña, no encontré ninguna pregunta repetida.

La estructura del examen es la habitual para el nivel asociado: 2 horas y 65 preguntas, con un formato evolucionado, aún más, hacia las preguntas tipo escenario. No recuerdo ninguna pregunta directa, y desde luego, ninguna extremadamente fácil. Dicho esto, me parece un examen bastante más equilibrado que la versión anterior, donde algunos servicios tenían mucho más peso que otros – API gateway, I´m looking at you.

Prácticamente, todos los servicios Core / Serverless – importantes – tienen representación en el examen:

  • S3
  • In Memory Databases: Elastic Cache, Memcache, Redis
  • Bases de datos: RDS, DynamoDB …
  • Seguridad y encriptación: KMS, Policies ..
  • Despliegue, Configuración e IAC: ElasticBeanstalk, Codepipeline, Cloudformation …
  • Serverless: Funciones Lambda, API Gateway, Cognito …
  • Microservicios: SQS, SNS, Kinesis, Contenedores, Step Functions …
  • Monitorización: Cloudwatch, Cloudwatch Logs, Cloudtrail, X-Ray …
  • Optimización: Control de costes, Contenedores, Autoscaling, Spot Fleets …

Developer es la certificación Serverless por excelencia, aunque algunos servicios, como Step Functions o Contenedores tipo Fargate, están pobremente representados – apenas una o dos preguntas, y de dificultad elevada.

Serverless es una gran opción para sistemas IoT

Pre-requisitos y recomendaciones

No voy a repetir la información que ya está disponible en la web de AWS; en cambio, voy a dar mis recomendaciones y observaciones personales.

En el siguiente post reflexiono sobre la presente certificación, y cómo debería ser la primera obtenida, en muchos casos:

https://metanube.org/2020/06/22/aws-certified-solutions-architect-mas-alla-del-hype/

Profesionales con experiencia en desarrollo Serverless – sobre todo en AWS – Microservicios, o experiencia con aplicaciones de tipo React, son los que más cómodos se encontrarán a la hora de preparar y enfrentarse a esta certificación.

  • Experiencia AWS. Certificación indicada para aquellos profesionales con poca o ninguna experiencia en AWS. Recomiendo al menos obtener la AWS Certified Cloud Practitioner.
  • Experiencia en Desarrollo. Imprescindible poseer un cierto nivel, ya que muchas de las preguntas son eminentemente prácticas, y son fruto de la experiencia en el campo de desarrollo. Conocimientos de lenguajes de programación como Python, Javascript o Java es algo muy deseable. El examen plantea problemas de programación de forma indirecta, mediante conceptos, depuración de errores y optimización. La falta de este conocimiento o experiencia, genera la impresión en muchos profesionales que esta certificación es de un nivel de dificultad muy elevada, cuando en mi opinión, no lo es.
  • Experiencia en Arquitectura. El examen está enfocado en gran parte al desarrollo de aplicaciones Cloud, especialmente Serverless – Microservicios. Sin embargo, algunas preguntas pueden requerir conocimientos a nivel de patrones arquitectura Cloud / Serverless / Containers.
  • Experiencia DevOps. Conceptos como CI/CD, infraestructura o configuración como código, son de gran importancia en la actualidad, y así se refleja en el examen. Obviamente, las pregunta se centran – mayoritariamente – en productos AWS, pero el conocimiento de otros productos – Docker, Jenkins, Spinaker, Git – y principios generales pueden ser de gran ayuda. No olvidemos que esta certificación, junto con SysOps, forman parte del path recomendado para obtener la certificación AWS DevOps Pro, y su obtención re-certifica automáticamente las dos anteriormente mencionadas.

Neo, no es lo mismo conocer el camino que recorrerlo” – Morpheus. The Matrix, 1999


Imagen aws.amazon.com

AWS Technical Essentials: curso introductorio, nivel bajo. Live remoto o presencial – de pago.

Developing on AWS: curso centrado en el desarrollo de aplicaciones AWS usando la SDK. Es de nivel intermedio, y el temario me parece bastante relevante para la certificación. Live remoto o presencial – de pago.

Advanced Developing on AWS: interesante curso, pero centrado en Arquitectura AWS: migraciones, re-arquitectura, microservicios … Live remoto o presencial – de pago.

Exam Readiness Developer: imprescindible. Gratuito y digital.

AWS Certified Cloud Practitioner: certificación oficial AWS, especialmente dirigida a aquellos profesionales con escasos conocimientos sobre Cloud en general, y AWS en particular.

Examen

Como he comentado previamente, el formato del examen es similar a la mayoría de certificaciones, asociadas o no. Es decir, “scenario based”, y en este caso de dificultad media, media-alta. No vais a encontrar preguntas “directas” o excesivamente sencillas. Al ser un examen de nivel asociado cada pregunta se centra en un sólo tópico, es decir, si la pregunta es sobre DynamoDB, la pregunta no contendrá cross cutting concerns, como Seguridad, por ejemplo.

Examinemos una pregunta tomada del cuestionario de ejemplo la certificación:

Pregunta muy representativa del nivel de dificultad medio – alto del examen. Estamos hablando de una certificación orientada al desarrollo, por lo que os vais a encontrar con preguntas de carácter técnico, conocimiento profundo de API´s, configuración, optimización y depuración. En este caso, nos plantean un ejemplo real de configuración y diseño de índices para una tabla de DynamoDB.

DynamoDB es parte integral de la oferta Serverless de AWS y la base de datos estrella – con permiso de Aurora Serverless. Base de datos NOSQL de baja latencia ideal para IoT, eventos, time – series etc … Su naturaleza puramente Serverless permite su utilización sin necesidad de proveer y gestionar servidores, o la necesidad de situarla dentro de una VPC. Este hecho proporciona una gran ventaja a la hora de acceder a la misma de forma directa desde funciones Lambda, ya que no es necesario que estas “vivan” dentro de una VPC, con el gasto añadido de gestión de recursos y posibles problemas de rendimiento – “enter Hyperplane“.

DynamoDB apenas aparece en la nueva certificación AWS Databases, por lo que recomiendo su estudio para la presente certificación, por la profundidad y número de preguntas que pueden aparecer.

Servicios a estudiar de forma detallada

Los siguientes servicios son de gran importancia – no solo para aprobar la certificación – por lo que recomiendo su estudio en profundidad.

Imagen aws.amazon.com
  • AWS S3 – Servicio Core. Aparece de forma consistente en todas las certificaciones. Casos de uso, seguridad, encriptación, API, desarrollo y depuración.
  • Seguridad: Aparece de forma consistente en todas las certificaciones: encriptación KMS, Certificate Manager, AWS Cloud HMS, Federación, Active Directory, IAM, Policies, Roles etc …
  • AWS Lambda – Casos de uso, creación, configuración-sizing, despliegue, optimización, depuración y monitorización (X-RAY).
  • AWS DynamoDB – Casos de uso, creación de tablas, configuración, optimización, índices, API, DAX, DynamoDB Streams.
  • AWS API Gateway – Casos de uso, configuración, API, despliegue, seguridad e integración con S3, Cognito y Lambda. Optimización y depuración.
  • AWS ElastiCache – Casos de uso, configuración-sizing, API, despliegue, seguridad, optimización y depuración. Tiene gran peso en el examen – al menos en mi set de preguntas.
  • AWS Cognito – Casos de uso, configuración e integración con otros servicios Serverless y Federación. Conceptos como SAML, OAUTH, Directorio Activo etc … son importantes para el examen.
  • AWS Cloudformation – Casos de uso, configuración, creación de scripts, conocimiento de la nomenclatura / comandos CLI.
  • AWS SQS – Casos de uso, arquitectura, configuración, API, seguridad, optimización y depuración. Pueden aparecer preguntas de diferente nivel de dificultad.

Servicios muy importantes a tener en cuenta

  • AWS SNS – Conocimientos de casos de uso a nivel arquitectura, configuración, endpoints, integración con otros servicios Serverless.
  • AWS CLI – Conocimiento medio sobre distintos comandos y nomenclatura. En mi set de preguntas no aparecieron muchas, pero en cualquier caso, es muy positivo tener cierta soltura a nivel consola.
  • AWS Kinesis – En esta versión del examen aparecen algunas preguntas de mayor complejidad que en la encarnación anterior. Casos de uso, configuración, sizing, KPL, KCL, API, depuración y monitorización.
  • AWS CloudWatch, Events, Log – Aparece de forma consistente en todas las certificaciones. Conocimientos arquitectura, configuración, métricas, alarmas, integración, casos de uso.
  • AWS X-RAYCasos de uso, configuración, instrumentación e instalación en diferentes entornos.
  • AWS Pipeline, CodeBuild, Cloud Deploy, CodeCommit, CodeStar – Funcionamiento a alto nivel, arquitectura, integración y casos de uso. Recomiendo un estudio más detallado de Pipeline y CodeBuild.
  • AWS ELB / Certificates – Casos de uso, tipos de ELB, integración, depuración, monitorización, seguridad – instalación de certificados.
  • AWS EC2, Autoscaling – Parecido al caso interior. Casos de uso, integración con ELB.
  • AWS Beanstalk – Arquitectura, casos de uso, configuración, depuración y tipos de despliegue – muy importante para el examen: All at Once, Rolling etc …
  • AWS RDS – Uno de los servicios estrella de AWS y de la Databases Certification. Aquí hace su aparición de forma limitada: casos de uso. configuración, integración – caches – , depuración y monitorización.

Otros servicios

  • AWS Networking – arquitectura y conocimientos básicos de red: VPC, security groups, Regiones, Zonas, VPN … Aparecen de forma general y limitada, en comparación con el resto de certificaciones. Es una de las razones por la cual esta certificación es ideal para principiantes. La arquitectura de red en AWS puede ser un tema muy complejo y árido.
  • AWS Step FunctionsUn servicio muy utilizado en el entorno empresarial, pero que en las certificaciones aparece de forma circunstancial. Recomiendo estudiar arquitectura, casos de uso y nomenclatura – las preguntas no son sencillas.
  • AWS SAM – Casos de uso, configuración y despliegue. Comandos SAM CLI.
  • AWS ECS / Fargate – Su aparición en las certificaciones es bastante decepcionante, y más si lo comparamos con las certificaciones de Google Cloud, donde Kubernetes – GKE – tiene un papel principal – lógico, ya que es una tecnología nativa de Google. Está claro que la estrategia de AWS es otra, ya que los contenedores son unas de las tecnologías más utilizadas hoy en día – obvio espejo de Serverless. Recomiendo estudiar la arquitectura, casos de uso – microservicios – configuración, integración y monitorización (X-RAY).
  • AWS Cloudfront – Funcionamiento general y casos de uso. Integración con S3.
  • AWS Glue – Funcionamiento general y casos de uso.
  • AWS EMR Funcionamiento general y casos de uso.
  • AWS DataPipeline – Funcionamiento general y casos de uso.
  • AWS Cloudtrail – Funcionamiento general y casos de uso.
  • AWS GuardDuty – Funcionamiento general y casos de uso.
  • AWS SecretsManager – Funcionamiento general y casos de uso.

Recursos esenciales

  • AWS Certification Website.
  • Preguntas de ejemplo
  • Curso de preparación – recomendado, con preguntas de práctica adicionales.
  • AWS Whitepapers – “Storage Services Overview“, “Hosting Static Websites on AWS“, “In Memory Processing in the Cloud with Amazon ElastiCache“, “Serverless Architectures with AWS Lambda“, “Microservices“.
  • FAQS para cada servicio – especialmente para Lambda, API Gateway, DynamoDB, Cognito, SQS y ElastiCache.
  • AWS Compute Blog
  • Examen de práctica – recomendado, nivel de dificultad representativo del examen.

Laboratorios

Os propongo un ejercicio práctico incremental, de mi propia cosecha, que puede ser de utilidad de cara a la preparación del examen.

Aplicación Web Serverless orientada a Microservicios

Imagen aws.amazon.com
  • Crear una web estática y alojarla en S3. Utilizar AWS CLI y APIS para crear un bucket y copiar los contenidos.
  • Crear un repositorio con CodeCommit y subir los ficheros de la Web al mismo.
  • Integrar S3 y Cloudfront, creando una distribución Web.
  • Crear un backend Serverless con API Gateway, Lambda y DynamoDB, o en su defecto Aurora Serverless, utilizando Cloudformation y el modelo AWS SAM.
  • Codificar las Lambdas con uno de los runtimes soportados – Python, Javascript, Java … – y utilizar Boto para insertar y leer en DynamoDB. Cada Lambda se corresponderá con un método de API Gateway, accesibles desde la Web.
  • Integrar X-Ray para tracear las Lambdas.
  • Crear el Stack desde desde la consola.
  • Subir los ficheros YAML´s generados a CodeCommit.
  • Opcional: crear un pipeline usando CodePipeline y CodeCommit.
  • Opcional: integrar Cognito con API Gateway para autenticar, gestionar y restringir el uso de la API.
  • Opcional: sustituir DynamoDB por RDS e integrar ElasticCache.
  • Opcional: añadir una cola SQS. que será alimentada desde una Lambda. Crear otra Lambda que consuma la cola de forma periódica.

¿Merece la pena?

Las certificaciones son un buen modo, no solo de validar los conocimientos de forma externa, sino de recopilar información actualizada, validar buenas prácticas y consolidar conocimientos con casos prácticos reales (o casi).

La obtención de la AWS Certified Developer me parece un “no brainer” en la mayoría de los casos, como he explicado anteriormente en otro post, y en este mismo.

¡Buena suerte a todos!

AWS Data Analytics Specialty, is it worth it?

On April 13, the journey of the new AWS Data Analytics Specialty certification officially began – prior to the beta phase in December 2019 / January 2020. It coincided in time with the AWS Database Specialty Beta, which forced me to choose between the two. Finally, I decided on taking the Databases Specialty, as I had recently tested from AWS Big Data.

The “Beta exam” experience is very different from the “standard” one: 85 questions and 4 hours long – that is, 20 questions and one more hour – a really intense experience. I recommend taking a 5-minute break – in the centers they are allowed – since after the third hour it is very difficult to stay focused.

The certification is the new version of AWS Big Data Specialty, an exam that will be withdrawn in June 2020. I will not go into much depth on the differences, suffice it to say that the domain of Machine Learning has been eliminated, expanding and updating the rest of domains in depth. But beware, Machine Learning and IoT continue to appear integrated in the other domains, therefore, it is necessary to know them at an architectural level, at the very least.

Image from aws.amazon.com

Prerequisites and recommendations

I will not repeat the information that is already available on the AWS website; instead, I am going to give my personal recommendations and observations, as I consider the Learning Path that AWS suggests to be somewhat light for the current level of the exam.

  • AWS experience at the architectural level. The exam is largely focused on advanced architecture solution – 5 pillars – and to a lesser extent on development, which is present mainly in services such as Kinesis and Glue. I recommend being in possession of the AWS Architect Solutions Pro certification or alternatively the AWS Architect Associate + AWS Security Specialty.
  • Advanced AWS security experience. it is a complete domain of the exam, but can be found – cross domain – in many questions. If you are in possession of the AWS Architect Solutions Pro, general security knowledge may be sufficient – not the specific certification knowledge for each service. Otherwise, the AWS Security Specialty is a good option, or equivalent knowledge in certain services – that I will indicate later on.
  • Analytics knowledge. Otherwise, I´d recommend studying books such as “Data Analytics with Hadoop” – O’Reilly 2016, or taking the courses indicated in the AWS Learning Path. Likewise, carry out laboratories or pet projects to obtain some practical experience.
  • Hadoop´s ecosystem knowledge. Connected to the previous point. High-level and architectural knowledge of the ecosystem is a must: ​​Hive, Presto, Pig, …
  • Knowledge of Machine Learning and IoT – AWS ecosystem. Sagemaker and core IoT services at the architectural level

Imagen aws.amazon.com

Exam

The questions follow the style of other certifications such as AWS Pro Architect or Security or Databases Specialty. They are all “scenario based”, long and complex – most of them. You are not going to find many simple questions. Certainly, between 5% and 10% of “easy” questions appeared, but all in a “scenario” format.

Let’s look at an example taken from the AWS sample questions:

Imagen amazon.aws.com

I´d classify this question as “intermediate” level of difficulty. If you have taken the Architect PRO, or some specialty such as Security or Big Data, you will know what I am talking about. Certainly, the level of the questions is much higher and deeper than in the previous version of the exam.

I´d recommend doing the new specialty directly, as the old one contains questions about already deprecated services – or outdated information.

Services to know in depth

Image from aws.amazon.com

AWS Kinesis – in its three modalities, Data Streams, Firehose and Analytics. Architecture, dimensioning, configuration, integration with other services, security, troubleshooting, metrics, optimization and development. Questions of various levels, some of them very complex and of great depth.

AWS Glue – in deep for ETL and discover – an integral part of the exam. Questions of different levels – I did not find them to be the most difficult.

AWS Redshift – architecture, design, dimensioning, integration, security, ETL, backups … a large number of questions and some of them very complex.

AWS EMR / Spark – architecture, sizing configuration, performance, integration with other services, security, integration with the Hadoop ecosystem – very important, but not as important as the previous three services. Very complex questions that require advanced and transversal knowledge of all domains and the Hadoop ecosystem: Hive, HBase, Presto, Scoop, Pig

Security – KMS encryption, AWS Cloud HMS, Federation, Active Directory, IAM, Policies, Roles etc … in general and for each service in particular. Transversal questions to other domains and of a high difficulty.

Very important services to consider

  • AWS S3 – core service base (storage, security, rules) and new features like AWS S3 Select. It appears consistently across all certifications, which is why I´d assume it’s known in depth except for the new features.
  • AWS Athena – architecture, configuration, integration, performance, use cases. It appears consistently and as an alternative to other services.
  • AWS Managed Kafka – alternative to Kinesis, architecture, configuration, dimensioning, performance, integration, use cases.
  • AWS Quicksight – subscription formats, service features, different ways of viewing, use cases. Alternative to other services.
  • AWS Elastic Search y Kibana (ELK) – architecture, configuration, dimensioning, performance, integration, use cases. Alternative to other services.
  • AWS Lambda – architecture, integration, use cases.
  • AWS StepFunctions – architecture, integration, use cases.
  • AWS DMS – architecture, integration, use cases.
  • AWS DataPipeline – architecture, integration, use cases.
Image from aws.amazon.com

Other services

  • AWS Networking – basic network architectures and knowledge: VPC, security groups, Direct Connect, VPN, Regions, Zones … network configuration of each particular service.
  • AWS DynamoDB, ElasticCache – architecture, integration, use case knowledge. These services, which appeared very prominently in the previous version of the exam, have much less weight in the current one.
  • AWS CloudWatch, Events, Log – architecture, configuration, integration, use case knowledge.
  • AWS RDS y Aurora – architecture, configuration, integration, use case knowledge.
  • EC2, Autoscaling – knowledge of architecture, integration, use cases.
  • SQS, SNS – knowledge of architecture, integration, use cases.
  • AWS Cloudformation – knowledge of architecture, use cases, devops.
  • Sagemaker y AWS IoT core – knowledge of architecture, integration, use cases.

Essential Resources

Is it worth it?

Let´s see 🙂

AWS Data Analytics Specialty is a complex and difficult certification; expensive (300 euros), which requires a very important investment of time – even having experience in analytics and AWS. Therefore, it is not a decision that can be taken lightly.

In my personal case, I found it very convenient to have done it, since I having been working on several projects of that kind – fast data, IoT – under AWS in recent times – apart from being the only certification that I needed to complete the full set of thirteen – if Big Data is included – certifications.

Certifications are a good way, not only to validate knowledge externally, but to collect updated information, validate good practices and consolidate knowledge with real (or almost) practical cases.

For those interested in the analytics field or who have professional experience in it, and who want to make the leap to the cloud, my recommendation is to first obtain an AWS Architect-type certification – preferably PRO – and optionally the Security specialty or equivalent knowledge , at least in the services that I have mentioned in previous points.

For those who already have AWS certifications, but no professional experience in the specific field, it may be a good way to start, but it will not be an easy or short path. I recommend doing labs or pet projects, in order to get some experience necessary to pass the exam.

So is it worth it? Absolutely, but not as a first certification. Especially aimed at people with advanced knowledge of AWS architecture who want to delve deeper into the analytics – cloud field.

Good luck to you all!

AWS Data Analytics Specialty, ¿merece la pena?

El 13 de Abril comenzó de forma oficial el recorrido de la nueva certificación AWS Data Analytics Specialty – previa fase beta en Diciembre 2019 / Enero 2020. Coincidió en el tiempo con AWS Database Specialty Beta, lo que me obligó a elegir entre las dos. Finalmente, me decidí por Databases, ya que me había examinado recientemente de AWS Big Data Specialty,

La experiencia “examen Beta” es muy diferente a la “standard“: 85 preguntas y 4 horas de duración – es decir, 20 preguntas y una hora mas – lo que da lugar a una experiencia muy intensa. Recomiendo hacer algún descanso de 5 minutos – en los centros están permitidos – ya que a partir de la tercera hora el examen se hace muy pesado, y es difícil mantener la concentración.

La certificación es la nueva versión de AWS Big Data Specialty, examen que será retirado en Junio de 2020. No voy a entrar en mucha profundidad en las diferencias, basta decir que se ha eliminado el dominio de Machine Learning, expandiendo y actualizando el resto de dominios en profundidad. Pero atención, Machine Learning e IoT siguen apareciendo integrados en el resto de dominios, por lo tanto, es necesario conocerlos a nivel arquitectural, como mínimo.

Pre-requisitos y recomendaciones

No voy a repetir la información que ya está disponible en la web de AWS; en cambio, voy a dar mis recomendaciones y observaciones personales, ya que considero que el Learning Path que sugiere AWS es algo ligero para el nivel actual del examen.

  • Experiencia AWS a nivel arquitectural. El examen está enfocado en gran parte a la solución de arquitectura avanzada – 5 pilares – y en menor medida al desarrollo, que tiene presencia sobre en todo en servicios como Kinesis y Glue. Recomiendo estar en posesión de la certificación AWS Architect Solutions Pro, y en su defecto la AWS Architect Associate + AWS Security Specialty.
  • Experiencia AWS a nivel de seguridad. Es un dominio completo del examen, pero se encuentra presente de forma transversal en muchas preguntas. Si se está en posesión de la AWS Architect Solutions Pro los conocimientos generales de seguridad pueden ser suficientes – no los específicos de la certificación para cada servicio. En caso contrario, la AWS Security Specialty es una buena opción, o conocimientos equivalentes en ciertos servicios que indicaré en siguientes puntos.
  • Conocimientos de Analytics. En caso contrario, recomiendo estudiar libros como “Data Analytics with Hadoop” , O’Reilly 2016, o tomar los cursos que se indican en el Learning Path de AWS. Así mismo, realizar laboratorios o proyectos pet para obtener cierta experiencia práctica.
  • Conocimientos del ecosistema Hadoop – Spark, conectado con el punto anterior. Son necesarios conocimientos de alto nivel y arquitectural del ecosistema: Hive, Presto, Pig, …
  • Conocimientos de Machine Learning e IoT en el ecosistema AWS. Sagemaker y servicios core IoT a nivel arquitectural.

Imagen aws.amazon.com

Examen

Las preguntas siguen el estilo de otras certificaciones cómo AWS Pro Architect, Security o Databases Specialty. Son todas “scenario based”, largas y complejas – la mayoría de ellas. No vais a encontrar preguntas “directas” o muy sencillas. Ciertamente, aparecieron entre un 5% y 10% de preguntas “asequibles”, pero todas en formato “escenario”.

Veamos un ejemplo tomado de las preguntas de ejemplo de AWS:

Imagen amazon.aws.com

Esta pregunta la clasifico como dificultad “intermedia”. Si os habéis examinado del Architect PRO, o de alguna especialidad como Security o Big Data, sabréis de lo que hablo. Ciertamente, el nivel de las preguntas es mucho más alto y profundo que en la versión anterior del examen.

Recomiendo realizar directamente la nueva especialidad, ya que la antigua contiene preguntas sobre servicios ya deprecados – o información desactualizada.

Servicios a conocer de forma profunda – inside out

AWS Kinesis – en sus tres modalidades, Data Streams, Firehose y Analytics. Arquitectura, dimensionamiento, configuración, integración con otros servicios, seguridad, troubleshooting, métricas, optimización y desarrollo – parte integral del examen. Preguntas de diverso nivel, algunas complejas y de gran profundidad.

AWS Glue – de forma profunda para ETL y discovery, parte integral del examen. Preguntas de diverso nivel – no me parecieron las más difíciles.

AWS Redshift – arquitectura, diseño, dimensionamiento, integración, seguridad, ETL, backups… gran número de preguntas, tantas que sorprende – y algunas muy complejas.

AWS EMR / Spark – arquitectura, dimensionamiento, configuración, performance, integración con otros servicios, seguridad, integración con el ecosistema Hadoop – muy importante, pero no tanto como los tres servicios anteriores. Preguntas muy complejas que requieren conocimientos avanzados y transversales a todos los dominios y al ecosistema Hadoop: Hive, HBase, Presto, Scoop, Pig …

Seguridad: encriptación KMS, AWS Cloud HMS, Federación, Active Directory, IAM, Policies, Roles etc … en general y para cada servicio en particular. Preguntas transversales a otros dominios y de dificultad elevada.

Servicios muy importantes a tener en cuenta

  • AWS S3 – servicio core base (almacenamiento, seguridad, reglas) y nuevas funcionalidades como AWS S3 Select. Aparece de forma consistente en todas las certificaciones, por lo que doy por supuesto que se conoce en profundidad, excepto las nuevas características.
  • AWS Athena – arquitectura, configuración, integración, performance, casos de uso. Aparece de forma consistente y como alternativa a otros servicios.
  • AWS Managed Kafka – alternativa a Kinesis, arquitectura, configuración, dimensionamiento, performance, integración, casos de uso.
  • AWS Quicksight – formatos de subscripción, características del servicio, diferentes formas de visualización, casos de uso. Alternativa a otros servicios.
  • AWS Elastic Search y Kibana (ELK) – arquitectura, configuración, dimensionamiento, performance, integración, casos de uso. Alternativa a otros servicios.
  • AWS Lambda – arquitectura, integración, casos de uso.
  • AWS StepFunctions – arquitectura, integración, casos de uso.
  • AWS DMS – conocimientos arquitectura, integración, casos de uso.
  • AWS DataPipeline – conocimientos arquitectura, integración, casos de uso.

Otros servicios

  • AWS Networking – arquitecturas y conocimientos básicos de red: VPC, security groups, Direct Connect, VPN, Regiones, Zonas … configuración de red de cada servicio en particular.
  • AWS DynamoDB, Elastic Cache – conocimientos arquitectura, integración, casos de uso. Estos servicios que aparecían de forma muy prominente en la anterior versión del examen, tienen mucho menos peso en la actual.
  • AWS CloudWatch, Events, Log – conocimientos arquitectura, configuración, integración, casos de uso.
  • AWS RDS y Aurora – conocimientos arquitectura, integración, casos de uso.
  • EC2, Autoscaling – conocimientos arquitectura, integración, casos de uso.
  • SQS, SNS – conocimientos arquitectura, integración, casos de uso.
  • AWS Cloudformation – conocimientos alto nivel del servicio, casos de uso, DevOps.
  • Sagemaker y AWS IoT core – conocimientos arquitectura, integración, casos de uso.

Recursos esenciales

  • AWS Certification Website.
  • Preguntas de ejemplo
  • Curso de preparación – imprescindible, contiene gran cantidad de información y recursos – incluye test de 20 preguntas
  • AWS Whitepapers – “Big Data Analytics Options” en AWS.
  • AWS FAQS para cada servicio – especialmente para Kinesis, Glue, Redshift, EMR.
  • AWS Big Data Blog
  • Examen de práctica – imprescindible y de nivel representativo del examen

¿Merece la pena?

Veamos 🙂

AWS Data Analytics Specialty es una certificación compleja y difícil; cara (300 euros), que requiere una inversión de tiempo muy importante – aun teniendo experiencia en analytics y AWS. Por lo tanto, no es una decisión que se pueda tomar a la ligera.

En mi caso personal, me pareció muy conveniente realizarla al haber estado trabajando en varios proyectos de tipo analytics – fast data, IoT – bajo AWS en los últimos tiempos – aparte de ser la única certificación que me faltaba para completar el full set de trece – si se incluye Big Data – certificaciones.

Las certificaciones son un buen modo, no solo de validar los conocimientos de forma externa, sino de recopilar información actualizada, validar buenas prácticas y consolidar conocimientos con casos prácticos reales (o casi).

Para los interesados en el campo analytics o que tienen experiencia profesional en el mismo, y que quieran dar el salto al cloud, mi recomendación es obtener primero una certificación AWS de tipo Arquitecto – preferiblemente la PRO – y optativamente la especialidad de Seguridad o conocimientos equivalentes, al menos en los servicios que he mencionado en puntos anteriores.

Para aquellos que tengan ya certificaciones AWS, pero no experiencia profesional en el campo específico, puede ser una buena forma para empezar, pero no va a ser un camino fácil o corto. Recomiendo la realización de laboratorios o proyectos pet, para así obtener cierta experiencia necesaria para superar el examen.

¿Merece la pena? desde luego, pero no como una primera certificación. Especialmente dirigida para gente con conocimientos avanzados de arquitectura AWS que quieran profundizar en el campo analytics – cloud.

¡Buena suerte a todos!