HNHacker News
TopNewBestAskShowJobs

appliku

181 karma · joined May 1, 2020

Maker of Appliku.com Python Apps Deployment System
submissionscomments
appliku··on Show HN: Heroku Alternative for Python/Django apps
Please refer to more up to date Djangitos project template.

https://github.com/appliku/djangitos

I will rewrite ec2 deployment tutorial as soon as possible. Thanks for reminding me about it.

appliku··on Show HN: Heroku Alternative for Python/Django apps
hey!

I have a question. Are you deploying it to your servers/cloud accounts or clients’ accounts?

Regarding your questions: it is responsibility of the app to build and upload the static assets where needed.

If you want recommendation what to do, I’d say you’ll need a custom dockerfile, install node, run webpack in there and collect static.

If you are not using collectstatic in that process then given the lack of details I’d say why are you doing it in the same repo at all. But again – you provided very little details.

So if it is a website(server rendered pages, SEO is important,etc) - you should have node and do optimisations before pushing to s3.

If it is an app (RIA,SPA) then I’d say don’t mix frontend and backend. Decouple it and ship frontend separately.

Appliku Interface is built and served with Netlify. I still remember those dark times when I had frontend inside the main repo. It was largely inconvenient.

Either way happy to chat about your issues in our discord server. I am more than happy to help you figuring this out.

appliku··on Show HN: Heroku Alternative for Python/Django apps
I would like to say that existence of Chris Oliver’s Hatchbox was initial inspiration and validation after finding which i decided to build Appliku. So, Thanks, Chris!!!
appliku··on Show HN: Heroku Alternative for Python/Django apps
Yes, I can def-ly see it is way better. Question here, as far as i understand Caddy is a paid product, how its licensing works while deploying on customers servers?
appliku··on Show HN: Heroku Alternative for Python/Django apps
of course it does. Appliku out of the box provides a way to provision redis and rabbmitmq.

I have yet to write a tutorial about celery.

To specify processes to run you use Procfile. Specify your celery commands and enable them in Process tab in Appliku interface.

In order to have celery beat working you should use redbeat: https://github.com/sibson/redbeat

Other than that – no specific requirements. Drop me a line in contacts on our site if you need any help. Or in our Discord Community: https://appliku.com/discord

appliku··on Show HN: Heroku Alternative for Python/Django apps
Tell me more about Caddy vs Nginx. What are the biggest benefits? I honestly not exactly happy with nginx in some corner cases.
appliku··on Show HN: Heroku Alternative for Python/Django apps
Depending on your requirements build ties in Heroku can be quite long. One app i’ve recently observed take 7 minutes to build because it always had to build both JS and Django parts(buildpacks for both were executed every time). We made it way faster with custom docker file that used caches and often built under 40 seconds. i am not saying that is not doable in Heroku, but would take more effort.
appliku··on Show HN: Heroku Alternative for Python/Django apps
One thought I have in mind is ability to provision AWS and/or Digital Ocean managed DB offerings so you don’t have to leave appliku interface to get a production grade DB.

But Appliku will keep being deployment solution for apps.

appliku··on Show HN: Heroku Alternative for Python/Django apps
It happens for a free dyno. For paid dynos they are always up.

Appiku doesn’t turn off your servers.

Scaling and spinning up/down additional servers is in plans.

appliku··on Show HN: Heroku Alternative for Python/Django apps
I completely agree :)
appliku··on Show HN: Heroku Alternative for Python/Django apps
$250/mo per process. And with appliku it is done automatically so there is no need for admin/devops time.
appliku··on Show HN: Heroku Alternative for Python/Django apps
At this moment we are not fighting for the niche of Production grade databases with failovers and all these valuable things.

The feature to back up at least postgres is planned, fail overs , replication, etc is not even planned yet. There are companies that have whole departments working on managed DB offerings, sadly – we don't. yet :)

appliku··on Show HN: Heroku Alternative for Python/Django apps
Also every provider offers different things, at different costs, etc. So it is up to providers to build solutions that are easy with a given language or framework.

We aspire to build a convenient service for Python/Django and there is a long road ahead.

appliku··on Show HN: Heroku Alternative for Python/Django apps
I would correct the last part. Appliku is an automated devops as a service. Heroku is selling you a very much overpriced complete service. And that's where Appliku comes in as a way to fight insane costs.

But yes, setting up a server is not super hard. Doing it often and with convenience that's where improvement is needed compared to doing it manually.

appliku··on Show HN: Heroku Alternative for Python/Django apps
Hey, thanks for kind words!

At the moment databases in Appliku are best fit for non-production environments. So while you can enjoy easy and great deployments of your apps, I am not ready yet to compete on the production databases front. So no, we don't offer fail over or even backups at the moment. Backups are in plans, but more advanced features for databases is not even in backlog.

appliku··on Show HN: Heroku Alternative for Python/Django apps
It only proves there is market for that.

The more solutions the better!

Wish you best of luck!

appliku··on Show HN: Heroku Alternative for Python/Django apps
It doesn't seem like a lot when you enable one more resource for $7-10/mo. You can clearly see invoice "growth" when it adds app, right? :D
appliku··on Show HN: Heroku Alternative for Python/Django apps
Separate account will be the best strategy. I prefer having separate accounts for every project. Hustle to login between them, but the best isolation that can be between projects.
appliku··on Show HN: Heroku Alternative for Python/Django apps
Thanks for kind words.

While I know how to deploy myself I am fed up with that. Especially when it comes to a new project. There are so many places where you can screw up with a typo or stuff like that.

So while I know how to do it by myself, I don't enjoy doing that and that's how the project got started.

By the way if curious i wrote a post about that: https://dev.to/kostjapalovic/tired-of-deployments-built-my-o...

appliku··on Show HN: Heroku Alternative for Python/Django apps
Hey! Thanks for question. I guess there is an article that needs updating. Appliku only needs AmazonEC2FullAccess.

Well, if you feel that something is off you just revoke credentials.

I will update the article now. Thanks again

appliku··on Show HN: Heroku Alternative for Python/Django apps
As i said in another comment Heroku is unbelievably expensive.

What they offer for $250 per process can be done at $60/mo per whole app.

When I helped them move all background workers and all non-production apps to Digital Ocean they ended up saving $7k/mo which blew my mind.

It is easy to start on Heroku, but staying there is a black hole in any budget.

Thankfully we've built Heroku Config Vars sync so one can move off of Heroku gradually.

appliku··on Show HN: Heroku Alternative for Python/Django apps
I wanted to host nothing. I wanted click click and deployed. But I've heard about piku many times seems like a great thing!
appliku··on Show HN: Heroku Alternative for Python/Django apps
You can do Dokku, you can setup dokku and deploy apps with dokku. no problem.

But I wanted a solution where I don't need to remember anything DevOps while writing/shipping my apps.

I also added a generous free plan that allows all features. Then AWS has free credits so one can start their next big thing without expenses and not learning a single thing about deployment at all

appliku··on Show HN: Heroku Alternative for Python/Django apps
Price.

It is easy to start on Heroku. With one app, one process.

When you have multiple apps and several processes there is a way to reduce costs and not loose in convenience.

$10/mo droplet can hold plenty of apps and it is still $10/mo. If you don't need a production grade Database – Appliku has them at 0 cost.

Back in a day I moved several of my side projects to Heroku. I was happy until i received a $90+ invoice by the end of the month. Now a $10/mo droplet holds even more projects for me.

appliku··on Show HN: Heroku Alternative for Python/Django apps
DO Apps platform in terms of pricing is as bad as Heroku's offering. They charge per instance of the process and it becomes pretty expensive. Appliku helps to reduce costs by putting processes on a single server.

With Heroku Config Vars sync feature one of the customers managed to save around $7k/mo on fat Dynos that are insanely overpriced in Heroku.

So while DO Apps platform will definitely have their target audience, Appliku allows to save a lot of cash.

Hope I was able to answer your question :)

appliku··on A way of detecting if your site was hacked. Worth implementing?
I think it is as complex topic as solving captcha or fighting email spam.

You can check screenshots, you can check for new CSS/JS files included in page.

That's a start.

Also you should track DNS/NS changes.

Only screenshots are not enough. What if they redirect users elsewhere? Open new windows (well, browsers fight it themselves, but still).

To summarise this: - DNS changes - changes in included JS/CSS files - changes in new outgoing links on a given page.

This should be enough for starters

appliku··on Why You Should Share Your Ideas Online
Every time I read articles like that, of course, it inspires me to create, it gives hope, and stuff like that.

It is possible. Just do simple things and write.

But then you reach lines about $4m in sales and you are like "c'mon that just not me, right? it can't be".

I guess most of the time people have these questions in their head: - Who am I to write? I am no expert (afraid to express an opinion, share knowledge) - Whom will I teach? There are tons of people who know more.

and all that stuff.

What I am trying to say depending on current environment the person is in – it can be very hard to overcome those feelings and just start writing.

People should know that when they start writing when they start doing what they have never done – they will at some point be at the place they never been, out of that bubble where they were with discouraging peers.

Maybe that's why people invented aliases?

appliku··on Show HN: Appliku.com Cost-Effecient and Pretty Python Digital Ocean Deployments
hey, hi! Thanks for asking!

Let's say to deploy change I do "git push" and that's it. Everything else is done for me.

In the case with the app you described – you have already done major part of heavy lifting with the initial setup.

In your case you are not using git, it means you might have problems adding anyone else to help you coding.

Side note: if you are not using git you can easily lose your code if you don't have any other backups if the server goes down and something happens with your computer at the same time.

Now, variables, credentials: something tells me you have them in your code, which is bad. If you just add git, it is even worse – you will have them in a repo and again it is bad.

Now imagine the situation when you need to move to another server. You have all your code in the system, no containers or dockers. My gut tells me that you don't have scripts to automatically install everything on a new server. It will be a nightmare to install everything and try not to forget how they were set up(judging from the Django version it was a very long time ago).

What you have it works now, but such setup makes you absolutely unprepared for any change(new people, migration to another server, etc).

So, those were bad things I pointed out.

Let's see what (in)direct benefits of using a "middle-software":

- you will use git. It gives you a chance to add new people to the team, code history, code backup - Your task as a developer is to git push the code. DEPLOYMENT is not exactly the concern for a developer. - You are forced to have more up-to-date workflow. App should be tested before going out or at least should have ability to be tested. Tests are exectured by CI/CD of some sort. So you have to work in the way to be ready for that.

So, what I am trying to articulate here is that having benifits of modern tools to work in team, test the app, check code quality to eventually have better application requires certain approach to storing your code and deploying it in automated fashion. By doing it manually over ftp/sftp and manually running commands to update/restart it – you are not letting yourself to use other modern teachnologies and tools. And they are middle-software in their niche/for their task. So, if you want better quality software of yours – you shoudl use many other things that you can called "middle-software".

When we work alone and we are not used to work with all modern tools we choose workflow that is super fast and convenient for us at that point. I too back in a day was running production server running in "screen" and cmd/ctrl+s applied my changes and it felt logical and very easy.

What I realized that this setup is impossible to control and especially replicate. And everything falls apart when you have somebody else who needs to make changes.

Fast forward, 2020 – I don't want to think about two things: server configuration and app deployments. I want to push my code and see changes. I want to be able to invite others to my git repo and nothing in workflow should change.

When you do things manually it just doesn't happen without pain.

I hope I gave you a good enough answer, and examples and metaphors to articulate my ideas in this very huge topic.

Wish you a great day!

appliku··on Show HN: Appliku.com Cost-Effecient and Pretty Python Digital Ocean Deployments
Generic CI/CD pipeline is a way to execute your automation. But you have to code everything yourself at least initially.

With Appliku you have your web server installed, databases provisioned and settings applied.

With CI/CD pipeline you have to write all that yourself.

You may think that one of the core features of Appliku is a niche CI/CD that has a pipeline written for you for the task of deploying and running your Python app.

Could you build it yourself? yes. Question is, should you?

Additionally, you have servers provisioning and setup, DNS records, SSL certificates issued, and many more things taken care of.

appliku··on Show HN: Appliku.com Cost-Effecient and Pretty Python Digital Ocean Deployments
Yes. It is not based on any existing tool(except Django) and I didn't hire anyone(yet?)
← PreviousPage 2 of 3Next →