Professional Documents
Culture Documents
● Community Involvement
○ Docker Captain and Community Leader
@mikesir87
A long, long time ago...
@mikesir87
Yes! We ship software!
@mikesir87
What’s it mean to be “cloud native”?
“Cloud-native is about
how applications are
created and deployed,
not where.”
-- Pivotal
@mikesir87
Source: https://pivotal.io/cloud-native
Background on Heroku
@mikesir87
12-Factor Background
● Available at 12factor.net
@mikesir87
The 12 Factors
2. Dependencies 8. Concurrency
3. Config 9. Disposability
@mikesir87
2. Dependencies
@mikesir87
3. Config
@mikesir87
4. Backing Services
@mikesir87
5. Build, release, run
@mikesir87
6. Processes
@mikesir87
7. Port Binding
@mikesir87
8. Concurrency
@mikesir87
9. Disposability
@mikesir87
10. Dev/Prod Parity
@mikesir87
11. Logs
● Stay away from routing or storage of the output stream within the
app
○ Simply send data to stdout/stderr and let environment configuration
determine where it should go
@mikesir87
12. Admin Processes
@mikesir87
How do containers help here?
Containers (when done right) solve...
2. Dependencies 8. Concurrency
3. Config 9. Disposability
@mikesir87
When to use env vars?
@mikesir87
Config in Files
@mikesir87
Where do the files come from?
apiVersion: v1
Injecting Secrets
kind: Pod
metadata:
name: mypod
spec:
● Decouple how the secrets are fetched and provided to the app
● Uses two containers with a shared volume
○ The init container loads/fetches the secrets and puts them in the volume
○ The main app container reads the secrets from the volume
Shared Volume
Pod/ECS Task
@mikesir87
apiVersion: v1
@mikesir87
What’s it mean to be “cloud native”?
“Cloud-native is about
how applications are
created and deployed,
not where.”
-- Pivotal
@mikesir87
Source: https://pivotal.io/cloud-native
What’s it mean to be “cloud native”?
It means to remove impediments and support the software
industrial revolution!
Thanks! Questions?