AWS Solutions Architect Associate study notes, exam pointers, and cheat sheet.

Photo by Mitch Rosen on Unsplash

This material was gathered during my preparation for the AWS Solutions Architect Associate Exam. I created and curated this cheatsheet with useful information that will be handy to review before taking the exam.

I gathered all the topics and details that I struggled with, and I believe this cheatsheet greatly helped me pass this certification and get my badge.

Note that the most important thing to pass this exam is to get a good overall understanding of the basic AWS services first. …

Photo by Paul Skorupskas on Unsplash

This article explores Lens, an IDE for Kubernetes that enables easier management, monitoring, & observability for clusters. It is a standalone application, and it is available on all platforms.

Lens is quite powerful providing us with real-time statistics, log streams, and troubleshooting capabilities out of the box while it’s open-source and free.

Getting Started

Let’s explore its features and how it could help our daily workflows. You can find the official documentation here.

First, we need to download Lens. Grab the correct package for your platform and install the app.

In order to try Lens, we need a K8s cluster. For this…

Photo by Alessandro Erbetta on Unsplash

TL;DR Common patterns and Serverless Architectures on AWS

This article contains several patterns and common architectural choices for building software solutions leveraging mostly AWS serverless services.

Why Serverless

Serverless services help us abstract our computing infrastructure so that we can focus solely on business logic.

Even more, When our app is not running we don’t pay for idle server time, but only for what we use. Serverless services scale horizontally & auto-magically and we don’t have to guess our capacity needs upfront.

We can deploy to production quickly, benefiting from zero infrastructure provisioning & maintenance that these services offer.

These services have…

Photo by Georgy Rudakov on Unsplash

TL;DR Host a fully-managed Vault service on HCP in minutes without the operational overhead of managing it yourself.


HashiCorp Cloud Platform (HCP) is a fully managed platform offering HashiCorp products as a service to automate infrastructure on any cloud.

Currently, HCP offers Vault in BETA so we can use this to set it up quickly and get immediate access to Vault’s best-in-class secrets management and encryption capabilities.

Using the Cloud Platform we can benefit from Vault’s resilience and operational excellence without the burden of managing Vault ourselves.

Create a Vault Cluster on HCP

Step number one, you need to create an HCP account. They have a…

Photo by Federico Beccari on Unsplash

A dockerized python script that queries AWS EC2 API and generates an SSH config file ready to use.


Connecting to our instances with ssh can be time-consuming since we have to know every time the IP to use.

This isn’t an issue in environments where public IPs don't change since we can configure our SSH Config File and we are ready to use aliases to connect to our instances.

In cases where the public IP of the instances is changing often though(e.g. …

Photo by Joe Caione on Unsplash

A guide to set up an AWS Lambda function with a Docker container as runtime using Amazon ECR and invoke it from Slack leveraging AWS Chatbot.


In this article, we are going to create an AWS Lambda function via a custom Docker image and then learn how we can invoke this function from Slack. Running your Lambda functions from Slack can be super handy because it allows you to run your code or tasks without leaving Slack and show the results to all members of this channel.

A typical use case that I can think of would be reporting or…

A guide to set up automatic infrastructure provisioning with Terraform Cloud & GitHub Actions. Leverage Infrastructure as code(IAC) and GitOps to automatically update your infra based on a GitHub repository.

In this tutorial, we are going to connect Terraform Cloud with a GitHub repository and leverage GitHub actions to provision Cloud infrastructure on AWS.

We are going to combine IAC and GitOps approaches and manage our cloud resources via code.

Infrastructure as code(IAC)

The modern way to manage Cloud Infrastructure is to treat it like software. The number of resources that we have to handle is increasing daily along with…

A walkthrough on setting up GitHub repositories with Terraform and a workflow to validate your Terraform files with GitHub Actions

In this blog post, we are going to leverage Terraform’s Github provider to create a GitHub repository for a Github Organization.

Then we are going to use Github Actions and specifically the Hashicorp setup-terraform GitHub action to run some automated validation tests on our Terraform files.

To follow along you will need:

* HashiCorp Terraform 0.14.4 (or later)

* A GitHub Personal Access token

Use Terraform to provision and Manage GitHub repositories and team membership

Ok, let’s see how we…

TL;DR A first view & demo of Waypoint, Hashicorp’s new tool that simplifies build, deploy and release processes.

Waypoint promises to simplify our workflows around build, deploy and release pipelines. It’s not supposed to substitute any of your current tools but rather to abstract some of the painful details of these processes.

Featuring its simplistic configuration written in HCL (HashiCorp Configuration Language, attempts to help developers fast-forward their development lifecycles.

This is achieved but introducing a single workflow to build & publish images, deploy to any environment, and release them to the world.


To install Waypoint for your platform…

Photo by Jaleel Akbash on Unsplash

This material was gathered during my preparation for the CKA certification exam.

I created and curated this cheatsheet with useful commands and information that will be handy to review before taking the exam.

If you want to know how to prepare for the CKA exam, check my How to pass CKA post.

Core Concepts

View resources in namespace dev:

kubectl get pods -n dev

View all pods in all namespaces:

kubectl get pods -A

View all resources in all namespaces:

kubectl get all -A

Generate a pod yaml file with nginx image and label env=prod:

kubectl run nginx --image=nginx --labels=env=pro…

Ioannis Moustakis

Working as DevOps & Software Engineer for the past years. Grew up in Greece, based in Brussels. Check my blog

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store