Cloud Native Unleashed
- 8. EVERYTHING AS CODE
node('master') {
git url: 'https://git.qaware.de/apps/qaerp.git'
stage 'Build'
sh 'mvn clean package'
archive artifact
stage 'Code Coverage'
sonarqube
stage 'QA'
parallel(tests: {
runWithServer {url -> sh “gatling run omg.scala“}})
stage name: 'Staging', concurrency: 1
tomcat.deploy(artifact, 'staging', deployClosure)
}
version: '2'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
depends_on:
- redis
redis:
image: redis
DELIVERY WORKFLOW: Jenkins Job / Pipeline DSL
INFRASTRUCTURE:
Docker Compose
- 9. THE DATACENTER AS A COMPUTER
DATACENTER aka. CLOUD aka. CLUSTER
DEVOPS API
deploy()
rollback()
scale()
configure()
kill()
…
DEV
‣ CODE
- 10. <CLOUD NATIVE STACK> IMPLEMENTS <DEVOPS API>
DEVOPS API
THE CLOUD NATIVE STACK
CLUSTER VIRTUALIZATION
CLUSTER SCHEDULER
CLUSTER ORCHESTRATOR
APPLICATION PLATFORM
(microservice chassis, service discovery, configuration & coordination, edge server, diagnosability)
CODE
APPLICATIONS
CONTAINER
CLUSTER RESOURCES