SlideShare a Scribd company logo
Keep Your Head in the Clouds 
Blackboard’s Transition from Enterprise to Cloud 
Software Through DevOps 
David Ashman 
Chief Architect, Cloud Architecture 
@davidbashman
● The industry leader in educational 
technology and services 
● 17 years young 
● Privately held 
● $450M revenue at time of going private 
● Headquarters in Washington, DC
Blackboard Learn 
● 17 year old codebase with roots in Perl 
● Millions of lines of Java code (Hybrid Java/Perl for many 
years) 
● 7 development/operations offices, worldwide 
● 700 people between development, testing and 
operations (All products) 
● ~3000 virtual machines across 1000 clients in hosting 
● ~8PB of content and data storage
We are a horse.
And like so many of you... 
● 6+ month lead times 
● Technical debt 
● High update failure rates 
● Poor communication paths from development to 
operations 
● Poor feedback loops from operations to development
But through the art of DevOps...
We are a horse.
We are a horse. 
^
What changed? 
● Automation 
● Cloud Infrastructure 
● Culture
Automation
# of code commits
24-36 Hours
Mike McGarr
# of code commits
# of code commits
# of code commits
152-43-03 6M Hinouutress
But wait... There’s more! 
Functional Acceptance Testing
Value 
5 minutes 
Create 
Ticket 
4 hours 15 minutes 
1 hour 1 hour 
Commit/ 
Build/ 
Integrate 
5 
minutes 
Problem! 
Code Test Suite 
Analyze 
Failed 
Tests 
5 
minutes 
36 
hours 
24 
hours 
6 hours (value) 
70 hours total time 
= 9% Efficient 
Waste (wait) 
15 minutes 
Assign 
Ticket 
6 
hours
Development 
Testing 
(2-5 days) 
Commit 
Ticket 
Project 
Management 
3-6+ days
100s of Failures 
60% script issues 
(invalid tests, out of sync with functionality) 
30% data/environment issues 
(data left in the database or filesystem) 
7% pre-existing issues 
3% newly discovered issues
Problem
The Problem 
● Elongated testing cycles (3+ months) 
● Longer time to market 
● Reduced visibility to our development team 
● Long delays between coding and fixing 
● Too much noise distracting us from product 
improvements
Test Automation 
● TDD 
● Fully automated acceptance testing pipeline 
● < 30m acceptance test feedback 
● New testing approaches (Jasmine, Protractor, 
RESTAssured) 
6+ month lead time 
1-2 week lead time
Cloud Infrastructure
Product Development Operations 
!= != 
Development Test Production
Deployment Environments 
● Snowflakes - No two environments were alike 
● Completely different deployment methods 
o Manual development builds 
o Automated installs in testing 
o Gold master images in production 
● Completely different deployment architectures 
o Windows development machines 
o Linux VMs in testing 
o Linux clusters in production
Development Operations
Learn in the Cloud 
● Everything, from the ground up, is automated. 
● Orchestration in code - stored in SCC, executed in ALL 
deployment environments. 
● On demand provisioning for developers. 
o Still develop on their laptops, but can now test in a real 
deployment environment.
BbCloud 
● OpenStack in our data centers 
● Abstract cloud fabric to gain benefits in both clouds 
● Centralized, standardized Chef automation 
● Increased visibility for development 
o Monitoring, APM, statsd, centralized logging
Culture
“QA is responsible for defining the testing strategy.” 
“QA is responsible for checking quality when a feature is 
done.” 
“Unit testing is not enough to verify a feature.”
Development Operations
Executive Buy-in
What we’ve achieved 
● Development teams deploying their production 
environments. 
● Developers solving operational issues in production. 
● Open feedback loops on operational issues. 
● Data-driven decisions based on that feedback.
I might be able to help... 
● Understand the impact that cloud computing can have 
on DevOps even in an “enterprise” company. 
● Understand the cost models comparing cloud 
computing and traditional hosting. 
● Frame your pitch to the executive team to make 
material changes in your company culture.
I’d like to learn more about... 
● Effective testing strategies for traditionally manual tests 
(UI, etc). 
● Applying DevOps strategies for shipped-to-premise 
software.
Thanks! 
dashman@blackboard.com 
@davidbashman

More Related Content

What's hot

Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
COMAQA.BY
 
Object-oriented design for infrastructure-as-a-code - Anna Bankirer
Object-oriented design for infrastructure-as-a-code - Anna BankirerObject-oriented design for infrastructure-as-a-code - Anna Bankirer
Object-oriented design for infrastructure-as-a-code - Anna Bankirer
DevOpsDays Tel Aviv
 
Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?
Chandler Anderson
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
Smartling
 
How we improved iOS delivery speed from QA side
How we improved iOS delivery speed from QA sideHow we improved iOS delivery speed from QA side
How we improved iOS delivery speed from QA side
Kateryna Sprynsian
 
Continuous delivery in practice (public)
Continuous delivery in practice (public)Continuous delivery in practice (public)
Continuous delivery in practice (public)
Tzach Zohar
 
Continuous Testing in DevOps
Continuous Testing in DevOpsContinuous Testing in DevOps
Continuous Testing in DevOps
TechWell
 
Zero Latency: Building a Telemetry Platform on the Elastic Stack
Zero Latency: Building a Telemetry Platform on the Elastic StackZero Latency: Building a Telemetry Platform on the Elastic Stack
Zero Latency: Building a Telemetry Platform on the Elastic Stack
Elasticsearch
 
Creating test stability to create continuous delivery
Creating test stability to create continuous deliveryCreating test stability to create continuous delivery
Creating test stability to create continuous delivery
Trisha Chetani
 
Laptop Devops: Putting Modern Infrastructure Automation to Work For Local Dev...
Laptop Devops: Putting Modern Infrastructure Automation to Work For Local Dev...Laptop Devops: Putting Modern Infrastructure Automation to Work For Local Dev...
Laptop Devops: Putting Modern Infrastructure Automation to Work For Local Dev...
Thoughtworks
 
How To Build Auto-Adaptive Machine Learning Models with Kubernetes
How To Build Auto-Adaptive Machine Learning Models with KubernetesHow To Build Auto-Adaptive Machine Learning Models with Kubernetes
How To Build Auto-Adaptive Machine Learning Models with Kubernetes
cnvrg.io AI OS - Hands-on ML Workshops
 
Fundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDFundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CD
Batyr Nuryyev
 
Notes from sqa days 17.pptx
Notes from sqa days 17.pptxNotes from sqa days 17.pptx
Notes from sqa days 17.pptx
Serg Ivashchenko
 
There and back again, Our journey with QA Reports and metrics
There and back again, Our journey with QA Reports and metricsThere and back again, Our journey with QA Reports and metrics
There and back again, Our journey with QA Reports and metrics
Zbyszek Mockun
 
Tapjoy OpenStack Summit Paris Breakout Session
Tapjoy OpenStack Summit Paris Breakout SessionTapjoy OpenStack Summit Paris Breakout Session
Tapjoy OpenStack Summit Paris Breakout Session
Weston Jossey
 
Essentielle værktøjer for det agile team
Essentielle værktøjer for det agile teamEssentielle værktøjer for det agile team
Essentielle værktøjer for det agile team
BestBrains
 
DevOps
DevOpsDevOps
Integration testing in enterprises using TaaS
Integration testing in enterprises using TaaS Integration testing in enterprises using TaaS
Integration testing in enterprises using TaaS
Anand Bagmar
 
The Key to DevOps? Testing Early in the Pipeline
The Key to DevOps? Testing Early in the PipelineThe Key to DevOps? Testing Early in the Pipeline
The Key to DevOps? Testing Early in the Pipeline
DevOps.com
 
Patterns of a "Good" Test Automation Framework, Locators & Data
Patterns of a "Good" Test Automation Framework, Locators & DataPatterns of a "Good" Test Automation Framework, Locators & Data
Patterns of a "Good" Test Automation Framework, Locators & Data
Agile Testing Alliance
 

What's hot (20)

Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
 
Object-oriented design for infrastructure-as-a-code - Anna Bankirer
Object-oriented design for infrastructure-as-a-code - Anna BankirerObject-oriented design for infrastructure-as-a-code - Anna Bankirer
Object-oriented design for infrastructure-as-a-code - Anna Bankirer
 
Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
 
How we improved iOS delivery speed from QA side
How we improved iOS delivery speed from QA sideHow we improved iOS delivery speed from QA side
How we improved iOS delivery speed from QA side
 
Continuous delivery in practice (public)
Continuous delivery in practice (public)Continuous delivery in practice (public)
Continuous delivery in practice (public)
 
Continuous Testing in DevOps
Continuous Testing in DevOpsContinuous Testing in DevOps
Continuous Testing in DevOps
 
Zero Latency: Building a Telemetry Platform on the Elastic Stack
Zero Latency: Building a Telemetry Platform on the Elastic StackZero Latency: Building a Telemetry Platform on the Elastic Stack
Zero Latency: Building a Telemetry Platform on the Elastic Stack
 
Creating test stability to create continuous delivery
Creating test stability to create continuous deliveryCreating test stability to create continuous delivery
Creating test stability to create continuous delivery
 
Laptop Devops: Putting Modern Infrastructure Automation to Work For Local Dev...
Laptop Devops: Putting Modern Infrastructure Automation to Work For Local Dev...Laptop Devops: Putting Modern Infrastructure Automation to Work For Local Dev...
Laptop Devops: Putting Modern Infrastructure Automation to Work For Local Dev...
 
How To Build Auto-Adaptive Machine Learning Models with Kubernetes
How To Build Auto-Adaptive Machine Learning Models with KubernetesHow To Build Auto-Adaptive Machine Learning Models with Kubernetes
How To Build Auto-Adaptive Machine Learning Models with Kubernetes
 
Fundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDFundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CD
 
Notes from sqa days 17.pptx
Notes from sqa days 17.pptxNotes from sqa days 17.pptx
Notes from sqa days 17.pptx
 
There and back again, Our journey with QA Reports and metrics
There and back again, Our journey with QA Reports and metricsThere and back again, Our journey with QA Reports and metrics
There and back again, Our journey with QA Reports and metrics
 
Tapjoy OpenStack Summit Paris Breakout Session
Tapjoy OpenStack Summit Paris Breakout SessionTapjoy OpenStack Summit Paris Breakout Session
Tapjoy OpenStack Summit Paris Breakout Session
 
Essentielle værktøjer for det agile team
Essentielle værktøjer for det agile teamEssentielle værktøjer for det agile team
Essentielle værktøjer for det agile team
 
DevOps
DevOpsDevOps
DevOps
 
Integration testing in enterprises using TaaS
Integration testing in enterprises using TaaS Integration testing in enterprises using TaaS
Integration testing in enterprises using TaaS
 
The Key to DevOps? Testing Early in the Pipeline
The Key to DevOps? Testing Early in the PipelineThe Key to DevOps? Testing Early in the Pipeline
The Key to DevOps? Testing Early in the Pipeline
 
Patterns of a "Good" Test Automation Framework, Locators & Data
Patterns of a "Good" Test Automation Framework, Locators & DataPatterns of a "Good" Test Automation Framework, Locators & Data
Patterns of a "Good" Test Automation Framework, Locators & Data
 

Similar to DOES14 - David Ashman, Blackboard Learn - Keep Your Head in the Clouds Tuesday 10.10 - david ashman -final

[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
Roberto Pérez Alcolea
 
Transforming to OpenStack: a sample roadmap to DevOps
Transforming to OpenStack: a sample roadmap to DevOpsTransforming to OpenStack: a sample roadmap to DevOps
Transforming to OpenStack: a sample roadmap to DevOps
Nicolas (Nick) Barcet
 
The Complexity to "Yes" in Analytics Software and the Possibilities with Dock...
The Complexity to "Yes" in Analytics Software and the Possibilities with Dock...The Complexity to "Yes" in Analytics Software and the Possibilities with Dock...
The Complexity to "Yes" in Analytics Software and the Possibilities with Dock...
Docker, Inc.
 
Delivering Better Software Faster (Without Breaking Everything)
Delivering Better Software Faster (Without Breaking Everything)Delivering Better Software Faster (Without Breaking Everything)
Delivering Better Software Faster (Without Breaking Everything)
XebiaLabs
 
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)
Neotys_Partner
 
Innovate Better Through Machine data Analytics
Innovate Better Through Machine data AnalyticsInnovate Better Through Machine data Analytics
Innovate Better Through Machine data Analytics
Hal Rottenberg
 
The Business Value of PaaS Automation - Kieron Sambrook-Smith - Presentation ...
The Business Value of PaaS Automation - Kieron Sambrook-Smith - Presentation ...The Business Value of PaaS Automation - Kieron Sambrook-Smith - Presentation ...
The Business Value of PaaS Automation - Kieron Sambrook-Smith - Presentation ...
eZ Systems
 
DOES14: Scott Prugh, CSG - DevOps and Lean in Legacy Environments
DOES14: Scott Prugh, CSG - DevOps and Lean in Legacy EnvironmentsDOES14: Scott Prugh, CSG - DevOps and Lean in Legacy Environments
DOES14: Scott Prugh, CSG - DevOps and Lean in Legacy Environments
DevOps Enterprise Summmit
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
MvkZ
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
sKaushikNarayanan
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
sKaushikNarayanan
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
MvkZ
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
MvkZ
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
sKaushikNarayanan
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
MvkZ
 
DOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy Environments
DOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy EnvironmentsDOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy Environments
DOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy Environments
Gene Kim
 
From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]
Dynatrace
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
OCTO Technology
 
SplunkLive! London 2016 Splunk for Devops
SplunkLive! London 2016 Splunk for DevopsSplunkLive! London 2016 Splunk for Devops
SplunkLive! London 2016 Splunk for Devops
Splunk
 
DevOps on Oracle Cloud
DevOps on Oracle CloudDevOps on Oracle Cloud
DevOps on Oracle Cloud
Mee Nam Lee
 

Similar to DOES14 - David Ashman, Blackboard Learn - Keep Your Head in the Clouds Tuesday 10.10 - david ashman -final (20)

[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
 
Transforming to OpenStack: a sample roadmap to DevOps
Transforming to OpenStack: a sample roadmap to DevOpsTransforming to OpenStack: a sample roadmap to DevOps
Transforming to OpenStack: a sample roadmap to DevOps
 
The Complexity to "Yes" in Analytics Software and the Possibilities with Dock...
The Complexity to "Yes" in Analytics Software and the Possibilities with Dock...The Complexity to "Yes" in Analytics Software and the Possibilities with Dock...
The Complexity to "Yes" in Analytics Software and the Possibilities with Dock...
 
Delivering Better Software Faster (Without Breaking Everything)
Delivering Better Software Faster (Without Breaking Everything)Delivering Better Software Faster (Without Breaking Everything)
Delivering Better Software Faster (Without Breaking Everything)
 
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)
 
Innovate Better Through Machine data Analytics
Innovate Better Through Machine data AnalyticsInnovate Better Through Machine data Analytics
Innovate Better Through Machine data Analytics
 
The Business Value of PaaS Automation - Kieron Sambrook-Smith - Presentation ...
The Business Value of PaaS Automation - Kieron Sambrook-Smith - Presentation ...The Business Value of PaaS Automation - Kieron Sambrook-Smith - Presentation ...
The Business Value of PaaS Automation - Kieron Sambrook-Smith - Presentation ...
 
DOES14: Scott Prugh, CSG - DevOps and Lean in Legacy Environments
DOES14: Scott Prugh, CSG - DevOps and Lean in Legacy EnvironmentsDOES14: Scott Prugh, CSG - DevOps and Lean in Legacy Environments
DOES14: Scott Prugh, CSG - DevOps and Lean in Legacy Environments
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
 
DOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy Environments
DOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy EnvironmentsDOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy Environments
DOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy Environments
 
From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
SplunkLive! London 2016 Splunk for Devops
SplunkLive! London 2016 Splunk for DevopsSplunkLive! London 2016 Splunk for Devops
SplunkLive! London 2016 Splunk for Devops
 
DevOps on Oracle Cloud
DevOps on Oracle CloudDevOps on Oracle Cloud
DevOps on Oracle Cloud
 

Recently uploaded

Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
kalichargn70th171
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 

Recently uploaded (20)

Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 

DOES14 - David Ashman, Blackboard Learn - Keep Your Head in the Clouds Tuesday 10.10 - david ashman -final

  • 1. Keep Your Head in the Clouds Blackboard’s Transition from Enterprise to Cloud Software Through DevOps David Ashman Chief Architect, Cloud Architecture @davidbashman
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7. ● The industry leader in educational technology and services ● 17 years young ● Privately held ● $450M revenue at time of going private ● Headquarters in Washington, DC
  • 8.
  • 9. Blackboard Learn ● 17 year old codebase with roots in Perl ● Millions of lines of Java code (Hybrid Java/Perl for many years) ● 7 development/operations offices, worldwide ● 700 people between development, testing and operations (All products) ● ~3000 virtual machines across 1000 clients in hosting ● ~8PB of content and data storage
  • 10. We are a horse.
  • 11. And like so many of you... ● 6+ month lead times ● Technical debt ● High update failure rates ● Poor communication paths from development to operations ● Poor feedback loops from operations to development
  • 12. But through the art of DevOps...
  • 13. We are a horse.
  • 14. We are a horse. ^
  • 15. What changed? ● Automation ● Cloud Infrastructure ● Culture
  • 17. # of code commits
  • 18.
  • 19.
  • 22.
  • 23. # of code commits
  • 24. # of code commits
  • 25. # of code commits
  • 26.
  • 28.
  • 29. But wait... There’s more! Functional Acceptance Testing
  • 30. Value 5 minutes Create Ticket 4 hours 15 minutes 1 hour 1 hour Commit/ Build/ Integrate 5 minutes Problem! Code Test Suite Analyze Failed Tests 5 minutes 36 hours 24 hours 6 hours (value) 70 hours total time = 9% Efficient Waste (wait) 15 minutes Assign Ticket 6 hours
  • 31. Development Testing (2-5 days) Commit Ticket Project Management 3-6+ days
  • 32. 100s of Failures 60% script issues (invalid tests, out of sync with functionality) 30% data/environment issues (data left in the database or filesystem) 7% pre-existing issues 3% newly discovered issues
  • 34. The Problem ● Elongated testing cycles (3+ months) ● Longer time to market ● Reduced visibility to our development team ● Long delays between coding and fixing ● Too much noise distracting us from product improvements
  • 35. Test Automation ● TDD ● Fully automated acceptance testing pipeline ● < 30m acceptance test feedback ● New testing approaches (Jasmine, Protractor, RESTAssured) 6+ month lead time 1-2 week lead time
  • 37. Product Development Operations != != Development Test Production
  • 38.
  • 39. Deployment Environments ● Snowflakes - No two environments were alike ● Completely different deployment methods o Manual development builds o Automated installs in testing o Gold master images in production ● Completely different deployment architectures o Windows development machines o Linux VMs in testing o Linux clusters in production
  • 41.
  • 42.
  • 43.
  • 44. Learn in the Cloud ● Everything, from the ground up, is automated. ● Orchestration in code - stored in SCC, executed in ALL deployment environments. ● On demand provisioning for developers. o Still develop on their laptops, but can now test in a real deployment environment.
  • 45. BbCloud ● OpenStack in our data centers ● Abstract cloud fabric to gain benefits in both clouds ● Centralized, standardized Chef automation ● Increased visibility for development o Monitoring, APM, statsd, centralized logging
  • 47.
  • 48. “QA is responsible for defining the testing strategy.” “QA is responsible for checking quality when a feature is done.” “Unit testing is not enough to verify a feature.”
  • 51.
  • 52.
  • 53. What we’ve achieved ● Development teams deploying their production environments. ● Developers solving operational issues in production. ● Open feedback loops on operational issues. ● Data-driven decisions based on that feedback.
  • 54.
  • 55. I might be able to help... ● Understand the impact that cloud computing can have on DevOps even in an “enterprise” company. ● Understand the cost models comparing cloud computing and traditional hosting. ● Frame your pitch to the executive team to make material changes in your company culture.
  • 56. I’d like to learn more about... ● Effective testing strategies for traditionally manual tests (UI, etc). ● Applying DevOps strategies for shipped-to-premise software.

Editor's Notes

  1. So who am I. I build things for Blackboard.
  2. And I think a lot. Though, usually I do this with clothes on… especially at the office.
  3. Sometimes I manage people
  4. But really, I build things for Blackboard.
  5. And just generally try to make things better. And this presentation is about just that – making things better at Blackboard through DevOps.
  6. First a little bit about Blackboard: Went private in 2011
  7. Extensive portfolio of teaching and learning, communications and analytics products and services. These products serve all stages of education from K through16 and on into adult continuing education. But today I’m going to focus on our flagship Learn platform.
  8. Backstory - Gene Kim (the conference creator) describes companies as unicorns (“fictionally” perfect companies like Netflix, Ebay, Etsy, Facebook, etc) and horses (everyone else). He postulates that DevOps is even more valuable to the horses than the unicorns of the world.
  9. Describes the common enterprise issues that we face like so many other companies at the conference. Creates connection with others at the conference.
  10. Draws focus towards our improvements as a company.
  11. For the product, we wanted to increase our release cadence and fix issues faster in the field. To do this, we took on modularizing our product.
  12. Tried to contain the growth by introducing tools to improve the build performance and visibility.
  13. Ultimately, we were building a monolith. And with that came: Poor product quality Slower release times More instability Slower developer productivity
  14. The machine was getting more and more complex and error prone. And the larger the product got, the longer the lead times got. 24-36 Hour integration feedback
  15. Enter Mike McGarr. Though no longer at Blackboard, he was hired by Steve Feldman, another former blackboarder here this week, to really kickstart DevOps.
  16. Mike brought a different mindset to our team. He started to push the team to think about new ideas.
  17. For the product, we wanted to increase our release cadence and fix issues faster in the field. To do this, we took on modularizing our product.
  18. For the product, we wanted to increase our release cadence and fix issues faster in the field. To do this, we took on modularizing our product.
  19. This made for some impressive improvements in code modularity and in combination with the updates to our build process, better feedback to the developers. This graph shows the shift from our previous monolithic codebase to our modular codebase that can be built in pieces.
  20. He replaced the antiquated build tools. He started to introduce automation tools like Chef and Puppet to our integration test infrastructure. And this wasn’t just replacing our current build with a new one. He was introducing tools that allowed developers to do their own operations work. He was taking us towards DevOps.
  21. Old acceptance tests *heavily* skewed towards GUI tests.
  22. Differentiation between test deployment environments creates inconsistent testing results. “It worked on my machine” syndrome.
  23. Chef began to take hold, but we had two completely separate efforts with minimal knowledge sharing.
  24. The promise of cloud computing was our next stage.
  25. I got the opportunity to build a super team of development and operations engineers to take on an shadow project - to take our flagship product, Blackboard Learn, into the cloud.
  26. As an organization, we were very siloed. Every team just packaged up a deliverable and passed it over to the next team. Dev built a product and handed it off to QA for testing. Washed it’s hands and moved on. QA handed the GA build to operations and washed it’s hands. Operations was left on it’s own to make it work with very little feedback to the development team. There was no shared responsibility.
  27. Key to cultural change at Blackboard was executive buy in. Once the team saw that the leadership wanted devops, the tide shifted.
  28. Single biggest change was bringing the groups together into one organization. We put people in leadership positions that cared about development and operations in one. We placed development groups into the infrastructure and IT teams. We integrated application operations teams back into the development teams.
  29. And we automated all the things! No, you can’t automate culture changes. This takes human capital.
  30. And most importantly, we are finally talking.
  31. I was honored to be invited to speak along side some of the leaders in DevOps. I hope that I can offer something back to the community here. «