Some of you are in businesses that generate - possibly vast amounts of - data as part of your regular operations, quite a bit of which is used by your customers in one form or the other. As your business scales, an issue that you will almost certainly face is that of data latency and consistency degradation. To put it differently, the speed of access to, and reliability of your data will decrease, causing you and your customers quite a bit of pain and suffering.
In this talk, we will explore this issue in detail. In particular, we will focus on how an erlang-based infrastructure can ease your pain at scale, and help keep your customers - happily - in the loop.
This is the lifeblood of your business. At all possible levels
you are communication with them - When they log in - When they check their mail - When the update their contacts - When they look at their call logs - When you send them a notification
This is the lifeblood of your business. At all possible levels
Everything your customer does reflects on you
Just because they are happy now, doesn’t mean they will be happy laterHence the karma points you build up
Just because they are happy now, doesn’t mean they will be happy laterHence the karma points you build up
Initiated
- real time (or near real time) * your phone is ringing * no, your phone is *really* ringing * never mind. it rang. they left a voicemail - delayed (or really delayed) * heres the voicemail you were left * heres the transcription of the voicemail you were left
This is the lifeblood of your business. At all possible levels
Unless you are unlucky, in which case, degradation is fast. Or is that unlucky?Two phase design - build it to demo the feature - rebuild it to scale - rebuild it again to scale (properly this time)
Oh, it’ll scale all right, just not the way you thoughtJVM, MySQL, Heroku
Yes, this is all ludicrously obvious. Its still worth being said
Yes, this is all ludicrously obvious. Its still worth being saidBuses, and pub/sub and EJB and c
Yes, this is all ludicrously obvious. Its still worth being said85 different cat-skinning-solutions, self-state-machine, null-pointer-exceptions
System startup is an often overlooked partIf your not up, you don’t got no customer communication!Its not what you started with. Its what you have now. It doesn’t matter how good your original design was.Domain objects, daemons (tons of them), perl + ruby + java,
Time spent on the system is time not spent making your customer happy.Business issues? Or just getting stuff working?
This is the lifeblood of your business. At all possible levels