5 ms·
In my opinion there are better examples, such as how AWS' managed products are deliberately hobbled and handicapped to make it complicated to migrate away from
by daneel_w 4y ago
In my opinion there are better examples, such as how AWS' managed products are deliberately hobbled and handicapped to make it complicated to migrate away from them once you're in. Two examples that I have first-hand experience with:
It's easy to set Aurora up as "slave" for accepting replication data from an external MariaDB/MySQL server in order to make a smooth low-downtime migration into AWS, but there are... oddly peculiar kludges... when wanting to set Aurora up as "master" and have it feed its binlog outside in order to migrate away in the same smooth fashion.
For their managed Redis ("Elasticache") they have intentionally disabled a few functions that relate to exporting/migrating live data from one Redis instance to another. In particular the "MIGRATE" function, which is used specifically to make a fast and accurate dump of all data when you want to supplant (read: migrate) a Redis instance. Instead you have to hack manual outbound migration together yourself, key by key, database by database.
- durkie 4y agospeaking of Elasticache -- I noticed that the "append-only file/AOF" feature for recovering from crashes/reboots is only available on AWS redis up to version 2.8.22, and we're now at like redis version 7 in the rest of the world..
- daneel_w 4y agoI'm convinced that, too, is disabled deliberately, in order to coerce you into buying one more overpriced Elasticache instance to use as fail-over. This type of "funneling" design pattern is recurring across their managed products.
- cma 4y agoFree ingress, expensive/hard egress.
- daneel_w 4y ago"The first one's on me, friend."
- simplotek 4y ago> Free ingress, expensive/hard egress. Let's call AWS's "Free ingress, expensive/hard egress" business model as the AWS roach trap pattern.
- marcosdumay 4y ago"Roach trap pattern" is actually a great name.
- bargle0 4y agoI’ve heard it called the Hotel California pattern.
- charcircuit 4y agoPretty much every single network provider offers free ingress or egress. That is the industry standard pricing model for paying for bandwidth.
- lopatin 4y agoWhat kinds of kludges are you referring to about reading Aurora binlog? I’ve been using Debezium to read the binlog to transition off of aurora and it works as expected.
- watermelon0 4y agoIMO these two examples might just be cases they were not optimizing for, and didn't want to invest engineering time (and future support) into something seldomly used.
- georgyo 4y agoThey are seldomly used because they are difficult to use. They are difficult to use because using them means loss of money. Combined with other entrapping features means the all features that help escaping the ecosystem are seldomly used. So any individual products off boarding features are even less used. These are also features that don't use more than once. So of course when a product manager looks at usage metrics they see this feature is seldomly used and continue to deprioritize improving it. Self-fulfilling prophecy.
- User23 4y ago“Made it easier for customers to migrate to our competitors” isn’t a great look on your review.
- veleek 4y ago“Made our customers happy by allowing them to easily migrate to a self-hosted redis instance in AWS so they were able to build their business and brought in twice as much traffic”. Your comment echos the crux of the article. Yes, this probably wasn’t an explicit goal for AWS, but the end result is that people aren’t using Amazon’s products because they’re the best, they’re just using them because it’s harder to change or more expensive not to (when it could be cheaper if the playing field was level).
- TheNewsIsHere 4y ago> Your comment echos the crux of the article. Yes, this probably wasn’t an explicit goal for AWS, but the end result is that people aren’t using Amazon’s products because they’re the best, they’re just using them because it’s harder to change or more expensive not to (when it could be cheaper if the playing field was level). I think you hit the nail on the head, at least regarding my own experiences. Most of the time when a colleague says “hey we can use X service because Y” in AWS, the “Y” is something along the lines of “because it’s just easier to use Z with it,” where “Z” is another AWS service. AWS has many impressive tools. That doesn’t mean they’re built with friendliness in mind. Their tools are meant to provide value for money, but a lot of that value is predicated on using other tools they provide. They’re building a platform, not -your- platform. We learned that lesson early on with my business. We ultimately replaced all but 2-3 AWS services with third parties that were actually best-in-class, and kept the 2-3 from AWS that AWS can honestly say are best in class. It was ultimately more expensive and kludgy to build everything on AWS rather than diversify our stack.
- Uvix 4y agoBoth AWS and Azure's managed SQL Server database solutions are hobbled like that. They can be replication targets but not sources. At least RDS for SQL Server lets you do native backup/restore, so while it's slow there's still a good way to get your data out. Azure SQL, you're stuck with something like the Elasticache solution. (Or theoretically BACPACs, but they aren't transactionally consistent and don't work for large databases.)
- nova22033 4y agoYou have the choice of running redis on an EC2 instance.
- daneel_w 4y agoYes, which we're doing these days. It's how we ran into this "enterprise feature".
- brycelarkin 4y agoSome other things: 1. Depreciation of NAT instance ami in favor of managed NAT 2. No EKS free tier
- roncesvalles 4y agoHow are these anti-competitive?
- daneel_w 4y agoMakes it harder for you to roll your own on EC2 for lower cost.
- adave 4y agoTrue but you can't blame them to add some friction to stuff that's a loss for them and make profit features more convenient. What's better is to know these things like you do and not use AWS is the above area deal breaker. Unfortunately they don't play nice since they can do that which is anti competitive but hey they'll give you 1st year free lol.
- amluto 4y ago> It's easy to set Aurora up as "slave" for accepting replication data from an external MariaDB/MySQL server Huh. I tried setting up AWS RDS MySQL to replicate from an external MySQL awhile ago, and the experience was almost comically poor. Is Aurora better? If you generate a mysqldump and have the command line options set to correctly store the binlog or the GTID data to allow replication to start in the right place, RDS chokes.
- daneel_w 4y ago>"Is Aurora better?" This was back on Aurora 1 (based on MySQL 5.6), and setting it up as "slave" was identical to how one would go about it for regular MariaDB/MySQL.
- birdyrooster 4y agoOP was a better example than yours by a large margin.