https://www.terraform.io/docs/providers/vsphere/index.html
You can build your own machine images with packer, and actually have more control by building them from scratch (ISO) rather than being locked into a selection of base AMIs.
https://www.packer.io/docs/builders/vmware/
You can launch HA kubernetes clusters with cluster API. vSphere, openstack and even bare metal pxe all have providers
https://cluster-api.sigs.k8s.io/user/quick-start.html
Cloud native is not just for the public cloud!
I've been looking for a decent solution for pxe and cluster-api. I've not pushed the button on any as I feel like they're all a little immature. Admittedly I've not had time to set up any in a test env yet. Any recommendations?
I guess what I'm saying is that, just like "cloud means cost savings" doesn't necessarily pan out, "cloud means time savings" also doesn't necessarily pan out. The best strategy continues to depend on your strengths, the application, etc.
You're not missing anything. There are still some use cases for on-prem hardware or for not building out on a single cloud provider but they're getting harder and harder to justify. The main use case I can see for running your own hardware is if you need massive egress. There comes a point where it can make sense to run it yourself, I luckily work at places with large enough margins to still leverage cloud solutions for this though.
Some guys don't know how to build things out on the cloud and are stuck in their way. When I was getting into the industry the old guys were still stuck on bare metal vs VMs. You should know how that went, most apps migrated to VMs no problem and a few apps stuck to bare metal for their own reasons.
A lot of small/mid size companies don't have the manpower to properly move an app to the cloud. Sometimes products/companies have enough steam to build an app and barely support it but not quite enough to keep it competitive and current. Basically, it can be easy to get a profitable company/app started with a couple amateurs building the product. It can get very expensive when you need professionals. A lot of places don't have the margins to support a robust team of professionals.
These companies don't always lack the foresight, sometimes it's impossible to get some breathing room to see the big picture or to get project funding instead of just upkeep funding. It can be expensive migrating something to AWS/Azure/etc and not just money but also manpower.
5x t3.nano will be ~$25/mo 5x t3.micro will be ~$50/mo
All of my AMIs are EBS optimized and require a minimum of 8GB for the root drive (Although they only use ~1.6GB. Not bothering to hack around this to save a buck.) So that'll be 40GB EBS block storage. Plus I want ~20GB spread across 3 of the machines.
So EBS should be ~$6/mo.
I only need the volumes of those last 3, the others are good to go with their base AMI or user-data init script. So I only need snapshot backups of ~20GB. Being priced incrementally and having minimal changes, I'll only be charged ~$1/mo for that + off-site another $1/mo
So, currently experimenting with the t3.nano - Cost is ~$36/mo. One of these servers will be used as a personal VPN, and I expect ~75GB/mo coming from my laptop. So bandwidth charges at $9/mo.
Total $45/mo - For what I have planned now, at least.
Now I rent a 4GB Linux box for 5$/m with no Dockers or whatsoever and happy that it just works
I don't use AWS specifically but when I needed to know the price of some cloud service or group of services I spin up the service (or services) in a brand new project and let it run for 24 hours under similar working environment to see the impact, then after checking the results (the breakdown of each service's price in that day) I just close the project entirely, no left overs.
So I tend to successfully avoid these strange, terribly organized, cloud-specific, service-specific calculator where I can easily forget one aspect of the service that might cost a lot of money absolutely randomly.
Obviously it is a bad strategy if things are expected to reach $200/month and/or you do 'price evaluation' frequently, but otherwise it is stupid easy. I barely spent $50 each year doing this (small company and sporadic system changes)
But the best part is that the final daily price of your system is as precise as it can possibly be and that is worth something.
This is for a hobby project, so no way I'm committing to that, haha.
I'm also building the architecture so that I can easily completely destroy it and restore it from backups very quickly.
So, depending what I do with it, may be destroying it regularly and just bringing online when I want it.
I find it quite easy to mix services from multiple providers. For example add SQS or S3 from Amazon and Elasticsearch from elastic.co if your cloud doesn't have the products. The latency kills mostly just the connection from a web app to its database.
The biggest drawback is multiple invoices, but I think it's manageable.
Interesting. For me, that equation is the opposite. Learning cloud technologies takes a long time. It depends a lot on what skillset you already have.
I've been drawing out my plans lately for a hobby project, all 100% on AWS.
Being able to spin up my entire infrastructure with Terraform, build out images with Packer, setup rules for off-site backups, ensure everything is secure to the level I want it, etc. - It takes me next to no time at all.
I can't imagine buying hardware, ensuring my home is setup with proper Internet, configuring everything here, and then still needing off-site backups anyway.
Now, keep in mind - I'm definitely coming in from a Millennial point of view. My entire career was built on cloud. I've never touched hardware apart from building a computer back when I was 15 or something. I understand virtual.
But being able to build up and tear down an entire setup, having it completely self-restore in minutes. Can't beat that.
Napkin math has me at ~$50/mo: Full VPC, private/public isolated subnets, secure NACLs and security groups, infinitely extendable block storage and flat-file storage, near-instant backups with syncing to a different continent, 5 servers, DNS configurations, etc.
All depends what you're doing too - of course. But for me, just the trade-off of working with what I know and not needing to leave my cafe of choice, still not breaking the bank - and if I do, having instant tear down and restore. Bam.