OpsWorks Deployments

Jazkarta has developed a robust deployment toolset for Amazon’s OpsWorks

OpsWorks is an application management service that lets you create repeatable, scalable, potentially multi-server deployments on Amazon's Elastic Compute Cloud. It 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 scalability and 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. Jazkarta has created OpsWorks layers to manage all aspects of a modern Python web application:

  • Application layer: Plone, Django, Pyramid
  • DB layer: RDS (MySQL/PostgreSQL), Zeo, Local MySQL
  • Frontend layer: Nginx, Varnish, HAProxy
  • Maintenance layer: backups, logging
  • Distributed FS layer: NFS, GlusterFS, S3
  • Extra functionality: Solr, Redis, Memcached, Elasticsearch, Celery
  • Monitoring: New Relic, Munin, CloudWatch

These layers give you lots of choices, supporting even complex, high availability deployments.

Opsworks Consulting and Training

OpsWorks deployments are frequently included in our Plone consulting projects, and they are also included as part of our 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 also offer training on how to configure and set up an OpsWorks deployment suitable for your application.

Read More