Reputation: 47146
Both AWS Autoscaling
and AWS Opsworks
deals with automatically scaling the application servers. But what is the exact difference between both of the services?
Upvotes: 4
Views: 920
Reputation: 327
Be mindful that when being elastic that under load your provisioning may be required to be done in a timely manner.
1 minute to add a server to your farm might be too long. 10 minutes a complete killer.
Pre-Baking an AMI with everything you need is still better than hydrating on launch.
You can use a custom AMI with both std Auto Scaling AND Opsworks.
Upvotes: 0
Reputation: 1095
While Autoscaling, OpsWorks and Elastic Beanstalk offer very similar services, OpsWorks is the one that by far offers the most control over your instances. As the name implies, AWS Autoscaling offers simple replication of your instances in order to scale up or down to meet your availability demands. Elastic Beanstalk is quite similar to Autoscaling, but is a solution focused on replicating web applications and provides a management console for uploading the web application and controlling how it scales.
Excerpt taken from the OpsWorks FAQ:
Q: Who should use AWS OpsWorks?
System administrators and ops-minded developers who are looking for a powerful end-to-end application management solution should consider AWS OpsWorks. AWS OpsWorks is targeted at DevOps users who want better management and automation tools to help them customize and control their environments. An AWS OpsWorks user typically values:
Control. AWS OpsWorks makes it easy to model all the components of your application and then configure any aspect of your application and its supporting infrastructure. With support for scripted changes using Chef recipes (see "What is Chef and how does AWS OpsWorks use it?" for details) at defined stages in the application lifecycle, you have fine-grained control of your application and its interaction with related components. Your recipes can be stored with your source code, making it easy to track changes. From one-time deployments to auto scaled growth, your application will reflect your settings through its complete lifecycle.
Automation. Instead of manual steps, you specify how to deploy, scale, and maintain your applications and AWS OpsWorks performs the tasks for you. For example, AWS OpsWorks can set up instances to host your apps based on the exact configurations that you specify (code to deploy, RAID configuration, etc.), scale your apps using load-based or time-based auto scaling, and maintain the health of your apps by detecting and replacing failed instances. When a new app server instance starts, AWS OpsWorks will use built-in recipes to configure the app server software and deploy your apps, and can also apply your specified recipes to make changes to your database and monitoring infrastructure.
In summary, if you need to have your instances configured in a very particular way, have them started and stopped on specific times or requirements like these, DevOps is probably more suited for you.
Upvotes: 4
Reputation: 6926
AWS Opsworks undoubtedly uses Autoscaling at its core, but is a much larger umbrella (and more opinionated). It includes deployment and configuration settings for multiple stacks (EC2 servers, ElastiCache, DynamoDb etc...).
By contrast, autoscaling is really just a subset of Ec2 that performs scale (increase/decrease server count) operations according to various alarms you can configure.
Upvotes: 5