The Artima Developer Community
Sponsored Link

Java Buzz Forum
Protocols, not Products

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Brian McCallister

Posts: 1282
Nickname: frums
Registered: Sep, 2003

Brian McCallister is JustaProgrammer who thinks too much.
Protocols, not Products Posted: Jun 18, 2007 9:38 PM
Reply to this message Reply

This post originated from an RSS feed registered with Java Buzz by Brian McCallister.
Original Post: Protocols, not Products
Feed Title: Waste of Time
Feed URL: http://kasparov.skife.org/blog/index.rss
Feed Description: A simple waste of time and weblog experiment
Latest Java Buzz Posts
Latest Java Buzz Posts by Brian McCallister
Latest Posts From Waste of Time

Advertisement

Scaling is the new theme of my programmering life it seems. The good part: it really means scaling, not performance. The bad part: things actually need to scale, performing really well doesn't let you squeak by with session affinity and half-assed replication. The biggest thing I have noticed, in myself, is a move from thinking about how to implement services to how to ensure that interactions between them don't become the bottleneck.

Sometimes this is a question of protocols in the IETF sense: HTTP, SMTP, DNS, XMPP, etc. Most of the IETF protocols are pretty damned good, as it turns out. Shocking huh? Many other times it is a matter of protocols in the traditional sense: what does the interaction need to look like. How many messages need to be sent, how quickly, how reliably? Who cares what is inside the box -- if Martin, Diego, and Tom cannot drag me somewhere close to an optimal solution, something is really wrong. What is inside a server is not the problem.

The problem is fun things like tolerating (or failing quickly in the face of) network partitions, managing work scheduling fairly across an arbitrary number of machines (or not, unfair scheduling frequently works better), avoiding cascading failures when one element goes down (and better yet, still working for the most part), knowing what is going on in the live system beyond a conceptual level, working out what is cacheable where, how, how long, how many, and so on. We've all dealt with these to some degree, but when they really become the key point it rocks!

The protocols between services are where the fun is, I had no idea! The turning point was probably the day "Enterprise" in a product description went from meaning "consultants required" to "probably cannot handle the load." Totally unfair to a lot of good products which have had Enterprise slapped on them by marketing, but those are sadly in the minority. When you say "we need to double the number of servers" then, minutes later, you have doubled the number of servers and things are copacetic, life is good.

Read: Protocols, not Products

Topic: Eclipse3.3 Updating Previous Topic   Next Topic Topic: James and Coté on Microsoft TechEd ‘07 from PeopleOverProcess.com

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use