SlideShare a Scribd company logo
1 of 13
Role reuse: promising, but hard 
Ansible London meet up 26th November 2014 
Martin Maisey, BJSS (Southern) CTO, @mjmaisey
Who are BJSS / who am I? 
© BJSS 2014 
• Software engineer/architect background, early Apache 
Ant adopter 
• Stumbled into infrastructure automation working for 
BJSS 2003-2005 
• Co-founder/technical director of Opsview (then 
Opsera) 
• Detica NetReveal big data / analytics / cybersecurity 
• Returned to BJSS as CTO in 2010 
• Ansible user since mid 2013 for 
www.closethedoor.org.uk 
• Disgustingly proud dad 
• ~500 awesome technologists, ~20% 
YoY growth, lots of prizes, yada yada 
• Historically used a lot of Puppet; 
started adopting Ansible Dec 2013 
• Redeveloped NHS Spine 
• Redeveloped low latency trading 
engine one for the world’s largest FX 
venues 
• Various large-scale data 
center/virtualised 
infrastructure/internal cloud 
engineering projects
Why we love Ansible 
© BJSS 2014 
Obvious, even 
to a manager 
Easy as pie 
to learn 
2 a.m. proof 
(mostly) Oddly 
beautiful
+ Galaxy looks promising for avoiding work 
© BJSS 2014 
…or whatever’s 
your thing, really.
© BJSS 2014 
However ...
Many, many candidate roles 
© BJSS 2014 
Too. 
Much. 
Choice.
Roles are of variable quality 
© BJSS 2014 
Sensibly 
versioned 
Idempotent? 
Tested 
? 
Documented 
? 
Cross-platform? 
Parameterise 
d? 
Continuously 
built? 
? 
Friendly 
license?
Roles are abandoned 
© BJSS 2014
Roles don’t reuse each other 
© BJSS 2014
Only option right now is to fork, fix, 
resubmit 
© BJSS 2014 
Just 
adds 
more 
noise
© BJSS 2014 
Coalesce community 
efforts around a few, 
high quality roles 
Make them easy to 
find 
What would be better?
How could we/Ansible Inc do this? 
Extra metadata 
Capture intent to: 
• Keep role up to date 
• Use semantic versioning 
• Be idempotent 
• Update in response to security issues 
• Fix bugs/accept pull requests 
• Capture licenses of installed software 
as well as roles themselves 
Take notice of 
https://galaxy.ansible.com/intro 
© BJSS 2014 
Galaxy features 
• Show number of downloads / github 
stars / GitHub watchers 
• Better search / ranking of roles and 
authors 
• Web of Trust 
• License walking 
• Abandonment workflow 
• Automatic workflow if no commits on GitHub 
and open issues exist 
• Or user-initiated 
• Email owner, encourage them to a/ certify the 
role is still maintained b/ mark abandoned, 
nominate a maintained fork if one exists 
• If they don’t, do it for them 
or documented REST API to allow others 
to do this
Thoughts / Questions? 
@mjmaisey 
uk.linkedin.com/in/mjmaisey 
martin.maisey@bjss.com 
http://mjm.name 
© BJSS 2014 
http://www.bjss.com

More Related Content

What's hot

User stories: from good intentions to bad advice - Lean Agile Scotland 2019
User stories: from good intentions to bad advice - Lean Agile Scotland 2019User stories: from good intentions to bad advice - Lean Agile Scotland 2019
User stories: from good intentions to bad advice - Lean Agile Scotland 2019Seb Rose
 
Introduction to Django-Celery and Supervisor
Introduction to Django-Celery and SupervisorIntroduction to Django-Celery and Supervisor
Introduction to Django-Celery and SupervisorSuresh Kumar
 
AD105 - OneUI.. really? Is that because you don't know about Twitter Bootstrap?
AD105 - OneUI.. really? Is that because you don't know about Twitter Bootstrap?AD105 - OneUI.. really? Is that because you don't know about Twitter Bootstrap?
AD105 - OneUI.. really? Is that because you don't know about Twitter Bootstrap?Andrew Barickman
 
Patrick Debois - From Serverless to Servicefull
Patrick Debois - From Serverless to ServicefullPatrick Debois - From Serverless to Servicefull
Patrick Debois - From Serverless to ServicefullServerlessConf
 
Bosh - Configuring Services
Bosh - Configuring ServicesBosh - Configuring Services
Bosh - Configuring ServicesAndrew Shafer
 
Realtime Webpack - Pushing on-demand bundling to the limits by Oliver Woodings
Realtime Webpack - Pushing on-demand bundling to the limits by Oliver Woodings Realtime Webpack - Pushing on-demand bundling to the limits by Oliver Woodings
Realtime Webpack - Pushing on-demand bundling to the limits by Oliver Woodings React London 2017
 
Real-World Boot-Up Sequences - QuickBooks Self-Employed
Real-World Boot-Up Sequences - QuickBooks Self-EmployedReal-World Boot-Up Sequences - QuickBooks Self-Employed
Real-World Boot-Up Sequences - QuickBooks Self-EmployedTim Hobson
 
The 7 deadly sins of micro services
The 7 deadly sins of micro servicesThe 7 deadly sins of micro services
The 7 deadly sins of micro servicesAidan Casey
 
The 7 deadly sins of micro services
The 7 deadly sins of micro servicesThe 7 deadly sins of micro services
The 7 deadly sins of micro servicesAidan Casey
 
Essential git for developers
Essential git for developersEssential git for developers
Essential git for developersAidan Casey
 
Functional webapplicaations using fsharp and suave
Functional webapplicaations using fsharp and suaveFunctional webapplicaations using fsharp and suave
Functional webapplicaations using fsharp and suaveTomas Jansson
 

What's hot (11)

User stories: from good intentions to bad advice - Lean Agile Scotland 2019
User stories: from good intentions to bad advice - Lean Agile Scotland 2019User stories: from good intentions to bad advice - Lean Agile Scotland 2019
User stories: from good intentions to bad advice - Lean Agile Scotland 2019
 
Introduction to Django-Celery and Supervisor
Introduction to Django-Celery and SupervisorIntroduction to Django-Celery and Supervisor
Introduction to Django-Celery and Supervisor
 
AD105 - OneUI.. really? Is that because you don't know about Twitter Bootstrap?
AD105 - OneUI.. really? Is that because you don't know about Twitter Bootstrap?AD105 - OneUI.. really? Is that because you don't know about Twitter Bootstrap?
AD105 - OneUI.. really? Is that because you don't know about Twitter Bootstrap?
 
Patrick Debois - From Serverless to Servicefull
Patrick Debois - From Serverless to ServicefullPatrick Debois - From Serverless to Servicefull
Patrick Debois - From Serverless to Servicefull
 
Bosh - Configuring Services
Bosh - Configuring ServicesBosh - Configuring Services
Bosh - Configuring Services
 
Realtime Webpack - Pushing on-demand bundling to the limits by Oliver Woodings
Realtime Webpack - Pushing on-demand bundling to the limits by Oliver Woodings Realtime Webpack - Pushing on-demand bundling to the limits by Oliver Woodings
Realtime Webpack - Pushing on-demand bundling to the limits by Oliver Woodings
 
Real-World Boot-Up Sequences - QuickBooks Self-Employed
Real-World Boot-Up Sequences - QuickBooks Self-EmployedReal-World Boot-Up Sequences - QuickBooks Self-Employed
Real-World Boot-Up Sequences - QuickBooks Self-Employed
 
The 7 deadly sins of micro services
The 7 deadly sins of micro servicesThe 7 deadly sins of micro services
The 7 deadly sins of micro services
 
The 7 deadly sins of micro services
The 7 deadly sins of micro servicesThe 7 deadly sins of micro services
The 7 deadly sins of micro services
 
Essential git for developers
Essential git for developersEssential git for developers
Essential git for developers
 
Functional webapplicaations using fsharp and suave
Functional webapplicaations using fsharp and suaveFunctional webapplicaations using fsharp and suave
Functional webapplicaations using fsharp and suave
 

Similar to Ansible role reuse - promising but hard

Start contributing to OSS projects on your way
Start contributing to OSS projects on your wayStart contributing to OSS projects on your way
Start contributing to OSS projects on your wayKazuaki Matsuo
 
Making sense of microservices, service mesh, and serverless
Making sense of microservices, service mesh, and serverlessMaking sense of microservices, service mesh, and serverless
Making sense of microservices, service mesh, and serverlessChristian Posta
 
Content Deployment BootCamp
Content Deployment BootCampContent Deployment BootCamp
Content Deployment BootCampmarkrhodes
 
BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?
BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?
BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?Guido Schmutz
 
Hadoop at Meebo: Lessons in the Real World
Hadoop at Meebo: Lessons in the Real WorldHadoop at Meebo: Lessons in the Real World
Hadoop at Meebo: Lessons in the Real Worldvoberoi
 
Guide Tiles - Intern Project
Guide Tiles - Intern ProjectGuide Tiles - Intern Project
Guide Tiles - Intern ProjectJoe Bieselin
 
Selenium at Mozilla: An Essential Element to our Success
Selenium at Mozilla: An Essential Element to our SuccessSelenium at Mozilla: An Essential Element to our Success
Selenium at Mozilla: An Essential Element to our SuccessStephen Donner
 
Iterating For Success: A Case Study in Remote Paired Programming, The Evoluti...
Iterating For Success: A Case Study in Remote Paired Programming, The Evoluti...Iterating For Success: A Case Study in Remote Paired Programming, The Evoluti...
Iterating For Success: A Case Study in Remote Paired Programming, The Evoluti...VMware Tanzu
 
Lessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxLessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxapidays
 
Architecting for Huper Growth and Great Engineering Culture
Architecting for Huper Growth and Great Engineering CultureArchitecting for Huper Growth and Great Engineering Culture
Architecting for Huper Growth and Great Engineering CultureSARCCOM
 
Architecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering CultureArchitecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering Cultureifnu bima
 
Movin’ On Up - SP Engage Oct 2015
Movin’ On Up - SP Engage Oct 2015Movin’ On Up - SP Engage Oct 2015
Movin’ On Up - SP Engage Oct 2015Jim Adcock
 
DockerCon SF 2015: From Months to Minutes
DockerCon SF 2015: From Months to MinutesDockerCon SF 2015: From Months to Minutes
DockerCon SF 2015: From Months to MinutesDocker, Inc.
 
SendGrid documentation & open source projects
SendGrid documentation & open source projectsSendGrid documentation & open source projects
SendGrid documentation & open source projectsSendGrid JP
 
ASTQB washington-sept-2015
ASTQB washington-sept-2015ASTQB washington-sept-2015
ASTQB washington-sept-2015Dan Boutin
 
Enabling your DevOps culture with AWS-webinar
Enabling your DevOps culture with AWS-webinarEnabling your DevOps culture with AWS-webinar
Enabling your DevOps culture with AWS-webinarAaron Walker
 
Tips & Tricks for Oracle PaaS Admins
Tips & Tricks for Oracle PaaS AdminsTips & Tricks for Oracle PaaS Admins
Tips & Tricks for Oracle PaaS AdminsSimon Haslam
 

Similar to Ansible role reuse - promising but hard (20)

Start contributing to OSS projects on your way
Start contributing to OSS projects on your wayStart contributing to OSS projects on your way
Start contributing to OSS projects on your way
 
Making sense of microservices, service mesh, and serverless
Making sense of microservices, service mesh, and serverlessMaking sense of microservices, service mesh, and serverless
Making sense of microservices, service mesh, and serverless
 
Content Deployment BootCamp
Content Deployment BootCampContent Deployment BootCamp
Content Deployment BootCamp
 
BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?
BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?
BPMN, BPEL, ESB or maybe Java? What should I use to implement my project?
 
Hadoop at Meebo: Lessons in the Real World
Hadoop at Meebo: Lessons in the Real WorldHadoop at Meebo: Lessons in the Real World
Hadoop at Meebo: Lessons in the Real World
 
Build Authentication in Conversational AI
Build Authentication in Conversational AIBuild Authentication in Conversational AI
Build Authentication in Conversational AI
 
Guide Tiles - Intern Project
Guide Tiles - Intern ProjectGuide Tiles - Intern Project
Guide Tiles - Intern Project
 
Selenium at Mozilla: An Essential Element to our Success
Selenium at Mozilla: An Essential Element to our SuccessSelenium at Mozilla: An Essential Element to our Success
Selenium at Mozilla: An Essential Element to our Success
 
Iterating For Success: A Case Study in Remote Paired Programming, The Evoluti...
Iterating For Success: A Case Study in Remote Paired Programming, The Evoluti...Iterating For Success: A Case Study in Remote Paired Programming, The Evoluti...
Iterating For Success: A Case Study in Remote Paired Programming, The Evoluti...
 
API ARU-ARU
API ARU-ARUAPI ARU-ARU
API ARU-ARU
 
Lessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxLessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptx
 
Architecting for Huper Growth and Great Engineering Culture
Architecting for Huper Growth and Great Engineering CultureArchitecting for Huper Growth and Great Engineering Culture
Architecting for Huper Growth and Great Engineering Culture
 
Architecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering CultureArchitecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering Culture
 
App Engine Meetup
App Engine MeetupApp Engine Meetup
App Engine Meetup
 
Movin’ On Up - SP Engage Oct 2015
Movin’ On Up - SP Engage Oct 2015Movin’ On Up - SP Engage Oct 2015
Movin’ On Up - SP Engage Oct 2015
 
DockerCon SF 2015: From Months to Minutes
DockerCon SF 2015: From Months to MinutesDockerCon SF 2015: From Months to Minutes
DockerCon SF 2015: From Months to Minutes
 
SendGrid documentation & open source projects
SendGrid documentation & open source projectsSendGrid documentation & open source projects
SendGrid documentation & open source projects
 
ASTQB washington-sept-2015
ASTQB washington-sept-2015ASTQB washington-sept-2015
ASTQB washington-sept-2015
 
Enabling your DevOps culture with AWS-webinar
Enabling your DevOps culture with AWS-webinarEnabling your DevOps culture with AWS-webinar
Enabling your DevOps culture with AWS-webinar
 
Tips & Tricks for Oracle PaaS Admins
Tips & Tricks for Oracle PaaS AdminsTips & Tricks for Oracle PaaS Admins
Tips & Tricks for Oracle PaaS Admins
 

Recently uploaded

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
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 organizationRadu Cotescu
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
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
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 

Recently uploaded (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
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
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
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
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 

Ansible role reuse - promising but hard

  • 1. Role reuse: promising, but hard Ansible London meet up 26th November 2014 Martin Maisey, BJSS (Southern) CTO, @mjmaisey
  • 2. Who are BJSS / who am I? © BJSS 2014 • Software engineer/architect background, early Apache Ant adopter • Stumbled into infrastructure automation working for BJSS 2003-2005 • Co-founder/technical director of Opsview (then Opsera) • Detica NetReveal big data / analytics / cybersecurity • Returned to BJSS as CTO in 2010 • Ansible user since mid 2013 for www.closethedoor.org.uk • Disgustingly proud dad • ~500 awesome technologists, ~20% YoY growth, lots of prizes, yada yada • Historically used a lot of Puppet; started adopting Ansible Dec 2013 • Redeveloped NHS Spine • Redeveloped low latency trading engine one for the world’s largest FX venues • Various large-scale data center/virtualised infrastructure/internal cloud engineering projects
  • 3. Why we love Ansible © BJSS 2014 Obvious, even to a manager Easy as pie to learn 2 a.m. proof (mostly) Oddly beautiful
  • 4. + Galaxy looks promising for avoiding work © BJSS 2014 …or whatever’s your thing, really.
  • 5. © BJSS 2014 However ...
  • 6. Many, many candidate roles © BJSS 2014 Too. Much. Choice.
  • 7. Roles are of variable quality © BJSS 2014 Sensibly versioned Idempotent? Tested ? Documented ? Cross-platform? Parameterise d? Continuously built? ? Friendly license?
  • 8. Roles are abandoned © BJSS 2014
  • 9. Roles don’t reuse each other © BJSS 2014
  • 10. Only option right now is to fork, fix, resubmit © BJSS 2014 Just adds more noise
  • 11. © BJSS 2014 Coalesce community efforts around a few, high quality roles Make them easy to find What would be better?
  • 12. How could we/Ansible Inc do this? Extra metadata Capture intent to: • Keep role up to date • Use semantic versioning • Be idempotent • Update in response to security issues • Fix bugs/accept pull requests • Capture licenses of installed software as well as roles themselves Take notice of https://galaxy.ansible.com/intro © BJSS 2014 Galaxy features • Show number of downloads / github stars / GitHub watchers • Better search / ranking of roles and authors • Web of Trust • License walking • Abandonment workflow • Automatic workflow if no commits on GitHub and open issues exist • Or user-initiated • Email owner, encourage them to a/ certify the role is still maintained b/ mark abandoned, nominate a maintained fork if one exists • If they don’t, do it for them or documented REST API to allow others to do this
  • 13. Thoughts / Questions? @mjmaisey uk.linkedin.com/in/mjmaisey martin.maisey@bjss.com http://mjm.name © BJSS 2014 http://www.bjss.com

Editor's Notes

  1. BJSS Just over 21 years old –could say we’re – technically - a proper grown-up company now Formed by co-founders who were annoyed at being managed by idiots, still privately owned, ethos remains First gig was writing Solaris device drivers for Emulex HBAs, then got into trading systems, now do pretty much everything Don’t ask what the name stands for, but we like to call ourselves a full service consulting company Automating infrastructure well before the term DevOps existed Used Puppet, mostly on large projects, for a number of years Started adopting Ansible about a year ago, and it would probably now be a company standard if we had things like that Redeveloped NHS Spine on Python / Riak / Tornado (El Reg passim.), went live recently without a fuss/hitting the front pages, saving the taxpayer a lot of money, providing a solid platform for new functionality Also sent a major FX trading system from rebuild live, as a big bang, without anyone noticing – including reverse engineering undocumented terminal protocols and engineering in bug-for-bug compatibility Both of the above built on DevOps principles from the start Have been doing infra work for years, but formalised this four years back with an Infrastructure consulting group – now Infrastructure & Security For a very large precision manufacturing firm, scope and managed a multi-year enterprise datacentre migration programme – including core network build-out, shared infrastructure, P2V, legacy application migration and updates to supported platforms, lift+shift of legacy boxes – for all mission-critical enterprise services Before OpenStack resembled anything you’d want to touch with a bargepole