27Feb/100

A Loosely Coupled Cloud

"Build loosely coupled systems." That was one nugget of recurring advice given last night by Jorge Noa, CTO of HyperStratus when he spoke at a meet-up titled "Amazon EC2 Cloud Computing and Application Design" held at HackerDojo (see slides here - pdf and I also found the same slide show already online here as an O'Reilly Media Slideshare).

After a review and comparison of various IaaS, PaaS and SaaS services, the talk then focused on details of Amazon's overall cloud offering. Finally he finished out the presentation with a discussion of software developer best practices - the primary reason I attended. More time spent on software development would have been a big plus in my view, but I can understand that he felt the need to get everyone in the room up to speed on Amazon's platform. It was a big crowd.

Cloud Computing Development Best Practices

The ten best practices Jorge espoused were:

  1. Build cloud apps, not apps in the cloud
  2. Virtualize the application stack
  3. Design for failure and nothing fails
  4. Design for scalability
  5. Loose coupling lets you maximize plug and play
  6. Design for dynamism
  7. Build Security into every component
  8. Leverage native cloud storage options
  9. Leverage best cloud Management Tools
  10. Don't fear cloud constraints

Of those ten, the two points that gave me the most pause for contemplation were to "build loosely coupled systems" and to "build security into every component."

Build Loosely Coupled Systems

"Build loosely coupled systems" brought a flash from the past, triggering a memory of a distributed operating systems class I had in the 1990s. The concept of loosely coupled systems was new for me back then and made a big impression, so I dug out my old textbook (yes, I kept them all!) to refresh my memory. The textbook was "Modern Operating Systems" by Andrew S. Tanenbaum.

Filed under: Cloud Continue reading