We built and operated for several years the backend of our network monitoring platform ITsonar in AWS. It has to be said that AWS was a good platform for developing the product, experimenting with operational architectures and scaling with demand. We liked the ease of provisioning, we liked the tools and we liked the ecosystem and since we are cloud knowledgeable/comfortable we were able to manage our AWS infrastructure very well. But then came growth and the ROI reality hit.
But before we dive into the ROI details let me touch on another sensitive subject: IPv6. We are an IPv6 company so for some time we had to manage the fact that AWS was not supporting IPv6 natively. I am inserting here my thanks to Cloudflare who valiantly and extremely effectively frontended our infrastructure for IPv6. Native IPv6 did become available this year but provisioning was more complex than IPv4 and somewhat less effective than IPv4 (always check the Google Blacklist!).
Back to ROI, I know our story is not unique but it is worth re-telling for the startups who are still mapping a strategy for their infrastructure. The problems started when we spread our wings into resilience and our customers started to collect a lot of data. For resilience purposes we extended our backend across different availability zones within the same data center. Since AWS charges for the data transfers between availability zones and when data is exported, the moment our customers started collecting 30 million measurements each a month and integrated ITsonar with their own tools our monthly AWS bill went up more than 100%.
ROI in itself would have been manageable by adjusting our pricing model but there was a more significant cost to deal with: Our OPS team was stressed out about the shred resources hitting 100% utilization and thus impacting user experience. We were constantly looking at our resource utilization and could not explain the 100% CPU. My team was getting burned out by worries.
So yes, we understand the model, yes we understand the data transfer model (sort of) and yes we understand the infrastructure (not really) yet we decided to move to hosted, dedicated servers. What did we get for it? The User Experience (which we measure) is significantly better, IPv6 native support is smooth and the data exchange costs enable us to scale with our customers without delivering sticker price shocks. AWS, you are great for prototyping, we simply cannot scale with you. It is not you … it is us.
Anyone interested in some reserved instance? Contact me, I have a good deal for you!