outcomes
- low cognitive overhead for the team
- fast delivery for the org
- reliable service for the org
- safety for our customers
strategy
- fewest moving parts possible
- most boring tools possible
- one-click, engineer-driven deployments
outcomes
strategy
I hereby claim:
To claim this, I am signing this object:
| import boto3, logging, os | |
| from datetime import datetime | |
| from gpiozero import MotionSensor | |
| from picamera import PiCamera | |
| logging.basicConfig(level=logging.INFO) | |
| camera = PiCamera() | |
| pir = MotionSensor(4) |
| halt |
| package main | |
| import ( | |
| "encoding/json" | |
| "log" | |
| "time" | |
| "code.google.com/p/goauth2/oauth/jwt" | |
| bigquery "github.com/google/google-api-go-client/bigquery/v2" | |
| ) |
| package main | |
| import ( | |
| "bufio" | |
| "crypto/tls" | |
| "fmt" | |
| "log" | |
| "net/url" | |
| "strconv" | |
| "strings" |
| #!/usr/bin/env ruby | |
| require 'aws-sdk' | |
| metadata = { | |
| image_id: 'ami-9aaa1cf2', | |
| instance_type: 't2.micro', | |
| subnet: 'subnet-a55587fc', | |
| key_name: 'ops' | |
| } |
What follows is a description of how one might reasonably manage the core configuration of a stateless service platform.
input - initial inputs that help describe a desired state. includes information such as allowed amis, application manifests, etccompiler - reads inputs, produces cloudformation templates along with other top-level metadata. (important to note that there could even be multiple compilers)metadata - top-level, global data that describes ideal state of the platformWhat follows is a brief description of what comprises a general stateless service platform. It assumed that all stateful services live elsewhere (Heroku Postgres, AWS, etc).
This document aims to show you that a service platform can be built from a few simple ideas without need of anything highly complex or a lot of moving parts.
{
"name": "core",
"ami_id": "ami-123456",
"env": "s3://cloudfuckery/envs/1-abcdef.json",
"slug": "s3://cloudfuckery/slugs/1-12345.tgz",
"formation": {
"web": {
"cmd": "bundle exec bin/web",
"quantity": 3,