Anoop Balakuntalam

Discursive thoughts from a cloud architect, technology enthusiast, ex-entrepreneur and life-long learner

Page 2


Reliable inter-system communication

A guest post by Ravindra Karanam

Sometimes a software system needs to communicate with another in order to complete a user request. Having a good framework in place for such inter-system communication is both crucial and tricky, particularly if both systems store a portion of the data (duplication across systems = not advisable, yet sometimes unavoidable). Improper implementations can result in split-brain issues, costly debugging sessions and hair-splitting reconciliation.

There are some key guidelines for building a good framework:

  • First, determine if you need all inter-system user requests to be synchronous i.e. blocking requests with user on-hold for a response. One way is to start with an assumption that everything can be asynchronous and then let the product owner justify why some calls should be synchronous instead.
  • Asynchronocity allows for the system to be eventually...

Continue reading →


On being a good leader

“It’s one of the characteristics of a leader that he not doubt for one moment the capacity of the people he’s leading to realize whatever he’s dreaming.”

— Benjamin Zander, conductor of The Boston Philharmonic Orchestra and a leading interpreter of Mahler and Beethoven

Some of these lessons come the hard way. Being a good leader and being a good father are alike in some ways - treading unknown terrain under circumstances very different from everyone else who’s played that role before. And yet, exhibiting confidence and providing assurance are unsaid responsiblities that come with the job. :-)

Nevertheless, I’ve found some particularly good advice on my arduous and winding path so far…

  1. Be genuinely interested in advancing the career of your team members, helping them see their strengths and overcome obstacles in their path.
  2. Help people see purpose and meaning in the work they do...

Continue reading →


Load balancing done right, finally!

ELB Connection Draining - Remove Instances From Service With Care

So it is now (finally) possible to ensure that all in-flight requests are completed before an instance gets de-registered from an ELB (graceful removal). Until now, anytime an instance was removed from ELB, the plug was pulled causing:

  • Half-drawn web pages
  • Aborted file downloads
  • Failed web service calls

…each of which resulted in an unhappy user or customer.

Feature or bug-fix?

And no, it isn’t innovation. Connection draining has been possible even with the open source software load balancer HAProxy since many years!

Witness the power of marketing!

Just one final question:
After all this, why isn’t Connection Draining enabled by default on AWS?

Continue reading →


Anti-Agile pragmatic agility

Agile Is Dead (Long Live Agility)

— Dave Thomas, co-author of the Agile Manifesto

Couldn’t agree more.

A lot of what Agile has become is just this:
scrum-iteration-detail.png

Reduced to an iterative methodology of doing things (often without enough upfront thought towards how the sprints will add up towards a meaningful medium term goal). Fact of the matter is that most businesses don’t operate that way, so how can their software?

Most large and medium enterprises that talk about iterative methodologies continue to focus strongly on:

  • Having the right processes and tools
  • Documenting extensively
  • Strong contracts and liability protection
  • Planning for a quarter or a year or even 3 years

Contrast this with the Agile Manifesto.

We need to rethink our approach. Most businesses need to plan for a sustainable future, need to be prepared for employee turnover and fast ramp-ups, need to protect from liabilities...

Continue reading →


Cloud computing over the years

Back in the mid to late 2000s when Amazon Web Services came out with the Elastic Compute Cloud (EC2), it wasn’t much more than a virtual machine hosting service with a self-service interface. Since then the cloud has come a long way and in this post, I shall try to trace the journey to its present day avatar.

First they ignore you. Then they ridicule you. And then they attack you and want to burn you. And then they build monuments to you.

— Nicholas Klein, US trade union address, 1918

At first, most enterprises simply ignored this latent phenomenon. Small and medium businesses saw it as experimental technology at best, while start-ups embraced the OpEx model with glee. Those companies that did setup infrastructure on the cloud saw it as nothing more than another data-center with an incredibly simple & fast turn-around sans SLAs. Though true at the time, unfortunately this view...

Continue reading →