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.

Related posts

Comments


Calendar

<<  April 2024  >>
MoTuWeThFrSaSu
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

View posts in large calendar

Disclaimer

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

© Copyright 2024

Sign in