Banking-grade AWS deployments, multi-cloud trade-offs, and database design at scale. The architectural decisions that prevent 3am incidents.
Firstly, let me acknowledge that there are lots of these kinds of posts on the internet. But the reason why i wrote this blog is that I wanted to force myself to consolidate the various articles I have read and my learnt knowledge in this space. I will probably update this article several times and […]
Read more →If you run a WordPress site for any length of time, the database quietly fills with junk. Post revisions stack up every time you hit Save. Drafts you abandoned years ago sit there. Spam comments accumulate. Transients expire but never get deleted. Orphaned metadata from plugins you uninstalled months ago quietly occupies table rows nobody […]
Read more →I was playing with S3 the other day an I noticed that a file which I had uploaded twice, in two different locations had an identical ETag. This immediately made me think that this tag was some kind of hash. So I had a quick look AWS documentation and this ETag turns out to be […]
Read more →If you are testing how your autoscaling policies respond to CPU load then a really simple way to test this is using the “stress” command. Note: this is a very crude mechanism to test and wherever possible you should try and generate synthetic application load.
Read more →You can absolutely get the following from the AWS help pages; but this is the lazy way to get everything you need for a simple single account setup. Run the two commands below to drop the package on your Mac. Then check the versions you have installed: Next you need to setup your environment. Note: […]
Read more →Introduction This article follows on from the “Cloud Migrations Crusade” blog post… A single tenancy datacenter is a fixed scale, fixed price service on a closed network. The costs of the resources in the datacenter are divided up and shared out to the enterprise constituents on a semi-random basis. If anyone uses less resources than […]
Read more →1. The optimizer is making a bet, not a calculation Every time SQL Server compiles a query it runs an auction. The optimizer generates a handful of candidate plans, estimates the cost of each one in abstract units that roughly map to disk and CPU work, and picks the cheapest candidate it found within its […]
Read more →Most teams assume containers are lightweight by default, but that assumption does not survive contact with a real production system. Containers become bloated, slow, insecure, and operationally expensive when left unmanaged, and the penalties compound at scale as CI pipelines slow down, deployments lag, autoscaling becomes inefficient, and infrastructure costs quietly rise. This post goes […]
Read more →I have an old website that I want to avoid the hosting costs and so just wanted to download the website and run it from an AWS S3 bucket using Cloud Front to publish the content. Below are the steps I took to do this: First download the website to your laptop Below is a […]
Read more →There is a version of this story that most technology vendors would prefer you heard. In that version, Switzerland evaluated Palantir’s data analytics platform, found it impressive, but ultimately declined due to vague concerns about national sovereignty: a regulatory sentiment, a political posture, nothing that applies to a commercial enterprise operating under normal procurement constraints. […]
Read more →Most companies will have a fair amount of SQL databases and its likely that most of those databases are performing sub-optimally due to missing indexes. We can debate (for a long time) the pros and cons of indexes, but the undeniable reality is that having missing indexes on large tables create a lot of issues […]
Read more →So after getting frustrated (and even recreating my ec2 instances) due to a “Permission denied (publickey)”, I finally released that the worpress builds by default as set up for SSH using the bitnami account (or at least my build was). This means each time I login using ec2-user I get: Being a limited human being, […]
Read more →