"I have recently been battling with n+1 problem on the server - a Web API serving some composed data. Slow responses, thread starvation, inconsistent performance were some of the symptoms and caused me enough pain to make me completely re-design the serving layer of the API. In this post I cover the background to the problem and propose several patterns and solutions - some of which I successfully integrated in my API Layer to alleviate the problem."

Source: http://byterot.blogspot.com/2014/04/web-ap...
Posted
AuthorJohn Sheehan

"The term "Microservice Architecture" has sprung up over the last few years to describe a particular way of designing software applications as suites of independently deployable services. While there is no precise definition of this architectural style, there are certain common characteristics around organization around business capability, automated deployment, intelligence in the endpoints, and decentralized control of languages and data."

Source: http://martinfowler.com/articles/microserv...
Posted
AuthorJohn Sheehan

"With these mission-critical services being the lifeblood of your applications, keeping a close eye on them is increasingly important. If a backend service is down it’s likely that your app is down too. If you’re getting back unexpected data, user experience suffers. Just checking for uptime isn’t enough."

Source: http://blog.pagerduty.com/2014/02/runscope...
Posted
AuthorJohn Sheehan

"At Linn we develop and maintain a variety of HTTP APIs to support the operations of the company. Over time the number of dependencies between these APIs has increased, and it became apparent that we needed a reliable way to introduce changes without breaking existing clients. In this post I describe how we used media type parameters to version our APIs."

Source: http://liddellj.com/using-media-type-param...
Posted
AuthorJohn Sheehan

"Every which way you turn there are different philosophical takes on “the right way” and lots of backwards and forwards on REST, what is RESTful, what is not and if it even matters. Let’s talk about API changes, the impact on versioning, why there are so many diverging ideas on how it should be done and ultimately, why none of the banter is as important as actually getting stuff done."

Source: http://www.troyhunt.com/2014/02/your-api-v...
Posted
AuthorJohn Sheehan

"Usually when a third-party API is used, you are required to stay within defined rate limit. This allows API providers to serve many users without much cost. It is easy to adhere to the rate limit, if you use a single server to make all the API calls. However, if API calls are made from multiple servers, adhering to the rate limit is a difficult problem. We'll talk about our approach to solving this problem."

Source: https://callhub.io/blog/2014/02/03/distrib...
Posted
AuthorJohn Sheehan

"Accidentally posting API keys, as well as passwords and other sensitive information, on public source control repositories is a huge problem. It potentially allows anybody who comes across your code to access data, send communications, or even make purchases on your behalf. And yet API keys exposed in public GitHub repos is a common occurrence."

Source: http://rosspenman.com/api-key-exposure/
Posted
AuthorJohn Sheehan