How do you work when you need to develop new things? What is your workflow?
Ask HN: How do you work with AWS?
1–10 of 36 posts
Re: Ask HN: How do you work with AWS?
#2Personally, when working in DEV, I do most of my work through the AWS Console, combined with some use of the AWS Java API. I rarely if ever use the AWS command line tools.
Re: Ask HN: How do you work with AWS?
#3Re: Ask HN: How do you work with AWS?
#4Re: Ask HN: How do you work with AWS?
#5Re: Ask HN: How do you work with AWS?
#6Re: Ask HN: How do you work with AWS?
#7Every client has different requirements so it varies. CloudFormation is common but strongly prefer Terraform when possible for creating infrastructure, and use Ansible or chef-solo for config management, pre-baked AMI method and deploying to ASG Launch Config for deployment. Use Python and Lambda for scripting out things like backups and common security tasks or anything else that may need to be scripted out.
I found the cloud-agnostic claim to be a bit of an exaggeration, plus most clients are happy to stick to one provider. Sure, CloudFormation is a bit slow, and the JSON is awful, but with YAML it's okay. And I don't need yet another tool. What am I missing?
Re: Ask HN: How do you work with AWS?
#8At work, the workflow is largely this: developers hand-create resources in the DEV environment, get things working, work out kinks, then the DevOps team comes in and translates everything into their Terraform automation setup, and then deploys to other environments use Terraform. Personally, when working in DEV, I do most of my work through the AWS Console, combined with some use of the AWS Java API. I rarely if ever…
Re: Ask HN: How do you work with AWS?
#9Every client has different requirements so it varies. CloudFormation is common but strongly prefer Terraform when possible for creating infrastructure, and use Ansible or chef-solo for config management, pre-baked AMI method and deploying to ASG Launch Config for deployment. Use Python and Lambda for scripting out things like backups and common security tasks or anything else that may need to be scripted out.
I generally love Hashicorp's tools, but never really got using Terraform over CloudFormation. I found the cloud-agnostic claim to be a bit of an exaggeration, plus most clients are happy to stick to one provider. Sure, CloudFormation is a bit slow, and the JSON is awful, but with YAML it's okay. And I don't need yet another tool. What am I missing?
In Terraform you're able to create modules that you can use to setup uniform infrastructure. For example, you could have an RDS module that aside from setting up the database it also sets up a replica, a dedicated KMS encryption key, IAM policies, security groups, parameter groups, etc. So instead of setting all of this up for every database you have, you can just reuse a custom module that does all of this for you. These modules can also be versioned such that you can upgrade and change them as needed without breaking all your current infrastructure.
Re: Ask HN: How do you work with AWS?
#10Every client has different requirements so it varies. CloudFormation is common but strongly prefer Terraform when possible for creating infrastructure, and use Ansible or chef-solo for config management, pre-baked AMI method and deploying to ASG Launch Config for deployment. Use Python and Lambda for scripting out things like backups and common security tasks or anything else that may need to be scripted out.
I generally love Hashicorp's tools, but never really got using Terraform over CloudFormation. I found the cloud-agnostic claim to be a bit of an exaggeration, plus most clients are happy to stick to one provider. Sure, CloudFormation is a bit slow, and the JSON is awful, but with YAML it's okay. And I don't need yet another tool. What am I missing?
If you do choose to learn and implement Terraform however, you gain the knowledge of a tool that can support many cloud providers and can even manage environments that span multiple providers. e.g. CloudFlare + AWS, etc. In addition, you can package up your solutions as modules and share them with others.
I chose Terraform because I have services running on multiple clouds and I also prefer to use tools that have value outside of a single ecosystem.