News for hackers. Stuff that matters.
Re:Maybe You Don't Need Kubernetes by arp242 on Friday March 22, 2019 @06:50PM (#19467686)
Isn't Heroku really expensive though? I looked at it a few weeks ago and the cheapest plan was $25/month (there's also a $7 "Hobby" plan though, but that seems just for, well, hobby stuff?)

I instead got a Linode VPS at $5/month, which gives me more than the $25 Heroku plan? Setting up a VPS is not very hard either – although this may depend a bit on your environment, my app compiles to a static binary – and a lot more flexible.

My devops stack thus far consists of scp and tmux.

Re:Maybe You Don't Need Kubernetes by mslate on Friday March 22, 2019 @08:26PM (#19468192)
Suggesting that $25/month is expensive illustrates how insanely cost-sensitive this community is.

Don’t come to HN for a representative take of how people in US businesses evaluate vendors and their pricing.

Do you know how much it cost my employer for me to spend an hour reading about Kubernetes?

Re:Maybe You Don't Need Kubernetes by arp242 on Friday March 22, 2019 @09:04PM (#19468376)
Well, $25 is 5 times as much as $5, so if the costs scale at a similar level then your $500 hosting costs will end up being $2,500 which, depending on your business, may or may not be a significant cost.

Back when I worked for a hosting company specializing in RoR we had more than a few customers migrate to us because Heroku costs were getting out of hand (and we weren't all that cheap either!)

In my specific case I'm prototyping what could perhaps be a startup, and with a few small cheap Linode VPS's I can get a lot of bang for my buck.

> Do you know how much it cost my employer for me to spend an hour reading about Kubernetes?

A lot, which is why you shouldn't use it. You can run a VPS without k8s.

Re:Maybe You Don't Need Kubernetes by acdha on Friday March 22, 2019 @08:36PM (#19468236)
> Suggesting that $25/month is expensive illustrates how insanely cost-sensitive this community is.

I completely agree but I’m not sure “cost-sensitive” is an adequate term because it’s like a cost on hosting (or an app you’ll use for years) triggers extremely high awareness by people who are extremely blasé about hemorrhaging staff time on support and slipped deadlines.

Re:Maybe You Don't Need Kubernetes by zwkrt on Friday March 22, 2019 @09:58PM (#19468576)
Sometimes it can be hard to give up sysadmin work because people consider it to be a core competency and to let that go feels like a loss. Kubernetes hits the sweet spot where you get to use a tool to manage sysadmin work that is at least as much work as hiring a sysadmin.
Re:Maybe You Don't Need Kubernetes by andrewingram on Friday March 22, 2019 @09:05PM (#19468379)
Not everyone is thinking in terms of an employer, or looking to build a profitable business. One of the main sticking point for my side projects is related to deployment environments.

Heroku is painless enough for unprofitable hobby projects, but far too expensive. Using AWS, GCP or Azure directly is relatively affordable, but requires a lot of extra work.

I'm aware of various tools that are supposed to make working with the various cloud platforms much easier, but every time I see one of these used in practice (eg at work), people seem to spend an enormous amount of time getting things working properly. It still feels like we're missing a sweet spot for hobbyists who don't want to invest their spare time learning about and wrangling with devops, just to get a simple project up and running.

Re:Maybe You Don't Need Kubernetes by bww on Friday March 22, 2019 @10:01PM (#19468596)
Has anyone ever recommended Kubernetes to anybody as a production environment for an "unprofitable hobby project"? In the context of the article we’re discussing, the suggestion that $30 is an unreasonable operations overhead for a team of four engineers is thoroughly preposterous.
Re:Maybe You Don't Need Kubernetes by 52-6F-62 on Friday March 22, 2019 @10:06PM (#19468611)
Tangential, but if anyone wants something Heroku-like in for deployments and monitoring but less [eae-of-use gui] control over scaling I recommend Digital Oceans “one click” Dokku deployment.

I’ve used it at work for sunset of our projects and it’s been pretty good once you learn a few of the gotchas. Once you’re set up it’s pretty painless. There are limitations for sure, but it’s been handy for a few situations where we didn’t want to focus on deployments and keep them as simple as possible.

Re:Maybe You Don't Need Kubernetes by ken on Friday March 22, 2019 @10:44PM (#19468734)
If you're going for Heroku because of its simplicity, I don't consider the alternative to be "spend an hour reading about Kubernetes" (and presumably many more hours when I have to troubleshoot it next week). I'm not touching Kubernetes or Docker or any of that.

Even on AWS, I can deploy with one short command, and it's much cheaper than Heroku.

Re:Maybe You Don't Need Kubernetes by mslate on Friday March 22, 2019 @11:34PM (#19468908)
Can you run a one-off instance like “heroku run <command>”?
Re:Maybe You Don't Need Kubernetes by privateSFacct on Friday March 22, 2019 @08:39PM (#19468252)
So true - billing rates for consultants run 200+/hr. Even a small $1mm expense budget - $25 is not relevant and in my experience you can quickly be at 75%+ personnel cost (w2/1099 + desks / space etc for them)
Re:Maybe You Don't Need Kubernetes by Carpetsmoker on Friday March 22, 2019 @09:10PM (#19468409)
Not all businesses pay $200/hour for consultants. There are a lot of small businesses out there.

"A small $1M expense budget" may be "small" for certain companies, but it's more than the yearly revenue for a lot of businesses, never mind people who are trying to start a business and don't have any revenue at all (yet).

Of course you need to be reasonable and not penny-pinch or "spend money to save money", but in general I would say that frugality is a virtue.

Re:Maybe You Don't Need Kubernetes by bgorman on Friday March 22, 2019 @06:53PM (#19467705)
Look into Dokku, it is a free Heroku clone that you can run on a cheap VPS. I set it up last week and now all I have to do to deploy is type "git push dokku master".
Re:Maybe You Don't Need Kubernetes by 52-6F-62 on Friday March 22, 2019 @10:10PM (#19468624)
I missed this comment and made a similar one up-thread. I’ll second.

I’m ignorant as to whether large projects have run using it, but for smaller ones it’s useful.

Re:Maybe You Don't Need Kubernetes by winrid on Friday March 22, 2019 @07:03PM (#19467764)
Thanks! Maybe it would be worth replacing my 100 line nodejs script that does the same thing with this in the future :)

(not sarcasm, if this works the same and adds more value I'd use it)

Re:Maybe You Don't Need Kubernetes by rorykoehler on Friday March 22, 2019 @10:18PM (#19468652)
Second dokku. Its essentially a 100 line node js script if u remember correctly. Nice eco system growing around it. No scaling though
Re:Maybe You Don't Need Kubernetes by dyeje on Friday March 22, 2019 @11:00PM (#19468794)
I'll second this. Have had a great experience with dokku, about as simple as Heroku.
Re:Maybe You Don't Need Kubernetes by mromanuk on Friday March 22, 2019 @07:10PM (#19467803)
Try caprover.com, minimalistic orchestration similar to Heroku or Dokku (but with a GUI). Can scale too with Docker Swarm. I'm using it and it's a breeze, really happy with it. Previously I was using Rancher, but didn't like the switch from Cattle to Kubernetes.
Re:Maybe You Don't Need Kubernetes by xtagon on Friday March 22, 2019 @08:33PM (#19468226)
Just tried CapRover this weekend for a hobby project and it was even easier to set up than Dokku. The NetData monitoring integration is great too, and just as painless to set up.

For use cases where support plans and SLAs are not an issue (hobby), it's a great option.

Re:Maybe You Don't Need Kubernetes by Smerity on Friday March 22, 2019 @08:39PM (#19468250)
A third recommendation for CapRover. It's simple, it's beautiful, and it's open source. I've been enjoying it so far :)

CapRover also features one click SSL generation via Let's Encrypt, similar to what is offered on Heroku.

Re:Maybe You Don't Need Kubernetes by kbar13 on Friday March 22, 2019 @06:54PM (#19467709)
i dont get this thinking of how $25/month is considered expensive when heroku has already figured out and abstracted away all the busy work that's required for deploying code
Re:Maybe You Don't Need Kubernetes by paulddraper on Friday March 22, 2019 @07:00PM (#19467744)
For $300/yr you could get multiple Squarespace websites, and they abstract even more.
Re:Maybe You Don't Need Kubernetes by JamesBarney on Friday March 22, 2019 @07:08PM (#19467791)
Squarespace is great for solving lots of problems and if it solves your problem you should definitely use it before heroku. But as devs we're usually brought in after someone has figured out their problem can't be solved with Squarespace.
Re:Maybe You Don't Need Kubernetes by DoreenMichele on Friday March 22, 2019 @08:47PM (#19468291)
So, I don't really understand this comment. I'm not a programmer and I don't really understand what kubernetes, heroku, etc do. But I thought they were for applications, not websites.

I've done things like go to the Wikipedia page for kubernetes. It hasn't helped me figure out what such things do.

Anyone care to point me to some kind of 101 explanation to help me follow the conversation?

Re:Maybe You Don't Need Kubernetes by rajangdavis on Friday March 22, 2019 @10:13PM (#19468634)
Squarespace abstracts away code so non-developers can make websites. To the best of my knoweledge, you can't really do anything complicated with Squarespace but it takes care of a lot of the hassles of building a website such as figuring out security, social media integrations, and design layouts.

Web applications (web apps) are essentially websites but with some additional functionality. Web apps can work the same as websites by having urls for different pages but are distinct in that they can do things that a website hosted on Squarespace can't do. This is because to build a web app requires some coding up front which is both an advantage and disadvantage of webapps in comparison to a site hosted on Squarespace.

Heroku is a platform as a service (PaaS) offering that lets developers utilize version control tools to update their webapps. This means the level of complexity for deploying a new version of webapp is incredibly simple.

Imagine that you collaborate in an office that publishes technical documentation and various technical writers can work on multiple parts of the same document. Each new version of the document gets published to a PDF that users can access.

This is essentially what Heroku provides along with abstracting away some of the difficulties of getting a web app hosted such as security, setting it up so your site uses https, and some basic monitoring and logging.

Sometimes web apps look and feel like a singular thing but are actually multiple pieces working together. In this case, you may want to isolate these different pieces.

Doing so can be really difficult, and to the best of my knowledge, Heroku isn't necessarily designed with this level of orchestration in mind. This is where Kubernetes comes in.

I've never used Kubernetes, so I might get a few things wrong here but from what I understand, Kubernetes gives developers/devops people a lot more fine grained control of how the various pieces of a webapp or webapps get deployed and managed. Kubernetes let's you take advantage of containers which are sort of like micro operating systems but only with the dependencies you need installed for a service to run. This means you can write in a file "I want x replicas of this part of my app and y replicas of this other part of my app to be ran across z number of workers".

What this abstracts is how an webapp should be ran without manually setting up each piece your self.

Here is a video with a bit more info on Kubernetes: https://youtu.be/PH-2FfFD2PU

Re:Maybe You Don't Need Kubernetes by DoreenMichele on Friday March 22, 2019 @10:26PM (#19468674)
Thank you.
Re:Maybe You Don't Need Kubernetes by nothrabannosir on Friday March 22, 2019 @09:22PM (#19468456)
Sorry to see you're getting downvoted, but it's probably because that's just too long of a story to put in a comment. The parent you're replying to was being sarcastic: he meant to say, "well if we're going to pay other people to do our job, why stop at Heroku? why not pay squarespace even more money to do more work for us?" A reductio ad absurdum.

Ironically, he's right. But, as someone pointed out: Squarespace is probably not relevant in a conversation about Kubernetes, while Heroku is.

What Kubernetes is, is a long story. Suffice to say: if you don't know what it is, count your blessings. :)

Re:Maybe You Don't Need Kubernetes by DoreenMichele on Friday March 22, 2019 @09:28PM (#19468485)
So, what I'm hearing is that my confusion is justified because Squarespace doesn't do what kubernetes and heroku do.

Is that accurate enough?

Re:Maybe You Don't Need Kubernetes by Solar19 on Friday March 22, 2019 @11:14PM (#19468842)
Right. Squarespace is a hosting provider and website builder that anyone should be able to use to build a website, typically a smaller scale website like a blog or a small to medium online store / e-commerce site. It's similar to Wix, Weebly, WordPress.com, and the website builders that some hosting providers offer.

Kubernetes is a tool large companies use to manage a large number of servers. Google invented it and open-sourced it so now it's free for anyone to use. It's not something people would use for a single website unless it was a huge website that required lots of servers, like FoxNews.com or something.

Re:Maybe You Don't Need Kubernetes by dankohn1 on Saturday March 23, 2019 @04:44AM (#19469630)
Kubernetes is a tool that lets Squarespace more efficiently host large numbers of websites on a smaller number of machines.

https://www.cncf.io/people/end-user-community/

Re:Maybe You Don't Need Kubernetes by DoreenMichele on Friday March 22, 2019 @11:26PM (#19468878)
Thanks. That makes me feel a lot less stupid. It's much more in line with what I thought.
Re:Maybe You Don't Need Kubernetes by nothrabannosir on Friday March 22, 2019 @09:37PM (#19468515)
yes, but that's on purpose. "This is about Kubernetes, stop changing the subject to Heroku." or something. it's hard to read sarcasm online.
Re:Maybe You Don't Need Kubernetes by DoreenMichele on Friday March 22, 2019 @10:13PM (#19468633)
Thanks.
Re:Maybe You Don't Need Kubernetes by dankohn1 on Saturday March 23, 2019 @04:42AM (#19469622)
These two online books (made to seem like Children's books) represent a true ELI5 explanation: phippy.io
Re:Maybe You Don't Need Kubernetes by DoreenMichele on Sunday March 24, 2019 @01:17PM (#19477479)
Thanks. That's perfect.
Re:Maybe You Don't Need Kubernetes by barbecue_sauce on Friday March 22, 2019 @07:00PM (#19467742)
Heroku is great, but that's 5x the cost of Linode/Digital Ocean + Dokku.
Re:Maybe You Don't Need Kubernetes by onlyrealcuzzo on Friday March 22, 2019 @08:09PM (#19468114)
Unless you're a pretty large company, 5x the price in server hosting probably isn't worth your time worrying about.
Re:Maybe You Don't Need Kubernetes by tracker1 on Friday March 22, 2019 @08:24PM (#19468184)
Or working on a handful of personal projects that aren't revenue generating.
Re:Maybe You Don't Need Kubernetes by acdha on Friday March 22, 2019 @08:37PM (#19468240)
Unless the goal is to get more ops experience, wouldn’t those be an especially tempting place to spend more time on the project and less on support toil?
Re:Maybe You Don't Need Kubernetes by nostrademons on Friday March 22, 2019 @09:05PM (#19468380)
I think the issue is that for hobby projects, the alternative to Heroku isn't devops toil, it's scp.

You can get surprisingly far on a single box. PlentyOfFish, Mailinator, and Hacker News are all services that got to millions of users with one server. StackOverflow and Google are ones that got to millions of users with a handful of servers, mostly for redundancy.

When you have big teams that are all concurrently making changes and writing code to a live site that's mission critical, then things get complicated. But when there's only one dev and your few hundred thousand users don't mind too much if it goes down? You can just spend some one-time effort installing a stock Postgres install, scp over a single binary or tarball, and run it in the background with nohup or screen. When it's time to re-deploy, upload another version, kill it, and restart it.

Re:Maybe You Don't Need Kubernetes by acdha on Saturday March 23, 2019 @07:49AM (#19470058)
I’m not arguing that you can’t do a lot on a single server but think about how many separate skills you mentioned even after cutting corners for reliability, data loss, or security.

I’ve gone to a bunch of hackathons where some of the participants got derailed on that kind of stuff and never even got to the part of the project they cared about. My point was that it can be worth a modest amount of money not have that overhead on a small project.

Re:Maybe You Don't Need Kubernetes by tracker1 on Monday March 25, 2019 @01:27PM (#19484512)
Start:

* Single server on Dokku, with multiple projects

Grow:

* Switch DB to DBaaS on your hosting provider's cloud

Grow More:

* Multiple Dokku instances behind load balancer/proxy as a service

...

You can then scale vertically a LOT before you need K8s style infrastructure.

Re:Maybe You Don't Need Kubernetes by user5994461 on Saturday March 23, 2019 @08:57AM (#19470256)
>>> StackOverflow and Google are ones that got to millions of users with a handful of servers, mostly for redundancy.

Servers that can cost $50k each. Not a good example for affordability.

Re:Maybe You Don't Need Kubernetes by barbecue_sauce on Saturday March 23, 2019 @12:12AM (#19469031)
Setting something up like Dokku, which approximates the deployment of Heroku (git push to deploy), is fairly trivial.
Re:Maybe You Don't Need Kubernetes by acdha on Monday March 25, 2019 @09:50AM (#19482359)
Okay, now you have to support a Docker cluster, backups for persistent data, and deal with things like DNS, proxy, etc. management. It's easier than doing those from scratch but it's still a non-zero amount of work which will at best take time away from that small side project and at worst cause major problems if you never come back to installing security updates, running backups, testing the restore process, etc.
Re:Maybe You Don't Need Kubernetes by tracker1 on Monday March 25, 2019 @01:19PM (#19484430)
LOL... Dokku on DO is pretty simple... as to backups, it's a checkbox option, as to redundancy, for non-revenue generating projects, it's generally acceptable to have some down time. As to back up again, beyond some potential data loss, it's pretty easy to get CI/CD up and pushing to Dokku.

In any case, it doesn't need to be as completely flushed out as a company with millions in investment capital could do.

Re:Maybe You Don't Need Kubernetes by tracker1 on Monday March 25, 2019 @01:28PM (#19484528)
+1 on this, love Dokku myself. Great option for self-hosting and can even do some redundancy with multiple servers behind a load balancer.
Re:Maybe You Don't Need Kubernetes by tracker1 on Monday March 25, 2019 @01:24PM (#19484488)
Dokku isn't much more support toil, so to speak and can operate starting on a single server... $10-20/month on Linode or DO. With DO, can eventually grow a bit with hosted DBaaS, and multiple dokku instances, with a load balancer in front. Start small, some room to grow, long before the likes of K8s is needed.
Re:Maybe You Don't Need Kubernetes by marcosdumay on Friday March 22, 2019 @09:03PM (#19468369)
What toil? You put a service up, it stays up.
Re:Maybe You Don't Need Kubernetes by acdha on Saturday March 23, 2019 @07:41AM (#19470043)
Unless you’re just dropping a .php file in a shared server account, you have more setup and upgrade work setting up a running service. The first time it fails and you have to manually rebuild it, you’ll learn a valuable lesson about the PaaS value-add, too.
Re:Maybe You Don't Need Kubernetes by tracker1 on Monday March 25, 2019 @01:23PM (#19484473)
I find that dokku is a REALLY good middle ground... can even grow to have 2-3 servers, with a hosted load balancer and DBaaS, just deploying 3X exactly the same if you need redundancy. And starting off with a single server to experiment and host multiple apps is pretty easy to get started with (comparable to Heroku and similar).
Re:Maybe You Don't Need Kubernetes by kbar13 on Friday March 22, 2019 @08:39PM (#19468249)
only consider proportion when the problem is scale. Unless you're deploying many many projects I don't think $25/month is expensive
Re:Maybe You Don't Need Kubernetes by barbecue_sauce on Saturday March 23, 2019 @12:09AM (#19469024)
$5 compared to $25 doesn't seem like much, but over a year that becomes $60 spent vs $300.
Re:Maybe You Don't Need Kubernetes by jshen on Friday March 22, 2019 @07:58PM (#19468060)
Look into google app engine. It’s very similar and much cheaper. For hobby projects the free tier is usually sufficient.
Re:Maybe You Don't Need Kubernetes by rorykoehler on Friday March 22, 2019 @10:19PM (#19468654)
It gets much more expensive quite quickly
Re:Maybe You Don't Need Kubernetes by jshen on Monday April 01, 2019 @01:07PM (#19545528)
Not really. I run large enterprise apps on it and it’s cheaper than anything else I’ve used.
Re:Maybe You Don't Need Kubernetes by koolba on Friday March 22, 2019 @09:28PM (#19468486)
The $7 hobby plan is surprising useful if you’re smart about what you’re deploying.
Re:Maybe You Don't Need Kubernetes by caprese on Friday March 22, 2019 @08:01PM (#19468071)
Heroku's $7 instances and the $25 instances are not very different. There is also the free instance that sleeps for 6 hours.

You have to factor in that you get free tiers of many things, all managed together like docker would help with, such as: 30 MB Redis memory cache compute instance for free 500mb Mongo database compute instance for free External logging compute instance for free

and a whole marketplace of all these managed services, with the grouping of containers further managed by heroku.

A Linode VPS at $5/month does not give you all that. If you like configuring all the above (and of course, assuming your use case calls for it at all), then the $5 plan with 1 GB RAM would let you put in a bunch of 256MB containers if you really wanted. The $10 plan with 2 GB RAM would let you put in comparable 512MB containers, but then you should have just been paying $7/month for Heroku already.

Hope that helps!

For a long time I struggled with inability to understand my potential costs for server-side projects, and occasionally read horror stories about other devs who got it wrong.