OpsWorks Deployments
OpsWorks is an application management service that lets you create repeatable, scalable, potentially multi-server deployments on Amazon's Elastic Compute Cloud. It is part of Amazon Web Services (AWS), which provide a suite of IT services that allow you to requisition the power of Amazon's computing and storage resources.
OpsWorks is built on top of Chef, an open source configuration management tool. OpsWorks simplifies the many server configuration tasks that are necessary when deploying to the cloud. It allows you to create repeatable, best practice deployments that you can modify over time without having to touch individual servers. It also lets you wire together multiple servers so that you can deploy a single app in a scalable way. OpsWorks can detect failed instances and replace them and it allows you to automatically scale your application based on load or time of day.
OpsWorks is similar to PaaS offerings like Heroku but is better suited for sites that need more customization than Heroku can provide. And unlike PaaS offerings, there is no charge for OpsWorks. You don’t pay for anything besides the Amazon resources you consume.
OpsWorks Layers
OpsWorks lets you model the different components of your application as layers in a stack, and map your logical architecture to a physical architecture. The stack can be managed through a web or mobile graphical user interface. Jazkarta has created OpsWorks layers to manage all aspects of a modern Python web application:
- Application layer: Plone, Django, Pyramid, etc.
- DB layer: Amazon RDS (MySQL/PostgreSQL), Zeo, Local MySQL
- Frontend layer: Nginx, Varnish, HAProxy
- Maintenance layer: backups, logging, database packing
- Distributed Filesystem layer: NFS, GlusterFS, S3
- Extra functionality: Solr, Redis, Memcached, Elasticsearch, Celery
- Monitoring: New Relic, Munin, CloudWatch
These layers give you lots of choices and will support complex, high availability deployments.
Opsworks Deployments
Automated OpsWorks deployments are often included in our consulting projects and support plans. To help others benefit from this technology, we have made our OpsWorks toolset available as an open source package called opsworks-web-python. Documentation is included to help you get started. We can also help you learn how to use the OpsWorks GUI so you can take charge of your site's deployment.