SlideShare a Scribd company logo
Automating Automation | Bose Corporation 2
Automating Automation: Build
Environments, On-Demand
Josh Steckler
Bose Corporation
Automating Automation | Bose Corporation 3
Who am I?
• Software Engineer
• 7 Years at Bose
• Scrum Master
• Lead for ElectricFlow, JIRA
Automating Automation | Bose Corporation 4
Bose
• Based in Massachusetts
• 51 years
• Products come from research
• Audio & Non-audio products
Automating Automation | Bose Corporation 5
Bose is Global
x5
Automating Automation | Bose Corporation 6
Bose & DevOps
• Centralized Engineering
Software & Tools Team
• Enterprise, integration,
automation & Self
Service focus
• Typically engage for new
development, hands off
for day to day operations
Automating Automation | Bose Corporation 7
The Team
• 3 software engineers, 2 system administrators
• Located in HQ, support over 2000 users
• Steady headcount with more products developed
• In EF: 108 projects, ~3000 jobs/day
• Product development focus
• Grown from Tool Supporters to DevOps – provide
more value
Automating Automation | Bose Corporation 8
Changing industry = More Software
Automating Automation | Bose Corporation 9
Product Growth Challenge
• How do we support a massive increase in software?
• How much would overhead increase?
• Needed to revisit our entire environment
Automating Automation | Bose Corporation 10
Starting Point: Home Grown System
• Not scalable, time consuming configuration
• Different divisions – different systems
• No build status visibility – manual log checking
• No job management – failures caused issues
• No management UI – hard to learn
• Hard to share responsibility
Automating Automation | Bose Corporation 11
Adoption of Electric Flow
Small pilot
project in one
division
Gradual,
bottom-up
viral adoption
Remainder of
pilot division
migrates to EF
Success story
shared and
adoption
spreads to
more divisions
Automating Automation | Bose Corporation 12
How we got there:
1. Just get it running – copy & paste existing scripts
2. Incremental improvements
3. Automate!
4. Utilize Advanced Features
5. Retirement of old systems
Automating Automation | Bose Corporation 13
First Run
• Started with one project, one build resource
• No build script changes
• Hard coded properties
• Comparisons to old system’s deliverables – ensure
process is valid
Automating Automation | Bose Corporation 14
Improvements
• Properties – Data Storage,
“variables”
• Parameters – runtime
“arguments”
• Abstract variables into
Properties or Parameters
• Split existing code into
Job Steps
• Time based scheduling
Automating Automation | Bose Corporation 15
Procedure Library
Examples
– Selecting a resource
– SVN checkout
– Testing (Klocwork)
– Deploy to server
Why use a library?
– Version Control
– Roll out enhancements
globally
– Change management
– Standardization
Automating Automation | Bose Corporation 16
Procedure Standardization
Automating Automation | Bose Corporation 17
Automate!
• Goal: Increase adoption without increasing
overhead
• Phase One: create new projects
– Started by copying and renaming
– Permissions issues. Different divisions, different access
levels were not implemented
– Changing code in several places
Automating Automation | Bose Corporation 18
Phase Two: “Create Project” Procedure
• Self Service – no service ticket required
• Utilizes ec-perl API
• Default build procedure template
• Default properties & parameters set
• Set Permissions accurately
Automating Automation | Bose Corporation 19
A unique system for each vehicle
Audi
A3
Q3
A6
3.0 Turbo
Tweeter
Woofer
Amplifiers
DSP
Etc.
3.0 Diesel
A7
Q7
A8
TT
Automating Automation | Bose Corporation 20
Automating Automation | Bose Corporation 21
Managing Product Complexity
• Automotive products have a complex matrix of
dependencies
• How to make correctly run build?
• Phase One: Flexible, but unmanaged build
parameter inputs
– Error prone
– Required specialized syntax, hard to learn
Automating Automation | Bose Corporation 22
Phase Two: Guided User Input Screen
• Easy to learn and use
• Able to scale a complex matrix
• Don’t allow invalid parameters
• Implemented as a Plugin
– Version controlled
Automating Automation | Bose Corporation 23
Guided User Input
Automating Automation | Bose Corporation 24
Guided User Input
Automating Automation | Bose Corporation 25
Input Validation - Syntax
Automating Automation | Bose Corporation 26
Input Validation - Logic
Automating Automation | Bose Corporation 27
Build Data Management System
• Refreshes every 15 mins
• Info on build dependencies
• Stores data in nested
property sheets
Automating Automation | Bose Corporation 28
More Layers of Complexity
• Need to run the same process over a variable
number of components
• Can’t know the right components until runtime
• Doing all components too time consuming
Automating Automation | Bose Corporation 29
Build Steps Unknown
• Goal: Build avoidance - handle variable number of
changed components
• Phase One (considered, never implemented):
– Just use a loop in a single step
– Hard to report status
– Wouldn’t make use of procedure library
Automating Automation | Bose Corporation 30
Phase Two: Dynamic Jobs
• Construct the job at runtime to only build what is
necessary, skip the rest
• “Metaprogramming” – job transforms itself while
running
• EF API createJobStep
Automating Automation | Bose Corporation 31
Outside the Box - Automation Platform
• Group has lots of systems to manage
• Backups, integrity checks, standard maintenance
jobs, etc.
• Goal: Take advantage of EF as an automation
platform for administrative/IT operations
Automating Automation | Bose Corporation 32
Flow – an IT Automation Platform?
• Notifications, reporting, scheduling and resource
management
Automating Automation | Bose Corporation 33
Where are we going?
• Integrations with other applications – JIRA
• Continue adoption: rest of product development,
website group
Automating Automation | Bose Corporation 34
Thanks!
• Questions?
• Josh_Steckler@bose.com

More Related Content

What's hot

20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
garrett honeycutt
 
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
David Rosen
 
What's New in Puppet Enterprise 2015.3
What's New in Puppet Enterprise 2015.3What's New in Puppet Enterprise 2015.3
What's New in Puppet Enterprise 2015.3
Puppet
 
Introduction to Puppet Enterprise 01/29/16.pptx
Introduction to Puppet Enterprise 01/29/16.pptxIntroduction to Puppet Enterprise 01/29/16.pptx
Introduction to Puppet Enterprise 01/29/16.pptx
Puppet
 
Performance Testing Strategy for Cloud-Based System using Open Source Testing...
Performance Testing Strategy for Cloud-Based System using Open Source Testing...Performance Testing Strategy for Cloud-Based System using Open Source Testing...
Performance Testing Strategy for Cloud-Based System using Open Source Testing...
MIMOS Berhad/Open University Malaysia/Universiti Teknologi Malaysia
 
Get Loose! Microservices and Loosely Coupled Architectures
Get Loose! Microservices and Loosely Coupled ArchitecturesGet Loose! Microservices and Loosely Coupled Architectures
Get Loose! Microservices and Loosely Coupled Architectures
Deborah Schalm
 
Cloud-based performance testing
Cloud-based performance testingCloud-based performance testing
Cloud-based performance testing
abhinavm
 
Bridging The Gap Between Dev and Ops
Bridging The Gap Between Dev and OpsBridging The Gap Between Dev and Ops
Bridging The Gap Between Dev and Ops
DevOps.com
 
Reduce Test Automation Execution Time by 80%
Reduce Test Automation Execution Time by 80%Reduce Test Automation Execution Time by 80%
Reduce Test Automation Execution Time by 80%
TechWell
 
Cloud based Performance Testing
Cloud based Performance TestingCloud based Performance Testing
Cloud based Performance Testing
Impetus Technologies
 
Introduction to Puppet Enterprise Webinar, Dec. 3, 2015
Introduction to Puppet Enterprise Webinar, Dec. 3, 2015Introduction to Puppet Enterprise Webinar, Dec. 3, 2015
Introduction to Puppet Enterprise Webinar, Dec. 3, 2015
Puppet
 
What's New in Puppet Enterprise 2015.3
What's New in Puppet Enterprise 2015.3What's New in Puppet Enterprise 2015.3
What's New in Puppet Enterprise 2015.3
Puppet
 
Lessons Learned Monitoring Production
Lessons Learned Monitoring ProductionLessons Learned Monitoring Production
Lessons Learned Monitoring Production
Aviran Mordo
 
Agile Testing in the Cloud
Agile Testing in the CloudAgile Testing in the Cloud
Agile Testing in the Cloud
Cygnet Infotech
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
Ron Heft
 
Sam Guckenheimer - Moving to One Engineering System
Sam Guckenheimer - Moving to One Engineering SystemSam Guckenheimer - Moving to One Engineering System
Sam Guckenheimer - Moving to One Engineering System
WinOps Conf
 
Cloud Computing Webinar
Cloud Computing WebinarCloud Computing Webinar
Cloud Computing Webinar
TechSoup
 
Soasta Cloud Test
Soasta Cloud TestSoasta Cloud Test
Soasta Cloud Test
MatthewSOASTA
 
Intro to Puppet Enterprise
Intro to Puppet EnterpriseIntro to Puppet Enterprise
Intro to Puppet Enterprise
Puppet
 
What's New in Puppet Enterprise 2015.3 (APAC)
What's New in Puppet Enterprise 2015.3 (APAC)What's New in Puppet Enterprise 2015.3 (APAC)
What's New in Puppet Enterprise 2015.3 (APAC)
Puppet
 

What's hot (20)

20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
 
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
 
What's New in Puppet Enterprise 2015.3
What's New in Puppet Enterprise 2015.3What's New in Puppet Enterprise 2015.3
What's New in Puppet Enterprise 2015.3
 
Introduction to Puppet Enterprise 01/29/16.pptx
Introduction to Puppet Enterprise 01/29/16.pptxIntroduction to Puppet Enterprise 01/29/16.pptx
Introduction to Puppet Enterprise 01/29/16.pptx
 
Performance Testing Strategy for Cloud-Based System using Open Source Testing...
Performance Testing Strategy for Cloud-Based System using Open Source Testing...Performance Testing Strategy for Cloud-Based System using Open Source Testing...
Performance Testing Strategy for Cloud-Based System using Open Source Testing...
 
Get Loose! Microservices and Loosely Coupled Architectures
Get Loose! Microservices and Loosely Coupled ArchitecturesGet Loose! Microservices and Loosely Coupled Architectures
Get Loose! Microservices and Loosely Coupled Architectures
 
Cloud-based performance testing
Cloud-based performance testingCloud-based performance testing
Cloud-based performance testing
 
Bridging The Gap Between Dev and Ops
Bridging The Gap Between Dev and OpsBridging The Gap Between Dev and Ops
Bridging The Gap Between Dev and Ops
 
Reduce Test Automation Execution Time by 80%
Reduce Test Automation Execution Time by 80%Reduce Test Automation Execution Time by 80%
Reduce Test Automation Execution Time by 80%
 
Cloud based Performance Testing
Cloud based Performance TestingCloud based Performance Testing
Cloud based Performance Testing
 
Introduction to Puppet Enterprise Webinar, Dec. 3, 2015
Introduction to Puppet Enterprise Webinar, Dec. 3, 2015Introduction to Puppet Enterprise Webinar, Dec. 3, 2015
Introduction to Puppet Enterprise Webinar, Dec. 3, 2015
 
What's New in Puppet Enterprise 2015.3
What's New in Puppet Enterprise 2015.3What's New in Puppet Enterprise 2015.3
What's New in Puppet Enterprise 2015.3
 
Lessons Learned Monitoring Production
Lessons Learned Monitoring ProductionLessons Learned Monitoring Production
Lessons Learned Monitoring Production
 
Agile Testing in the Cloud
Agile Testing in the CloudAgile Testing in the Cloud
Agile Testing in the Cloud
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
 
Sam Guckenheimer - Moving to One Engineering System
Sam Guckenheimer - Moving to One Engineering SystemSam Guckenheimer - Moving to One Engineering System
Sam Guckenheimer - Moving to One Engineering System
 
Cloud Computing Webinar
Cloud Computing WebinarCloud Computing Webinar
Cloud Computing Webinar
 
Soasta Cloud Test
Soasta Cloud TestSoasta Cloud Test
Soasta Cloud Test
 
Intro to Puppet Enterprise
Intro to Puppet EnterpriseIntro to Puppet Enterprise
Intro to Puppet Enterprise
 
What's New in Puppet Enterprise 2015.3 (APAC)
What's New in Puppet Enterprise 2015.3 (APAC)What's New in Puppet Enterprise 2015.3 (APAC)
What's New in Puppet Enterprise 2015.3 (APAC)
 

Similar to BOSE - Josh Steckler - Automating Automation: Build environments, on-demand

How to use Concourse CI to deliver BOSH releases
How to use Concourse CI to deliver BOSH releasesHow to use Concourse CI to deliver BOSH releases
How to use Concourse CI to deliver BOSH releases
Amit Gupta
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
Aviran Mordo
 
Dev ops for mobile apps at microsoft teams
Dev ops for mobile apps at microsoft teamsDev ops for mobile apps at microsoft teams
Dev ops for mobile apps at microsoft teams
Mahesh Arali
 
Extreme Makeover OnBase Edition
Extreme Makeover OnBase EditionExtreme Makeover OnBase Edition
Extreme Makeover OnBase Edition
DataBank, A KYOCERA Group Company
 
Continuous Integration Testing for SAP
Continuous Integration Testing for SAPContinuous Integration Testing for SAP
Continuous Integration Testing for SAP
Worksoft
 
Reshaping the Testing Pyramid
Reshaping the Testing PyramidReshaping the Testing Pyramid
Reshaping the Testing Pyramid
kapilsethi9
 
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
Vincent Biret
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build test
Len Bass
 
OpenERP R&D
OpenERP R&DOpenERP R&D
OpenERP R&DOdoo
 
Era of server less computing
Era of server less computingEra of server less computing
Era of server less computing
Baskar rao Dsn
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
XPDays
 
Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...
Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...
Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...
Datapolis
 
Era of server less computing final
Era of server less computing finalEra of server less computing final
Era of server less computing final
Baskar rao Dsn
 
Continuous Deployment of your Application @JUGtoberfest
Continuous Deployment of your Application @JUGtoberfestContinuous Deployment of your Application @JUGtoberfest
Continuous Deployment of your Application @JUGtoberfest
Marcin Grzejszczak
 
New life inside monolithic application
New life inside monolithic applicationNew life inside monolithic application
New life inside monolithic application
Taras Matyashovsky
 
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
Emerasoft, solutions to collaborate
 
Cincom Smalltalk Roadmap 2010
Cincom Smalltalk Roadmap 2010Cincom Smalltalk Roadmap 2010
Cincom Smalltalk Roadmap 2010
ESUG
 
Data harmony update 2021
Data harmony update 2021 Data harmony update 2021
Data harmony update 2021
Access Innovations, Inc.
 
Play with azure functions
Play with azure functionsPlay with azure functions
Play with azure functions
Baskar rao Dsn
 
Azure Functions in Action #CodePaLOUsa
Azure Functions in Action #CodePaLOUsaAzure Functions in Action #CodePaLOUsa
Azure Functions in Action #CodePaLOUsa
Baskar rao Dsn
 

Similar to BOSE - Josh Steckler - Automating Automation: Build environments, on-demand (20)

How to use Concourse CI to deliver BOSH releases
How to use Concourse CI to deliver BOSH releasesHow to use Concourse CI to deliver BOSH releases
How to use Concourse CI to deliver BOSH releases
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
 
Dev ops for mobile apps at microsoft teams
Dev ops for mobile apps at microsoft teamsDev ops for mobile apps at microsoft teams
Dev ops for mobile apps at microsoft teams
 
Extreme Makeover OnBase Edition
Extreme Makeover OnBase EditionExtreme Makeover OnBase Edition
Extreme Makeover OnBase Edition
 
Continuous Integration Testing for SAP
Continuous Integration Testing for SAPContinuous Integration Testing for SAP
Continuous Integration Testing for SAP
 
Reshaping the Testing Pyramid
Reshaping the Testing PyramidReshaping the Testing Pyramid
Reshaping the Testing Pyramid
 
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build test
 
OpenERP R&D
OpenERP R&DOpenERP R&D
OpenERP R&D
 
Era of server less computing
Era of server less computingEra of server less computing
Era of server less computing
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...
Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...
Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...
 
Era of server less computing final
Era of server less computing finalEra of server less computing final
Era of server less computing final
 
Continuous Deployment of your Application @JUGtoberfest
Continuous Deployment of your Application @JUGtoberfestContinuous Deployment of your Application @JUGtoberfest
Continuous Deployment of your Application @JUGtoberfest
 
New life inside monolithic application
New life inside monolithic applicationNew life inside monolithic application
New life inside monolithic application
 
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
 
Cincom Smalltalk Roadmap 2010
Cincom Smalltalk Roadmap 2010Cincom Smalltalk Roadmap 2010
Cincom Smalltalk Roadmap 2010
 
Data harmony update 2021
Data harmony update 2021 Data harmony update 2021
Data harmony update 2021
 
Play with azure functions
Play with azure functionsPlay with azure functions
Play with azure functions
 
Azure Functions in Action #CodePaLOUsa
Azure Functions in Action #CodePaLOUsaAzure Functions in Action #CodePaLOUsa
Azure Functions in Action #CodePaLOUsa
 

Recently uploaded

Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Hivelance Technology
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
NaapbooksPrivateLimi
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 

Recently uploaded (20)

Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 

BOSE - Josh Steckler - Automating Automation: Build environments, on-demand

  • 1.
  • 2. Automating Automation | Bose Corporation 2 Automating Automation: Build Environments, On-Demand Josh Steckler Bose Corporation
  • 3. Automating Automation | Bose Corporation 3 Who am I? • Software Engineer • 7 Years at Bose • Scrum Master • Lead for ElectricFlow, JIRA
  • 4. Automating Automation | Bose Corporation 4 Bose • Based in Massachusetts • 51 years • Products come from research • Audio & Non-audio products
  • 5. Automating Automation | Bose Corporation 5 Bose is Global x5
  • 6. Automating Automation | Bose Corporation 6 Bose & DevOps • Centralized Engineering Software & Tools Team • Enterprise, integration, automation & Self Service focus • Typically engage for new development, hands off for day to day operations
  • 7. Automating Automation | Bose Corporation 7 The Team • 3 software engineers, 2 system administrators • Located in HQ, support over 2000 users • Steady headcount with more products developed • In EF: 108 projects, ~3000 jobs/day • Product development focus • Grown from Tool Supporters to DevOps – provide more value
  • 8. Automating Automation | Bose Corporation 8 Changing industry = More Software
  • 9. Automating Automation | Bose Corporation 9 Product Growth Challenge • How do we support a massive increase in software? • How much would overhead increase? • Needed to revisit our entire environment
  • 10. Automating Automation | Bose Corporation 10 Starting Point: Home Grown System • Not scalable, time consuming configuration • Different divisions – different systems • No build status visibility – manual log checking • No job management – failures caused issues • No management UI – hard to learn • Hard to share responsibility
  • 11. Automating Automation | Bose Corporation 11 Adoption of Electric Flow Small pilot project in one division Gradual, bottom-up viral adoption Remainder of pilot division migrates to EF Success story shared and adoption spreads to more divisions
  • 12. Automating Automation | Bose Corporation 12 How we got there: 1. Just get it running – copy & paste existing scripts 2. Incremental improvements 3. Automate! 4. Utilize Advanced Features 5. Retirement of old systems
  • 13. Automating Automation | Bose Corporation 13 First Run • Started with one project, one build resource • No build script changes • Hard coded properties • Comparisons to old system’s deliverables – ensure process is valid
  • 14. Automating Automation | Bose Corporation 14 Improvements • Properties – Data Storage, “variables” • Parameters – runtime “arguments” • Abstract variables into Properties or Parameters • Split existing code into Job Steps • Time based scheduling
  • 15. Automating Automation | Bose Corporation 15 Procedure Library Examples – Selecting a resource – SVN checkout – Testing (Klocwork) – Deploy to server Why use a library? – Version Control – Roll out enhancements globally – Change management – Standardization
  • 16. Automating Automation | Bose Corporation 16 Procedure Standardization
  • 17. Automating Automation | Bose Corporation 17 Automate! • Goal: Increase adoption without increasing overhead • Phase One: create new projects – Started by copying and renaming – Permissions issues. Different divisions, different access levels were not implemented – Changing code in several places
  • 18. Automating Automation | Bose Corporation 18 Phase Two: “Create Project” Procedure • Self Service – no service ticket required • Utilizes ec-perl API • Default build procedure template • Default properties & parameters set • Set Permissions accurately
  • 19. Automating Automation | Bose Corporation 19 A unique system for each vehicle Audi A3 Q3 A6 3.0 Turbo Tweeter Woofer Amplifiers DSP Etc. 3.0 Diesel A7 Q7 A8 TT
  • 20. Automating Automation | Bose Corporation 20
  • 21. Automating Automation | Bose Corporation 21 Managing Product Complexity • Automotive products have a complex matrix of dependencies • How to make correctly run build? • Phase One: Flexible, but unmanaged build parameter inputs – Error prone – Required specialized syntax, hard to learn
  • 22. Automating Automation | Bose Corporation 22 Phase Two: Guided User Input Screen • Easy to learn and use • Able to scale a complex matrix • Don’t allow invalid parameters • Implemented as a Plugin – Version controlled
  • 23. Automating Automation | Bose Corporation 23 Guided User Input
  • 24. Automating Automation | Bose Corporation 24 Guided User Input
  • 25. Automating Automation | Bose Corporation 25 Input Validation - Syntax
  • 26. Automating Automation | Bose Corporation 26 Input Validation - Logic
  • 27. Automating Automation | Bose Corporation 27 Build Data Management System • Refreshes every 15 mins • Info on build dependencies • Stores data in nested property sheets
  • 28. Automating Automation | Bose Corporation 28 More Layers of Complexity • Need to run the same process over a variable number of components • Can’t know the right components until runtime • Doing all components too time consuming
  • 29. Automating Automation | Bose Corporation 29 Build Steps Unknown • Goal: Build avoidance - handle variable number of changed components • Phase One (considered, never implemented): – Just use a loop in a single step – Hard to report status – Wouldn’t make use of procedure library
  • 30. Automating Automation | Bose Corporation 30 Phase Two: Dynamic Jobs • Construct the job at runtime to only build what is necessary, skip the rest • “Metaprogramming” – job transforms itself while running • EF API createJobStep
  • 31. Automating Automation | Bose Corporation 31 Outside the Box - Automation Platform • Group has lots of systems to manage • Backups, integrity checks, standard maintenance jobs, etc. • Goal: Take advantage of EF as an automation platform for administrative/IT operations
  • 32. Automating Automation | Bose Corporation 32 Flow – an IT Automation Platform? • Notifications, reporting, scheduling and resource management
  • 33. Automating Automation | Bose Corporation 33 Where are we going? • Integrations with other applications – JIRA • Continue adoption: rest of product development, website group
  • 34. Automating Automation | Bose Corporation 34 Thanks! • Questions? • Josh_Steckler@bose.com

Editor's Notes

  1. We are a privately held 51 year old company based in Massachusetts. Our founder was a MIT professor, and he left a legacy of creating products to make people’s lives better. You all know our headphones & wireless speakers etc., but we’ve also developed some things that may surprise you, such as an automotive suspension system and a vibration reducing seat for long-haul truckers.
  2. Although we’re based in Massachusetts, our engineering community is global. Having such a wide footprint obviously has its challenges. We have people working around the clock. How do you support engineers in the most efficient way? How do you work around the time difference? How do you train users, sites and processes you may never see? Unfortunately I can’t fix all of these – but automating our processes whenever and wherever we can is a good place to start.
  3. At bose, we’ve centralized our engineering support functions. It has its challenges, but we feel that the centralized approach allows us to provide more value by allowing our product engineers to focus on product development. Since we work in these tools day in and day out, we become experts quickly and we continuously improve our ecosystem with things we’ve learned from each new effort we embark on. There’s challenges of operating like this of course, the chief being the struggle between the whole company’s need to streamline development processes and the individual’s desire to have their environment be exactly what they want, and to control it themselves. You’ve got to find the right balance. We empower people to use self-service whenever we can in an effort to reduce overhead. This allows us to focus more on high-value initiatives. My group provides a full environment from version control, issue tracking, project management, code reviews, static analysis tools and an automation platform.
  4. Our team is 5 people, and we’re all located in Bose’s corporate headquarters in Massachusetts. In the past five years, the team has had a steady headcount, but Bose’s product output has exploded., We bring more products to market each year now than we ever have in the past.
  5. The music industry has, like many others, changed rapidly. It wasn’t too long ago when cars still came with tape decks, even though CDs have been around for quite a long time. But when audio devices like the ipod became popular, the game started to change. Very quickly, we went from having dedicated music devices to, storing the files locally on a hard drive, to using our phones and streaming the music from the internet. Streaming has taken over and there’s so many different choices and variations to keep up with. Spotify only launched in the US in 2011. So, in a matter of a few years, we went from fairly standardized sources, like a CD or a 30 pin ipod connector, to a huge number of variations in devices and services. And the way we actually listen has changed too. I suspect most of us no longer use multi-component systems. We use Bluetooth or other connectivity protocols to control the experience from our phones. The amount of software, and the complexity of the software in our products increased dramatically too.
  6. Details about the deployment resonates with engineers
  7. Did not start with focus on security
  8. Version Control – can Roll out enhancement globally – all changes are instantly applied to all projects Make it in terms of the story we’re telling – what challenges we had when expanding We made our library procedures smart enough to handle the same operation on all operating systems
  9. Got this from https://globalpressroom.bose.com/us-en/assets/view/8380 it’s public material
  10. Management of the data is automated
  11. System won’t let you build with invalid options
  12. What’s the pain?
  13. Eating our own dogfood