Launching Services in
Amazon Web Services
James Armes, Cloud Software Engineer, Acquia
Code Deploy
– Automated code deployments.
– Agent is available for Linux or
Windows.
– Can be used for instances in AWS or
on-premises.
– Repeatable deployments.
– Rolling updates with rollback.
SWF
– State tracker & task coordinator.
– Promotes separation of control-flow
and business logic.
– Tasks can be run in parallel or
sequentially.
– Jobs can be picked by in instances
in AWS or on-premises.
CloudFormation
– Create/manage a collection of
resources.
– Create reusable templates.
– Avoids collisions.
Moonshot
– CLI Ruby gem.
– Pluggable.
– Currently requires ruby application
configuration.
https://github.com/acquia/moonshot
Cloud Database Service
– Allow internal users to create
databases on-demand.
– Provide various service levels.
– Abstracts hardware and
implementation.
– Maintenance is largely automated.
– Resources are isolated in separate
VPCs.
Cloud Database Service (cont.)
– Custom API and worker AMIs.
– Bugsnag for reporting application
errors.
– Logs sent to Sumo Logic.
– StatsD/Graphite for performance
metrics.
– Deployments managed through
moonshot.
Cloud Database Service: API
– HTTP API built with grape.
– Public and internal endpoints with
access controls.
– HMAC authentication.
Cloud Database Service: Worker
– Picks up workflows and activities
from SWF.
– Built with aws-flow gem.
– Workflows utilize atomic activities.
– Activities are idempotent.
Demo
Questions?

Launching Services in Amazon Web Services

  • 1.
    Launching Services in AmazonWeb Services James Armes, Cloud Software Engineer, Acquia
  • 2.
    Code Deploy – Automatedcode deployments. – Agent is available for Linux or Windows. – Can be used for instances in AWS or on-premises. – Repeatable deployments. – Rolling updates with rollback.
  • 3.
    SWF – State tracker& task coordinator. – Promotes separation of control-flow and business logic. – Tasks can be run in parallel or sequentially. – Jobs can be picked by in instances in AWS or on-premises.
  • 4.
    CloudFormation – Create/manage acollection of resources. – Create reusable templates. – Avoids collisions.
  • 5.
    Moonshot – CLI Rubygem. – Pluggable. – Currently requires ruby application configuration. https://github.com/acquia/moonshot
  • 6.
    Cloud Database Service –Allow internal users to create databases on-demand. – Provide various service levels. – Abstracts hardware and implementation. – Maintenance is largely automated. – Resources are isolated in separate VPCs.
  • 7.
    Cloud Database Service(cont.) – Custom API and worker AMIs. – Bugsnag for reporting application errors. – Logs sent to Sumo Logic. – StatsD/Graphite for performance metrics. – Deployments managed through moonshot.
  • 8.
    Cloud Database Service:API – HTTP API built with grape. – Public and internal endpoints with access controls. – HMAC authentication.
  • 9.
    Cloud Database Service:Worker – Picks up workflows and activities from SWF. – Built with aws-flow gem. – Workflows utilize atomic activities. – Activities are idempotent.
  • 10.
  • 11.

Editor's Notes

  • #2 The cloud is the Internet. Rather than a local or collocated server, your servers are located “somewhere” on the Internet. You can specify a “region” for your servers. The exact location of the hardware is unknown to you. Pay for only the resources you use. On-demand capacity. Prepay reservations available. Elastic capacity. Scale your resources up and down based on usage requirements.
  • #3 Code Deploy: Integrates with ASGs Repeatable deployments Deployments are uploaded to S3
  • #4 Simple Workflow Service
  • #5 CloudFormation: Template JSON format Can be parameterized Collisions Resources are given a unique name