Cloud Native Applications,Cloud-Native Development, Cloud-Nomadic Deployment Author: Topher Bullock...
Transcript of Cloud Native Applications,Cloud-Native Development, Cloud-Nomadic Deployment Author: Topher Bullock...
1
SATURN 2017
Title of the Presentation Goes Here© 2017 [Copyright Owner[s]]Title of the Presentation Goes Here© 2017 [Copyright Owner[s]]
Cloud Native Applications,Cloud Nomadic DeploymentsTopher Bullock
Transforming How The World Builds
Software
2
Transform How We Build and Deploy
Software…
3
And then worry about helping the world work the way we do, after we’ve ironed out all the problems
- Purpose built for the cloud model.
- Let platform handle scaling and hardware decoupling
- Offer greater agility, resilience, and portability across clouds
- 12 Factor + modern PaaS
- Configuration in files- Can be in source control
& versioned- Easier to understand for
onboarding
Use declarative formats…for setup automation
-12factor.net
- If your app follows the PaaS’ rules, it can run on any instance of it
- standard interface removes guess-work
- every app is just a process listening on a port
Have a clean contract…with the underlying operating system
-12factor.net
(developer)
here is my source coderun it on the cloud for me
I do not care how-Onsi Fakhouri
cf push
Suitable for deployment.. on modern cloud platforms
- let the platform deal with keeping the lights on
- Let platform handle log aggregation, scaling, monitoring, uptime
-12factor.net
package main
import ( "github.com/go-martini/martini")
func main() { m := martini.Classic()
m.Get("/", func() string { return”"Hello world" })
m.Run()}
package main
import ( "github.com/go-martini/martini")
func main() { m := martini.Classic()
m.Get("/", func() string { return”"Hello world" })
m.Run()}
Minimize divergence…between development and production
- No one-off snowflake app deployments
-12factor.net
(operator)
here are my serversgo make them a Cloud Foundry
I do not care how-Onsi Fakhouri
bosh deploy
Use declarative formats...for IaaS automation
- ENTERPRISE-GRADE YML ARCHITECTURE FOR THE CLOUD!!!!!!!!!!!!!!!!!!!!!
- “Infrastructure as code”- Generic config to track
details of deployment
deployment.yml
3
2
3
2
- maximum portability between / across clouds
- every release is a process (or a set of them)
- Treat IaaS’ VMs as “undifferentiated heavy lifting”
Have a clean contract…with the IaaS
deployment.yml
t2.micro
t2.medium
m4.large
c4.2xlarge
IaaS
Director+
CPI
3
2
3
2
Suitable for deployment... across multiple clouds
- let the IaaS figure most things out ( networking, VM provisioning)
- BOSH director handles process / VM uptime, so deployed software stays up
deployment.yml
t2.micro
t2.medium
m4.large
c4.2xlarge
n1-standard-1
n1-standard-2
n1-highmem-4
n1-highcpu-2
deployment.yml
IaaS
Director+
CPI
3
2
3
2
n1-standard-1
n1-standard-2
n1-highmem-4
n1-highcpu-2
Minimize divergence…between deployments across multiple clouds
- Infrastructure as Code deployment yml can be scaled to suit dev or prod needs
- Deployment YML defines what to deploy, BOSH worries about the how
deployment.yml
IaaS
Director+
CPI
Director+
CPI
2
2
1
1