SlideShare ist ein Scribd-Unternehmen logo
1 von 13
The DynaSlave Plugin
Brian Moyles - NetïŹ‚ix
   @bmoyles
Hi!
“...and here is your room,
         Jenkins”
At NetïŹ‚ix you are:

QA
Release Engineering
DevOps
On-call, often 24/7
Physically take bits
from DVD with
tweezers, place into
ïŹber optics
The real cloud...
What We Needed

Fixed ïŹ‚eet of slaves for
24/7 instant-build
coverage, scalable to
meet load
Resilient to the
ephemeral nature of
the cloud
As hands-free as
possible. Simple.
Lets bend the Jenkins
                    slave setup a bit...




Slaves register
themselves...
The DynaSlave Plugin
Genpop                         Cassandra
          Slave                           Slave
          ASG                             ASG



                                                          Hey, We’re Here!




 API                                                           NCCP
Slave                                                          Slave
ASG                                                             ASG




                        Jenkins
                        Master
        Sweet! Get to
           work!!
                                               Slaves

                                  Label: cass, Name: ds-cass-d3adb33f
                                  Label: cass, Name: ds-cass-b33fb3dd
                                    Label: api, Name: ds-api-f33db33f
                                    Label: api, Name: ds-api-f331b33f
                                   Label: genpop, Name: ds-abbadaba
Old server running a              Four toasters that
          bunch of Windows                can run JVMs, curl a
         VMs under Virtualbox              URL, and talk SSH




                                                         Hey, We’re Here!




                                                              A
Mars Rover                                                 Raspberry
                                                              Pi




                                Jenkins
                                Master
             Sweet! Get to
                work!!
The DynaSlave...Freed
github.com/netïŹ‚ix-skunkworks/dynaslave-plugin
Further Reading
http://jobs.netïŹ‚ix.com/
http://netïŹ‚ix.github.com/
http://techblog.netïŹ‚ix.com/
http://www.slideshare.net/netïŹ‚ix
https://github.com/netïŹ‚ix-skunkworks/dynaslave-plugin/
  @netïŹ‚ixoss - NetïŹ‚ix OSS
  @bmoyles - Brian Moyles
  @garethbowles - Gareth Bowles
Thank You To Our Sponsors

Weitere Àhnliche Inhalte

Was ist angesagt?

The HaLVM: A Simple Platform for Simple Platforms
The HaLVM: A Simple Platform for Simple PlatformsThe HaLVM: A Simple Platform for Simple Platforms
The HaLVM: A Simple Platform for Simple Platforms
The Linux Foundation
 
Virtual Meetup Docker + Arm: Building Multi-arch Apps with Buildx
Virtual Meetup Docker + Arm: Building Multi-arch Apps with BuildxVirtual Meetup Docker + Arm: Building Multi-arch Apps with Buildx
Virtual Meetup Docker + Arm: Building Multi-arch Apps with Buildx
Docker, Inc.
 
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
Carlos Sanchez
 
SF DevOps: Introducing Vagrant
SF DevOps: Introducing VagrantSF DevOps: Introducing Vagrant
SF DevOps: Introducing Vagrant
Mitchell Hashimoto
 

Was ist angesagt? (20)

From Monolith to Docker Distributed Applications. JavaOne
From Monolith to Docker Distributed Applications. JavaOneFrom Monolith to Docker Distributed Applications. JavaOne
From Monolith to Docker Distributed Applications. JavaOne
 
(APP303) Lightning Fast Deploys with Docker Containers and AWS | AWS re:Inven...
(APP303) Lightning Fast Deploys with Docker Containers and AWS | AWS re:Inven...(APP303) Lightning Fast Deploys with Docker Containers and AWS | AWS re:Inven...
(APP303) Lightning Fast Deploys with Docker Containers and AWS | AWS re:Inven...
 
Testing Distributed Micro Services. Agile Testing Days 2017
Testing Distributed Micro Services. Agile Testing Days 2017Testing Distributed Micro Services. Agile Testing Days 2017
Testing Distributed Micro Services. Agile Testing Days 2017
 
The HaLVM: A Simple Platform for Simple Platforms
The HaLVM: A Simple Platform for Simple PlatformsThe HaLVM: A Simple Platform for Simple Platforms
The HaLVM: A Simple Platform for Simple Platforms
 
Docker Swarm scheduling in 1.12
Docker Swarm scheduling in 1.12Docker Swarm scheduling in 1.12
Docker Swarm scheduling in 1.12
 
Virtual Meetup Docker + Arm: Building Multi-arch Apps with Buildx
Virtual Meetup Docker + Arm: Building Multi-arch Apps with BuildxVirtual Meetup Docker + Arm: Building Multi-arch Apps with Buildx
Virtual Meetup Docker + Arm: Building Multi-arch Apps with Buildx
 
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea LuzzardiWhat's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
 
Cassandra and docker
Cassandra and dockerCassandra and docker
Cassandra and docker
 
Containers and docker
Containers and dockerContainers and docker
Containers and docker
 
Rapid Development With Docker Compose
Rapid Development With Docker ComposeRapid Development With Docker Compose
Rapid Development With Docker Compose
 
From Monolith to Docker Distributed Applications
From Monolith to Docker Distributed ApplicationsFrom Monolith to Docker Distributed Applications
From Monolith to Docker Distributed Applications
 
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
Using Containers for Building and Testing: Docker, Kubernetes and Mesos. FOSD...
 
SF DevOps: Introducing Vagrant
SF DevOps: Introducing VagrantSF DevOps: Introducing Vagrant
SF DevOps: Introducing Vagrant
 
Unikernels: the rise of the library hypervisor in MirageOS
Unikernels: the rise of the library hypervisor in MirageOSUnikernels: the rise of the library hypervisor in MirageOS
Unikernels: the rise of the library hypervisor in MirageOS
 
Docker toolbox
Docker toolboxDocker toolbox
Docker toolbox
 
Docker Orchestration at Production Scale
Docker Orchestration at Production Scale Docker Orchestration at Production Scale
Docker Orchestration at Production Scale
 
Orchestrating Docker containers at scale
Orchestrating Docker containers at scaleOrchestrating Docker containers at scale
Orchestrating Docker containers at scale
 
OSv – The OS designed for the Cloud
OSv – The OS designed for the CloudOSv – The OS designed for the Cloud
OSv – The OS designed for the Cloud
 
The Golden Ticket: Docker and High Security Microservices by Aaron Grattafiori
The Golden Ticket: Docker and High Security Microservices by Aaron GrattafioriThe Golden Ticket: Docker and High Security Microservices by Aaron Grattafiori
The Golden Ticket: Docker and High Security Microservices by Aaron Grattafiori
 
Docker: Testing to Production
Docker: Testing to ProductionDocker: Testing to Production
Docker: Testing to Production
 

Andere mochten auch

Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)
Dennys Hsieh
 
Ś—Ś™Ś Ś•Śš Ś•ŚžŚ“Ś™Ś Ś™Ś•ŚȘ ŚĄŚ‘Ś™Ś‘ŚȘŚ™ŚȘ Ś‘Ś™Ś©ŚšŚŚœ JIMS
Ś—Ś™Ś Ś•Śš Ś•ŚžŚ“Ś™Ś Ś™Ś•ŚȘ ŚĄŚ‘Ś™Ś‘ŚȘŚ™ŚȘ Ś‘Ś™Ś©ŚšŚŚœ JIMSŚ—Ś™Ś Ś•Śš Ś•ŚžŚ“Ś™Ś Ś™Ś•ŚȘ ŚĄŚ‘Ś™Ś‘ŚȘŚ™ŚȘ Ś‘Ś™Ś©ŚšŚŚœ JIMS
Ś—Ś™Ś Ś•Śš Ś•ŚžŚ“Ś™Ś Ś™Ś•ŚȘ ŚĄŚ‘Ś™Ś‘ŚȘŚ™ŚȘ Ś‘Ś™Ś©ŚšŚŚœ JIMS
Anochi.com.
 
Ś—Ś’Ś™ Ś’Ś•ŚœŚ“ŚžŚŸ ŚžŚ™Ś” ŚžŚ—Ś©Ś‘Ś™Ś
Ś—Ś’Ś™ Ś’Ś•ŚœŚ“ŚžŚŸ ŚžŚ™Ś” ŚžŚ—Ś©Ś‘Ś™ŚŚ—Ś’Ś™ Ś’Ś•ŚœŚ“ŚžŚŸ ŚžŚ™Ś” ŚžŚ—Ś©Ś‘Ś™Ś
Ś—Ś’Ś™ Ś’Ś•ŚœŚ“ŚžŚŸ ŚžŚ™Ś” ŚžŚ—Ś©Ś‘Ś™Ś
Anochi.com.
 
Ś™Ś•ŚŚœ Ś”Ś›Ś˜ Ś•ŚŚšŚ ŚĄŚ˜ Ś§ŚŠŚ™Śš ŚĄŚ™Ś›Ś•Ś Ś™Ś ŚȘŚ€ŚąŚ•ŚœŚ™Ś™Ś
Ś™Ś•ŚŚœ Ś”Ś›Ś˜ Ś•ŚŚšŚ ŚĄŚ˜ Ś§ŚŠŚ™Śš ŚĄŚ™Ś›Ś•Ś Ś™Ś ŚȘŚ€ŚąŚ•ŚœŚ™Ś™ŚŚ™Ś•ŚŚœ Ś”Ś›Ś˜ Ś•ŚŚšŚ ŚĄŚ˜ Ś§ŚŠŚ™Śš ŚĄŚ™Ś›Ś•Ś Ś™Ś ŚȘŚ€ŚąŚ•ŚœŚ™Ś™Ś
Ś™Ś•ŚŚœ Ś”Ś›Ś˜ Ś•ŚŚšŚ ŚĄŚ˜ Ś§ŚŠŚ™Śš ŚĄŚ™Ś›Ś•Ś Ś™Ś ŚȘŚ€ŚąŚ•ŚœŚ™Ś™Ś
Anochi.com.
 
El mon
El monEl mon
El mon
montboro
 

Andere mochten auch (20)

Seven Habits of Highly Effective Jenkins Users (2014 edition!)
Seven Habits of Highly Effective Jenkins Users (2014 edition!)Seven Habits of Highly Effective Jenkins Users (2014 edition!)
Seven Habits of Highly Effective Jenkins Users (2014 edition!)
 
Culture
CultureCulture
Culture
 
Netflix API - Separation of Concerns
Netflix API - Separation of ConcernsNetflix API - Separation of Concerns
Netflix API - Separation of Concerns
 
Jenkins CI presentation
Jenkins CI presentationJenkins CI presentation
Jenkins CI presentation
 
Using Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT ChallengesUsing Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT Challenges
 
Jenkins Docker
Jenkins DockerJenkins Docker
Jenkins Docker
 
IBM DevOps Workshops at IBM InterConnect 2017
IBM DevOps Workshops at IBM InterConnect 2017IBM DevOps Workshops at IBM InterConnect 2017
IBM DevOps Workshops at IBM InterConnect 2017
 
Using Docker for Testing
Using Docker for TestingUsing Docker for Testing
Using Docker for Testing
 
Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)
 
Zoranje School
Zoranje SchoolZoranje School
Zoranje School
 
ŚŚ€ŚšŚ™Ś Ś§Ś™Ś©Ś•ŚŸ ŚžŚ©ŚšŚ“ Ś”Ś—Ś™Ś Ś•Śš
ŚŚ€ŚšŚ™Ś Ś§Ś™Ś©Ś•ŚŸ ŚžŚ©ŚšŚ“ Ś”Ś—Ś™Ś Ś•ŚšŚŚ€ŚšŚ™Ś Ś§Ś™Ś©Ś•ŚŸ ŚžŚ©ŚšŚ“ Ś”Ś—Ś™Ś Ś•Śš
ŚŚ€ŚšŚ™Ś Ś§Ś™Ś©Ś•ŚŸ ŚžŚ©ŚšŚ“ Ś”Ś—Ś™Ś Ś•Śš
 
Ś—Ś™Ś Ś•Śš Ś•ŚžŚ“Ś™Ś Ś™Ś•ŚȘ ŚĄŚ‘Ś™Ś‘ŚȘŚ™ŚȘ Ś‘Ś™Ś©ŚšŚŚœ JIMS
Ś—Ś™Ś Ś•Śš Ś•ŚžŚ“Ś™Ś Ś™Ś•ŚȘ ŚĄŚ‘Ś™Ś‘ŚȘŚ™ŚȘ Ś‘Ś™Ś©ŚšŚŚœ JIMSŚ—Ś™Ś Ś•Śš Ś•ŚžŚ“Ś™Ś Ś™Ś•ŚȘ ŚĄŚ‘Ś™Ś‘ŚȘŚ™ŚȘ Ś‘Ś™Ś©ŚšŚŚœ JIMS
Ś—Ś™Ś Ś•Śš Ś•ŚžŚ“Ś™Ś Ś™Ś•ŚȘ ŚĄŚ‘Ś™Ś‘ŚȘŚ™ŚȘ Ś‘Ś™Ś©ŚšŚŚœ JIMS
 
Pcitf iiw10
Pcitf   iiw10Pcitf   iiw10
Pcitf iiw10
 
Participação no projecto Comenius na Turquia
Participação no projecto Comenius na TurquiaParticipação no projecto Comenius na Turquia
Participação no projecto Comenius na Turquia
 
Ś—Ś’Ś™ Ś’Ś•ŚœŚ“ŚžŚŸ ŚžŚ™Ś” ŚžŚ—Ś©Ś‘Ś™Ś
Ś—Ś’Ś™ Ś’Ś•ŚœŚ“ŚžŚŸ ŚžŚ™Ś” ŚžŚ—Ś©Ś‘Ś™ŚŚ—Ś’Ś™ Ś’Ś•ŚœŚ“ŚžŚŸ ŚžŚ™Ś” ŚžŚ—Ś©Ś‘Ś™Ś
Ś—Ś’Ś™ Ś’Ś•ŚœŚ“ŚžŚŸ ŚžŚ™Ś” ŚžŚ—Ś©Ś‘Ś™Ś
 
Ś™Ś•ŚŚœ Ś”Ś›Ś˜ Ś•ŚŚšŚ ŚĄŚ˜ Ś§ŚŠŚ™Śš ŚĄŚ™Ś›Ś•Ś Ś™Ś ŚȘŚ€ŚąŚ•ŚœŚ™Ś™Ś
Ś™Ś•ŚŚœ Ś”Ś›Ś˜ Ś•ŚŚšŚ ŚĄŚ˜ Ś§ŚŠŚ™Śš ŚĄŚ™Ś›Ś•Ś Ś™Ś ŚȘŚ€ŚąŚ•ŚœŚ™Ś™ŚŚ™Ś•ŚŚœ Ś”Ś›Ś˜ Ś•ŚŚšŚ ŚĄŚ˜ Ś§ŚŠŚ™Śš ŚĄŚ™Ś›Ś•Ś Ś™Ś ŚȘŚ€ŚąŚ•ŚœŚ™Ś™Ś
Ś™Ś•ŚŚœ Ś”Ś›Ś˜ Ś•ŚŚšŚ ŚĄŚ˜ Ś§ŚŠŚ™Śš ŚĄŚ™Ś›Ś•Ś Ś™Ś ŚȘŚ€ŚąŚ•ŚœŚ™Ś™Ś
 
Sortida de figueres
Sortida de figueresSortida de figueres
Sortida de figueres
 
El mon
El monEl mon
El mon
 
Yaakov Kirschen MEMES and the viral spread of Ideas
Yaakov Kirschen MEMES and the viral spread of IdeasYaakov Kirschen MEMES and the viral spread of Ideas
Yaakov Kirschen MEMES and the viral spread of Ideas
 
Intro to jQuery
Intro to jQueryIntro to jQuery
Intro to jQuery
 

Ähnlich wie The DynaSlave Plugin

DevOps for Developers
DevOps for DevelopersDevOps for Developers
DevOps for Developers
Mayflower GmbH
 
Capistrano for non-rubyist
Capistrano for non-rubyistCapistrano for non-rubyist
Capistrano for non-rubyist
Dimitris Tsironis
 

Ähnlich wie The DynaSlave Plugin (20)

Boxen: How to Manage an Army of Laptops
Boxen: How to Manage an Army of LaptopsBoxen: How to Manage an Army of Laptops
Boxen: How to Manage an Army of Laptops
 
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019
 
Your Goat Antifragiled My Snowflake!: Demystifying DevOps Jargon - ChefConf 2015
Your Goat Antifragiled My Snowflake!: Demystifying DevOps Jargon - ChefConf 2015Your Goat Antifragiled My Snowflake!: Demystifying DevOps Jargon - ChefConf 2015
Your Goat Antifragiled My Snowflake!: Demystifying DevOps Jargon - ChefConf 2015
 
Dev ops for developers
Dev ops for developersDev ops for developers
Dev ops for developers
 
Capistrano
CapistranoCapistrano
Capistrano
 
DevOps for Developers
DevOps for DevelopersDevOps for Developers
DevOps for Developers
 
PHP in the Cloud
PHP in the CloudPHP in the Cloud
PHP in the Cloud
 
Rocket Fuelled Cucumbers
Rocket Fuelled CucumbersRocket Fuelled Cucumbers
Rocket Fuelled Cucumbers
 
Ransack, an Application Built on Ansible's API for Rackspace -- AnsibleFest N...
Ransack, an Application Built on Ansible's API for Rackspace -- AnsibleFest N...Ransack, an Application Built on Ansible's API for Rackspace -- AnsibleFest N...
Ransack, an Application Built on Ansible's API for Rackspace -- AnsibleFest N...
 
Capistrano for non-rubyist
Capistrano for non-rubyistCapistrano for non-rubyist
Capistrano for non-rubyist
 
NoSQL @ Qbranch -2010-04-15
NoSQL @ Qbranch -2010-04-15NoSQL @ Qbranch -2010-04-15
NoSQL @ Qbranch -2010-04-15
 
Ruby on Rails survival guide of an aged Java developer
Ruby on Rails survival guide of an aged Java developerRuby on Rails survival guide of an aged Java developer
Ruby on Rails survival guide of an aged Java developer
 
STP201 Efficiency at Scale - AWS re: Invent 2012
STP201 Efficiency at Scale - AWS re: Invent 2012STP201 Efficiency at Scale - AWS re: Invent 2012
STP201 Efficiency at Scale - AWS re: Invent 2012
 
Sparklife - Life In The Trenches With Spark
Sparklife - Life In The Trenches With SparkSparklife - Life In The Trenches With Spark
Sparklife - Life In The Trenches With Spark
 
Git Going With DVCS v1.5.1
Git Going With DVCS v1.5.1Git Going With DVCS v1.5.1
Git Going With DVCS v1.5.1
 
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integrationSouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
 
A story of Netflix and AB Testing in the User Interface using DynamoDB - DAT3...
A story of Netflix and AB Testing in the User Interface using DynamoDB - DAT3...A story of Netflix and AB Testing in the User Interface using DynamoDB - DAT3...
A story of Netflix and AB Testing in the User Interface using DynamoDB - DAT3...
 
Triple Blitz Strike
Triple Blitz StrikeTriple Blitz Strike
Triple Blitz Strike
 
Scaling Django for X Factor - DJUGL Oct 2012
Scaling Django for X Factor - DJUGL Oct 2012Scaling Django for X Factor - DJUGL Oct 2012
Scaling Django for X Factor - DJUGL Oct 2012
 
Reuse, Reduce, Recycle in Serverless World
Reuse, Reduce, Recycle in Serverless WorldReuse, Reduce, Recycle in Serverless World
Reuse, Reduce, Recycle in Serverless World
 

KĂŒrzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

KĂŒrzlich hochgeladen (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
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...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

The DynaSlave Plugin

Hinweis der Redaktion

  1. \n
  2. Hi everyone, thanks for sticking around. I’m Brian Moyles and I work on the Netflix Engineering Tools team.\n
  3. Last year, we decided it would be a good idea to move our build infrastructure to the cloud to better deal with scalability problems.\n
  4. It’s important to note that at Netflix, teams generally handle all of their own QA, releng, devops, on-call duties, actually streaming the movies... not really. \n
  5. We all know this is the real cloud...\n
  6. Of course, the cloud is ephemeral, and if you don’t think of it as such, the agents of chaos will help you out with that. We needed a fixed fleet of always-on slaves for instant building (no lag waiting for a node to be provisioned), we needed whatever we ended up with to deal with the ephemeral nature of the cloud (don’t page me if a build node goes away, just replace it and leave me to my 20 minutes of sleep), and we needed it to be as close to hands-free as possible (with slaves coming/going, teams having specialized needs, we don’t want to have to micromanage the slaves).\n
  7. We figured a good way to manage that would be to utilize some Amazon functionality we had spent the last few years wrangling. Slaves go in Amazon autoscaling groups, which are basically clusters of redundant nodes automatically managed by Amazon. Nodes disappear, they get replaced. Need more? Set a max, nodes automatically launch. Want slaves to disappear on a schedule? Okay. We could even feed back some metrics into Amazon to influence cluster size... But... now we have to give Jenkins some EC2 credentials, make it aware of EC2 itself, make it aware of our internal conventions... So why not make it simple and let the slaves register themselves?\n
  8. We started with the swarm plugin as a base and ended up with the DynaSlave plugin. Today, it merely exposes a URL that slaves can poll to tell Jenkins they’re around and need some work. Jenkins creates its internal representations of the slaves, uses a script to push out some bits that may have changed since their images were baked, and starts up slave.jar. We can triple the size of our general fleet in 5-10 minutes depending on how much we want or need to push to the slave once it’s alive.\n
  9. No presentation is complete without some sort of diagram.\nPretend you see autoscaling groups configured to use a standard image we assemble for all slaves to use. Autoscaling groups are given meaningful names, and we can use those group names as labels in Jenkins. Jobs then tie to those labels.\nNode dies? Amazon relaunches. We want to scale up for an event? Tell Amazon to grow. Or maybe have Jenkins tell Amazon we’ve got a backlog of jobs and could use some more horsepower... When we’re quiet, we can tell Amazon to kill off a few nodes (via our console, Asgard, available on our Github site :))\n
  10. In case it wasn’t obvious, one interesting by-product of this is the plugin actually doesn’t have to know about Amazon (at least today). Or any cloud, for that matter... If you can hit a url, run a JVM, you likely can use the Dynaslave to let those machines register themselves. You don’t have to update a plugin or do much at all in the way of tweaking Jenkins itself if you have a new cloud provider, new OS, and so on.\n
  11. It’s simple, and it’s been useful to us, so we’d like others to give it a spin and perhaps help us make it better.\nWe’re already looking at things like using the built-in cloud abstractions to handle grouping and automatically scaling better (things we handle now with naming conventions and system groovy scripts), but there are likely other great ideas we haven’t thought of.\nYou can take a peek today at the github url above, and we’ll be working with the Jenkins dev community to get it under the Jenkinsci org soon.\n
  12. Thanks again for listening, hopefully this sounded interesting. These links will lead to happiness and prosperity and contain all you seek :)\n
  13. \n