BUILD AND DEPLOY
TO THE CLOUD USING
NETFLIX OSS
Mike McGarr
Netflix Developer Productivity
@SonOfGarr
MikeMcGarr.com
Netflix streaming service started in 2007
migrate to the cloud
BUILD AND DEPLOY TO THE CLOUD USING
MIKE MCGARR
@SONOFGARR
MIKEMCGARR.COM
▸ create an installable Java microservice
▸ install and bake a microservice
▸ define our AWS deployment
▸ create a deployment pipeline
▸ create an installable Java microservice
▸ install and bake a microservice
▸ define our AWS deployment
▸ construct a deployment pipeline
A SIMPLE MICROSERVICE
▸ Groovy
▸ Spring Boot
Gradle's Application Plugin gives us a
runnable app
Immutable server pattern
NEBULA PLUGINS
dependency lock plugin
resolution rules plugin
dependency recommender plugin
lint plugin
metrics plugin
test plugin
publishing plugin
ospackage plugin
http://nebula-plugins.github.io
Nebula's ospackage plugin
produces a Debian package
▸ create an installable Java microservice
▸ install and bake a microservice
▸ define our AWS deployment
▸ construct a deployment pipeline
unit of deployment
BAKING
sudo aminate /
-e ec2_aptitude_linux /
-b ubuntu-base-ami-ebs /
helloworld_1.0.0_all.deb
▸ create an installable Java microservice
▸ install and bake a microservice
▸ define our AWS deployment
▸ construct a deployment pipeline
JUST LAUNCH AN
INSTANCE, RIGHT?
EACH INSTANCE NEEDS
▸ Amazon Machine Image (AMI)
▸ security groups
▸ launch configurations
▸ elastic load balancers
▸ auto-scaling groups
SPINNAKER
▸ Cloud infrastructure management
▸ Deployment pipelines
▸ microservice architecture
▸ Java & Groovy Spring Boot microservices
SPINNAKER COMMUNITY AMI
▸ create an installable Java microservice
▸ install and bake a microservice
▸ define our AWS deployment
▸ construct a deployment pipeline
Continuous delivery
BASTION, JENKINS & SPINNAKER
JENKINS BUILD JOB
▸ checkout from Github
▸ ./gradlew clean build
buildDeb
▸ publish debian package
WHERE TO NEXT?
▸ Edda (track cloud changes)
▸ Eureka (service discovery)
▸ Chaos Monkey (kill prod instances)
▸ Atlas (large scale metrics)
TAKEAWAYS
MAKE APPLICATIONS
EASY TO INSTALL
MAKE SERVERS
IMMUTABLE
THE CLOUD IS
HARD
QUESTIONS?MIKE MCGARR
@SONOFGARR
MIKEMCGARR.COM

Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)