CloudServices/CloudPlatform/Standards
Contents
Overview
Cloud Services recommended structure, style guide, and technologies to skip common things.
DevOps
- Logging: Heka
- IPC Messaging: SQS
- Databases: RDS, MySql, DynamoDb
For Logging: You want to use Heka for log aggregation. Have your app write logs to standard out (ideally with a Protobuf encoded, Heka formatted string). These will be scraped and pulled into Heka for storage and display via Kibana. You'll need to work with ops to get some of that set up.
For IPC Messaging:
Really depends on what you're going to do. SQS is effectively free for
the first 1MM transactions per month (it's a bit fuzzy what "a
transaction" is).
There are a few other mechanisms available, including simplepush,
queuey, or rolling your own, but those really depend on what your costs
points and needs are.
Databases:
Probably want to use something like DynamoDB or RDS if you can. Both are
reasonably friendly toward transactions, but again, find the solution
that fits your needs, which may not be the one your most comfortable with.
We've been playing around with using Docker for rapid system deployments
as well. It's fairly trivial to set up a CoreOS instance and load a set
of docker images. In fact, Loads2 uses that approach to spin up a
testing swarm. The other benefit is that if you're not using AWS, you
could do the same using whatever platform you prefer.
Node
Folder structure
- lib
- app
- routes
Base Libraries
background: chronicle stack discussion
- grunt
- intern
- mocha?
- hapi
Execution targets
- npm start, test
Python
- make? disutils?
- pep 8?
- plan on it being run in a virtualenv
Go
Test Engineering
- intern/selenium
- code coverage?
- Loads 2.0
- Marionette.js on FxOS