TinyDevCRM Update #8: DevOps Acceptance

This is a summary of TinyDevCRM development for the week of March 28th, 2020 to April 4th, 2020.

Goals from last week

  • [❓] Read through the Packt book “Docker on AWS” (will have to do so because the Packt subscription free trial runs out end of next week)
  • [❓] Read through instructions given by AWS Support for deploying PostgreSQL to AWS using Elastic Container Service, with EC2 Task Definitions and an Elastic Block Store volume, all defined using AWS CloudFormation.
  • [❓] Update TinyDevCRM landing page according to feedback from last week.
  • [❓] Script the setup and deployment process for development and production environments for local and remote environments.
  • [❓] See whether I can iterate on the Django backend in AWS, and if so, consider coming up with AWS CodeBuild and CodePipeline (CI/CD) solutions for automated deployments.

What I got done this week

  • [❌] Read through the Packt book “Docker on AWS” (I found out that other DevOps books, like books on maintaining PostgreSQL 12.x, or configuring high availability and performance, were available on Packt Subscription, and as devops resources that might go out of date quickly yet can't be compromised on quality, a subscription service fits my needs quite well. I'll bite the bullet and pay for a monthly subscription, and if it's useful I'll create an annual subscription in a few months. This took the pressure off of reading through the book entirely in one week, good or bad. At Chapter 6 out of 17.)
  • [❌] Read through instructions given by AWS Support for deploying PostgreSQL to AWS using Elastic Container Service, with EC2 Task Definitions and an Elastic Block Store volume, all defined using AWS CloudFormation (haven't finished reading “Docker on AWS”, blocked by that).
  • [❌] Update TinyDevCRM landing page according to feedback from last week (no good reason here).
  • [❌] Script the setup and deployment process for development and production environments for local and remote environments (solution evolves as my understanding of DevOps evolves).
  • [❌] See whether I can iterate on the Django backend in AWS, and if so, consider coming up with AWS CodeBuild and CodePipeline (CI/CD) solutions for automated deployments (I think it'll be likely I can put something together by end of reading the DevOps book).

I think I've very much experienced the five stages of grief with devops (denial, bargaining, anger, depression, acceptance). This week was a bit slow, but I think I'm close. Not quite sure what I'll do with myself if I'm not.

Metrics

  • Weeks to launch (primary KPI): 2 (4 weeks after declared KPI of 1 week)
  • Users talked to: 1

RescueTime statistics

  • 59h 29m (56% productive, 7% decrease from prior week)
    • 16h 30m “software development”
    • 11h 22m “entertainment”
    • 8h 23m “communication and scheduling”
    • 7h 56m “utilities”
    • 4h 17m “news and opinion”

iPhone Screen Time (assumed all unproductive)

  • Total: 35h 20m
  • Average: 5h 2m
  • Performance: 13% decrease from last week

Hourly journal

https://hourly-journal.yingw787.com

Goals for next week

  • [❓] Read through the Packt book “Docker on AWS” (will have to do so because the Packt subscription free trial runs out end of next week)
  • [❓] Read through instructions given by AWS Support for deploying PostgreSQL to AWS using Elastic Container Service, with EC2 Task Definitions and an Elastic Block Store volume, all defined using AWS CloudFormation, and create a blog post and GitHub repo to lock in knowledge.
  • [❓] Add AWS CodeBuild and CodePipeline for CI/CD and automated, rolling deployments before beginning to iterate on the Django backend.
  • [❓] Update TinyDevCRM landing page according to feedback from two weeks ago.

Things I've learned this week

  • I don't think I realized just how much I missed out by reading here-and-there tutorials. How AWS IAM really works and how to apply it to a project (including TOTP-based MFA on the CLI), using Makefiles, using CloudFormation to deploy stacks, and how they all behave together. This is so, so much better than reading a Stack Overflow blog post here and a Medium post there. There's great value in bundling everything together, and yes I'm willing to pay for that knowledge. I've already paid for it in time without getting my return, now I'll pay for it in a smarter way.

Subscribe to my mailing list