Regarding lock-in, I think you are right but everyone seems to be doing this.
I think for better or worse, part of what Amazon has done has been adapting what they already were doing in-house into a product. Sometimes when people just come up with products to compete or "just because," they add in a lot of nonsense and architect things badly. Microsoft seemed to be going both routes at different times with Azure. I was an original user of Azure including the various data stores/data stores they asked for at the time. To say everything on Azure, whether the machines, data stores, services, libraries, or anything else were horrible would be an understatement (might be one of the worst major platforms I've used ever). Amazing how they turned it around when they were sure they had to compete stronger.