But yeah, CloudFormation just sucks. It does. It's painful because it's a really good idea but the configuration format is inadequate for the task.
CF should have been implemented using a declarative DSL similar to Puppet from the start. I've been tinkering with the idea of creating a DSL with a JSON translation layer but I always assumed AWS would eventually move away from JSON anyway, making the effort futile. Four years later and still no improvements. Definitely my biggest disappointment with their platform.
Terraform is great so far. I am running into some duct-tape issues with resources shared between two terraformations, though.
The format is a weak argument against cloud formation. It has some negatives. This one is easily overcome.
Important tip: If you use one of jetbrains IDE (IntelliJ/PyCharm/...) there is a free plugin to handle terraform files.
It gives the usual syntax highlighting + auto completion of variables and devices + detection of errors. It's very very nice!
How onerous, a security mechanism you actively turned on actually requiring you to do something. My car is just as bad - I drove it at a wall, and the front bit crumpled up!
And if you're getting your phone out twice a day, then perhaps your work hours are a bit crazy (12 hours+) and the problem is less to do with AWS than your workplace?
And as someone who works at home, I work whenever the hell I want, get off my back and go troll elsewhere.
Call me crazy, but that seems like a totally different feature than what AWS two-factor auth is doing. AWS uses 2FA to validate users, while Google uses it to validate devices, and you're making it seem like Amazon is too dumb to use local storage for something.
(Also, I don't think the parent commenter was comparing Google to a car crash. The analogy was that it seems weird to get mad about features performing their stated actions.)
If you're that sensitive about lighthearted hyperbole, then perhaps you shouldn't use it in the first place.
I pull out my phone at least 6 times a day for that just to switch between accounts.
Welcome to the wonderful world that agile/lean methodology has given us. They've delievered shit just to say they delievered something. They won't actually give you what you need until they get enough backing for it.
A though experiment: do you blame democracy, because Trump is now a nominee? If you have lousy people, choice of process does not really matter.
You're right.
This never happened before the agile manifesto was published.
Another classic example is Directory Service's security group can only be found if you go to VPC / EC2 console page to search. The SG isn't even mentioned in the Directory Service console. I bought reserved instances for RDS and EC2, one of them accepts custom tagging, so you could name the purchase, but the other doesn't.
If you use CloudFormation you want to make sure the resources are managed by the CFn. Your manual change could break the next CFn update. In some cases, rollback is not possible and will require AWS Support's intervention. Another example, say you have a cluster of 3 Cassandra nodes, you would build 3 EC2 from a single CFn stack. Well, time for server rotation (by that I meant taking the instance out and replace with a new one), one node at a time. Too bad you really can't out of the box. You have to build another stack with 3 instances, and then start configuring one node and swapping one node at a time plus changing the underlying dynamic inventory we got out of Ansible.
If you need managed services Azure and Google Cloud are largely better. If you just need compute and transfer Digital Ocean and Vultr absolutely destroy AWS.
On the other hand there are a lot of inconsistencies and odd limitations on the services.
There's really only one thing I can think of that I love is resource groups. It's nice to be able to group together everything in a deployment, for quick access and administration.
Google's security team is probably as big as DO's engineering team.
tl;dr: you get what you pay for, and you don't always need our crazy network!
I know it's probably on me to find that out myself.
DO and Vultr are colocated at very large sites. For many locations they sit right next to carrier hotels. I am a bit skeptical of whether the real world difference is that huge, especially if I sprawl my endpoints across both these providers and many locations.
5$ SSD VPS, 768M of Ram instead of 512 at DO, the reason I moved in at first.
The popularity clearly helps DO keeping up with more 1 click apps and other features than Vultr, but they recently made available reserved IPs and Object Storage, so they continue to be a good alternative to DO.
So far it's been working well and support was very responsive on the one occasion when I needed their help.
The traffic prices for each of these are very different.
We use VPS providers for compute and S3 for backup and large blob storage. The only other Amazon product we use is Route 53, which is a decent DNS-as-a-service and is very reliable.
What I'd really like to see is Compose.io's full product lineup on Digital Ocean already. As it is, I'm considering seeing how well Azure Tables, and Azure SQL work from DO SFO2 to Azure West US...
My main nemesis now is the ElasticSearch dashboard. Just opening it gives me a 50-50 chance of my browser tab crashing.
I recommend against making sweeping changes to your infrastructure without thoroughness. Without saying this is what you're doing, I see a lot of developers who get involved with cloud treating changes whimsically. I'm not saying you should write perfect code. But thoroughness and a solid procedure (and backup plan) is a good place to start.
(also, it helps to use nested stacks)
I call it "pray and apply".
https://aws.amazon.com/blogs/aws/new-change-sets-for-aws-clo...
I mean, what it's doing is hard and I use it over, say, Chef... but it's not a "good" product. Heck, you cannot even truly validate CF templates without running them. The CLI and builder just do a crude structural check pass. Got a case error in a nested structure? Too bad, the entire job is rolling back.
I'm not going to straight up recommend using it, but I will recommend checking it out. It's certainly a lot better than CF, but it still has really glaring issues and very much feels like alpha software (see discussion here: https://news.ycombinator.com/item?id=12213935 and some of my complaints here: https://news.ycombinator.com/item?id=12214358).
I strongly dislike HCL, but that's essentially what it is - templated JSON.
I doubt they're that different from Amazon or other companies we regularly see at the top of the front page though.
The biggest factor I see in the rankings of posts on various sites is the time of day in which it is posted and then directly related to that whether or not it received the critical mass early such that it can slingshot out of /new and start building an engaging discussion.
Speaking as a former employee of another tech monolith specializing in marketing ploys, I can tell you unequivocally that this is a naive position to take.
I haven't been dealing with AWS very long but I keep hitting limitations. Stupid limitations.
Sometimes they're a big deal (IPv6 is not available natively. WTF, doesn't AWS run half the web?). Sometimes they're not a big deal, but still annoying (DNSSEC isn't supported by Route53). Sometimes, they're unbelievable (AWS Lambda is Python 2.7 only, no Python 3, in 2016).
Sometimes it's probably something that would be fixed with a single line of code (Ed25519 is not supported as a keypair). Sometimes, the product itself just sucks (Cloudformation), requires a Ph.D (IAM) or has ridiculous limitations (certificate manager). And sometimes, it's just the aws cli that, in between its million subcommands available, cannot do basic things like creating S3 redirect rules or update ACM certs.
But all the time, it's the web UI that sucks the most - I have to use a separate browser for cloudwatch logs and S3 because the native UI is just that bad. And god forbid you enable 2FA, you'll have to get your phone out twice a day.
These are all the limitations I hit in a few months using AWS. I wonder how many more I'll hit within the next year. Is Google actually any better? Seems to me it's just different kinds of limitations.