The world’s biggest cloud provider and the one that I have most experience with.
-
AWS
AWS re:Invent 2023
It’s that time of year again. Just like last year, I’m going to use the week after re:Invent to binge on recorded sessions at 1.5X speed, and share my thoughts with you.
-
Spreadsheets
AWS
Eventual Consistency for an Event Sourced Spreadsheet
Last time we looked at general approaches to ensuring eventual consistency in the cloud. Now it’s time to apply what we’ve learnt to the case of my Event Sourced Cloud Spreadsheet. Previously, I went into some detail on how to implement an Event Log using DynamoDB. Long story short, there are some operations that involve multiple writes and some that need to trigger side effects.
-
Spreadsheets
Databases
AWS
Implementing a Spreadsheet Event Log on DynamoDB
In the distant past, before I got sucked into a seemingly never ending series on databases, I said that I was going to start formalizing the format for my cloud based, serverless, event sourced spreadsheet. I realize now that I’ve said very little on how I’m going to implement the central component of my spreadsheet, the event log.
-
Spreadsheets
Cloud Architecture
AWS
Data Structures for Spreadsheet Snapshots
I have a plan. After a round of brainstorming and benchmarking, I’ve decided to use Event Sourcing to store the sequence of operations applied to a spreadsheet. Every so often I’ll create snapshots of the current spreadsheet state. I can then load the spreadsheet at any point in time by loading a snapshot and applying changes from that point on in the event log.
-
Cloud Architecture
AWS
Amortized Cost and the Cloud
I first came across the concept of amortized cost when I learnt about the vector class in C++. At that point I was largely a self-taught programmer without much in the way of theoretical foundation. I was used to using linked lists and understood that the cost of adding a new element was constant, regardless of the size of the list. Vectors seemed like witchcraft to me.
-
Spreadsheets
Cloud Architecture
AWS
Brainstorming and Benchmarking
Last time I took you on a tour of the world’s most boring spreadsheet. I used a basic, if large, spreadsheet to identify some benchmarks that I can use to assess the viability of the crazy implementation ideas we’re going to brainstorm. The benchmarks are by no means exhaustive - think of them as the very low bar that any idea needs to get over to be worth considering further.
-
AWS
Free or Not?
Last month I dived into AWS cost models and used that to decide whether AWS services are Serverless or Not. As I get closer to actually trying to implement my open source, serverless, customer deployed, scalable spreadsheet I’ve found myself wondering about the AWS free tier.
-
AWS
AWS re:Invent 2022
I’ve only attended re:Invent in person once. I quickly realized that apart from the mountain of swag you get to bring home, there’s very little advantage to being there in person. It’s in Vegas. There are more than fifty thousand attendees. Do I need to say more?
-
AWS
Cloud Architecture
Serverless or Not?
I want to build a Serverless SaaS product that can be deployed into a customer’s own AWS account. But what exactly does it mean to be Serverless? AWS (other cloud providers are available) has over 200 different services. How many of those are serverless?
-
Cloud Architecture
AWS
Modern SaaS Architecture
Last time we looked at the evolution of multi-tenant architectures. So, what does the architecture of a modern multi-tenant SaaS product look like? Well, for a start, its a microservice architecture deployed on one of the big three cloud providers (most commonly AWS).
-
Organizational Anti-Patterns
AWS
Organizational Anti-Patterns #1: VP Moves
You work in a large organization. The kind that has VPs and SVPs and lots of C-level types. I’m going to use “VP” as short hand for all these leaders at the top of an organization. What do you want from the VPs? Ideally, they provide a consistent sense of direction with a clear strategy. They model the culture of the organization and provide a sense of belonging. They ensure that all the parts of the organization are aligned so that the overall organization is more than just the sum of its parts.