Month summary - April 2020

Posted by Tobiasz Kedzierski on 30.04.2020

April 2020

I am aggregating here some more or less interesting stuff of various IT related materials which I came across this month. Some of them are strictly related to the things I did or am currently doing.

Some thoughts

This month I focused mostly on the Google Cloud Platform. I learnt a lot about delivering infrastructure as code [IaC] with Terraform. I was able to set up a project from scratch which contained dozens of resources (BigQuery, Cloud Functions, PubSub, Storage etc.) by using just a few commands. I used Qwiklabs, a platform which provides real cloud environments that help developers learn about them. I completed 4 Qwiklab quests (they consist of labs, in total I finished 32 labs), here’s the link to my public Qwiklab profile profile. I also started playing with automation (Ansible) and container orchestration (Kubernetes) which will be helpful to grasp more complex environments.

Articles

Open Sourcing a GitHub Engagement Dashboard

This post details how to leverage a simple data pipeline and other assets that we're open sourcing to deploy a GitHub Engagement Dashboard in your Superset environment.

Reddit · Why does all() return True if the iterable is empty?

Does it make sense for all() to return True for an empty list? Is “all unicorns are blue” a true statement? Does shaving your dog contradict the statement “all mammals have fur?” You’ll have to read to find out!

Google Summer of Code reflection

Fantastic advice from Django's 2019 GSOC student.

Python libraries

rumps

Ridiculously Uncomplicated macOS Python Statusbar apps

Django

9 Django Tips for Working with Databases

Multiple tips for getting more out of Django's ORM.

Create and update Django rest framework nested serializers

In this article we will see about the Django rest framework nested serializers and how to create a DRF writable nested serializers.

How to Provide Test Fixtures for Django Models in Pytest

If you’re working in Django, pytest fixtures can help you create tests for your models that are uncomplicated to maintain.

Against service layers in Django

An in-depth piece on structuring code and logic within Django.

Django - Templates For User Interfaces

A deep look at Django templates.

About Removing Duplicates in the Database - DjangoTricks

An elegant code snippet for removing duplicates in a database.

TLDR: Generate Django Secret Key

This TLDR is a quick reminder of how to generate a secret key locally, without going to some website on the internet to generate it for you.

Django styleguide

Django styleguide used in HackSoft projects

The Django Speed Handbook: making a Django app faster

If you haven’t taken a close look at the performance of your web-app yet, you’re bound to find something good here.

Tools

globalhack-laptop-installer

Globalhack entry - easy laptop automated imager

ansible

Ansible is a radically simple IT automation system. It handles configuration management, application deployment, cloud provisioning, ad-hoc task execution, network automation, and multi-node orchestration.

kubernetes

Production-Grade Container Scheduling and Management

minikube

Run Kubernetes locally

Cloud

Google Cloud Function Tips & Tricks

This document describes best practices for designing, implementing, testing, and deploying Cloud Functions.

cloud-nuke

A tool for cleaning up your cloud accounts by nuking (deleting) all resources within it

Managing infrastructure as code with Terraform, Cloud Build, and GitOps

This tutorial explains how to manage infrastructure as code with Terraform and Cloud Build using the popular GitOps methodology.

Medium-size infrastructure with Terraform

An example which contains code as an example of structuring Terraform configurations for a medium-size infrastructure.

pydevops/gcloud_cheat_sheet.md

GCP gcloud cheat sheet

How to Setup Google Cloud CLI/SDK – Beginner Guide

This tutorial will guide you through steps for setting up google cloud SDK on your workstation.

How To Setup Google Provider and Backend For Terraform

This guide covers the following two main setups:

  1. Google Provider Setup
  2. GCS backend Setup with multiple ways of initialization

GoogleCloudPlatform/gke-migration-to-containers/scripts/create.sh

An example of bash wrapper for Terraform commands.

pre-commit-terraform

pre-commit git hooks to take care of Terraform configurations

terraform-google-examples

Collection of examples for using Terraform with Google Cloud Platform.

google-cloud-4-words

The Google Cloud Developer's Cheat Sheet

Other stuff

minimal - jekyll theme

The raw HTML and styles that are used for the minimal theme on GitHub Pages.

Python For DevOps: Learn Ruthlessly Effective Automation

"Python for DevOps" is a book written by Noah Gift, Kennedy Behrman, Alfredo Deza, and Grig Gheorghiu.

tabler-icons

A set of over 450 free MIT-licensed high-quality SVG icons for you to use in your web projects.

Videos

import asyncio: Learn Python's AsyncIO #1 - The Async Ecosystem

Django with PyCharm Tips and Tricks

"The Hard Parts of Open Source" by Evan Czaplicki

Production-ready Flask & Django apps on Kubernetes

Getting Started with Containers and Google Kubernetes Engine (Cloud Next '18)

Kubernetes Tutorial | Kubernetes | Kubernetes tutorial for beginners