Presentation was a part of FIT CVUT / MI-AIT (Případové studie aplikace a řízení IT).
We compare the traditional organization model of separate teams for engineering, QA and operations to the DevOps model using autonomous cross-functional teams. The presentation uses GoodData as a case study.
2. FIT CVUT / MI-AIT (Případové studie aplikace a řízení IT) / Oct 16 2013
GoodData:
The DevOps Story
Jaroslav Gergic
VP, RD & Operations
2013 GoodData Corporation. All rights reserved.
6. WHY GOODDATA
1,000,000 20B 1
data integrations per week
Rows Under
Management
Delightful
Interface
99.5% 28k
50+
84.7%
PoweredBy
Partners
Adoption
Uptime SLA
20,000
Data Warehouses
Under
Management
2013 GoodData Corporation. All rights reserved.
Users at one
customer
73,000
Satisfied Users
Security
Certified
9. GoodData back in 2008...
FRONTEND
ENGINEERING
BACKEND
ENGINEERING
QA
OPERATIONS
traditional structure - functional separation
▸ handovers between teams
▸ QA is there to protect OPERATIONS
▸ ~20 people in R&D, QA and Operations
▸
2013 GoodData Corporation. All rights reserved.
11. Traditional structure - PROS
ENGINEERING
▸
▸
▸
▸
QA
functional specialization
consistency
OPERATIONS
economies of scale
flexibility to reallocate resources within department
2013 GoodData Corporation. All rights reserved.
12. Traditional structure - CONS
ENGINEERING
QA
▸ lack of ownership
▸ throwing stuff over the wall
OPERATIONS
▸ tendency to blame culture
▸ delays caused by handovers
▸ tendency to create bottlenecks while scaling
2013 GoodData Corporation. All rights reserved.
13. GoodData back in 2011...
UI
APP
ROLAP
AMS
QA
OPERATIONS
▸
▸
▸
▸
~55 people in total at the time
still keeping the traditional structure
starting to feel the pain
DevOps to the rescue!
2013 GoodData Corporation. All rights reserved.
CPS
15. DevOps in a SaaS Company
▶ Beware: The code you write can wake you up in the
middle of the night! (Literally speaking.)
2013 GoodData Corporation. All rights reserved.
16. DevOps in a SaaS Company
▶ What is DevOps?
○ integrated cross-functional teams
○ Development + QA + Operations
▶ OK, so What do DevOps do?
○ It is not only about developing software, it is also about
running it on behalf of your customers:
■ monitoring, error reporting & alerting
■ ongoing performance optimizations & fine tuning
■ incremental feature rollouts (risk mitigation)
▶ All the above influences the way we architect and
develop our software and technologies we use.
2013 GoodData Corporation. All rights reserved.
17. DevOps - PROS
▸ sense of ownership
▸ alignment of priorities
▸
ENGINEERS
+
QA
+
OPS
all functions part of one team
▸ bigger autonomy
▸
can do releases on team level
▸ no handovers (throwing stuff over the wall)
▸
leading to shorter cycle times
2013 GoodData Corporation. All rights reserved.
18. DevOps - CONS
▸ limited functional separation
▸
▸
ENGINEERS
+
QA
+
OPS
assuming small agile teams
harder to recruit people with wide range set of skills
▸ limited flexibility
▸ harder changes beyond and above team level
▸ security
▸ more people with production access keys
2013 GoodData Corporation. All rights reserved.
19. DevOps++ Concept
▸ bringing DevOps to the next level
▸ adding technical product manager
▸
▸
▸
▸
a.k.a. functional architect
a.k.a. product owner
also UI designer in some teams
PM
+
ENGINEERS
+
QA
+
OPS
even tighter loop of the development process
▸
removed handover between PM and R&D
2013 GoodData Corporation. All rights reserved.
20. GoodData DevOps in 2013
▸
~90 people in about ~12 teams
▸
▸
each team owns subset of production servers
▸
▸
a sub-cluster in GoodData terminology
1 major release each month
▸
▸
most of them using DevOps++ model
coordinated across all teams
while delivering ~60% of features independently
▸
in zero-downtime releases twice a week
2013 GoodData Corporation. All rights reserved.