Live data from Hacker News

AWS CloudFormation now supports blue/green deployments for Amazon ECS

aws.amazon.com

61–70 of 80 posts

Re: AWS CloudFormation now supports blue/green deployments for Amazon ECS

#61
post #60
post #54

Earlier quoted context omitted.

I use CloudFormation currently, and it gets the job done just fine. It has some nice things that terraform just doesn't have out of the box: - Its a managed service, I don't need to setup a state bucket (or similar), I upload my template and it handles it. CI itself is not running CloudFormation, it just tells CF to do its thing. I could achieve this with other services with TF, but its not something I have seen out…

Stack Sets are a killer feature, and so much easier than trying to do the same thing in Terraform. CloudFormation Drift Detection is very limited currently: it only supports a small subset of resources that you can create with CloudFormation. If your needs are covered by it, great, but it doesn't take much to go beyond its bounds. Also, it detects drift, but won't correct it. Terraform both detects and corrects drift…

Oh yeah, drift detection is very limited. However being able to run it periodically and trigger an alarm from a central service (going back to my first point) without needing access to the repo is a major plus.

With Terraform (unless there is functionality I am unaware of) you need the repo where the terraform is stored to be able to perform that check. Then you need to setup the system that does the periodic checks (yes I know a cron in CI is barely any work if thats your desire).

Ultimately like a lot of things, CloudFormation VS Terraform is a long list of tradeoffs. I just would not personally write off CloudFormation depending on I actually need.

Re: AWS CloudFormation now supports blue/green deployments for Amazon ECS

#62

I've never understood CloudFormation's lag time in supporting new service functionality. This launched nearly 3 years ago. https://aws.amazon.com/blogs/compute/bluegreen-deployments-w...

Because while "ready" for new features includes API support, it does not include CloudFormation support. The problem is entirely AWS politics and culture.

> The problem is entirely AWS politics and culture.

Someone higher up should enforce it. I've been in teams, where if something isn't in cloudformation it doesn't exist and that attitude is totally understandable, having to do some operations by hand seriously hurts IaC efforts.

Re: AWS CloudFormation now supports blue/green deployments for Amazon ECS

#63

Earlier quoted context omitted.

That’s not a Blue Green deployment.....

I don't think they are saying it was, unless I'm misreading. They're talking about standard ECS deploys. Yo add my anecdata, I do lots of ECS deploys via terraform into production and it works pretty seamlessly.

I don’t have a problem with deploys with CF. But it only let’s you configure a minimum healthy percentage. Which is good enough if you only need to validate that an instance is in an acceptable state via a health check.

Re: AWS CloudFormation now supports blue/green deployments for Amazon ECS

#64

Earlier quoted context omitted.

I've been told that each product team is supposed to add CloudFormation support themselves. For some reason, it's not treated as a high priority and often lands on the laps of the core CloudFormation team. It may turn out that the tools that CloudFormation team provides don't make integration easy, especially if the operation takes longer than 15 minutes (meaning they can't implement support via a single lambda invoc…

You can also invoke a custom resource via SNS and then the SNS topic is subscribed to an API endpoint. But it’s hard to believe if the team responsible for the blue green deployment functionality developed an API endpoint to do it, they couldn’t just hand it to the CF team to call. At the end of the day that’s all CF does. Call APIs based on the different lifestyle events as far as how it actually creates resources.

>lifestyle events

Intentional or not, I'm going to start using this. :P

Re: AWS CloudFormation now supports blue/green deployments for Amazon ECS

#65

The list of restrictions in the user guide seems painful - cannot be used in the same template as nested stacks, cannot start a blue green deploy if other infrastructure would be modified at the same time, cannot import properties from other stacks, cannot export output properties. I was interested, but can't imagine using it with these restrictions.

Thinking about this further, the benefit of these restrictions is in avoiding conflicts where dependant infrastructure is updated in place before the blue green has completed. Lack of inputs and outputs still seems killer though.

Re: AWS CloudFormation now supports blue/green deployments for Amazon ECS

#66
post #40

I don’t think I’ve ever met someone that actually uses cloudformation unless a template was provided them to setup something like a lambda. Why would you when terraform exists?

If you are on GCP or Azure you definitively want to use terraform, because alternative is either POS or doesn't exist.

TF actually doesn't have much edge over CF. When TF was released it fixed many pain points of CF, but since then CF fixed those problems.

The supposedly killer feature that you can use TF with multiple clouds is not that killer, since each cloud architecture is different so you can't just reuse your code.

With CF you have extra benefits:

- built in, no extra tool necessary

- integral part of AWS, so no need to worry about being discontinued

- available within AWS support

- no need to worry about synchronizing state between people

- import / export functionality, you can expose various variables, which following stacks can build on top of

- ability to implement custom states with lambda

- uses YAML or JSON, which means you can use existing tooling to generate config programmatically.

Haven't used yet, but it appears that CDK is built on top of that, and that's much more powerful than terraform.

Re: AWS CloudFormation now supports blue/green deployments for Amazon ECS

#67
post #64

Earlier quoted context omitted.

You can also invoke a custom resource via SNS and then the SNS topic is subscribed to an API endpoint. But it’s hard to believe if the team responsible for the blue green deployment functionality developed an API endpoint to do it, they couldn’t just hand it to the CF team to call. At the end of the day that’s all CF does. Call APIs based on the different lifestyle events as far as how it actually creates resources.

>lifestyle events Intentional or not, I'm going to start using this. :P

Ughhh. And it’s outside of the edit window...

Re: AWS CloudFormation now supports blue/green deployments for Amazon ECS

#68

Earlier quoted context omitted.

Terraform doesn’t support rollbacks (handy for application roll-outs) and if your shop is heavily invested in AWS CF is a perfectly fine tool. I’ve maintained and started up tens of thousands of lines of both TF and CF and they both have their strengths and weaknesses.

Aren't rollbacks handled by the VCS that you check your Terraform files into? Sorry I'm not familiar with Cloudformation but that's how I would approach it with Terraform.

CF can detect an issue while deploying, and then automatically go back to previous state (it is configurable, but that's the default behavior).

Re: AWS CloudFormation now supports blue/green deployments for Amazon ECS

#69
post #27

I've never understood CloudFormation's lag time in supporting new service functionality. This launched nearly 3 years ago. https://aws.amazon.com/blogs/compute/bluegreen-deployments-w...

I understand the logic of not waiting for the CloudFormation team to do their work because it could introduce delays but it makes it a considerably less useful tool. When considering Terraform vs CloudFormation I certainly took that into account and that's why I don't use CloudFormation for anything. I wonder if there are any killer features of CloudFormation I missed when I looked into this (years ago now).

You can now write your own resource providers [0], which seems similar to TF. It's pretty decent. The only issue is you can't easily migrate from a custom provider to an official one once they release it (without deleting and recreating the resource), which can be a dealbreaker.

[0] https://aws.amazon.com/about-aws/whats-new/2019/11/now-exten...

Re: AWS CloudFormation now supports blue/green deployments for Amazon ECS

#70

The cloudformation team is small bc the people who run it are not fun to work with and not willing to bring on talent with their own opinions. It's a weird irony, dug in and overall detrimental. The only option teams that need CI/CD for their cloud resources & want to use cloudformation for most of it is to have a side chain process for handling resources that can't be expressed with Cloudformation. (not at all insur…

roughly how many is "small"? 10? 20?
Post reply on HN