Posts in the series Fridays Are For Learning

  1. ()

    Fridays are for learning. I’m still catching up on re:Invent 2018 sessions, and these two, both deep dives into DynamoDB, were incredibly interesting to me. First is Jaso Sorenson discussing the underlying technical implementation of DynamoDB in “Amazon DynamoDB Under the Hood: How We Built a Hyper-Scale Database (DAT321)”. It really helped me understand better why the system operates the way it does. Watch this video at YouTube. And second is Rick Houlihan’s “Amazon DynamoDB Deep Dive: Advanced Design Patterns for DynamoDB (DAT401)”, in which he demonstrates the things possible to achieve with some creative data modeling to take advantage of the properties of a NoSQL data store like DynamoDB. … (read more)
  2. ()

    Fridays are for learning. A new year means the return of my aggressively non-search-engine-optimized posts on interesting things I’ve seen in the past week. This week everyone is still recovering from the end of year period — nothing kills a work week like a Tuesday holiday — so I’m just giving you a quick video: Julia Evans from Stripe talking about high reliability infrastructure migrations at KubeCon North America 2018. It’s ostensibly Kubernetes-focused but I find a lot applicable to distributed systems in general, and let’s face it, we are all building distributed systems of one kind or another these days. … (read more)
  3. ()

    Fridays are for learning. These are some interesting videos for the week ending August 17, 2018. First, circling back to something I’ve mentioned a few times in the past, minimal version selection as implemented in Go modules. Sam Boyer says we need to talk about it: Watch this video at YouTube. And second is a talk given by Charity Majors, telling a story of being on call: Watch this video at YouTube. … (read more)
  4. ()

    Fridays are for learning. These are some interesting links for the week ending August 10, 2018. You can’t debug systems with dashboards. Dashboards (by design) can only display aggregate data, but your users don’t care about aggregates — they care only whether their requests succeed or fail. You can be 100% up for virtually all your users, but 100% down for your most important user and your dashboard will likely still be green. … (read more)
  5. ()

    Fridays are for learning. These are some interesting links for the week ending August 3, 2018. On serverless testing in production: it’s not that you shouldn’t be doing testing before releasing to production, it’s that you should also be doing some kind of testing in production as well. Production is where reality hits your systems; it’s the only place you will be able to find real-world conditions. Feature flags, canary deployments, staged rollouts, rich instrumentation, and observability-first development are all useful here. … (read more)
  6. ()

    A quick update for this week; I’ve been collecting lots of things under my personal for:blog tag, but I’ve been so busy I haven’t had a chance to sort through and post any recently! Last week Segment published a retrospective on their journey from a monolith to a system based on (literally hundreds of) microservices and then back, and it reminded me of this talk from Jimmy Bogard in 2017. Enjoy! … (read more)
  7. ()

    Fridays are for learning.1 These are some interesting links for the week ending June 29, 2018. This week’s big news (for me anyway): Python 3.7 is out! Cool new features in Python 3.7. My favorites are from __future__ import annotations to enable lazy parsing of type annotations, importlib.resources to replace simple usages of the much-heavier pkg_resources, and making ordered dictionaries a requirement of the language instead of just an implementation detail. … (read more)
  8. ()

    Fridays are for learning.1 These are some interesting links for the week ending June 22, 2018. Joe Duffy says “Hello, Pulumi!” Pulumi is a new service to configure cloud services/IaaS programmatically using JS/TypeScript/Go/Python. Modern deployment systems now mean diving into piles and piles of YAML, compounded by the piles of additional YAML you need to configure that YAML for tools like Helm. So in a general sense I agree that higher-level tools would be useful. … (read more)
  9. ()

    Fridays are for learning.1 These are some interesting links for the week ending June 15, 2018. As you may have inferred from my comment last week, docker build has been the bane of my work with containers basically from the start. This week we saw a major movement toward improving the situation: experimental BuildKit support was added to the Docker builder. (You have to opt-in to use it, but we’re on our way now! … (read more)
  10. ()

    Fridays are for learning.1 These are some interesting links for the week ending June 8, 2018. “Go for industrial programming.” As time goes on, I have embraced this kind of thinking more and more. While the term “industrial programming” seems to be intentionally distancing, the idea that building systems that are intended to last (even as individual developers come and go and business requirements change) requires specific attention to succeed really makes sense to me. … (read more)