SlideShare a Scribd company logo
1 of 64
Zero to the Cloud 
with @NetflixOSS 
Mike McGarr 
mmcgarr@netflix.com 
@SonOfGarr 
http://www.MikeMcGarr.com
about me 
• J. Michael (Mike) McGarr 
• Engineering Manager, Netflix Build Tools 
• Founder, DC Continuous Delivery Meetup 
• Former Director of DevOps, Blackboard 
• Excella Consulting 
• Booz Allen Hamilton 
11/17/14 @SonOfGarr 2
11/17/14 @SonOfGarr 3
11/17/14 @SonOfGarr 4
@NetflixOSS 
11/17/14 @SonOfGarr http://netflix.github.io 5
11/17/14 @SonOfGarr 6
The Netflix Way 
Everything is “built for three” 
Fully automated build tools to 
test and make packages 
Fully automated machine 
image bakery 
11/17/14 @SonOfGarr 7
The Netflix Way 
Fully automated image deployment 
Service teams responsible for both 
“Dev” and “Ops” 
Redundancy through multi-region 
deployment 
11/17/14 @SonOfGarr 8
cloud native 
11/17/14 @SonOfGarr 9
microservices (soa) 
11/17/14 @SonOfGarr 10
11/17/14 @SonOfGarr 11
Zero to the Cloud 
• Stand-up your own 
NetflixOSS cloud 
• Aminator 
• BaseAMI 
• Asgard 
• Edda 
• Eureka 
http://nflx.it/zerotocloud 
11/17/14 @SonOfGarr 12
foundations 
• account setup 
• user, roles, security groups 
• jumphost 
• foundation AMI 
11/17/14 @SonOfGarr 13
BUILD/BAKE 
11/17/14 @SonOfGarr 14
immutable servers 
• new os image per code 
change 
• never change running 
instances 
• avoid configuration drift 
http://martinfowler.com/bliki/ImmutableServer.html 
11/17/14 @SonOfGarr 15
Nebula 
• Netflix Build Language 
• Gradle plugins 
http://github.com/nebula-plugins 
11/17/14 @SonOfGarr 16
Nebula Plugins 
• gradle-ospackage-plugin 
• gradle-dependency-lock-plugin 
• gradle-extra-configurations-plugin 
• gradle-blacklist-plugin 
• gradle-override-plugin 
• gradle-stash-plugin 
• gradle-scm-plugin 
• gradle-contacts-plugin 
• gradle-info-plugin 
• nebula-ospackage-plugin 
• nebula-test 
• nebula-project-plugin 
• nebula-release-plugin 
• nebula-bintray-plugin 
• nebula-publishing-plugin 
• nebula-metrics-plugin 
11/17/14 @SonOfGarr 17
gradle-ospackage-plugin 
• produce rpm or 
debian packages 
from Gradle build 
• can be used for 
non-java apps 
11/17/14 @SonOfGarr 18
11/17/14 @SonOfGarr 19
Baking 
• app. code installed as OS package 
• unit of deployment = AMI 
11/17/14 @SonOfGarr 20
BaseAMI 
11/17/14 @SonOfGarr 21
Aminator 
• python library used 
to “bake” EBS AMI’s 
• must bake per 
region 
• works with system 
packages, Chef, 
Puppet, Ansible, etc 
11/17/14 @SonOfGarr 22
sudo aminate  
-e ec2_aptitude_linux  
-b ubuntu-foundation  
-n ubuntu-base-ami  
baseami/build/distributions/baseami_1.0.0_all.deb 
11/17/14 @SonOfGarr 23
DEPLOYMENTS 
11/17/14 @SonOfGarr 24
AWS “applications” 
11/17/14 @SonOfGarr 25
AWS “applications” 
11/17/14 @SonOfGarr 26
asgard 
• Netflix AWS console 
• Provides “app” 
abstraction 
• Hides AWS keys 
• NetflixOSS 
https://github.com/Netflix/asgard 
11/17/14 @SonOfGarr 27
red/black deployments 
11/17/14 @SonOfGarr 28
red/black deployments 
11/17/14 @SonOfGarr 29
red/black deployments 
11/17/14 @SonOfGarr 30
canary releases 
11/17/14 @SonOfGarr 31
inventing clusters 
11/17/14 @SonOfGarr 32
without asgard 
aws ec2 create-security-group --group-name asgard-sg 
aws ec2 authorize-security-group-ingress --group-id sg-123456 --protocol tcp --port 22  
--cidr 0.0.0.0/0 
aws elb create-load-balancer --load-balancer-name asgard-lb  
–listeners Protocol=string,LoadBalancerPort=80,InstanceProtocol=http,InstancePort=7001 
aws autoscaling create-launch-configuration --launch-configuration-name asgard-lc  
--image-id ami-XXX --key-name zerotocloud --security-groups asgard-sg  
--instance-type m3.medium --iam-instance-profile jumphost 
aws autoscaling create-auto-scaling-group --auto-scaling-group-name asgard-v000  
--launch-configuration-name asgard-lc  
--min-size 1 --max-size 1 --desired-capacity 1  
--availability-zones us-west-2b  
--load-balancer-names asgard-lb  
--tags ResourceId=string,ResourceType=string,Key=string,Value=string,PropagateAtLaunch=boolean 
11/17/14 @SonOfGarr 33
CLOUD INFRASTRUCTURE 
11/17/14 @SonOfGarr 34
service discovery? 
• ephemeral nature of the cloud 
– instances come and go 
– ASG’s come and go 
• need to register/de-register a server 
• load balance middle-tier services w/o public 
exposure 
11/17/14 @SonOfGarr 35
eureka 
• REST-based server 
• Java-based client 
https://github.com/Netflix/eureka 
11/17/14 @SonOfGarr 36
eureka 
11/17/14 @SonOfGarr 37
state of the cloud? 
• your cloud is dynamic: 
– new instances 
– IP address reuse 
– new firewalls 
• I want to track changes over time 
– not provided by AWS 
11/17/14 @SonOfGarr 38
edda 
• polls AWS resources 
• quick search via REST API 
• changes over time 
• architecture: 
– Scala 
– MongoDB backend 
11/17/14 @SonOfGarr 39
cloud persistence 
• a variety of NoSQL persistence needs 
• utilize open source 
• Problems: 
– not cloud native 
– poor operational features 
http://techblog.netflix.com/2011/01/nosql-at-netflix.html 
11/17/14 @SonOfGarr 40
sidecar 
11/17/14 @SonOfGarr 41
priam 
Cassandra instance sidecar 
– backup and recovery 
– token management 
– Seed discovery 
– Configuration 
– Support AWS environment 
https://github.com/Netflix/priam 
11/17/14 @SonOfGarr 42
raigad 
ElasticSearch instance sidecar 
– backup and restore 
– configured deployments 
– tribe node deployments 
– publish metrics 
– support AWS environment 
https://github.com/Netflix/raigad 
11/17/14 @SonOfGarr 43
exhibitor 
ZooKeeper instance sidecar 
– Performs periodic backups 
– Perform periodic cleaning of 
ZK log directory 
– A GUI explorer for viewing 
ZK nodes 
– A rich REST API 
11/17/14 @SonOfGarr 44
SERVICE ARCHITECTURE 
11/17/14 @SonOfGarr 45
Java microservices 
11/17/14 @SonOfGarr 46
ribbon 
• cloud IPC library 
– pluggable load balancing 
rules 
– eureka integration 
– archauis integration 
– cloud enabled 
https://github.com/Netflix/ribbon 
11/17/14 @SonOfGarr 47
11/17/14 @SonOfGarr 48
hystrix 
• Latency & fault tolerance 
for distributed systems 
– circuit breaker pattern 
– realtime operations 
https://github.com/Netflix/Hystrix 
11/17/14 @SonOfGarr 49
11/17/14 @SonOfGarr 50
hystrix dashboard 
https://github.com/Netflix/Hystrix/wiki/Dashboard 
11/17/14 @SonOfGarr 51
archaius 
• Java library for dynamic 
runtime properties 
https://github.com/Netflix/archaius 
11/17/14 @SonOfGarr 52
evcache 
• distributed in-memory caching 
– based on memchached & 
spymemcached 
• EVCache: 
– Elastic 
– Volatile 
– Cache 
https://github.com/Netflix/EVCache 
11/17/14 @SonOfGarr 53
servo 
• expose applications 
metrics 
– gauges 
– counters 
– timers 
https://github.com/Netflix/servo 
11/17/14 @SonOfGarr 54
astayanax 
• Java Cassandra client 
• fluent API 
• cloud native 
https://github.com/Netflix/astyanax 
11/17/14 @SonOfGarr 55
governator 
• Google Guice extensions 
– classpath scanning 
– lifecycle management 
– field validation 
– lazy singleton 
https://github.com/netflix/Governator 
11/17/14 @SonOfGarr 56
karyon 
• nucleus of Netflix 
platform 
– governator bootstrap 
– admin console 
– health checks 
– discovery 
https://github.com/Netflix/karyon 
11/17/14 @SonOfGarr 57
prana 
Generic sidecar w/ HTTP 
access to Java clients for: 
– Eureka 
– Ribbon 
– Archauis 
– health checks 
11/17/14 @SonOfGarr 58
CHAOS 
11/17/14 @SonOfGarr 59
chaos monkey 
11/17/14 @SonOfGarr 60
simian army 
• chaos monkey 
• janitor monkey 
• compliance monkey 
• security monkey 
https://github.com/Netflix/SimianArmy 
11/17/14 @SonOfGarr 61
http://nflx.it/1v4H7yi 
11/17/14 @SonOfGarr 62
11/17/14 @SonOfGarr 63
We are Hiring! 
Senior Cloud Tools Engineer 
http://nflx.it/140BnJN 
Senior Tooling Integration Engineer 
Mike McGarr 
mmcgarr@netflix.com 
@SonOfGarr 
http://www.mikemcgarr.com 
http://nflx.it/1xyhkeD 
11/17/14 @SonOfGarr 64

More Related Content

What's hot

TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source ToolsTYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source ToolsMichael Lihs
 
GitHub Actions with Node.js
GitHub Actions with Node.jsGitHub Actions with Node.js
GitHub Actions with Node.jsStefan Stölzle
 
Container based CI/CD on GitHub Actions
Container based CI/CD on GitHub ActionsContainer based CI/CD on GitHub Actions
Container based CI/CD on GitHub ActionsCasey Lee
 
Teaching a Designer to Use GitHub
Teaching a Designer to Use GitHubTeaching a Designer to Use GitHub
Teaching a Designer to Use GitHubLiam Dempsey
 
GitHub Actions demo with mabl
GitHub Actions demo with mablGitHub Actions demo with mabl
GitHub Actions demo with mablBertold Kolics
 
Codecoon - A technical Case Study
Codecoon - A technical Case StudyCodecoon - A technical Case Study
Codecoon - A technical Case StudyMichael Lihs
 
vBrownBag DevOps Series: Puppetinabox
vBrownBag DevOps Series: PuppetinaboxvBrownBag DevOps Series: Puppetinabox
vBrownBag DevOps Series: PuppetinaboxRobert Nelson
 
Continuous delivery with open source tools
Continuous delivery with open source toolsContinuous delivery with open source tools
Continuous delivery with open source toolsSebastian Helzle
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub ActionsKnoldus Inc.
 
GitHub Actions in action
GitHub Actions in actionGitHub Actions in action
GitHub Actions in actionOleksii Holub
 
Git basics, Team Workflows (Ciro Miranda)
Git basics, Team Workflows (Ciro Miranda)Git basics, Team Workflows (Ciro Miranda)
Git basics, Team Workflows (Ciro Miranda)Ciro Miranda
 
Using GitHub Actions to Deploy your Workloads to Azure
Using GitHub Actions to Deploy your Workloads to AzureUsing GitHub Actions to Deploy your Workloads to Azure
Using GitHub Actions to Deploy your Workloads to AzureKasun Kodagoda
 
Vagrant for Effective DevOps Culture
Vagrant for Effective DevOps CultureVagrant for Effective DevOps Culture
Vagrant for Effective DevOps CultureVaidik Kapoor
 
Using Docker for Testing
Using Docker for TestingUsing Docker for Testing
Using Docker for TestingMukta Aphale
 

What's hot (20)

TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source ToolsTYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
 
Github in Action
Github in ActionGithub in Action
Github in Action
 
GitHub Actions with Node.js
GitHub Actions with Node.jsGitHub Actions with Node.js
GitHub Actions with Node.js
 
Container based CI/CD on GitHub Actions
Container based CI/CD on GitHub ActionsContainer based CI/CD on GitHub Actions
Container based CI/CD on GitHub Actions
 
Teaching a Designer to Use GitHub
Teaching a Designer to Use GitHubTeaching a Designer to Use GitHub
Teaching a Designer to Use GitHub
 
GitHub Actions demo with mabl
GitHub Actions demo with mablGitHub Actions demo with mabl
GitHub Actions demo with mabl
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Codecoon - A technical Case Study
Codecoon - A technical Case StudyCodecoon - A technical Case Study
Codecoon - A technical Case Study
 
vBrownBag DevOps Series: Puppetinabox
vBrownBag DevOps Series: PuppetinaboxvBrownBag DevOps Series: Puppetinabox
vBrownBag DevOps Series: Puppetinabox
 
CI/CD with GitHub Actions
CI/CD with GitHub ActionsCI/CD with GitHub Actions
CI/CD with GitHub Actions
 
Continuous delivery with open source tools
Continuous delivery with open source toolsContinuous delivery with open source tools
Continuous delivery with open source tools
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 
GitHub Actions in action
GitHub Actions in actionGitHub Actions in action
GitHub Actions in action
 
Git basics, Team Workflows (Ciro Miranda)
Git basics, Team Workflows (Ciro Miranda)Git basics, Team Workflows (Ciro Miranda)
Git basics, Team Workflows (Ciro Miranda)
 
ChatOps in Action
ChatOps in ActionChatOps in Action
ChatOps in Action
 
Using GitHub Actions to Deploy your Workloads to Azure
Using GitHub Actions to Deploy your Workloads to AzureUsing GitHub Actions to Deploy your Workloads to Azure
Using GitHub Actions to Deploy your Workloads to Azure
 
ConcourseCi Dockerimage
ConcourseCi DockerimageConcourseCi Dockerimage
ConcourseCi Dockerimage
 
Vagrant for Effective DevOps Culture
Vagrant for Effective DevOps CultureVagrant for Effective DevOps Culture
Vagrant for Effective DevOps Culture
 
Using Docker for Testing
Using Docker for TestingUsing Docker for Testing
Using Docker for Testing
 
CI is dead, long live CI
CI is dead, long live CICI is dead, long live CI
CI is dead, long live CI
 

Viewers also liked

Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)Mike McGarr
 
Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)Mike McGarr
 
Shepherding change: leading your DevOps transformation
Shepherding change: leading your DevOps transformationShepherding change: leading your DevOps transformation
Shepherding change: leading your DevOps transformationMike McGarr
 
Engineering Tools at Netflix: Enabling Continuous Delivery
Engineering Tools at Netflix: Enabling Continuous DeliveryEngineering Tools at Netflix: Enabling Continuous Delivery
Engineering Tools at Netflix: Enabling Continuous DeliveryMike McGarr
 
Zero To Cloud (OSCon 2014)
Zero To Cloud (OSCon 2014)Zero To Cloud (OSCon 2014)
Zero To Cloud (OSCon 2014)Justin Ryan
 
NFV: Infrastructure as Code
NFV: Infrastructure as CodeNFV: Infrastructure as Code
NFV: Infrastructure as CodeBrockResearch
 
E marketer whats_a_brand_site_for_engaging_consumers_across_multiple_channels
E marketer whats_a_brand_site_for_engaging_consumers_across_multiple_channelsE marketer whats_a_brand_site_for_engaging_consumers_across_multiple_channels
E marketer whats_a_brand_site_for_engaging_consumers_across_multiple_channelsAdCMO
 
Hybrid Development Workshop Presentation (San Francisco)
Hybrid Development Workshop Presentation (San Francisco)Hybrid Development Workshop Presentation (San Francisco)
Hybrid Development Workshop Presentation (San Francisco)Brian Dawson
 
얼리 버드 알람 사용법
얼리 버드 알람 사용법얼리 버드 알람 사용법
얼리 버드 알람 사용법FUNANDUSEFUL
 
Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)Mike McGarr
 
The wanted then and now
The wanted then and nowThe wanted then and now
The wanted then and nowYvonne
 
第11回
第11回第11回
第11回rbgri
 
Software architecture3
Software architecture3Software architecture3
Software architecture3Ahmad Zee
 
Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)Mike McGarr
 
Software architecture First Lecture
Software architecture First LectureSoftware architecture First Lecture
Software architecture First LectureAhmad Zee
 
Theancient mayaarefamousfortheirknowledgeofthestars.docx
Theancient mayaarefamousfortheirknowledgeofthestars.docxTheancient mayaarefamousfortheirknowledgeofthestars.docx
Theancient mayaarefamousfortheirknowledgeofthestars.docxJuan Mayne
 

Viewers also liked (20)

Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)
 
Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)
 
Shepherding change: leading your DevOps transformation
Shepherding change: leading your DevOps transformationShepherding change: leading your DevOps transformation
Shepherding change: leading your DevOps transformation
 
Engineering Tools at Netflix: Enabling Continuous Delivery
Engineering Tools at Netflix: Enabling Continuous DeliveryEngineering Tools at Netflix: Enabling Continuous Delivery
Engineering Tools at Netflix: Enabling Continuous Delivery
 
Zero To Cloud (OSCon 2014)
Zero To Cloud (OSCon 2014)Zero To Cloud (OSCon 2014)
Zero To Cloud (OSCon 2014)
 
NFV: Infrastructure as Code
NFV: Infrastructure as CodeNFV: Infrastructure as Code
NFV: Infrastructure as Code
 
E marketer whats_a_brand_site_for_engaging_consumers_across_multiple_channels
E marketer whats_a_brand_site_for_engaging_consumers_across_multiple_channelsE marketer whats_a_brand_site_for_engaging_consumers_across_multiple_channels
E marketer whats_a_brand_site_for_engaging_consumers_across_multiple_channels
 
Hybrid Development Workshop Presentation (San Francisco)
Hybrid Development Workshop Presentation (San Francisco)Hybrid Development Workshop Presentation (San Francisco)
Hybrid Development Workshop Presentation (San Francisco)
 
Infraestrutura como código
Infraestrutura como códigoInfraestrutura como código
Infraestrutura como código
 
얼리 버드 알람 사용법
얼리 버드 알람 사용법얼리 버드 알람 사용법
얼리 버드 알람 사용법
 
Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)
 
The wanted then and now
The wanted then and nowThe wanted then and now
The wanted then and now
 
第11回
第11回第11回
第11回
 
Pip
PipPip
Pip
 
Software architecture3
Software architecture3Software architecture3
Software architecture3
 
Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)
 
עמית.ג
עמית.געמית.ג
עמית.ג
 
Transporte 1
Transporte 1Transporte 1
Transporte 1
 
Software architecture First Lecture
Software architecture First LectureSoftware architecture First Lecture
Software architecture First Lecture
 
Theancient mayaarefamousfortheirknowledgeofthestars.docx
Theancient mayaarefamousfortheirknowledgeofthestars.docxTheancient mayaarefamousfortheirknowledgeofthestars.docx
Theancient mayaarefamousfortheirknowledgeofthestars.docx
 

Similar to Zero to the Cloud with @NetflixOSS

AFNetworking
AFNetworking AFNetworking
AFNetworking joaopmaia
 
Scaling Your App With Docker Swarm using Terraform, Packer on Openstack
Scaling Your App With Docker Swarm using Terraform, Packer on OpenstackScaling Your App With Docker Swarm using Terraform, Packer on Openstack
Scaling Your App With Docker Swarm using Terraform, Packer on OpenstackBobby DeVeaux, DevOps Consultant
 
How Ansible Makes Automation Easy
How Ansible Makes Automation EasyHow Ansible Makes Automation Easy
How Ansible Makes Automation EasyPeter Sankauskas
 
2014 11-05 hpcac-kniep_christian_dockermpi
2014 11-05 hpcac-kniep_christian_dockermpi2014 11-05 hpcac-kniep_christian_dockermpi
2014 11-05 hpcac-kniep_christian_dockermpiQNIB Solutions
 
DevOpsDays 2018 - Migrating a Cloud Native App to k8s
DevOpsDays 2018 - Migrating a Cloud Native App to k8sDevOpsDays 2018 - Migrating a Cloud Native App to k8s
DevOpsDays 2018 - Migrating a Cloud Native App to k8sGökhan Şengün
 
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems Integration
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems IntegrationJenkins Pipeline @ Scale. Building Automation Frameworks for Systems Integration
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems IntegrationOleg Nenashev
 
OpenNebulaConf2017EU: IPP Cloud by Jimmy Goffaux, IPPON
OpenNebulaConf2017EU: IPP Cloud by Jimmy Goffaux, IPPONOpenNebulaConf2017EU: IPP Cloud by Jimmy Goffaux, IPPON
OpenNebulaConf2017EU: IPP Cloud by Jimmy Goffaux, IPPONOpenNebula Project
 
Kinect Workshop Part 1/2
Kinect Workshop Part 1/2Kinect Workshop Part 1/2
Kinect Workshop Part 1/2Seiya Konno
 
eSynergy Andy Hawkins - Enabling DevOps through next generation configuration...
eSynergy Andy Hawkins - Enabling DevOps through next generation configuration...eSynergy Andy Hawkins - Enabling DevOps through next generation configuration...
eSynergy Andy Hawkins - Enabling DevOps through next generation configuration...PatrickCrompton
 
Multi-tenant Flink as-a-service with Kafka on Hopsworks
Multi-tenant Flink as-a-service with Kafka on HopsworksMulti-tenant Flink as-a-service with Kafka on Hopsworks
Multi-tenant Flink as-a-service with Kafka on HopsworksJim Dowling
 
Jim Dowling - Multi-tenant Flink-as-a-Service on YARN
Jim Dowling - Multi-tenant Flink-as-a-Service on YARN Jim Dowling - Multi-tenant Flink-as-a-Service on YARN
Jim Dowling - Multi-tenant Flink-as-a-Service on YARN Flink Forward
 
ASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & dockerASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & dockerJürgen Gutsch
 
Google App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGoogle App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGuillaume Laforge
 
Devoxx 2017 "Continuous Delivery with Containers: The Good, the Bad, and the ...
Devoxx 2017 "Continuous Delivery with Containers: The Good, the Bad, and the ...Devoxx 2017 "Continuous Delivery with Containers: The Good, the Bad, and the ...
Devoxx 2017 "Continuous Delivery with Containers: The Good, the Bad, and the ...Daniel Bryant
 
Australian OpenStack User Group August 2012: Chef for OpenStack
Australian OpenStack User Group August 2012: Chef for OpenStackAustralian OpenStack User Group August 2012: Chef for OpenStack
Australian OpenStack User Group August 2012: Chef for OpenStackMatt Ray
 
Shipping NodeJS with Docker and CoreOS (No Notes)
Shipping NodeJS with Docker and CoreOS (No Notes)Shipping NodeJS with Docker and CoreOS (No Notes)
Shipping NodeJS with Docker and CoreOS (No Notes)Ross Kukulinski
 
The Twelve Factor App - Pivotal Tracker
The Twelve Factor App - Pivotal TrackerThe Twelve Factor App - Pivotal Tracker
The Twelve Factor App - Pivotal Trackerlauriepino
 
Dockercon EU 2014
Dockercon EU 2014Dockercon EU 2014
Dockercon EU 2014Rafe Colton
 

Similar to Zero to the Cloud with @NetflixOSS (20)

AFNetworking
AFNetworking AFNetworking
AFNetworking
 
Scaling Your App With Docker Swarm using Terraform, Packer on Openstack
Scaling Your App With Docker Swarm using Terraform, Packer on OpenstackScaling Your App With Docker Swarm using Terraform, Packer on Openstack
Scaling Your App With Docker Swarm using Terraform, Packer on Openstack
 
How Ansible Makes Automation Easy
How Ansible Makes Automation EasyHow Ansible Makes Automation Easy
How Ansible Makes Automation Easy
 
2014 11-05 hpcac-kniep_christian_dockermpi
2014 11-05 hpcac-kniep_christian_dockermpi2014 11-05 hpcac-kniep_christian_dockermpi
2014 11-05 hpcac-kniep_christian_dockermpi
 
DevOpsDays 2018 - Migrating a Cloud Native App to k8s
DevOpsDays 2018 - Migrating a Cloud Native App to k8sDevOpsDays 2018 - Migrating a Cloud Native App to k8s
DevOpsDays 2018 - Migrating a Cloud Native App to k8s
 
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems Integration
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems IntegrationJenkins Pipeline @ Scale. Building Automation Frameworks for Systems Integration
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems Integration
 
OpenNebulaConf2017EU: IPP Cloud by Jimmy Goffaux, IPPON
OpenNebulaConf2017EU: IPP Cloud by Jimmy Goffaux, IPPONOpenNebulaConf2017EU: IPP Cloud by Jimmy Goffaux, IPPON
OpenNebulaConf2017EU: IPP Cloud by Jimmy Goffaux, IPPON
 
Kinect Workshop Part 1/2
Kinect Workshop Part 1/2Kinect Workshop Part 1/2
Kinect Workshop Part 1/2
 
eSynergy Andy Hawkins - Enabling DevOps through next generation configuration...
eSynergy Andy Hawkins - Enabling DevOps through next generation configuration...eSynergy Andy Hawkins - Enabling DevOps through next generation configuration...
eSynergy Andy Hawkins - Enabling DevOps through next generation configuration...
 
Docker Kubernetes Istio
Docker Kubernetes IstioDocker Kubernetes Istio
Docker Kubernetes Istio
 
Multi-tenant Flink as-a-service with Kafka on Hopsworks
Multi-tenant Flink as-a-service with Kafka on HopsworksMulti-tenant Flink as-a-service with Kafka on Hopsworks
Multi-tenant Flink as-a-service with Kafka on Hopsworks
 
Jim Dowling - Multi-tenant Flink-as-a-Service on YARN
Jim Dowling - Multi-tenant Flink-as-a-Service on YARN Jim Dowling - Multi-tenant Flink-as-a-Service on YARN
Jim Dowling - Multi-tenant Flink-as-a-Service on YARN
 
ASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & dockerASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & docker
 
Google App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGoogle App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and Gaelyk
 
Short-Training asp.net vNext
Short-Training asp.net vNextShort-Training asp.net vNext
Short-Training asp.net vNext
 
Devoxx 2017 "Continuous Delivery with Containers: The Good, the Bad, and the ...
Devoxx 2017 "Continuous Delivery with Containers: The Good, the Bad, and the ...Devoxx 2017 "Continuous Delivery with Containers: The Good, the Bad, and the ...
Devoxx 2017 "Continuous Delivery with Containers: The Good, the Bad, and the ...
 
Australian OpenStack User Group August 2012: Chef for OpenStack
Australian OpenStack User Group August 2012: Chef for OpenStackAustralian OpenStack User Group August 2012: Chef for OpenStack
Australian OpenStack User Group August 2012: Chef for OpenStack
 
Shipping NodeJS with Docker and CoreOS (No Notes)
Shipping NodeJS with Docker and CoreOS (No Notes)Shipping NodeJS with Docker and CoreOS (No Notes)
Shipping NodeJS with Docker and CoreOS (No Notes)
 
The Twelve Factor App - Pivotal Tracker
The Twelve Factor App - Pivotal TrackerThe Twelve Factor App - Pivotal Tracker
The Twelve Factor App - Pivotal Tracker
 
Dockercon EU 2014
Dockercon EU 2014Dockercon EU 2014
Dockercon EU 2014
 

More from Mike McGarr

Better DevEx at Netflix (QCon NY 2018)
Better DevEx at Netflix (QCon NY 2018)Better DevEx at Netflix (QCon NY 2018)
Better DevEx at Netflix (QCon NY 2018)Mike McGarr
 
Productivity Engineering: Surviving DevOps
Productivity Engineering: Surviving DevOpsProductivity Engineering: Surviving DevOps
Productivity Engineering: Surviving DevOpsMike McGarr
 
Engineering change: leading a transformation
Engineering change: leading a transformationEngineering change: leading a transformation
Engineering change: leading a transformationMike McGarr
 
Dependencies, distributed code and engineering velocity
Dependencies, distributed code and engineering velocityDependencies, distributed code and engineering velocity
Dependencies, distributed code and engineering velocityMike McGarr
 
Continuous Delivery at Netflix, and beyond
Continuous Delivery at Netflix, and beyondContinuous Delivery at Netflix, and beyond
Continuous Delivery at Netflix, and beyondMike McGarr
 
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)Mike McGarr
 
Beyond the Culture Deck: What you don't already know about Netflix
Beyond the Culture Deck: What you don't already know about NetflixBeyond the Culture Deck: What you don't already know about Netflix
Beyond the Culture Deck: What you don't already know about NetflixMike McGarr
 
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)Mike McGarr
 
Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Mike McGarr
 
Continuous delivery applied
Continuous delivery appliedContinuous delivery applied
Continuous delivery appliedMike McGarr
 
Continuous delivery - tools and techniques
Continuous delivery - tools and techniquesContinuous delivery - tools and techniques
Continuous delivery - tools and techniquesMike McGarr
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous DeliveryMike McGarr
 

More from Mike McGarr (12)

Better DevEx at Netflix (QCon NY 2018)
Better DevEx at Netflix (QCon NY 2018)Better DevEx at Netflix (QCon NY 2018)
Better DevEx at Netflix (QCon NY 2018)
 
Productivity Engineering: Surviving DevOps
Productivity Engineering: Surviving DevOpsProductivity Engineering: Surviving DevOps
Productivity Engineering: Surviving DevOps
 
Engineering change: leading a transformation
Engineering change: leading a transformationEngineering change: leading a transformation
Engineering change: leading a transformation
 
Dependencies, distributed code and engineering velocity
Dependencies, distributed code and engineering velocityDependencies, distributed code and engineering velocity
Dependencies, distributed code and engineering velocity
 
Continuous Delivery at Netflix, and beyond
Continuous Delivery at Netflix, and beyondContinuous Delivery at Netflix, and beyond
Continuous Delivery at Netflix, and beyond
 
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)
 
Beyond the Culture Deck: What you don't already know about Netflix
Beyond the Culture Deck: What you don't already know about NetflixBeyond the Culture Deck: What you don't already know about Netflix
Beyond the Culture Deck: What you don't already know about Netflix
 
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
 
Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)
 
Continuous delivery applied
Continuous delivery appliedContinuous delivery applied
Continuous delivery applied
 
Continuous delivery - tools and techniques
Continuous delivery - tools and techniquesContinuous delivery - tools and techniques
Continuous delivery - tools and techniques
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 

Recently uploaded

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Recently uploaded (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Zero to the Cloud with @NetflixOSS

  • 1. Zero to the Cloud with @NetflixOSS Mike McGarr mmcgarr@netflix.com @SonOfGarr http://www.MikeMcGarr.com
  • 2. about me • J. Michael (Mike) McGarr • Engineering Manager, Netflix Build Tools • Founder, DC Continuous Delivery Meetup • Former Director of DevOps, Blackboard • Excella Consulting • Booz Allen Hamilton 11/17/14 @SonOfGarr 2
  • 5. @NetflixOSS 11/17/14 @SonOfGarr http://netflix.github.io 5
  • 7. The Netflix Way Everything is “built for three” Fully automated build tools to test and make packages Fully automated machine image bakery 11/17/14 @SonOfGarr 7
  • 8. The Netflix Way Fully automated image deployment Service teams responsible for both “Dev” and “Ops” Redundancy through multi-region deployment 11/17/14 @SonOfGarr 8
  • 9. cloud native 11/17/14 @SonOfGarr 9
  • 12. Zero to the Cloud • Stand-up your own NetflixOSS cloud • Aminator • BaseAMI • Asgard • Edda • Eureka http://nflx.it/zerotocloud 11/17/14 @SonOfGarr 12
  • 13. foundations • account setup • user, roles, security groups • jumphost • foundation AMI 11/17/14 @SonOfGarr 13
  • 15. immutable servers • new os image per code change • never change running instances • avoid configuration drift http://martinfowler.com/bliki/ImmutableServer.html 11/17/14 @SonOfGarr 15
  • 16. Nebula • Netflix Build Language • Gradle plugins http://github.com/nebula-plugins 11/17/14 @SonOfGarr 16
  • 17. Nebula Plugins • gradle-ospackage-plugin • gradle-dependency-lock-plugin • gradle-extra-configurations-plugin • gradle-blacklist-plugin • gradle-override-plugin • gradle-stash-plugin • gradle-scm-plugin • gradle-contacts-plugin • gradle-info-plugin • nebula-ospackage-plugin • nebula-test • nebula-project-plugin • nebula-release-plugin • nebula-bintray-plugin • nebula-publishing-plugin • nebula-metrics-plugin 11/17/14 @SonOfGarr 17
  • 18. gradle-ospackage-plugin • produce rpm or debian packages from Gradle build • can be used for non-java apps 11/17/14 @SonOfGarr 18
  • 20. Baking • app. code installed as OS package • unit of deployment = AMI 11/17/14 @SonOfGarr 20
  • 22. Aminator • python library used to “bake” EBS AMI’s • must bake per region • works with system packages, Chef, Puppet, Ansible, etc 11/17/14 @SonOfGarr 22
  • 23. sudo aminate -e ec2_aptitude_linux -b ubuntu-foundation -n ubuntu-base-ami baseami/build/distributions/baseami_1.0.0_all.deb 11/17/14 @SonOfGarr 23
  • 27. asgard • Netflix AWS console • Provides “app” abstraction • Hides AWS keys • NetflixOSS https://github.com/Netflix/asgard 11/17/14 @SonOfGarr 27
  • 31. canary releases 11/17/14 @SonOfGarr 31
  • 33. without asgard aws ec2 create-security-group --group-name asgard-sg aws ec2 authorize-security-group-ingress --group-id sg-123456 --protocol tcp --port 22 --cidr 0.0.0.0/0 aws elb create-load-balancer --load-balancer-name asgard-lb –listeners Protocol=string,LoadBalancerPort=80,InstanceProtocol=http,InstancePort=7001 aws autoscaling create-launch-configuration --launch-configuration-name asgard-lc --image-id ami-XXX --key-name zerotocloud --security-groups asgard-sg --instance-type m3.medium --iam-instance-profile jumphost aws autoscaling create-auto-scaling-group --auto-scaling-group-name asgard-v000 --launch-configuration-name asgard-lc --min-size 1 --max-size 1 --desired-capacity 1 --availability-zones us-west-2b --load-balancer-names asgard-lb --tags ResourceId=string,ResourceType=string,Key=string,Value=string,PropagateAtLaunch=boolean 11/17/14 @SonOfGarr 33
  • 35. service discovery? • ephemeral nature of the cloud – instances come and go – ASG’s come and go • need to register/de-register a server • load balance middle-tier services w/o public exposure 11/17/14 @SonOfGarr 35
  • 36. eureka • REST-based server • Java-based client https://github.com/Netflix/eureka 11/17/14 @SonOfGarr 36
  • 38. state of the cloud? • your cloud is dynamic: – new instances – IP address reuse – new firewalls • I want to track changes over time – not provided by AWS 11/17/14 @SonOfGarr 38
  • 39. edda • polls AWS resources • quick search via REST API • changes over time • architecture: – Scala – MongoDB backend 11/17/14 @SonOfGarr 39
  • 40. cloud persistence • a variety of NoSQL persistence needs • utilize open source • Problems: – not cloud native – poor operational features http://techblog.netflix.com/2011/01/nosql-at-netflix.html 11/17/14 @SonOfGarr 40
  • 42. priam Cassandra instance sidecar – backup and recovery – token management – Seed discovery – Configuration – Support AWS environment https://github.com/Netflix/priam 11/17/14 @SonOfGarr 42
  • 43. raigad ElasticSearch instance sidecar – backup and restore – configured deployments – tribe node deployments – publish metrics – support AWS environment https://github.com/Netflix/raigad 11/17/14 @SonOfGarr 43
  • 44. exhibitor ZooKeeper instance sidecar – Performs periodic backups – Perform periodic cleaning of ZK log directory – A GUI explorer for viewing ZK nodes – A rich REST API 11/17/14 @SonOfGarr 44
  • 47. ribbon • cloud IPC library – pluggable load balancing rules – eureka integration – archauis integration – cloud enabled https://github.com/Netflix/ribbon 11/17/14 @SonOfGarr 47
  • 49. hystrix • Latency & fault tolerance for distributed systems – circuit breaker pattern – realtime operations https://github.com/Netflix/Hystrix 11/17/14 @SonOfGarr 49
  • 52. archaius • Java library for dynamic runtime properties https://github.com/Netflix/archaius 11/17/14 @SonOfGarr 52
  • 53. evcache • distributed in-memory caching – based on memchached & spymemcached • EVCache: – Elastic – Volatile – Cache https://github.com/Netflix/EVCache 11/17/14 @SonOfGarr 53
  • 54. servo • expose applications metrics – gauges – counters – timers https://github.com/Netflix/servo 11/17/14 @SonOfGarr 54
  • 55. astayanax • Java Cassandra client • fluent API • cloud native https://github.com/Netflix/astyanax 11/17/14 @SonOfGarr 55
  • 56. governator • Google Guice extensions – classpath scanning – lifecycle management – field validation – lazy singleton https://github.com/netflix/Governator 11/17/14 @SonOfGarr 56
  • 57. karyon • nucleus of Netflix platform – governator bootstrap – admin console – health checks – discovery https://github.com/Netflix/karyon 11/17/14 @SonOfGarr 57
  • 58. prana Generic sidecar w/ HTTP access to Java clients for: – Eureka – Ribbon – Archauis – health checks 11/17/14 @SonOfGarr 58
  • 60. chaos monkey 11/17/14 @SonOfGarr 60
  • 61. simian army • chaos monkey • janitor monkey • compliance monkey • security monkey https://github.com/Netflix/SimianArmy 11/17/14 @SonOfGarr 61
  • 64. We are Hiring! Senior Cloud Tools Engineer http://nflx.it/140BnJN Senior Tooling Integration Engineer Mike McGarr mmcgarr@netflix.com @SonOfGarr http://www.mikemcgarr.com http://nflx.it/1xyhkeD 11/17/14 @SonOfGarr 64

Editor's Notes

  1. ----- Meeting Notes (10/9/14 12:28) ----- voice track here
  2. 47 repos
  3. ----- Meeting Notes (11/17/14 13:47) ----- redraw as two separate Amis
  4. -e = environment -b = starting AMI -n = use a named image aminator adds the –ebs to the AMI name
  5. problems: ZK statically configured limited tools to manage the ensemble backup/restore visualization periodic cleanup
  6. Ephemeral - The data stored is for a short duration as specified by its TTL(Time To Live). Volatile - The data can disappear any time (Evicted). Cache – An in-memory key-value store.