DEV Community

Thomas Hansen
Thomas Hansen

Posted on

How we built a Cloud Service Provider in 1.5 months with Hyperlambda

Leonardo DaVinci spent 13 years on Mona Lisa, and in fact he died before he could finish her left hand. Andy Warhol created his art using Xerox copy machines, and sometimes he'd finish a painting in minutes. Today Andy's paintings are almost as valuable as DaVinci's stuff, and to be honest with you, I wouldn't put Mona Lisa on my wall if you paid me to do so! I love Andy's neon green frogs though, and in my office I've got a pop art thing of Winston Churchill hanging. I wish I could tell you it's a Warhol "original", but unfortunately it's not. It's still superior to Mona Lisa in every way I can imagine.

What's the purpose of the above little story you might ask? Well, I hired a "Leonardo DaVinci" when I started Aista. I gave him a simple specification which was to "create a registration API, allowing users to register and confirm their emails as they do". 4.5 months after he had started working, he had absolutely everything you can dream about, except working software of course - And it wasn't for lack of trying. The guy was wrestling for two weeks with simply configuring Pulsar, and spent another month trying to figure out errors in ScyllaDB and errors related to the GoLang library he was using to connect to Pulsar. This thing had "everything" ...

  • DDD
  • Pulsar
  • Event Sourcing
  • Distributed and replicated database systems (Scylla)
  • Saga Micro Service Architecture
  • A generalised solution for long transactions
  • A Micro Service Architecture that would make even Microsoft and Amazon blush

This guy was considered one of the best software developers in the country I live in, and he had done "everything" you can imagine - However, crucially may I add, there was one thing he did not have, which was a working registration API. 4.5 months after he started, I still could not even use Postman to create a freakin' user and have an email sent to the user's email address to apply double optins.

After 4.5 months and still no registration API I politely told him to leave the key at the door, as I informed him that he was free to apply for work elsewhere. Half an hour after he left, I had built and deployed into our development environment a working registration API built in Hyperlambda and Magic, and I had CI and CD on the thing. 1.5 months later, I was done, on time, even though I had wasted 75% of my time waiting for something that never came until that point.

Yup, I built the entire infrastructure required for starting a Cloud Service Provider to deploy "cloudlets" into a Kubernetes network in 1.5 months. And to be honest with you, I probably spent less than 10% of my working hours doing these things, because I had to take care of a lot of other things as the CEO and the founder of Aista. Its features ...?

  • Registrations? Check!
  • Confirm emails? Check!
  • Change password? Check!
  • Forgot password? Check!
  • Profile editing? Check!
  • Create and deploy PODs into a Kubernetes network? Check!

Plus a bajillion things I probably forgot. In total it's got 2,081 lines of code, divided into 29 different Hyperlambda files. How do I know? Because complexity measuring of modules is one of the integrated features in Magic.

Magic statistics

The thing is async to the core, it can handle hundreds of simultaneous HTTP requests in parallel, and scales to the moon and back. From a functional point of view, it's probably several orders of magnitudes better than anything you could pull off in any other programming language in existence on the planet as of today, and it was built in 1.5 months of development time, by one developer (me) spending no more than 10% of his time building it.

Why do I tell you? Because people here at dev asked me for Hyperlambda use cases a couple of months ago. Well, here's one for you. If you can replicate what I did in another programming language, I will eat your dirty socks, while filming myself, and uploading the video to YouTube for the entire world to see I was wrong ...!! ;)

And before you start commenting; We tried GoLang, we tried Rust, and we tried C#, and we spent 4.5 months failing - And even though we had the best and most qualified software developer in the country where I live, he couldn't do in 4.5 months what I needed no more than 30 minutes to accomplish with Hyperlambda ...

And no, this is not about me. 4KSoft in Ukraine, one of our partners, also delivered their first Hyperlambda project 2 months earlier than planned due to Hyperlambda's ability to simplify things.

KISS - Keep It Stupid Simple!!

Try it out here if you wish - It's got everything we need to become a fully fledged Cloud Service Provider, and we built it in 1.5 months ^_^

Top comments (0)