SlideShare ist ein Scribd-Unternehmen logo
1 von 57
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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 
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
 

Was ist angesagt? (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
 

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

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
MvkZ
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
MvkZ
 
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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 

Kürzlich hochgeladen (20)

WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 

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.

Hinweis der Redaktion

  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. «