What's Really Hard?

by coatta 5/30/2010 7:18:00 PM

In a CTO roundtable hosted by ACM Queue (http://queue.acm.org/detail.cfm?id=1551646) Lew Tucker said:

 "An important shift has been to use basic HTTP, in the form of REST (representational state transfer) APIs, as an easier-to-use SOA framework. Everything that made services hard before, such as CORBA, IDL, etc., went away when we said, “Let’s do it all over HTTP."

What is really hard about "services" is not the infrastructure that you use to build them. Building distributed systems invovles challenges that are not faced when building monolithic applications:

  • accounting explicitly for the effects of latency 
  • variations in latency and bandwidth that affect performance
  • network partitions that makes some, but not all parts of the system, unavailable
  • race conditions and attendant issues in consistency, like those which occur in mutlithreaded programming

Any single one of these is substantially more challenging to deal with than the infrastructure that one chooses to build a system on top of. CORBA has its weaknesses, but anyone who had difficulty understanding IDL really shouldn't be building distributed systems anyways.


Calendar

<<  March 2024  >>
MoTuWeThFrSaSu
26272829123
45678910
11121314151617
18192021222324
25262728293031
1234567

View posts in large calendar

Disclaimer

My opinions are my own, but you can borrow them if you like.

© Copyright 2024

Sign in