Show HN: Alicorn Cloud – Easily move between AWS, GCP and Azure
alicorncloud.io
alicorncloud.io
AWS, GCP or Azure – with Alicorn your stack runs anywhere. Switch cloud providers in one click and never run out of free credits!
For a while it's been possible to build "portable" stacks that are easy to move across cloud providers. AWS, GCP and Azure nowadays are almost identical; they just don't want you to think this way. Docker, Kubernetes, functions, Redis, Postgres, Kafka, ElasticSearch – the building blocks are exactly the same. The problem is, it takes more work.
Alicorn does the plumbing on AWS, GCP or Azure for you – so that your stack runs anywhere. This means you are no longer tied to your cloud provider!
- Escape vendor lock-in – switch cloud providers in one click - Use free credits from all 3 major providers. This means 3 years free - Deploy containers, webapps, functions, databases, storage, etc - Get DevOps best practices out of the box, like Terraform and CI / CD - Best in class hosted free tier with 8gb RAM - you can actually run production on it
Our ProductHunt launch: https://www.producthunt.com/posts/alicorn-cloud
I created an app. It has been stuck in deploying state for 9 hours now[1]
You can't say that I didn't give your product a fair shot. I might conclude that I have trust issues with your product.
Anyways, congratulation on your producthunt campaign!
Having tried to build a PaaS like experience, the value proposition that you are proposing is actually a self fulfilling prophecy. Just moving containers and apps is not enough. Large scale data migration from buckets to databases is super expensive and non trivial. One of situations that is quite commons is canary migration, where they would like to run both cloud providers and slowly phase one out. That is non-trivial too. Certificates starts become invalid, the migration is also dictated by how the apps are written too.
Also, startup are fairly easy to acquire but very hard to monetize for the amount of effort that would go into building everything resilient. I think biggest problem is the sheer amount of permutation and combination of things.
Alicorn actually generates infra-as-code (Terraform) using modular "targets". By default for container it uses managed engine provided by the cloud provider which costs way less than a dedicated K8S cluster (on AWS that'd be Fargate)
But K8S is fully supported too - when you create an environment you can pick a Kubernetes target and get a cluster
re monetization / permutation: we think we've solved this by having PaaS as the first step. that means we can provide defaults that we know how to handle end-to-end. the differences in modern SaaS stacks aren't that dramatic, and by making a few established patterns super easy to follow we can achieve high degree of uniformity
When we were doing this, what we saw was the moment a company becomes serious they will decide to do all of this themselves. Companies want to own the IaC which you are taking away. Cool aspect of the platform is actually the negative thing from an enterprise point of view. I think it will impact LTV.
They want to own their own terraform script. Scripts you are generating can be written in matter of minutes by seasoned devops engineer. There is not really a moat.
We are indeed VC backed. And we know that it's a tough market to crack. But we also know that the opportunity is enormously large - because the right product could replace a large chunk of DevOps consulting, and from there expand into the holy grail of the "enterprise core". So worth trying.
Yes it can be written in minutes by a seasoned DevOps engineer. But access to seasoned DevOps engineers means either hiring them full-time or paying a huge consulting premium.
Yes people want to own their Terraform - and we encourage that. You can simply connect your repository with TF and Alicorn will do two-way sync.
If you really just want a basic website and that’s all you’ll ever do this might work but outside that pick a platform and build natively to get the full benefits of that platform. People like to talk about wanting to be cloud agnostic so they can switch workloads quickly etc. In practice few really do that since the pain imposed by building to the least common denominator is vastly worse than the “benefit” of mitigating some perceived “risk.”
But for thousands of small businesses out there, not speaking of medium and large ones, cloud providers replace one or more full time employees who'd otherwise be busy maintaining and supporting their stacks. You can do the math. From that point of view AWS & co are dirt cheap.
- The docs link to digger and I don't really understand what Alicorn is. Is it just a GUI for resources defined using digger?
- The digger docs look unfinished, e.g https://learn.digger.dev/overview/understanding-targets is missing.
- From my understanding, to achieve cloud-agnostic infrastructure specification, digger abstracts the individual pieces of the infrastructure to things like Components and Resources. It then uses these abstractions to generate Terraform (and k8s) files for a given cloud provider. But where is this mapping between, say, a resource and a piece of terraform config for AWS? Do I have to provide it? What's the point, then? Does digger offer some already-prepared Resources? If yes, where?
- Having an example setup would really help to understand.
We launched Alicorn to focus on one thing only: multicloud. Digger value prop was less clear. Under the hood Alicorn uses same Digger engine, but adds PaaS mode as a starting point and Kubernetes to be truly cloud agnostic.
Understanding targets docs fixed- thank you for pointing that out!
The missing bit for cloud agnostic specs is targets. It's essentially a meta-template, collection of "Terraform generators" that take in higher level stack definition aka "infrastructure interface" and producing Terraform specific to a given cloud provider. You don't have to provide it, but you can customise Targets, or built entirely bespoke - it's essentially TF + basic templating on top.
Check out https://github.com/diggerhq/target-fargate as an example
Thats a non-trivial task that I don't need to do on Heroku.
This seems to be targeting smaller, one off, services not full stacks? Can I deploy my whole cloud at once?
Not to mention no talk of how does your app connect to your database? Or caching? Or static assets? Do I need to translate paths in my apps to new domains?
Does it transfer my DNS listings?
What about auth? Does it translate Cognito to GCP or Firebase auth?
What about the data itself? Does it transfer my data between clouds?
Lots more questions than answers here.
It is actually for full stacks, not individual services. The demo isn't doing a great job showing it indeed.
Re Docker - yes, we don't believe there's any practical reason running backend code without containers in 2021, unless it's serverless functions. It's easy to dockerize pretty much any app, takes minutes and makes your code portable, container registry becomes your artifact store, easy rollbacks, consistency etc.
Connection to DB is done via env variables, automatically mapped from Terraform outputs. Secrets are stored in AWS parameter store or equivalent.
Static assets go to block storage (like s3) and served via cdn (like Cloudfront)
DNS / domains: each service gets its own unique URL in every environment via managed DNS (on AWS it's route53). You can also connect your own domain.
Auth - we don't support that yet, on the roadmap for Q4.
Data transfer - no, that's left to the user. We don't anticipate people doing migrations too often though - we just make the infrastructure part simple.
Thanks again for asking these questions!
Azure free $200 credit only work for 30 days, so not 2.25 years - but 1.33 years (if you need credit instead of free 12-month services).
Alicorn seems to sidestep the incentive model for CSPs entirely, I wonder if they'll add a clause to their free credit programs.
The math really starts working when your cloud bill is $5-10k a month or more. Then you can either foot the bill or hire an extra engineer. There are thousands of startups who'd much prefer to hire another engineer instead.
Yes, for folks who do not know, you can use Scylla, a NoSQL database that has a DynamoDB-compatible API, to deploy to other clouds (GCP) or even on-premises. It's been running in production for some years now. Here's the blog when we announced it, and there's more to be found on ScyllaDB.com — just search for "Alternator."
https://www.scylladb.com/2019/09/11/scylla-alternator-the-op...
Did someone ran into this? I'd look into it myself, but thought I'd ask first.
Alicorn uses Terraform under the hood and allows you to customise it however you like. You can think of it as "CI for infrastructure" with meaningful defaults. 90% of the most common tasks are automated, but at the same time it's not a black box, you still have full access to native for the remaining 10%
At the same time, simplicity is needed more then ever - k8s is cool but now people are spending crazy amounts of time and money to set up the devops goodness to run simple apps
So we thought, why not have both simplicity and power? We're just making the deeper layers of configuration optional, but still accessible.
What are your thoughts on serverless?
Under the hood Alicorn generates Terraform, which you can also customise. So you get a proper DevOps setup out of the box with the convenienc of Serverless but way more power if you need it