Measuring Aurora query IO with Batch experiments
Running production-scale tests with AWS Batch showed that using SQLAlchemy to modify only changed rows reduced our Storage IO costs, as well as the accumulation of dead tuples in our database.
Running production-scale tests with AWS Batch showed that using SQLAlchemy to modify only changed rows reduced our Storage IO costs, as well as the accumulation of dead tuples in our database.
Pay for usage sounds good, but how you use the database is key. Migrating our production database from Postgres to Aurora was easy, until we noticed that our daily database costs more than doubled. Our increased costs were driven by…
In the olden days, software used to come in a box. Now, we can make sure our users always have fresh baked software.
The page object pattern makes writing acceptance tests for an Ember select2 component easier and faster.
One of the promises of Docker is the ability to run your code like it’s in production everywhere, including when you’re writing it. Differences in the runtime setting are meant to be controlled with configuration. This is a great idea. Something…
A tale of robots, gold stars, and code coverage. At Gridium, we have a Hubot named Gort running in our Slack channels. He does all sorts of useful stuff for us: deploying code, printing the company mailing address, showing the…
In a previous blog article, I described how we deploy Ember apps to S3 buckets, and promised a follow up article about how we use a staging bucket to preview changes before pushing to production. In this article, I’ll describe…
How serving Ember apps from S3 and Cloudfront simplified dev environments, sped up builds and deploys, and made our production infrastructure smaller and more scalable Gridium’s Tikkit application has three separate front-end Ember apps that all talk to a common…
Gridium’s Tikkit work order management system runs on a microservices architecture, with Docker containers managed by Kubernetes. We’ve divided our application into small, reusable components, each of which runs in its own Docker container. Kubernetes takes care of keeping the right…
I recently spent about a week working on a prototype for a new product idea. Another engineer and I needed to put something together quickly, so we could get feedback from potential customers that will inform the product. We already…
At Gridium, we have lots and lots of smart meter data. We have meter readings every 15 minutes for hundreds of thousands of meters, for thousands of days. We also have meter characteristics such as latitude and longitude, building square…
We’re making a bet with our next generation of services at Gridium. Our bet is that microservices will serve us better than monolithic services, and we’re in the process of moving our existing services to this kind of architecture too.…