DEV Community

Tired of Deployments, built my own Heroku

Kostja Appliku.com on August 16, 2020

This article is brought to you by the first deployment service, dedicated specifically to Python & Django Appliku.com. Never manage a server a...
Collapse
 
mutale85 profile image
Mutale85

I wish to congratulate you for the brave decision you took to build the project.
I have been thinking of building my own stackoverflow like, question and answers forum. All i need it to be brave like you.

Collapse
 
kostjapalovic profile image
Kostja Appliku.com

Hey, Mutale85!
Thanks for kind words.
I guess this has nothing to do with being brave.
I had the idea, I started playing around with scripts.

Then more scripts, then some UI.
17 months later I am polishing a fully functional app.

The problem is the well-known feature creep.
You need to understand what you are building and what you are not building. List of what not to do is more important. We as engineers can be distracted super easy by a new shiny thing we want to learn/try/etc.

That was the biggest problem.

Hope my thoughts help you on your journey!

Collapse
 
anshulnegitc profile image
Anshul Negi

Well said

Collapse
 
leanwebstart profile image
Serge Lachapelle

Very nice! Congrats, looks great... I am an actual customer of Laravel Forge and Envoyer... these apps are a godsend for devs like me as they make the deployment part so easy...

Wish you all the best... Really looks great...

Collapse
 
kostjapalovic profile image
Kostja Appliku.com

Thanks, Serge!

Thanks for your kind words.

I've seen a lot in tweets and everywhere, that people use Forge and it is a vital part of their stack. That was one kind of thing that kept me going!

Collapse
 
iraqwarvet31 profile image
Larry

I am a beginner myself. I have 5 apps already on heroku and I find myself deleting the less apeasing ones because I would rather not pay. Mind you the ones I delete are still on github. This definitely solves my problem!! Thank you so much!! Its simply amazing that you did this!!! I hope to one day be able to do what you guys do. I have so many ideas but not the skills to make them come alive.

Collapse
 
kostjapalovic profile image
Kostja Appliku.com

Hello, Larry!
Thanks for your kind words!

Yes, with Heroku it is hard to be playing around with multiple apps. Invoices are getting bigger super quick. One of the ideas behind Appliku was allowing running multiple apps (low traffic, non-production environments, etc) without the added cost of running each of them.

This is important no matter what stage in your career or how big is your company. You still need room for experiments without being punished with invoices.

So while on the free plan Appliku allows only 1 server and 1 app, on $9/mo it allows 1 server (doesn't matter which size - you can be as small or as big as you want) and unlimited apps.

So if you choose AWS with their free tier for a year you can be just paying $9/mo for everything and have as many apps as you want. If they don't fit on the server (because of RAM) you can just disable not interesting until you want them back. But your expenses will be the same.

Let me know if you need any help, I know how being a beginner is hard while trying to code stuff, let alone deploying your app :)

Wish you the best!

Collapse
 
abdenasser profile image
Nasser El Idrissi

congratulations @kostjapalovic this is realy an inspiring story and the steps you took towards the final products are really what any dreamers should do with their own product ideas, that's the blueprints, overthinking something is very bad you should always start with at least one solution that solves one specific problem then iterate and you'll find yourself building a bigger solution fo some king od problem a lot of people have without you even knowing about it.

Congratulations again and keep koing sir!

Collapse
 
kostjapalovic profile image
Kostja Appliku.com

thanks for the words of support! helps to keep me going!

Collapse
 
smyja profile image
Smyja

Does this support celery and rabbitmq for django? Also are there tutorials on deployment on Django

Collapse
 
kostjapalovic profile image
Kostja Appliku.com

Hello, Smyja!
Yes, I made the effort so that it is easy to run django with celery and rabbitmq simple.

When you create an app, tap the box with that says "create rabbitmq, postgresql, redis" and the only thing in your app is needed is to respect DATABASE_URL,CELERY_BROKER_URL and REDIS_URL.

In Procfile you add web worker, celery worker.
that's all that is needed to run celery.

Collapse
 
smyja profile image
Smyja

Okay. Also , I can't link my Aws educate account. I keep getting an EC2 error.

Thread Thread
 
kostjapalovic profile image
Kostja Appliku.com

Contact me on 123 at appliku com i will be happy to assist you! I am sure it is something with policies for those credentials you are using.

Thread Thread
 
kostjapalovic profile image
Kostja Appliku.com

This should help.
Check that you have all needed Policies added
appliku.com/articles/how-to-deploy...

Collapse
 
jonathans profile image
Jonathan Sundqvist

Well done!

Functionality wise I'm curious why should I use appliku instead of say dokku? What's the selling point compared to just using something like dokku?

Collapse
 
kostjapalovic profile image
Kostja Appliku.com

Hey, Jonathan!
Great question.
Dokku requires some DevOps knowledge to set itself up. And as far as I know, it is a single server thing, so there is not much way to scale with it when you need it.

Appliku's purpose is to remove the need for knowledge of anything DevOps completely. Couple clicks and you have a server setup and you don't need to care about it at all.
How much time will it take to set up Dokku, especially for the first time? 30 minutes? An hour? 1 server plan in Appliku is $9/mo.

Right now, Appliku only supports single-server deployments too, but I am working on clustering deployments, it will be released this year(can't be more specific at this moment).

So while Dokku solves the problem and I find its existence amazing, there are people with low pain from routine tolerance that just don't want to deal with those manual setups. For such people I made Appliku :)

I hope I have answered your question :)

Collapse
 
jonathans profile image
Jonathan Sundqvist

Thanks a lot for your answer! I'll definitely keep appliku in mind for the future. Especially if I start to need multi-server setups. For the time being I'm happy with dokku for toy projects.

Thread Thread
 
kostjapalovic profile image
Kostja Appliku.com

Sign up for Appliku's newsletter. Clustered deployments are in development.
I will announce there when they are out :)
Thanks for kind words!

Collapse
 
realact profile image
Eli

Excellent article, thumbs up!

Collapse
 
yo profile image
Yoginth

This is awesome! Waiting for "Connect to GitLab"

Collapse
 
kostjapalovic profile image
Kostja Appliku.com

thanks for your kind words! as you can see from interface it is planned :-)) but I cant tell right now exactly when I will make it happen.

Collapse
 
fajarsiddiq profile image
Fajar Siddiq

Awesome article! very useful

Collapse
 
kostjapalovic profile image
Kostja Appliku.com

Thanks, Fajar! 🎉

Collapse
 
hamzanouali profile image
Hamza Nouali

You need to post this on the caprover's slack community. Great work! I will give it a try soon.

Collapse
 
ender_minyard profile image
ender minyard

I was about to sign up but was turned off by the app requesting ALL private and public Github data just to publish a repo. Why do you need all that data?

Collapse
 
kostjapalovic profile image
Kostja Appliku.com

Hello, ender!

That's the idea behind Appliku: it takes code from your GitHub repos and creates a server on Digital Ocean or AWS and deploys it there.

All that is done via API and you have zero manual work to set things up.

If I did not answer your question, would you be so kind as to elaborate on your question? Maybe I am missing something?

Collapse
 
ender_minyard profile image
ender minyard

Most apps request access to repos only. Appliku requested access to personal data from my Github account, not just the code.

Maybe it's a simple switch? But I would appreciate if you requested less user data.

Thread Thread
 
kostjapalovic profile image
Kostja Appliku.com

Oh, that's what you mean.
Thanks for taking the time to reply.

This is not intended behavior.

I will work on this to reduce the scope of permissions requested from user.

Thanks a lot! 🤝

Collapse
 
joshmanders profile image
Josh Manders

Great article Kostja!

Collapse
 
kostjapalovic profile image
Kostja Appliku.com

Thanks, Josh!

Collapse
 
darkle profile image
Coop

What are the specs of the server that you deploy to on the $9 a month plan? e.g ram/cpu/storage

Collapse
 
kostjapalovic profile image
Kostja Appliku.com

Thanks for asking.
The idea is you pick any server you want.
You can pick t2.micro or 5$ droplet or go over 500$/mo.
You pay directly to cloud provider. Appliku manages your server and apps.

Hope I have answered your question.

Collapse
 
mrcartoonster profile image
Evan E. Baird

Bravo! All I see is stars. We'll using this for my Django. Thank you, Kostja.

Collapse
 
kostjapalovic profile image
Kostja Appliku.com

Let me know if you need any help!

Will be happy for feedback too!

Best wishes, Evan!

Collapse
 
seveneye profile image
seveneye

Hope you can add nodejs in the future :)

Collapse
 
kostjapalovic profile image
Kostja Appliku.com

hey! thanks for question! nodejs is supported version 10, 12 and 14.
but only for dynamic apps, not static yet

Collapse
 
bitleaf_io profile image
matt from bitLeaf.io

Thanks for sharing your progression with the community. It's good to hear how ideas are born and how they go just from ideas to reality. Nice work!

Collapse
 
kostjapalovic profile image
Kostja Appliku.com

Thanks so much, Matt!

Collapse
 
faraazahmad profile image
Syed Faraaz Ahmad

This is awesome! I was planning to build a Heroku clone as a hobby project and this is very inspiring. What are your thoughts on render.com ?

Collapse
 
kostjapalovic profile image
Kostja Appliku.com

Thanks!

Re: render.com
I've seen it recently.

Perhaps it can cut some market from Heroku. It seems to have the same business-model.

I can't tell more, never tried them.

Want I wanted is a calm business. Reselling clouds is not a kind of business that is calm. In this case, you are solely responsible for everything.

AWS down? Your fault.

AWS decides to close your account for suspicious activity on one of the servers? Your headache.

Appliku is different – millions of robots are DevOpsing servers so that apps run smoothly. The rest is on the cloud provider and the customer.

I want to be clear – it is not that I don't care if site goes down, but being solely responsible for that is a completely different level of responsibility.

This requires hiring more people and stuff like that.

I want to be solo/small team for as long as possible.

Collapse
 
gonzal3x profile image
Alexandre Gonzales

Hi Kostja,

When you have time please check flashdrive.io it's a consistent alternative to Heroku for 10% of the price (and really good performances).

Alex