News for hackers. Stuff that matters.
Re:Amazon Aurora Backtrack by thelastidiot on Thursday May 10, 2018 @11:39AM (#17039858)
Amazon is the new IBM. Knock yourself out and jump into the AWS ecosystem. In a few years down the line, you'll understand that you've lost the leverage you had to potentially take your public cloud business somewhere else when you have so many dependencies on Amazon tech. Basic principles from my view: don't adopt anything but standard EC2/S3 services and create diversity not only in your teams but in your infrastructure policies.
Re:Amazon Aurora Backtrack by RhodesianHunter on Thursday May 10, 2018 @12:15PM (#17040222)
You know, I'm totally cool with that.

Given the ten-ish years I've been using AWS everything has gotten progressively cheaper and more feature rich. I see no signs of that stopping.

I'll happily take on the risk of that theoretical future wherein for some reason I need to unwind from AWS, and in turn continue to save countless hours of my and my engineers' time not spent tackling solved problems, and focusing on our core business instead.

Re:Amazon Aurora Backtrack by toomuchtodo on Thursday May 10, 2018 @12:17PM (#17040246)
I’m okay with you being cool with it because where there’s chaos, there’s money to be made. People will eventually move out of AWS (no lead lasts forever), as the cycle goes, and someone will get paid to orchestrate that.

I encourage my competitors to marry themselves to a vendor’s proprietary stack.

Source: 18 years in tech. Have done my share of unwinding from vendors

Re:Amazon Aurora Backtrack by gfodor on Thursday May 10, 2018 @01:01PM (#17040699)
In the long run, we're all dead. How do you make an impact given finite time and resources? Vendor lock in is already far down the list of existential risks to tech ventures. Long term risk due to adoption of AWS specifically is even farther given their track record so far.

What you're talking about here is survivorship bias -- yes, indeed you will find people paying big sums to migrate off of AWS for whatever reason. But they're still around! Unless of course you assume using AWS (or any vendor for that matter) provides no competitive advantage whatsoever, even in the short term.

The specific category of risk you are talking about here are tech ventures that fail because of a specific sequence of events:

- They choose AWS

- They, miraculously, create a successful business on AWS

- Some existential risk emerges due to their use of AWS

- They either fail or cannot afford to move off of AWS

- This singular decision causes their business to fail catastrophically

- And, they would have been successful had they not chosen AWS in the first place

This is a very specific path to failure and is highly unlikely relative to the more common cases of "they never found product-market fit" or "they had a toxic culture" or "they decided to build everything themselves and ran out of runway."

Re:Amazon Aurora Backtrack by toomuchtodo on Thursday May 10, 2018 @01:05PM (#17040742)
> In the long run, we're all dead. How do you make an impact given finite time and resources? Vendor lock in is already far down the list of existential risks to tech ventures. Long term risk due to adoption of AWS specifically is even farther given their track record so far.

I work for a ~billion dollar organization in risk management. If developers can't certify to our team that you can pull your app off of $cloud_provider and have it running on prem or in another cloud provider in a few weeks, it doesn't go to a cloud provider. We'll assist with their IaaS/PaaS tooling selection, infrastructure orchestration, container lifecycle process, and other ancillary needs to ensure this requirement can be met.

The issue isn't survivorship bias, it's risk management, business continuity, and cost management. It's entirely possible your organization doesn't place a high dollar value on these risks, but that's a business decision each organization needs to make for itself as a whole, and its products and services individually.

Re:Amazon Aurora Backtrack by gfodor on Thursday May 10, 2018 @01:11PM (#17040803)
We're talking about different things, I'm talking about initial adoption of AWS for new, speculative ventures, it sounds like you are talking about transitioning to AWS from an already existing going concern. I agree with you on the latter case that the risk profile of a transition towards introducing AWS is totally different. Typically posts here that warn against adopting vendors due to lock-in concerns are targeted towards people asking about the risks for their new project.
Re:Amazon Aurora Backtrack by jacobsenscott on Thursday May 10, 2018 @01:45PM (#17041204)
I don't understand why anyone would start a company if they don't believe it will last at least 10 years. You should always be thinking about vendor lock in. And in the first 5 to 10 years you don't need AWS complexity. Keep your options open because in 5 to 10 years the landscape will be totally different.
Re:Amazon Aurora Backtrack by scarface74 on Thursday May 10, 2018 @02:03PM (#17041412)
What is there not to understand?

A) I start a company, get some investors and sell the company to a larger company that has the resources to either keep maintaining it or change out the infrastructure (Instagram). Result: I profit

B) I start a company, gain product market-fit, become successful and I have the resources to gradually move my infrastructure when the need arises: Result - profit.

C) I worry about "vendor lock-in" from day one, spend a lot of time and resources on my own infrastructure and run out of money and never survive long enough for A or B.

I know which one I'm going to choose.

And as far as not "needing the complexity", the entire purpose of going to AWS is to avoid the complexity and up front cost of providing your own infrastructure.

The HN darling Dropbox started out on AWS because it was faster and then when they grew they built there own infrastructure.

Netflix built their own infrastructure and decided that infrastructure wasn't their core competency and went entirely to AWS.

There is no one size fits all.

Re:Amazon Aurora Backtrack by jacobsenscott on Thursday May 10, 2018 @07:02PM (#17043649)
Your assumption that you'll build a unicorn or be able to untangle from vendor lock in at a time of your choosing with money you have no better use for is fairly optimistic.

The reality is you'll need to do it when you are tight on resources and you're stuck rebuilding what has become a very complex infrastructure (because you spent the last 5 years hooking into every proprietary bell and whistle) from scratch - with no internal expertise because you didn't start early when it was still a tractable problem.

I'm not saying you need to choose between AWS or running on your own physical hardware. But I am saying you don't want to lock in to the proprietary parts of AWS, which do tend to add lots of complexity to your infrastructure because they make that complexity easy to use.

Spinning up some ubuntu ec2 servers is fine - you can move those anywhere easily.

Re:Amazon Aurora Backtrack by scarface74 on Thursday May 10, 2018 @07:25PM (#17043762)
Have you seen the code that people write? When it comes to complexity, AWS is the least of their worries. If I happen to luck up and be part of unicorn that grows so large that AWS can't handle it - something larger than Netflix - I think I'll have the resources needed.

I've worked for a company that had two issues - badly written software and a badly architected AWS environment. Guess which one was easier to fix?

All of the companies that tied their fate to Webforms, Ruby (Twitter), or some other deprecated tech have far bigger problems than someone who tied themselves to AWS.

As far as AWS what complexity is that?

Databases - all of their databases are compatible with standard databases except for DynamoDB. DynamoDB sucks anyway. If I wanted a managed NoSQL database, I would go with one from Mongo.

Messaging - You usually end up sending and reviewing messages from one central place in your code, changing your messages system out is pretty simple.

Caching - ElastiCache exposes either a Memcached or RedisCache client.

Load balancing - the only thing special you do as far as software is have a health check endpoint. I used the same endpoint that I used on prem with Consul+Fabio.

ElasticSearch -same as using your own.

Autoscaling - I've got nothing. I've never tried doing autoscaling on prem.

Codepipeline/CodeBuild/Code Deploy - the triggering event is nothing more than a standard Web hook from your git repo of choice, Code Build is a preconfigured Docker Container that executes commands based on a yml file. I use a Python Lambda function for deployment, but I could run that in anything.

Even Lambda if written correctly - your handler should be skinny and treated like a Controller - shouldn't be that hard to port over.

Fargate/ECS - orchestration for standard Docker containers.

Parameter Store - yeah I could (and have) set up a cluster of Consul/Vault servers but why would I instead of using a service that ties in security roles and encryption with everything else?

Load Balancing - I've also set up my own Consul+Fabio clients on web servers/app servers for load balancing and service discovery. Not trying to do that anymore either when I can configure an ALB and an autoscaling group.

The software wouldn't be the hard part to move over. Even if we ran everything in EC2 instances, the hard part would be duplicating multiple geographically redundant VPCs in multiple locations in the US and an environment in Asia that was close to the outsourced developers.

Netflix went all in on AWS and much of their tooling is tied tightly into AWS. If Netflix can trust its entire business to AWS, I think anyone can.

Re:Amazon Aurora Backtrack by toomuchtodo on Thursday May 10, 2018 @08:19PM (#17043998)
> If Netflix can trust its entire business to AWS, I think anyone can.

This is a terrible argument. Netflix is simply a media streaming company, with very little importance compared to other businesses. Most of its data is served from its own CDN!

Re:Amazon Aurora Backtrack by scarface74 on Thursday May 10, 2018 @08:43PM (#17044154)
So how many businesses are actually important?

Check out a few of Netflix's blog posts, AWS re-invent presentations (available on YouTube), the podcast interview, I posted earlier, and thier open source project. Netflix uses a lot of AWS services.

Re:Amazon Aurora Backtrack by Zombieball on Thursday May 10, 2018 @09:49PM (#17044436)
I don’t think you have an understanding of the complexity behind Netflix. Their tech blog is a great resource that provides insight into some of their engineering challenges. I’d highly recommend.

Edit: just realized I duplicated scarface74’s comment. My bad!

Re:Amazon Aurora Backtrack by toomuchtodo on Thursday May 10, 2018 @10:15PM (#17044525)
I’m very familiar with Netflix’s tooling and orchestration stack, and have had discussions with several of their engineers.
Re:Amazon Aurora Backtrack by toomuchtodo on Thursday May 10, 2018 @01:19PM (#17040916)
We are in agreement then. Text comms are nuanced!
Re:Amazon Aurora Backtrack by dsp1234 on Thursday May 10, 2018 @01:26PM (#17041006)
Is this the modern day equivalent of "Nobody ever got fired for buying IBM"?
Re:Amazon Aurora Backtrack by VectorLock on Thursday May 10, 2018 @12:36PM (#17040461)
In my opinion you've got the right idea, but I think some of your competitors might encourage you to keep spending cycles on pre-optimizing for vendor lock-in while they're creating features and being competitive.
Re:Amazon Aurora Backtrack by toomuchtodo on Thursday May 10, 2018 @12:39PM (#17040481)
Off topic: Ideally, infrastructure resources optimize infrastructure and developers iterate on features with a robust CICD pipeline and a top notch local dev environment. That’s the folly of developers being expected to build infrastructure and develop, it slows devs down. People and time are your most expensive resources, do not slow your team down, shard responsibility as soon as you can afford to. Everyone cannot be an expert in all domains, and there are only so many working hours in a day.
Re:Amazon Aurora Backtrack by scarface74 on Thursday May 10, 2018 @04:57PM (#17042908)
You don't have to be an "expert". It takes relatively little time to get "good enough" at AWS to spin up a VPC, and use Beanstalk to spin up a web server with load balancing and set up an RDS instance with the database of your choosing.

On a more advanced level, using CloudFormation or Terraform is not rocket science and neither is setting up a CodePipeline.

When you grow big enough to need someone to handle netops full time, you can hire an overpriced consulting company or find a developer who knows the ins and outs of AWS and dev ops. But for smaller companies, managing AWS is not worthy of being a full time job if you know your stuff around automation.

I'm mostly either a "Senior Developer" or an "Architect" depending on how the wind is blowing, but from working with "AWS architects" and consulting companies, I know I can hold my own against most non-Netflix level AWS architects.

But I'm glad we have a third party consulting company to handle the drudgery that I don't want to do even though I do have admin access to the console.

Re:Amazon Aurora Backtrack by jedberg on Thursday May 10, 2018 @03:37PM (#17042265)
> People will eventually move out of AWS

The most likely outcome has already played out. A lot of people aren't moving out of their datacenters, they're just putting new workloads in AWS. Sure, some big players actually moved, like Netflix, because the gains outweighed the cost of moving, but most enterprises don't have the budget or don't care.

If something ever comes along that is significantly better, most people won't move out. They'll just put new workloads in the new thing.

Re:Amazon Aurora Backtrack by toomuchtodo on Thursday May 10, 2018 @06:39PM (#17043536)
Netflix workloads are a bit different than typical workloads (duck curve traffic right before the evening rush hits, bulk transcoding) and I’m confident Netflix doesn’t pay anywhere close to AWS retail prices. Also, Netflix has its own CDN for serving its video content using their OpenConnect appliances (you’re aware of that, but the audience might not be).

Drew Houston, CEO of Dropbox, confirms my stance argued in this thread on Dropbox’s first earnings call: https://www.cnbc.com/2018/05/10/dropbox-earnings-q1-2018.htm...

Re:Amazon Aurora Backtrack by jedberg on Thursday May 10, 2018 @11:04PM (#17044709)
I think you may have missed my point (because everything you wrote supports it).

Netflix moved out of their datacenter and into the cloud because their workload was different enough to warrant the investment. Most enterprises don't have enough of a different workload for that to make sense, so they don't move out of their datacenter.

Dropbox didn't actually move out of AWS, they just started storing new data in their new datacenters. They did it because it was cheaper at their scale, it had nothing to do with lock-in.

And for the same reasons, when the next big thing comes along, most companies won't move out of AWS. Unless there is a significant cost savings or significant new architecture, they won't move. They will just put new stuff in the new thing. Lock-in isn't an issue for most enterprises today, and won't be in the future. Inertia is the biggest thing that stops them from moving old workloads to AWS.

Re:Amazon Aurora Backtrack by scarface74 on Thursday May 10, 2018 @12:52PM (#17040604)
And eventually any product you use will need to be changed. When that time comes you make the necessary changes. But as far as being locked in to IBM as an analogy, that doesn't really support the argument. There are companies still running 30+ year old COBOL programs and IBM still sells compatible solutions.
Re:Amazon Aurora Backtrack by CoolAndComposed on Thursday May 10, 2018 @12:21PM (#17040287)
Perfection is the enemy of good. You have to have a product before improving it. Blah blah blah. God forbid you tie yourself to that git ecosystem. eyeroll
Re:Amazon Aurora Backtrack by lccarrasco on Thursday May 10, 2018 @12:32PM (#17040422)
You can't compare a FOSS like git to a complete stack of proprietary services over which you have zero control or knowledge of how it works under the hood.
Re:Amazon Aurora Backtrack by scarface74 on Thursday May 10, 2018 @12:54PM (#17040623)
Right because if you trust FOSS you never have to worry about a 2 year old vulnerabilities in how they implemented SSL....
Re:Amazon Aurora Backtrack by tarzip on Thursday May 10, 2018 @01:09PM (#17040780)
You certainly should worry about the possibility of zero day attacks either when using FOSS or a proprietary solution.

If the provider of a proprietary solution stops offering it you might have no easy path of migration where as hypothetically FOSS solutions are easier to self host or find a new hoster for (and thus reducing the cost of a potential migration)

Re:Amazon Aurora Backtrack by scarface74 on Thursday May 10, 2018 @01:22PM (#17040946)
If a FOSS solution is abandoned, it's doubtful that most companies are going to take on the maintenance themselves. They are going to start an initiative to migrate.

But that goes back to the old saying "no one ever got fired for buying IBM." The same can be applied to Microsoft or AWS. Yes MS has put plenty of technologies in maintenance mode but you didn't have to rush to migrate. IBM still sells system that are compatible with what they sold in the 80s.

Re:Amazon Aurora Backtrack by tylerhou on Thursday May 10, 2018 @06:59PM (#17043635)
On the other hand, if a FOSS solution is abandoned you typically have quite a long time to migrate since you can self-host. If AWS shuts down tomorrow and you rely on it heavily, you're basically fucked.
Re:Amazon Aurora Backtrack by scarface74 on Thursday May 10, 2018 @08:03PM (#17043925)
If AWS shuts down tomorrow. There are a lot of companies that are going to be in the same boat - including Amazon and Netflix.

I would be more worried about my one colocated data center getting shut down or getting destroyed than the entire global AWS infrastructure that has data centers in 50+ availability zones.

As far as software, most AWS services are just managed versions of available software. Even if you're using lambdas for API endpoints, if you treat your lambdas like Controller actions, it shouldn't be that much of a heavy lift to concert them into standard MVC APIs equivalent.

For another perspective, listen to the podcast interview of Adrian Cockcroft, the guy who led the migration of Netflix's infrastructure from self hosted to AWS hosted.

http://www.se-radio.net/2014/12/episode-216-adrian-cockcroft...

Re:Amazon Aurora Backtrack by anf on Thursday May 10, 2018 @12:22PM (#17040297)
Seems like you can both be right in different circumstances. Humble Bundle got to a nice acquisition married to GCP. Snapchat has successfully unwound. I haven't looked into it in depth but it seems examples on both sides abound.
Re:Amazon Aurora Backtrack by jacobsenscott on Thursday May 10, 2018 @01:35PM (#17041113)
That's the life cycle of proprietary stacks - when there's a lot of demand for them they dump resources into adding more and more and cheaper features. Nobody believes the party will end. But it always does. AWS is certainly more than 50% through that life cycle of "hot new thing", "stable feature rich thing that will be around forever", "ash heap".
Re:Amazon Aurora Backtrack by scarface74 on Friday May 11, 2018 @02:21PM (#17049644)
If you went by the mantra "No one ever got fired for buying IBM in 1983" and decided to build your product on DB2 and COBOL, you could still get support and new compatible systems 35 years later.

If you decided to build your stack on top of MS SQL Server in 1990 you would have still had a relatively painless upgrade path over the years.

We can also add products byy Oracle and Adobe.

Re:Amazon Aurora Backtrack by csomar on Thursday May 10, 2018 @01:03PM (#17040714)
What if they kick you out? (Or their AI fraud detection mistakes you for someone else)
Re:Amazon Aurora Backtrack by scarface74 on Thursday May 10, 2018 @12:49PM (#17040566)
Well, in this case in particular, Aurora is "wire compatible" with MySQL. The only thing you have to do to move away from Aurora is migrate your data to another MySQL instance and change your connection string.

In general, if you're moving to AWS and just setting up some EC2 instances and using S3 in the fear of one day in the future it may not be what you want, you are wasting money. There are much cheaper pure hosting solutions. The benefits of using AWS is all of the services they provide that keep you from doing the "undifferentiated heavy lifting".

Re:Amazon Aurora Backtrack by cookiecaper on Thursday May 10, 2018 @04:39PM (#17042750)
> Well, in this case in particular, Aurora is "wire compatible" with MySQL. The only thing you have to do to move away from Aurora is migrate your data to another MySQL instance and change your connection string.

Don't be fooled, the compatibility is there so that it's easy to port applications to Aurora, not so it's easy to take them out.

Amazon still offers MySQL RDS. If you move to the much-more-expensive Aurora, it's generally because your MySQL RDS application is struggling, and Amazon says "Aurora knows special tricks to make the engine faster."

Some management headaches, like adjusting for disk growth, are handled by Aurora transparently, which is nice, but for the most part, I saw workloads going to Aurora because they were too slow on standard MySQL.

That means that instead of optimizing or fixing your application, you're relying on a single vendor's Secret Go Juice to make your application usable/performant. In such cases, unless the mainline distribution catches up in the meantime, you're going to be stuck because your stuff will be too slow on other stacks.

From the risk management POV, Aurora is at best a temporary solution while the program is refactored/optimized to be performant on standard distributions.

Re:Amazon Aurora Backtrack by scarface74 on Thursday May 10, 2018 @06:20PM (#17043438)
My first maxim I've been saying in comments is that "no one ever changes Infrastructure just to save a few dollars". You architect with plans to do it, but 99 Times our of 100 you will do a risk rewards calculation and realize it's not worth it.

The second maxim is "no one ever got fired for buying IBM". If you're going to bet on a horse, there is always a chance that things go sideways. You might as well bet on the fastest horse with the best record.

If you had a choice between IBM, DEC VAX, and Stratus VOS back in the day and you went the safe route to go with IBM, you would have been vindicated two decades later. IBM is still selling compatible systems.

I could go through the trouble of staying "vendor neutral" and use tools like Consul+Vault with an AWS backend, Nomad, and Terraform (been there done that) but the time I'm wasting being vendor neutral, I can spin up equivalent services on AWS that cost less and I don't have to maintain them.

Most of the things that I depend on AWS for now, I was doing the equivalent of on prem before and after AWS existed. I'm glad to not have to do that anymore and just being able to press a few buttons.

Re:Amazon Aurora Backtrack by cookiecaper on Friday May 11, 2018 @12:05AM (#17044900)
This isn't "script all your resources in Terraform so you can move to Google Cloud, hypothetically". We're talking about a database system here. By now, we've learned many times over that an open-source platform is a huge benefit; if we're at the point where Microsoft is being forced to admit it via things like SQL Server and .NET Core, I'd say that the closed-source platform ship has more or less sailed at this point. Aurora moves you off an open platform and onto a closed one. This is a bigger concern than "Amazon probably won't shut it down tomorrow".

And on top of that, in the realm of database engineering, Amazon is absolutely a newcomer, they've got another good 15 years before they can even start to be in contention for "reliable and trustworthy database vendor". Goes doubly when you consider that Aurora is essentially just a bunch of performance hacks to (old versions of) InnoDB and Postgres. Presumably, upstreams like MariaDB and PostgreSQL have forgone similar enhancements for a better reason than "only Amazon employees are smart enough to figure it out".

Re:Amazon Aurora Backtrack by anarazel on Friday May 11, 2018 @12:22AM (#17044952)
> And on top of that, in the realm of database engineering, Amazon is absolutely a newcomer, they've got another good 15 years before they can even start to be in contention for "reliable and trustworthy database vendor"

They did hire a bunch of experienced engineers. I'd rather have them actually contribute to postgres (which amazon pretty much doesn't do, some bug reports aside).

> Presumably, upstreams like MariaDB and PostgreSQL have forgone similar enhancements for a better reason than "only Amazon employees are smart enough to figure it out".

Some of them are harder to do if you don't have as much control over the environment as amazon does...

Re:Amazon Aurora Backtrack by sudhirj on Friday May 11, 2018 @05:19AM (#17045914)
Based on what I've heard, these aren't hacks on Postgres - more a pluggable storage engine. Haven't cross checked this, but I think both MySQL and Postgres have a swappable low level storage API. AWS has made engines that use their specific infrastructure to make all these changes - there are technically no changes in either the MySQL or Postgres engines themselves - only the storage layer.

That's why no announcements cover change fundamental change to either database - all the features we're seeing a the kinds you'd do on a personal scale with SSD RAIDs and ZFS (or other copy on write FSes), except on a datacenter scale.

Re:Amazon Aurora Backtrack by scarface74 on Friday May 11, 2018 @07:24AM (#17046384)
There are millions of companies that still use SQL Server and Oracle. Open source is not the be all and end all.

Have you seen the code see to know that they are just “performance hacks”? Have you thought that when you can actually spend millions on a project you might be able to throw some top notch engineers at it?

Re:Amazon Aurora Backtrack by palisade on Thursday May 10, 2018 @03:21PM (#17042136)
That is a weird way to look at it. Companies that used IBM hardware and services became successful. If anything they became locked into success with a reliable business partner. It is odd to look at that as a negative thing. Likewise, Amazon has built a reliable and professional platform for cloud computing that is guaranteed to make your business successful for years to come. Why wouldn't you want that? What is the disadvantage really to becoming reliant on a superior architecture and support structure.
Re:Amazon Aurora Backtrack by EpicEng on Thursday May 10, 2018 @12:43PM (#17040517)
>In a few years down the line, you'll understand that you've lost the leverage you had to potentially take your public cloud business somewhere else when you have so many dependencies on Amazon tech

This is a non-issue for the vast majority of products. You do your eval and you chose what makes sense. Short of hiking prices by 1000% you'll never move anyway (this also applied to building ridiculous abstractions because "maybe we'll want to switch cloud providers someday!" No, you won't.)

Re:Amazon Aurora Backtrack by scarface74 on Thursday May 10, 2018 @12:56PM (#17040657)
Or "I'm going to put a facade over my database access because I don't want to be locked in to one vendor". Hardly anyone ever changes there database vendors just to save a few dollars.
Re:Amazon Aurora Backtrack by tracker1 on Monday May 14, 2018 @03:44AM (#17063611)
In 23 years I've worked on one project that moved databases. Client requirement, huge system that Oracle was the best match for.

Also, one that was a licensed software that needed to support DB2, Oracle and MS-SQL to integrate with various state's agencies. The former was a huge pain, the latter was horrible to write code for.

For the most part, you use what works for you and stick with it. The more risky a platform, the less you rely on features like stored procedures, etc. In the end, I'd rather have vendor lock-in than have to write complex queries three times, and other really cumbersome abstractions, slowing things down a lot! Extrapolating to services beyond the DB.

In the end, the db migration was far less time/effort than maintaining an untethered software.

Re:Amazon Aurora Backtrack by mabbo on Thursday May 10, 2018 @03:13PM (#17042050)
It's a form a technical debt, but on a larger scale. Like all technical debt, it let's you move fast to achieve your goals quickly and get to market sooner.

And like all technical debt, eventually you may find good reasons to rewrite, redesign, rethink, in order to achieve some different goals. But you might not have been around long enough to reach that stage if you hadn't taken on the debt early on.

Re:Amazon Aurora Backtrack by zitterbewegung on Thursday May 10, 2018 @12:47PM (#17040551)
I absolutely agree with you. I think we are in the position that AWS is IBM but in the time of the mainframe. That there were multiple competing mainframes and it wasn't certain who would be the winner but your best bet would be IBM.

I wonder if we will be able to recognize Amazon in ten years.

Re:Amazon Aurora Backtrack by gfodor on Thursday May 10, 2018 @11:50AM (#17039973)
This is good advice -- but now that AWS has so many services, it's an extremely complex question. There are path dependencies: adopting an AWS service today may accelerate your product sufficiently to get it to the point of traction and sustainability, where it would have failed otherwise.

I think it's important to have a good framework for making these decisions. As you mentioned, EC2 and S3 are on one end of the spectrum: low switching costs and coupling, but also low in terms of differentiation at this point. Whereas other AWS services that are more bleeding edge could actually be the foundation of a temporary competitive advantage for your product, but today would introduce deep coupling of your service with AWS.

The trick is basically landing somewhere where you've made good bets: the ideal scenario is that you have a good chance of having an escape plan if/when the situation warrants it, while not missing out on the opportunity to take advantage of the services that your competitors (like, for example, those who are on the "EC2/S3 only" methodology you mention) may be forced to build themselves out of fear.

Unfortunately the best way to do this is to be able to predict the future: which services on AWS have high value and high longevity, and will have similar, cheap offerings on their competitors and/or via OSS in the coming years? S3 is an example of a good bet: if you adopted S3 when it first arrived, it may have felt like unnecessary couping with AWS, but it was a huge accelerant if your business relied upon large, reliable file storage. (In fact many startups likely today exist because they were able to bootstrap off of S3.) S3 was a good, long term bet -- now, you can drop in an OSS replacement that is API-compatible in a worst-case scenario. Other services on AWS have come-and-gone through their hayday without going through that transition, because they were either (in retrospect) transitional technology or basically "the wrong thing." So, it comes down to predicting :)

A couple of things that increase probability an AWS service is more destined for long term success + commoditzation (in my view):

- Built on open protocols/standards

- Simplicity in APIs and feature set

- Versatility of use-cases

- Deeper in the stack, vs user-facing

- No existing open source alternative with traction

- Backchannel confirmation that Amazon itself is using it :)

For example, DynamoDB when it first came out was a huge "no" for me personally -- it was a very quirky design, with complex, bespoke concepts around indexing, with lots of good open source projects offering alternatives, and I heard Amazon didn't trust it internally :) Whereas other services like Redshift ticked all the right boxes out of the gate. So there's some hope of making good bets here, but sometimes you do need to throw caution to the wind if something extremely compelling comes along that feels like it could be a shot-in-the-arm to your product despite not having most of these attributes.

Also, FWIW since I like calling my shots: I think the current iteration of AWS server-less tech (while a necessary first step towards understanding the design space, and a technical marvel imho) is probably not a good long term bet as a foundational technology for a product you would like to de-risk in this aspect, but we'll see :)

Re:Amazon Aurora Backtrack by chrisweekly on Thursday May 10, 2018 @01:12PM (#17040815)
Some great points in your blog-post-length comment ;)

I'd add that there's often a danger in the middle ground. Complexity and meaningful switching costs, without the benefit of interop, is likely the worst-case scenario. IOW, might be better to go all-in than muddle through with half-measures trying to avoid lock-in.

Re:Amazon Aurora Backtrack by hodgesrm on Thursday May 10, 2018 @12:33PM (#17040429)
The long-term issue with adopting Amazon is pricing power--once you are committed AWS has it and you don't.

Take your Redshift example. It's an outstanding service but once you build apps around it and load a bunch of data the switching costs become very high. AWS can raise the price quite a bit before it makes economic sense for working apps to move off it.

Consequently a key question to ask is when do my favorite AWS services become cash cows? At that point your economics will change substantially. You may be living day-to-day in your business but the stock market thinks Amazon will extract large profits out of AWS in spite of growing competition. Food for thought...

Re:Amazon Aurora Backtrack by gfodor on Thursday May 10, 2018 @12:52PM (#17040605)
AWS is a growth business, in a competitive space, so (particularly given their overall history) it seems unlikely they will increase margins if it could risk adoption.

Of course, in the "long term" (whatever that means), the market and shareholders expect to reap vast profits, and price that, along with the company's free cash flows, into the stock.

However, my personal thesis is that Amazon specifically is a bit of an anomaly in this regard: it seems unlikely to me that we will see any strategic shift in pricing from basically any Amazon-owned entity in our lifetimes -- the culture is too ingrained towards a strategy of complete and utter dominance over all markets, margin reduction being a key tool in the toolbox. So if I were to bet I would say pricing power is pretty low on the list of concerns of AWS lock in -- more concerning are things like unexpected conflicts of interest as Amazon eats the world (see also: Netflix), operational dependency (ultimately, you rely upon AWS ops' competency for your uptime, security, etc), end-of-lifing of services you depend on, opportunity cost vs other vendors who may offer better services, and other unknown unknowns.

Re:Amazon Aurora Backtrack by hodgesrm on Thursday May 10, 2018 @03:00PM (#17041929)
Certainly there are other concerns--no argument there.

That said, Amazon Prime prices just went up 20%, so Amazon will clearly raise prices if they think the market will bear it.

Moreover, "complete and utter dominance" sounds like a monopoly. It's difficult to think of a monopoly that didn't raise prices and/or decrease service once they were established. I would not start a business on Amazon without assessing the risk of tying my fate to a single large vendor, for cost as well as other reasons you cited like Amazon deciding to compete with you.

Re:Amazon Aurora Backtrack by scarface74 on Thursday May 10, 2018 @12:59PM (#17040682)
Take your Redshift example. It's an outstanding service but once you build apps around it and load a bunch of data the switching costs become very high. AWS can raise the price quite a bit before it makes economic sense for working apps to move off it.

That's a bad example. Redshift is "wire compatible" with Postgres. You use the same drivers. There are a few popular extensions they added to Sql to copy files directly from and to S3 but that's about it.

Re:Amazon Aurora Backtrack by hodgesrm on Thursday May 10, 2018 @02:50PM (#17041859)
Redshift is a data warehouse. It does not require indexes and handles wide tables--e.g., fact tables with lots of columns--very efficiently since it uses column storage. For data warehouse operations you can only substitute native PostgreSQL if the dataset is quite small.

Assuming you seek wire compatibility, your choice would therefore be a PostgreSQL-compliant DW, of which there are several. However, they have greatly differing cost and operational profiles, which make switching non-trivial. They also tend to support different versions of PG depending on when they forked from PostgreSQL.

Re:Amazon Aurora Backtrack by scarface74 on Thursday May 10, 2018 @03:45PM (#17042332)
Yes, if for some reason you want to leave RedShift, you will lose the benefits that Redshift provides and you will lose the speed. But you shouldn't have to change your program.

I'm not saying it is a good idea to leave Redshift in some distant future where you might save a few pennies. Heck, I hardly ever say it's a good idea to rearchitect a core part of your infrastructure without having a very good reason -- saving a few dollars isn't one. But from the software side, you aren't stuck with Redshift and you aren't embedding a lot of proprietary AWS specific drivers in your code base.

Re:Amazon Aurora Backtrack by hinkley on Thursday May 10, 2018 @12:44PM (#17040527)
> There are path dependencies: adopting an AWS service today may accelerate your product sufficiently to get it to the point of traction and sustainability, where it would have failed otherwise.

You can say the same thing about a loan shark or high interest loan. Just because you can doesn’t mean you should.

Re:Amazon Aurora Backtrack by gfodor on Thursday May 10, 2018 @12:56PM (#17040653)
And you can say the same thing about mortgages and corporate financing -- sometimes you should. What is your point? Did you even read my post or just hit the "reply" button after reading the second sentence?
Re:Amazon Aurora Backtrack by WaylonKenning on Thursday May 10, 2018 @04:22PM (#17042615)
I think you have to bet on some things. You can't just make yourself completely technology agnostic. You have to pick a development language, an IDE, a database technology, an operating system, network infrastructure etc.

So then is it worth it spending momentum (dollars + thought) on that stuff, or on solving the business problem?

Re:Amazon Aurora Backtrack by LoSboccacc on Thursday May 10, 2018 @12:48PM (#17040565)
I second your opinion and add that even s3 is kinda risky. Even if there are open replacement good old network attachhed storage can cover but the most outrageous scale and it’s even more trivial as a building block to replace.

RDS is fine too as long as one sticks to standard backends.

Re:Amazon Aurora Backtrack by duggan on Thursday May 10, 2018 @02:37PM (#17041742)
Folks have been saying this for a decade. Actually they were saying it about EC2 and S3 a decade ago.

There are plenty of companies, large and small, running very successfully on all these platforms; sabre rattling notwithstanding.

Re:Amazon Aurora Backtrack by ben509 on Thursday May 10, 2018 @05:56PM (#17043301)
Architect your system as microservices. If AWS gets it wrong, it will likely not be bad for every part of your system simultaneously. Your migration strategy will be to stand up new services with a competing provider, and all the other services should see is a DNS change.

And, really, if you're doing that from the beginning, you might find you save a lot of money by taking advantage of other providers' strengths.

Re:Amazon Aurora Backtrack by nvarsj on Saturday May 12, 2018 @05:54PM (#17056210)
You're close. The real problem is Amazon may become your competitor, with their ever expanding reach into different markets. And the last thing you want to do is help your competitor succeed. I think Netflix made an incredible blunder in this regard.
Re:Amazon Aurora Backtrack by segmondy on Thursday May 10, 2018 @09:08PM (#17044265)
Nope, we are going to run on Kubernetes. We don't care if it's on AWS, GC, Azure, DigitalOcean. We will abstract all local services so when we move, we can extend the code base with no modification.
Re:Amazon Aurora Backtrack by erikpukinskis on Thursday May 10, 2018 @12:10PM (#17040175)
How hard is it to get off Aurora? The article said it’s mysql compatible.
Re:Amazon Aurora Backtrack by paulddraper on Thursday May 10, 2018 @12:19PM (#17040269)
MySQL and PostgreSQL compatible.

I've used both in production, with all sorts of advanced features, and (to my surprise) I've never yet found a difference.

I would have a hard time leaving Aurora though. Not because of normal "vendor lock-in", but because of the operational worry-free scaling, backups, replicas, point-in-time restores etc. that it offers. Basically, I'm "stuck" on Aurora just because no one else offers MySQL/PostgreSQL databases like that.

Re:Amazon Aurora Backtrack by assface on Thursday May 10, 2018 @12:17PM (#17040241)
AFAIK It uses the MySQL frontend with a heavily modified InnoDB engine that writes to their shared-disk storage.
Re:Amazon Aurora Backtrack by mkirklions on Thursday May 10, 2018 @01:27PM (#17041017)
Do people use.. other features?

I think I used AWS for email octopus and maybe 1 other thing.

Idk how I've avoided AWS for so long.

Re:Amazon Aurora Backtrack by tekism on Thursday May 10, 2018 @02:02PM (#17041405)
I've avoided AWS because I'm using Azure more (not that I have a problem with AWS)
Re:Amazon Aurora Backtrack by potle on Thursday May 10, 2018 @11:43AM (#17039902)
what are some alternative that one can use for rds postgresql and sqs?
Re:Amazon Aurora Backtrack by 013a on Thursday May 10, 2018 @11:57AM (#17040047)
There probably isn't a lot of fear with using RDS. They just do management for you, it isn't any fundamentally different technology that would cause heartache during a migration. Just stay away from Aurora if you care about this.

SQS: There's AWS MQ, which is based on ActiveMQ and supports AMQP. If you're going with a more CNCF-focused stack and want to use NATS, I'm not aware of any hosted options.

Re:Amazon Aurora Backtrack by RhodesianHunter on Thursday May 10, 2018 @12:06PM (#17040142)
You don't even need to stay away from Aurora ince it's MySql/Postgres SQL API compatible.

You would just want to stay away from Aurora specific features like the one in OP.

Re:Amazon Aurora Backtrack by koolba on Thursday May 10, 2018 @12:14PM (#17040218)
Features like database rewind aren’t something that would be bound to your core app structure either. While you could structure business process’s around it, it’s more of a shit hits the fan restore scenario, not a daily or weekly action.

Replicating it on a different platform could also be fine with a combination of logical and physical backups.

Re:Amazon Aurora Backtrack by cookiecaper on Thursday May 10, 2018 @04:45PM (#17042804)
Point-in-time database restores are a best practice that is provided by maintaining database write logs for the timeframe that you expect to have point-in-time restoration for. You don't have to use Aurora to get them, Aurora just has the clicky buttons to make it a clicky-button matter. Any serious DBA should know how to do this without Amazon's platform wrapping it up in a GUI.
Re:Amazon Aurora Backtrack by awgupta on Tuesday May 15, 2018 @10:15PM (#17079510)
We've had point in time restore for quite some time. Backtrack is different. It moves you to a different point using the same instance. Since we don't do destructive writes to blocks (it is log-structured storage), we can simply mark a portion of the log as "ignored". It is a server feature, not a UI enhancement.
Re:Amazon Aurora Backtrack by josephruscio on Thursday May 10, 2018 @11:52AM (#17039997)
Re:Amazon Aurora Backtrack by d33 on Thursday May 10, 2018 @12:08PM (#17040162)
There's Comcast Message Bus which is self-hosted API-compatible SQS, but I don't yet know how good it is:

https://github.com/Comcast/cmb

Re:Amazon Aurora Backtrack by debt on Thursday May 10, 2018 @12:25PM (#17040335)
It's really hilarious to me that some new amazing technology comes out and people immediately are like "how can we not use this?"

The right approach would be to open an text file and start writing all your hardware drivers, an operating system, a database system, application services etc. so that you'll never ever be locked into anything, and you'll always be 100% in control of everything at all times.

Shit, at that point you'll also need to make sure you fabricate your own chips, lay your own pipes, invent your own transfer protocol, etc. as that's the only way to be absolutely certain you won't get locked in.

But then at that point, you've created a prison of your own demise.

Re:Amazon Aurora Backtrack by spookthesunset on Thursday May 10, 2018 @01:09PM (#17040789)
That is the thing that the “lock into a vendor” people don’t understand. You build your own stuff and you can lock yourself into your own stuff and it can be incredibly hard to get out.

I’ve seen it happen time and time again. Companies write their own frameworks, build systems, hardware provisioning systems, analytics systems, you name it... all to avoid “lock in”.

All of that home brew stuff usually sucks. Almost all of it becomes abandonware that one or two people in the company know how to change. Why? Cause all that stuff has nothing to do with how the business delivers value. All of it should have been provided by third party packages.

But now the company got big and they are locked into shitty homebrew garbage that would take a massive political and engineering effort to get out of.

Moral: it is just as easy to lock yourself into your own garbage as it is to lock yourself into a third party. Leave stuff that doesn’t add value to your business to people whose business it is to build that stuff. Beware of doing everything in-house.

Re:Amazon Aurora Backtrack by hinkley on Thursday May 10, 2018 @01:32PM (#17041078)
I hate lock-in and I’ve seen the same problems you discuss here. Nobody likes to feel powerless or over a barrel.

The other solution is to use common components (standards or oss) and then you have nobody to rattle your saber at when it breaks.

But two of those options are for the most part self-inflicted by the developers. The other one is usually inflicted by management (vendor lock-in).

Re:Amazon Aurora Backtrack by scarface74 on Friday May 11, 2018 @02:28PM (#17049700)
It's even worse when you lock yourself into your own garbage. At least locking yourself into a framework that other people use you have a chance to find someone with the same issue and there are people outside of your company that know how to use it -- as opposed to your own bespoke framework.
Re:Amazon Aurora Backtrack by matthewmacleod on Thursday May 10, 2018 @01:09PM (#17040790)
You know, there's a sensible middle point between the two extremes!

It's important to ask questions like that – "what happens if this service got away / becomes unaffordable / removes features we depend on". There's risks in that sense with using proprietary technology. Sometimes it'll be worth it, because the benefits of allowing you to deal more quickly with business problems will outweigh the technical risk. But I've definitely been in more than a few situations where a vendor has shut down a product or service that I depended on, resulting in a difficult or time-consuming migration.

Some of this risk is ameliorated by using open or popular standards and systems. Intel's not likely to stop producing x86 chips; GitHub is probably going to continue supporting git; Linux isn't going anywhere anytime soon. It's worth thinking about before using a service that nobody else offers!

Re:Amazon Aurora Backtrack by debt on Thursday May 10, 2018 @01:22PM (#17040947)
"Some of this risk is ameliorated by using open or popular standards and systems."

This seems to be the middle ground. Making well-reasoned decisions about which vendors will have a long and well-maintained life of service at the expense of it being trendy or cool.

Re:Amazon Aurora Backtrack by icebraining on Thursday May 10, 2018 @01:44PM (#17041199)
You're painting as if the only risk was them going away, but there are other risks with being tied to a single provider - like getting huge price increases: https://news.ycombinator.com/item?id=2533416

Meanwhile, the original post you replied to did not say to completely avoid AWS, only to use "standard EC2/S3 services" rather than provider-specific ones. It may not be the middle point you prefer, but it's hardly an extremist position worthy of ridicule.

Re:Amazon Aurora Backtrack by debt on Thursday May 10, 2018 @02:01PM (#17041392)
GAE came out and people immediately built their entire businesses on them.

It's important to provide a detailed analysis weighing the pros vs cons of building an application on any brand new service like GAE etc.

For instance, one con could've been "if they ever increase their prices by X amount, then we're fucked" would've been a pretty relevant con to consider before jumping into using it.

Re:Amazon Aurora Backtrack by icebraining on Thursday May 10, 2018 @02:56PM (#17041906)
GAE wasn't brand new when it increased prices; it was three-years-old - the same age as Aurora today.
Re:Amazon Aurora Backtrack by cookiecaper on Thursday May 10, 2018 @04:50PM (#17042841)
At the risk of being repetitive, I just want to point out, this is not "amazing new technology". Point-in-time database restores are provided by maintaining database write logs and should be a normal part of any serious backup/restore process, not just because they allow for point-in-time restores, but because they're an integral part of standard database recovery situations. They're used to replay changes made between the last backup snapshot and the time of the incident that warrants recovery.

AWS may have contributed some new technologies, but for the most part, they've just wrapped things up in a GUI. I'm not denigrating that as a valid market niche to fill, but people should know that there are non-AWS solutions for virtually everything that AWS provides, and that your company's admins probably already employ a good portion of them.

Re:Amazon Aurora Backtrack by inyourtenement on Friday May 11, 2018 @07:03AM (#17046291)
RDS already has PIT restore, and yes there is a UI for it. This is different. They would not be making an announcement for PIT restore.

A good question is, how is it different. With PIT restores, they create a new instance from snapshot and play back the logs up to the relevant point. With this Aurora-only feature, they take advantage of Aurora's storage capabilities, and rewind the same database to a previous point. No new instance, no cold recovery from snapshot, no long log replay.

Re:Amazon Aurora Backtrack by cookiecaper on Friday May 11, 2018 @01:30PM (#17049233)
Yeah, I know that Aurora already had point-in-time restore. It's disingenuous to pretend like this is something different. This is, at best, an upgrade to Amazon's processes to make the restore process smoother in the ways you've mentioned.
Re:Amazon Aurora Backtrack by awgupta on Tuesday May 15, 2018 @10:17PM (#17079517)
As the previous commentor said, this isn't point in time restore or a change in our processes. It is a change to our database and storage engine to mark regions of log-structured storage as if they did not occur. That's why we can complete a Backtrack in a few seconds - we're just moving some pointers around and restarting the database.