skip to content

100 days of code, the starting point

Getting started with the 100 days of code challenge.

Overview

I’ve decided to take on the 100 days of code challenge. I’ve been wanting to do this for a while, but I’ve always found an excuse not to. I’m not sure of everything I will touch in those 100 days, but I want to at least cover:

  • Terraform (I’m a big fan of it, but I want to start writing modules and look at certification)
  • Ansible (I use it a few times a month, but want to extend it with Ansible Tower and vault)
  • HashiCorp Vault, Nomad, and Consul (I’m familiar with them, but want to put them to use in a real project)
  • Python (IBM Cloud SDK, FastAPI, Github Actions, etc)
  • Kubernetes (I’ve been working with it for a while, but I am looking at getting a certificate this year)
  • Message Queues (RabbitMQ, Kafka, etc)

So far I have a rough plan for the first 20 days, but I will be updating this as I go. I’m also going to be using this as a way to learn Astro, so I will be updating the site as I learn to tweak the theme/settings.

Week 1 (Terraform and Ansible)

  • Day 1: Creating an IBM Cloud VPC with Terraform. Since most of my compute will be in IBM Cloud, I want to start with this to lay the foundation for all of the workloads I will be deploying.
  • Day 2: Extending the VPC with the use of Flow Logs and Cloud Object Storage.
  • Day 3: Deploy some compute in to the VPC and use Data Engine to parse our flow logs for security events.
  • Day 4: Use Ansible to update, install configure the systems we deployed in Day 3.
  • Day 5: Deploy HashiCorp tools Vault, Consul, and Nomad on compute hosts using Ansible.
  • Day 6: Use Terraform to deploy a simple application to Nomad.
  • Day 7: Configure Vault to be a Certificate Authority.

Week 2: (Python and IBM Cloud SDKs)

  • Day 8: Use the IBM Cloud Python SDKs to build a second lab VPC, matching the VPC from Week 1.
  • Day 9: Create a simple FastAPI application and deploy it to IBM Cloud Code Engine.
  • Day 10: Use Github Actions to build and deploy the FastAPI application to Code Engine.
  • Day 11: Use the IBM Cloud SDK to deploy a Kubernetes cluster in to the newly created VPC.
  • Day 12: Use IBM Cloud Continous Delivery to deploy the FastAPI app to Kubernetes.
  • Day 13: Simple Python application to interact with RabbitMQ.
  • Day 14: Simple Python application to create and manage projects from the command line.

Week 3: (Kubernetes and Code Engine)

  • Day 15: Use the IBM Cloud SDK to deploy a Kubernetes cluster, configure monitoring and logging.
  • Day 16: Use IBM Cloud Continous Delivery to deploy the FastAPI app to Kubernetes.
  • Day 17: Use the IBM Cloud SDK to deploy a Code Engine application.
  • Day 18: Use IBM Cloud Continous Delivery to deploy the FastAPI app to Code Engine.
  • Day 19: …
  • Day 20: …