First Pitch - October 20th 2014
I'll get straight to the point. Over the past year I've built a new platform at Hailo addressing some of the major issues plaguing developers and businesses in the industry. It's a globally scaling distributed microservices based architecture utilising technologies like Go, Cassandra, RabbitMQ, Zookeeper and AWS. We've had extreme success with the platform and launched 140 services into production since its inception last year.
Microservices are incredibly conducive to programmatic productivity and it shows in the design as we've had developers go from zero to production in around 15 minutes when doing something fairly straight forward and half a day when addressing more complex designs.
More so than that we've found what really made the difference was the ecosystem which we designed around the services. Libraries that abstracted away location of shared resources such as databases and queuing systems, a mechanism for service discovery baked into the platform, message routing load balanced without any implementation by the developer, auto registration of services in the api so urls such as /v1/foo/bar will translate to a service named com.google.v1.foo with the endpoint bar.
Beyond this we've developed tools for monitoring and management of these services so that the developer doesn't really have to think about where a service lives or how to scale it. They are able to focus on the primary task at hand, delivering business value to the company.
I'm rambling a bit here but only because I'm very passionate about this aspect of computing. We've seen a fundamental shift coming in the industry. Docker is at the forefront of a new way in which to deploy services. Google has now given the world an insight into cluster management with Kubernetes, a simple open source version of Borg and Omega, which they built internally and that which I've had the pleasure of using while working there. The game is changing and yet it's still so inaccessible to most of those who would benefit from these technologies.
There's still a major gap in the market. Heroku and App Engine provide a full fledged platform to run code but they encapsulate everything to a point that you lose control over scaling out the design of a system. AWS EC2 and Google GCE provide instant compute resource but there's a huge upstart cost of building the tools to deploy and manage services in such an environment, I know this because we've spent years doing it at Hailo.
There's currently an opportunity to build a platform for developers and business that give them the flexibility of creating SOA based systems without the cost of managing such a solution. I propose to deliver a Docker based Kubernetes platform that allows anyone to launch a cluster of resources within a few clicks, deploy their services on the platform, and immediately serve public traffic. The platform would allow them to manage those resources and services easily via a Web UI. Further to that we'd provide service discovery, monitoring and other tooling along with support for a fee.
StackEngine is a prime example of something within this space that validates the model but doesn't quite address every requirement. I've had the pleasure of speaking with them as recently as this morning. We've gained much insight and experience at Hailo into this domain and feel we can delivery something of greater value.
This is something I've been working on for a long time, before Docker was a thing and even before the new buzzwords such as "distributed microservices based architecture" showed up. I feel so strongly about it, that it's something I'll pursue with or without funding. However, with funding I can bring aboard a team of people I trust, respect and truly believe will be able to deliver something that fundamentally changes the way the industry thinks about technology.