That being said, it seems like an interesting project to keep an eye on.
That being said, it seems like an interesting project to keep an eye on.
By sticking with a single cloud provider you get a lot of benefits. One of the more major benefits is cost, as you can do things like reserved instance in EC2. Another major benefit of sticking with a single provider is that you get to use solutions that only that provider has, which in this case is KMS, DynamoDB and IAM.
The biggest downside of being cloud agnostic is that you're stuck with the smallest combination of features that all of the clouds provide.
As you said, until tools exist that offer operability between clouds, users will be stuck with the smallest combination of tools. I do however believe such a day is coming.
Not saying it's a good or bad thing, but attend AWS reInvent or something and it's pretty easy to percieve huge uptake.
If you adopt extra management stacks running on or against your cloud you lose a lot of the benefits.
Sure Heat is like a comparable version of CloudFormation, but you can't do what you did in AWS and translate to Heat. OpenStack doesn't have all the services that AWS has. Not every product (and not every API in a product of AWS) works 100% with CloudFormation. If you are running an old release of OpenStack, you are more fucked in that case.
We are now moving our cloud infrastructure to AWS entirely so no more "it works in this environment", or "they sort of work and sort of different because of X and Y tool not comparable."
The right attitude should be "do one thing well, and improve." Architect "right" and than unlock yourself whenever possible. The same goes to people migrating to Docker or any container technology. Dockerfile is a lock-in. You still have to move back to regular shell script later if you drop Docker.
Not really a big problem there, since Dockerfiles are pretty much shell scripts :)