by Vincent Paca

Rubyist. Music man. And pretty good at drinkin’ beer.

Read this first

Optimizing Slow APIs with AWS New Application Load Balancers

One of the recent interesting challenges that we’re having at PayrollHero is how to make our core API better.

We have multiple applications and they communicate with each other through APIs. Most of these endpoints are already really fast (< ~1000ms) mostly because they’re dumb and have really simple things to do.

Then comes our core application. It’s one big, monolithic, Rails application that does most of the work. About a year ago we did some optimization work by separating the app and API to different Cloud Formations. Our front-end application was always getting affected by the slowness caused by some really slow API endpoints, so we had to find the easiest and fastest way to remedy the situation.

old core server configuration
This is what our old core application configuration looks like (sort of).

This, for us, was good enough because:

  1. It separated the API from the front-end application so if there were

Continue reading →

The Best Books I’ve Read in 2015

 4. The One Thing: The Surprisingly Simple Truth Behind Extraordinary Results

by Gary Keller

I found this book cheesy, and somewhat manipulative with how the author states some facts to make it sound like all these famous people follow ‘The One Thing’ mantra.

Don’t get me wrong though, this book taught me one thing and that is FOCUS. I won’t get all preachy on it but that’s the reason why this book is worth a read (or listen).

 3. Exponential Organizations: Why new organizations are ten times better, faster, and cheaper than yours (and what to do about it)

by Salim Ismail

As someone who wants to run his own company one day (again, successfully, this time), this book was invaluable. It gave me insight on how companies like Uber and AirBnB scale their businesses.

It is not, however, a definitive guide on how to run your business to become an ExO. I think it falls short on the “what

Continue reading →

Faster CI - Our Journey To Halving Our Test Runtimes

One of my biggest challenges for the past few weeks was to get our tests to complete within 10 minutes.

That doesn’t sound so bad, does it? There’s just one tiny detail which would make this journey all the more exciting: Our code takes 25 minutes on average to complete on 25 parallel build servers and It takes about 4 hours if you run it in one.

I made a quick survey with our engineers and we lose roughly around 3 hours per day waiting for CI to finish.

The plan was to selectively run tests and have cucumbers run only on specific branches — epic, develop and master. This means that every time something gets merged to those branches, cucumbers will run after rspecs. And of course, all this will run in parallel on 25 build servers.

How our code tree looks like:

|- master
|- develop
   |- epic/adding-a-thing-with-stuff
      |- feature/with-things  
      |- feature/with-stuff

Continue reading →

Subscribe to .thoughts

Don’t worry; we hate spam with a passion.
You can unsubscribe with one click.