To the moon!
But first to the cloud
TechOps
Staging
Development
Production
Playground
TechOps
Development
Staging
Production
Playground
Sandbox
Oh, we may need a Sandbox one as well
(same as production,
but with testnets and stuff)
Local
Development
bin/setup
bin/server
bin/client
bin/test
(almost) Painless environment variables
config :foo, Bar,
api_key: System.get_env("FOO")
config :foo, Bar,
api_key: {:system, "FOO"}
defmodule Bar
defp api_key
System.get_env("FOO")
end
end
defmodule Bar
@api_key System.get_env("FOO")
end
Compile-time vs Run-time
Local Production Server
Coming soon™
Continuous Integration
CircleCI
Services
http://mjml.dev-utrust.com
http://deriver.dev-utrust.com
http://merchants.dev-utrust.com
Standardized Log entries
{
"app_id": "mjml_webservice"
"timestamp": "2018-01-01-01:01:01",
"git_hash": "abcdefg",
"env": "production",
"type": "http",
"correlation_id": "abcdefg",
"content": { "text": "Hello, world!" }
}
GET /ref
{
"app_id" => "mjml_webservice",
"git_hash" => "abcdefg"
}
Debugging & healthcheck endpoint
Questions?