How to store Dates or Timestamps in DynamoDB

DynamoDB does not natively support date/timestamp data types. It sucks – I know. It leads to a lot of confusion. A question I see over and over again is how do you store your dates or timestamps. This is just one example. The answer is not as straight forward as…

DynamoDB: Scheduling On-Demand Backups

The recent AWS Reinvent 2017 event saw some major announcements, including a couple of exciting ones for DynamoDB users. Global tables and On-Demand backups. In this post, I’ll be taking a quick look at on-demand backups, how they work and how we can schedule them to regularly take full backups….

Terminology: DynamoDB vs SQL

The more people I talk to about DynamoDB, whether it be online, or general conversation, I find in most cases do no adopt DynamoDB Terminology. Initially,  I didn’t think to much of it – synonyms after all right? Giving it more thought, I feel it is a little more than…

DynamoDB: Hard Limitations

DynamoDB is a great AWS service, but it comes with a set of limitations. These limitations are not soft limits, but hard limits that cannot be changed with a support ticket (at the time of writing this). I’ve seen a couple of teams get caught offside with DynamoDB limits, so…

DynamoDB: Changing table schema

I’ve seen many situations where a team has realised the initial Key Schema they’ve selected for their tables isn’t a good fit, for performance, scale reasons, or simply they recognised a need for a Local Secondary Index. Global Secondary Indexes allow you to create indexes with alternative Partition Key /…

Loosen coupling over APIs – The Fuzzy Serializer

Currently I am working at a SaaS company, whose client base is in the large enterprise space. We are currently increasing our API surface area, to enable greater integrations. As we iterated on the API (by simply adding more properties), we discovered that one of our clients had tightly coupled…

The Five Whys

I’ve recently finished re-reading Lean Start Up and a chapter that has been great to refresh is the Five Whys. It sounds fairly straight forward – a technique which allows you to perform a root cause analysis. Ask “Why did that happen?” five times, to get to the root cause…

Software Delivery – Don’t focus on the date, focus on value

We know software development industry is focused on solving problems. Customer problems. User problems. Better, faster, cheaper. There is a great article in the Harvard Business Review on Outputs v Outcomes: https://hbr.org/2012/11/its-not-just-semantics-managing-outcomes Outputs are features. Outcomes is true value delivered. We aim for our outputs to deliver outcomes, its treated as…

Craftsmanship is not enough – Context is everything

For many years, I’ve spoken to friends, colleagues, mentors/mentees about craftsmanship and how important it is in Software Development. As a software developer, it is very easy to agree with. Quality is not negotiable, write your tests first, blah blah blah. We understand how important design patterns, readable, maintainable code…

DynamoDb Incremental Backups – Part Four

Before we start: If you have missed the previous three posts, please check them out here: Part One Part Two Part Three At this stage, I’m going to assume you are comfortable with DynamoDb Incremental Backups, and the format they are stored in. In this post, we will walk through…

1 2 3