The Lean Architecture

January 21, 2010


This is the second in a series of articles on building elastic cloud applications. Read the first article here.

Adapting the Lean Startup principles to application architecture produces a few significant requirements. A Lean Architecture has the following properties:

  • requires next to none upfront cash investment
  • is flexible to changing application requirements
  • requires little time investment to scale
  • incurs moderate scaling costs

Taking these principles into account, it becomes obvious why some early design decisions may affect your business’ ability to cope with the challenges during the early stage and later growth. Cash is king and any required upfront investment directly affects the risk versus reward perspective. In Lean Startups where the product concept changes to reach a product/market fit, an upfront infrastructure investment may become obsolete quickly.

Utilizing well-known and widely deployed application stacks helps to quickly adapt to changing application requirements. There is nothing worse than starting with an exotic platform that fits well with the first requirements but calls for platform customizations to cope with changing requirements. Building on open standards not only provides cost-effective platform choices, but also introduces the flexibility to grow and incrementally adapt the application. After all, you are building an application and not a new application platform.

The desired product/market fit may not only bring joy and happiness. Quite the contrary, a sudden load spike may expose unknown bottlenecks in the application architecture. The result is all but happy customers and a lot of stressful hours for your team. The root of the problems are often small and not easy to grasp upfront. For example, increasing load with a growing average response time may put exponential burden on some application performance metrics.

Understanding the pains involved in scaling an application makes the case for using an elastic platform where the provider takes care of all issues involved with scaling. Cost and the ability to execute on this premise are key factors to consider when selecting a provider. The Cloud Architecture Overview illustration shows examples of several well-known cloud infrastructure providers. Due to their inherent scale, they are able to offer cost-effective solutions and their experience in running massive data centers underlines their ability to deal with nearly any load scenario.

Cloud Architecture Overview

Lessons Learned

  • Lean Architecture for Lean Startups
  • use open, well-known platforms
  • scaling might be painful
  • elastic platforms solve scaling issue

The next article explores building elastic front-ends.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: