Live data from Hacker News

AWS mistakes to avoid

cloudonaut.io

91–100 of 276 posts

Re: AWS mistakes to avoid

#91

Check out http://convox.com/ (YC S15) for an alternative to avoiding manual infrastructure.

Convox co-founder here. Thanks for the shout out!

That's exactly right, avoid manual infrastructure.

Someday we will all have something like Rails for infrastructure. Strong conventions around best practices.

If you follow these conventions you can avoid bespoke or manual configurations and focus solely on your app logic.

We're building Convox to advance this goal.

Re: AWS mistakes to avoid

#92
> There is no reason - beside manually managed infrastructure - to not decrease the instance size (number of machines or c3.xlarge to c3.large) if you realize that your EC2 instances are underutilized.

CPU/Memory aren't the only measures of underutilization. If you require high instantaneous bandwidth throughput, then the networking capacity available to your instance roughly increases with the size of your instance. This includes both EBS as well as other Network traffic.

Table with Low/Medium/High: https://aws.amazon.com/ec2/instance-types/#instance-type-mat...

Example benchmark with c3 instances: http://blog.flux7.com/blogs/benchmarks/benchmarking-network-...

If you're more concerned with just EBS network throughput, check out the table on this page instead: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-ec2-...

Re: AWS mistakes to avoid

#93
I wonder if AWS is a good location to run a VoIP server. VoIP is a real time application that is very prone to jitter, latency and packet loss. I'm concerned about "noisy neighbors" and decreased network performance at AWS.

Does anybody have experience with running a VoIP (e. g. Asterisk) on AWS?

Re: AWS mistakes to avoid

#94
post #27

Earlier quoted context omitted.

yes, use multiple accounts. you can use STS to grant permissions between the accounts if needed.

STS works, but I feel like multiple accounts linked is more of a hack than using a single AWS account. Of course, if you use a service that is not available in both regions, use STS.

How is multiple accounts a hack? It's the correct solution to isolation. Using regions is just stupid because now you've attached extra meaning to regions and can't bring up production stuff in other regions for better latency.

Re: AWS mistakes to avoid

#95
post #2

Also, dont use Dynamo unless you have a really good reason. "It scales better than MySQL" is not a good reason. Have fun migrating data and re-indexing constantly!

Is local secondary indices and lower operational costs than Cassandra a good reason(s)?

Not without considering the throttling you will hit if you exceed provisioned IOPS. You really want to consider all the angles on dynamoDB before committing to it; limitations, unique benefits, interface, etc.

Re: AWS mistakes to avoid

#96

So I'd modify these a bit. We run a very large AWS infrastructure as a engineering team (no dedicated ops). 1. Use CloudFormation only for infrastructure that largely doesn't change. Like VPC's, subnets/ internet gateways etc. Do not use it for your instances / databases etc, I can't recommend that enough, you'll get into a place where updating them is risky. We have a regional migration (like database migrations) th…

DynamoDB is way cheaper than RDS. It's fine for small apps.

Re: AWS mistakes to avoid

#97

I like CloudFormation. Unfortunately it is very unwieldy to write CloudFormation templates directly, and we're not about to start using the AWS CFN GUI editor! It seems like the assembly of the AWS ecosystem. Does anyone else have a favourite hammer for this particular nail? I'd love to have something better than our home-baked solution, but I'm yet to find anything which doesn't introduce other flaws, such as an inc…

Some people like SparkleFormation ( http://www.sparkleformation.io/ ). I'll warn you, though, that it's not a good example of how to program in Ruby. It abuses method_missing to the point that it makes your implementations difficult to debug.

I also don't like their made-up terms such as "dynamics", etc. The documentation is pretty confusing as well.

Re: AWS mistakes to avoid

#98
As there's too much push to Terraform, which I personally dislike due to many opinionated features and the marketing push to cover as many services as possible and not do one thing and do it great (AWS), you can look at Bazaarvoice's CloudFormation Ruby DSL [0].

[0]: https://github.com/bazaarvoice/cloudformation-ruby-dsl

Re: AWS mistakes to avoid

#99
post #49

Earlier quoted context omitted.

If you'd consider something other than CloudFormation, there is also Hashicorp's Terraform. It has an AWS provider ( https://terraform.io/docs/providers/aws/index.html ) which creates resources and maintains the state in a file that you can store in version control ( https://terraform.io/docs/state/index.html ).

Terraform, as an idea, is brilliant. Mitchell and company isolated a hugely important need and tried to fill it, and I give them all the credit in the world for that. Cross-platform cloud provisioning? Gimme. But I cannot in good conscience not relate what a disastrous experience Terraform has been for me at both jobs and clients. Writing reusable code in Terraform is an exercise in frustration due to the extreme clu…

> The application architecture is reckless and full of race conditions

Honestly curious, can you point to one or two?

Re: AWS mistakes to avoid

#100
post #55

I'd like to add, if using Elastic Beanstalk, don't directly attach an RDS instance when creating the environment. If you do, you won't be able to destroy your environment without also deleting the RDS instance. Instead, create the RDS instance separately, and just add the proper security group for the environment to be able to access the host. Then you can easily create a new eb environment with any config changes (t…

Is there a site that collects these sorts of tips? Seems like there are a lot of potential pitfalls that can be hard to find in docs like: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-r...
Post reply on HN