RDS tip

These are estimates based on how much ram a mysql instance uses to sustain a connection. If you’re running heavy joins, etc these will increase a lot so use them as an upper limit.

  • t1.micro: 34 connections
  • m1.small: 150 connections
  • m1.large: 640 connections
  • m1.xlarge: 1263 connections
  • m2.xlarge: 1441 connections
  • m2.2xlarge: 2900 connections
  • m2.4xlarge: 5816 connections

The pillars of a (good) Rest API

The pillars of a Rest API

Scalability

No one likes a fail whale, make sure your service can scale properly to serve your customers. Cloud elasticity is a great help in this area.

Security

People often overlook security until something goes horribly wrong and you’re in the front page of TechCrunch for very uncool reasons. If you’re exposing and api it means that someone is trusting you to keep their business safe. Regaining trust is an ingrate task so you better don’t give them reasons to lose it.

Documentation

No one likes getting woken up at 3am because the freelancer php developer your client hired can’t make the integration work and he’s already late to deliver whatever crazy deadline he promissed. A proper documentation is fundamental to fulfill the very essence of an API.

Versioning

This one can be tricky, keeping different versions of an API can add a lot of work and complexity but it’s a compromise in favor of your clients. People get really pissed when you break your contract and they have to invest time and money to adapt something that works fine today. Make sure you give your clients a decent stability timeframe but also help them understand the benefits of migrating to the latest version.

Sandbox

Offer a sandbox so developers can build and debug their integrations with the minimal amount of hassle possible.