SlideShare a Scribd company logo
1 of 96
Download to read offline
Conquer CI Server!
Re-establishment of Order and
Nurture of the Solid Organization
by Project Metrics and Automation Techniques
Apr/16/2015
Hiroyuki Ito, Kazuhisa Naoi
Rakuten, Inc.
http://www.rakuten.co.jp/
2
Hiroyuki Ito (The Hiro)
@hageyahhoo
Former Agile Coach
from Test-Driven
Development Group
Who are you? (1)
3
A speaker of Agile2014
Please check presentation and paper 
4
Who are you? (2)
Kazuhisa Naoi
Travel Extranet Group
Travel Product Development Section
Travel Service Development Department
Rakuten, Inc.
Group Manager
5
This is a real Kaizen story of Rakuten Travel in 2014.
6
2. The importance of Strategy Formulation
3. Benefit of Infrastructure as Code
Theme
1. Project Metrics
4. Technology-Driven Development
7
Main theme
1. Project Metrics
8
Agenda
2. What should we show as accomplishments?
3. How could we reduce the load of CI server?
4. How could we nurture members and teams?
5. Conclusion
1. Challenges
9
Agenda
2. What should we show as accomplishments?
3. How could we reduce the load of CI server?
4. How could we nurture members and teams?
5. Conclusion
1. Challenges
The importance of Strategy Formulation
Benefit of Infrastructure as Code
Technology-Driven Development
Project Metrics
Project Metrics
Project Metrics
Project Metrics
10
2. What should we show as accomplishments?
3. How could we reduce the load of CI server?
4. How could we nurture members and teams?
5. Conclusion
1. Challenges at that time
11
The Hiro was just writing this paper
for Agile2014 at that time!
The end of June 2014
12
If we add jobs more,
CI server will stop and
we cannot provide services!
We couldn’t deliver
products on time
due to the overload of CI server!
Troubles came here!
13
Our status at that time
No responsibilities of CI server
to configure, monitor, and operate.
Leading automation at one QA project
• Implementing Build Pipeline
• Realizing Release Automation
• Introducing Smoke Testing
Leading a big project
as a manager
to make their systems multilingual
14
We decided to solve
these troubles!
15
Over 400 jobs
(would increase more!)
Stand-alone server
Waiting queue often
became over 10
Load average often
became over 10
Often couldn’t open web pages of CI server.
• Even trying “Script Console” was gamble 
Nobody
monitored/maintained
Very slow…
Challenges at that time
16
Built and operated by voluntary engineers.
Let’s build it!Up and at them!
Voluntary
engineers
Result of root cause analysis
No dedicated team for CI server
that could work for the dept totally
17
• Troubles had been left gradually.
• No monitoring mechanism for CI server.
Somebody can
solve it…!
Tons of work 
Voluntary
engineers
Result of root cause analysis
No dedicated team for CI server
that could work for the dept totallyOuch, ouch…
18
To avoid business loss anymore,
it was required to solve problems rationally.
Dedicated
team
Has the responsibility
to define vision
and achieve it.
Solves the overload
with long-term and
comprehensive view.
The first action
Proposed to organize the dedicated and
cross-functional team for CI server
19
This is an image.
Jenkins Consolidation Team was organized.
20
2. What should we show as accomplishments?
3. How could we reduce the load of CI server?
4. How could we nurture members and teams?
5. Conclusion
1. Challenges
21
What should we show as accomplishments?
Are we on the right path?
Where should we go?
Problems found
22
Challenges at that time
As a business, we needed
• to show managers/stakeholders progress
• to make managers/stakeholders happy
However, what and how should we show
as a result of improving CI server at all?
We needed to inspect and adapt
continuously through these activities
because they are totally new.
23
Especially look for the numerical numbers
which you can observe the transition.
Track them periodically and
focus on the transition before/after actions.
Always review the effect of them
and improve them if necessary.
Project Metrics: as a solution
Find the numerical numbers which can show
managers/stakeholders progress easily.
24
How can we reduce the load of CI server?
How can we scale up/out CI server?
How should we monitor CI server?
How should we nurture members?
A lot of things to do!
25
At first, clarified
• mission
• basic strategy
• roadmap
26
Define them that almost product members
and stakeholders can agree on.
• e.g.) Can infrastructure team agree on them?
Define them not only from engineers’ view.
• It should cover the business value.
Make measures sustainable.
• Make the “Honeymoon Number” low.
• Include proper persons who can lead it.
The point of this phase
27
Find infrastructure and mechanism
for CI server to endure the increase of jobs.
• It requires infrastructure team and others.
Deliver products on time without any delay
in every way.
• It is based on the business value.
1. Mission
Nurture new bloods
in addition to find and solve problems.
• It is for accomplishing sustainability.
28
2. Solve the bottlenecks of CI servers
• Apply master/slave to balance loads easily.
• Refine CI servers by solving technical debts gradually.
3. Educate how to use them properly
Nurture members/teams by teaching proper usage of
CI servers and reduce technical debts simultaneously.
2. Basic strategy
1. Hasten to reduce the load of CI server
Purchase and set up additional servers to reduce loads
while we are stopping overloaded jobs temporarily.
4. Turn over the team to new bloods
Accomplish sustainability of “Jenkins Consolidation”
activities by nurturing new bloods.
29
3. Roadmap
30
Candidates of Project Metrics (1)
Reduction of
system troubles
Transition and frequency of
waiting/delaying delivery of the product
Status of
infrastructure
preparation
Difference between planned and actual
to prepare servers
• Measure waits and interruptions, too
Difference between planned and actual
to move all jobs on to each slave server
Transition of mean time
for server configuration and provisioning
Effect of
master/slave
adoption
Transition of migration ratio of jobs onto slaves
Transition of “availability ratio” and
“success ratio” of jobs on slaves
Status of
Inquiries
Transition of inquiries created and resolved
Transition of average mean time to solve
31
Candidates of Project Metrics (2)
Load information
Transition of the number of alert emails
Transition of load on each server
• Load average
• CPU %
• IO wait %
• Disk usage
Transition of “average execution time” and
“average wait time” for each job
Transition of waiting jobs to execute
Transition and frequency of slow jobs
How many persons do they feel that
CI server becomes lighter and faster?
(Gut feel)
32
Started the war for victory!
33
2. What should we show as accomplishments?
3. How could we reduce the load of CI server?
4. How could we nurture members and teams?
5. Conclusion
1. Challenges
34
Over 400 jobs
(would increase more!)
Stand-alone server
Waiting queue often
became over 10
Load average often
became over 10
Nobody
monitored/maintained
Very slow…
Challenges at that time
Solve them at first!
35
Improved step-by-step
We only measured/show Project Metrics
that were able to measure at that time.
36
Reduction of
system troubles
Transition and frequency of
waiting/delaying delivery of the product
Status of
infrastructure
preparation
Difference between planned and actual
to prepare servers
• Measure waits and interruptions, too
Difference between planned and actual
to move all jobs on to each slave server
Transition of mean time
for server configuration and provisioning
Effect of
master/slave
adoption
Transition of migration ratio of jobs onto slaves
Transition of “availability ratio” and
“success ratio” of jobs on slaves
Status of
Inquiries
Transition of inquiries created and resolved
Transition of average mean time to solve
Project Metrics measured at first (1)
37
Load information
Transition of the number of alert emails
Transition of load on each server
• Load average
• CPU %
• IO wait %
• Disk usage
Transition of “average execution time” and
“average wait time” for each job
Transition of waiting jobs to execute
Transition and frequency of slow jobs
How many persons do they feel that
CI server becomes lighter and faster?
(Gut feel)
Project Metrics measured at first (2)
38
Measures
39
(1) Added servers simply
Added
4 servers
Main
2nd 3rd 4th 5th
Saved slow jobs
temporarily
Put off troubles
for next step
To reduce the load
of Main machine
40
(2) Adopted master/slave
Master
Slave-1 Slave-2 Slave-3 Slave-4
Ran jobs
concurrently
Added/enriched
monitoring mechanism
Made it as
Master server
41
(3) Adopted Infrastructure as Code
Master
Slave-1 Slave-2 Slave-3 Slave-4
Synchronized slaves
with master
Coded confs were
easy to understand
Recoverable
due to immutability
42
Accomplishments
43
Result of preparing servers
Actions Expected Actual
Added servers simply 1 month 1 week
Adopted master/slave
1-2
month(s)
1 week
Adopted Infrastructure as Code 2 months 1 month
[Reasons]
• Prompt discussions with infrastructure team
led by Naoi-san
• Unexpected growth of young stars
44
The point of negotiation and measures
• We did just what we need
to achieve our target.
• We had already prepared for
next action at that time!
45
0
5
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
85
90
95
100
105
110
115
120
125
130
Alert emails (08/01/2014 – 09/30/2014)
Reduction of loads by the transition of alert emails
August
241 emails
September
108 emails
Reduced
55.2%!
Loaded temporarily
due to the job increase.
But delivery troubles
didn’t occur again.
Utilized existing mechanism
which could notify
if load average exceeded 10
46
Before After
1 week 30 minutes
[Reasons]
• Eliminated miscommunications
by reducing exchanges
between infrastructure team and developers.
• Made works simpler and easier
because infrastructure team just have to run tests/recipes
created/validated by engineers beforehand.
• Could recover easily if trouble happened
due to Immutable Infrastructure.
Benefit of Infrastructure as Code (1)
47
Benefit of Infrastructure as Code (2)
Change mode of startup.sh
from 774 to 777, please!
Old regime
Developer
I want to start/stop Tomcat
as “homura” user
in “madoka” group
Cannot run shutdown.sh!
“homura” user does not belong to “madoka” group!
Done!
Infrastructure
Team
48
Benefit of Infrastructure as Code (3)
It was difficult to check all up-front
due to the differences of confs
on each servers.
They couldn’t feel easy
after validation.
It tended to include errors
on each request/configuration.
Old regime
Developer
They could configure
what they ordered basically.
It was difficult to know
intentions/objectives
of these requests.
They tended to be late
due to busyness.
Miscommunication
often occurred
It tended to take long
due to tons of exchanges
Infrastructure
Team
49
In fact, we faced with communication troubles…
Let’s eliminate this mechanism
by applying
Infrastructure as Code!
50
Benefit of Infrastructure as Code (4)
New regime
They just have to run
tests and recipes!
It is risk-free
because they can recover easily.
They can express what they need
as tests and recipes.
It can reduce exchanges
by Pull Request of
tests and recipes.
They can try it easily
on their own PC beforehand.
Developer Infrastructure
Team
51
(Again) Result of preparing servers
Actions Expected Actual
Added servers simply 1 month 1 week
Adopted master/slave
1-2
month(s)
1 week
Adopted Infrastructure as Code 2 months 1 month
52
Additional improvements
53
Secondary effects of load reduction of Master server
Master
Slaves
Could automatically gather
the following information:
• List of jobs
• Exec time of each job
• Status of each slave
Decreased alert emails
dramatically
Were able to use
“Script Console”!
Could afford to improve
alert emails
Became easier to examine
frequency of slow jobs
We were able to measure
in more detail!
54
Reduction of
system troubles
Transition and frequency of
waiting/delaying delivery of the product
Status of
infrastructure
preparation
Difference between planned and actual
to prepare servers
• Measure waits and interruptions, too
Difference between planned and actual
to move all jobs on to each slave server
Transition of mean time
for server configuration and provisioning
Effect of
master/slave
adoption
Transition of migration ratio of jobs onto slaves
Transition of “availability ratio” and
“success ratio” of jobs on slaves
Status of
Inquiries
Transition of inquiries created and resolved
Transition of average mean time to solve
Project Metrics measured additionally (1)
55
Load information
Transition of the number of alert emails
Transition of load on each server
• Load average
• CPU %
• IO wait %
• Disk usage
Transition of “average execution time” and
“average wait time” for each job
Transition of waiting jobs to execute
Transition and frequency of slow jobs
How many persons do they feel that
CI server becomes lighter and faster?
(Gut feel)
Project Metrics measured additionally (2)
56
The importance of additional improvements
To continue improving steadily
becomes the foundation of
solid and high-performing
teams and organization!
57
09:40:04 up 154 days, 19:14, 2 users, load average: 11.59,
11.32, 7.16
[Heavy Process Top 10] CPU(%), Proccess
165 xxxxx
Alert emails (1) : Before improvement
• Verbose information by running “uptime” command.
• Unable to identify the user of CPU-consuming processes.
• Less information to identify the cause and
to find the solution.
• Unable to identify the memory-consuming processes.
• Unable to identify the job names
that caused the overload.
Typo!
58
• Focused only on load average as a result of “uptime” command.
• Started to gather/output the following information:
• the memory-consuming processes
• user of each process
• the job names that caused the overload
• It was necessary to scroll down to the bottom of
the notification because they were on the bottom.
Alert emails (2) : First improvement
Load average: (1.03, 1.05, 1.23)
--- Top 10 Heavy CPU consumers ---
tomcat xxxxx
--- Top 10 Heavy Memory consumers ---
ito xxxxx
--- Jobs currently running ---
- Sayaka
59
Output the job names on the top of the notification.
• Made identifying jobs very much easier.
(We could identify jobs at one view!)
• Made identifying the cause and finding the solution easier.
• To be honest, we could have done it since then.
Alert emails (3) : Additional improvement
Load average: 10.0, 5.2, 2.4
--- Jobs currently running ---
- Sayaka
--- Top 10 Heavy CPU consumers ---
tomcat xxxxx
--- Top 10 Heavy Memory consumers ---
ito xxxxx
60
Transition and frequency of slow jobs
Job name Frequency
Madoka 32
Homura 17
Sayaka 15
Anko 13
Mami 13
Charlotte 4
QB 3
Hitomi 2
Uro-Buchi 2
Solve the jobs
from the top of the list
preferentially.
Notify it weekly
to members/stakeholders
to urge self-running actions.
61
Agile as learnings from failures
Gather/measure information gradually.
• You don’t need to measure everything.
Need to review/improve Project Metrics
regularly/continuously.
Unexpected things often occur.
-> Utilize them aggressively 
All information is not necessarily useful.
-> Measure only useful one.
62
Reduction of
system troubles
Transition and frequency of
waiting/delaying delivery of the product
Status of
infrastructure
preparation
Difference between planned and actual
to prepare servers
• Measure waits and interruptions, too
Difference between planned and actual
to move all jobs on to each slave server
Transition of mean time
for server configuration and provisioning
Effect of
master/slave
adoption
Transition of migration ratio of jobs onto slaves
Transition of “availability ratio” and
“success ratio” of jobs on slaves
Status of
Inquiries
Transition of inquiries created and resolved
Transition of average mean time to solve
Retrospective of Project Metrics (1)
63
Reduction of
system troubles
Transition and frequency of
waiting/delaying delivery of the product
Status of
infrastructure
preparation
Difference between planned and actual
to prepare servers
• Measure waits and interruptions, too
Difference between planned and actual
to move all jobs on to each slave server
Transition of mean time
for server configuration and provisioning
Effect of
master/slave
adoption
Transition of migration ratio of jobs onto slaves
Transition of “availability ratio” and
“success ratio” of jobs on slaves
Status of
Inquiries
Transition of inquiries created and resolved
Transition of average mean time to solve
Retrospective of Project Metrics (1)
Finished faster than we expected.
• Sufficient to show as accomplishments
• Already examined them for later actions
• Work finished -> Stopped measuring
• They were very useful to decide whether
we need to solve problems right now or not
when the overload was occurred.
• Sufficient to monitor if necessary.
64
Load information
Transition of the number of alert emails
Transition of load on each server
• Load average
• CPU %
• IO wait %
• Disk usage
Transition of “average execution time” and
“average wait time” for each job
Transition of waiting jobs to execute
Transition and frequency of slow jobs
How many persons do they feel that
CI server becomes lighter and faster?
(Gut feel)
Retrospective of Project Metrics (2)
65
Load information
Transition of the number of alert emails
Transition of load on each server
• Load average
• CPU %
• IO wait %
• Disk usage
Transition of “average execution time” and
“average wait time” for each job
Transition of waiting jobs to execute
Transition and frequency of slow jobs
How many persons do they feel that
CI server becomes lighter and faster?
(Gut feel)
Retrospective of Project Metrics (2)
• We found it was sufficient to gather/show
only the following 2 numerical numbers:
• Transition of the number of alert emails
• Transition and frequency of slow jobs
• It was sufficient to monitor
if it was necessary to investigate in detail.
66
※イメージです
Succeeded dramatically!
67
2. What should we show as accomplishments?
3. How could we reduce the load of CI server?
4. How could we nurture members and teams?
5. Conclusion
1. Challenges
68
At the end of September 2014
We Rakuten hold
Technology conference
this time of year 
69
We decided to add it to our goal
because of load reduction of CI servers
and improvements faster than we expected!
Additional task as a reward of accomplishment
The dept. set a goal to achieve
over 65% of UT line coverage
for all their products by the end of 2014
70
The objective to set “UT Coverage” as a target
• To make UT a habit of
our organization.
• To motivate members
by numerical achievements.
71
Too many tools
• Cobertura
• Emma(JaCoCo)
• djUnit…
Lack of mechanisms
to measure
UT coverage
12.3%
05101520253035404550556065707580859095100105110115120125130
Lack of members
to lead this activity
Challenges about UT coverage at that time
72
Additional effects of load reduction of Master server
Master
Slaves
Chose only 2 tools
to measure coverage:
Cobertura/JaCoCo
Were able to use
“View”! Curious users
of CI servers were
increasing gradually.
Go to the NEXTSTAGE!!
73
(1) Created “view” to show everyone current status
Cobertura JaCoCo
74
Total target jobs 74
Jobs which
gather coverage
67
Jobs which
achieved the target
35
Achievement ratio
47.3%
(+18.9% WoW)
(2) Recorded/reported the transition weekly
Emphasized results
with weekly-basis
comparisons.
75
(3) Organized the “65% Team” to achieve the goal
Target groups:
about 10
Assigned curious users
of CI servers
preferentially.
Aimed to achieve a goal
with them
collaboratively/effectively.
76
(3) Organized the “65% Team” to achieve the goal
Target groups:
about 10
Assigned curious users
of CI servers
preferentially.
Aimed to achieve a goal
with them
collaboratively/effectively.
We need to tell the truth…!
77
At first and officially, we organized it
to compensate for the lack of workers.
The true objective of “65% Team”
The true objective was to turn over
Jenkins Consolidation Team and its tasks!
• I needed to left the team at the end of the year.
The “65% Team” was the target
both to turn over tasks and to nurture.
78
Develop cooperative relationships
by sharing goals/problems/progress
with Project Metrics/automatic notifications.
Make the work efficient
by using Automation Techniques.
• e.g.) Infrastructure as Code
Drive learning by using
Automation Techniques/Project Metrics
with “inspect and adapt” style.
Technology-Driven Development: nurturing policy
79
Let them talk to each other honestly
about problems.
Held meetings regularly/weekly
to share problems/knowledge face-to-face.
The early steering of the “65% Team”
Told them metrics in detail/preferentially
to make them act faster.
Let them share problems/knowledge/metrics
to each team.
80
Made them accustom to do
“inspect and adapt” with the latest metrics.
Let them hand off our work gradually
based on Infrastructure as Code and OJT.
Let them focus on how to solve problems,
rather than just reporting them.
Let them hand off steering the team.
• Urged their autonomy.
The late steering of the “65% Team” (to nurture)
81
※イメージです
One day on November 2014
Pay dirt…!
I built this mechanism.
So please try it.
Should we do it, too?
I’d like to help that team
to solve the problem.
82
Solved problems by themselves!
• With Infrastructure as Code and OJT
• Done about 10 tasks in December 2014
Improved UT coverage clearly!
• Improvement of UT coverage generated
additional motivation to improve it more!
Started helping other teams voluntarily
if they found problems.
Growth of the “65% Team”
83
Growth of the “65% Team” from Project Metrics
0.0%
10.0%
20.0%
30.0%
40.0%
50.0%
60.0%
70.0%
80.0%
90.0%
Transition of achievement ratio
84.1%
Narrowed down
target jobs
16.7%
Solid advance
with weekly measurements/reports
To be honest, we thought of over 30%
at the end of 2014 as a practical goal.
84
The impression of a series of improvements
Improvements never start
without measuring
current status and achievements
numerically!
85
※イメージです
Total victory!
86
2. What should we show as accomplishments?
3. How could we reduce the load of CI server?
4. How could we nurture members and teams?
5. Conclusion
1. Challenges
87
Final accomplishments
Delivered all products on time
and prevented recurrence of delay.
Scaled out CI servers (master/slave)
• Over 550 jobs are running
Turned over tasks to new bloods
by nurturing them.
88
Roadmap (planned)
89
Roadmap (actual)
90
Remaining issues
IT/ST automation is not yet sufficient.
Data collision often occurs
on test environment.
• Solve by Immutable Infrastructure?
Release automation is not yet sufficient.
• Blue-green deployment?
91
New issues
• Nearly gave some managers
an easy mirage that
they can improve quality by
only increasing UT coverage.
• Often misunderstood that
everyone can improve easily
due to the impact of
our activities.
92
Run the PDCA cycle faster by integrating
strategy and (automation) techniques.
Find/measure/review Project Metrics
to consolidate our PDCA cycle.
Agile for success
Nurture members/teams and
develop cooperative relationship with above.
93
The point of Project Metrics
Find useful information to think over
• Where is the current problem lurking?
• Was our action effective to solve problems?
Review and improve them continuously
• Throw it away if it is useless.
• Create it if necessary.
Focus on the transition of numerical number
• Intelligence is on the transition of numerical number.
• If you find transition, you will win!
Use them as a way of communication
• You can get additional ideas
by talking members with Project Metrics.
94
0.0%
10.0%
20.0%
30.0%
40.0%
50.0%
60.0%
70.0%
80.0%
90.0%
Transition of achievement ratio
84.1%
Narrowed down
target jobs
16.7%
Solid advance
with weekly measurements/reports
It will start from measurement all.
Electrify your team!
96
Reference
“Useful Metrics in a Complex World” (Agile2014)
http://www.agilealliance.org/files/9814/0509/9343/Experienc
eReport.2014.Power.pdf
“Moneyball for Software Projects” (Agile2014)
http://schd.ws/hosted_files/agile2014/f0/1272_Agile_2014_-
_Software_Moneyball_%28Troy_Magennis%29.pdf
“Technology-Driven Development” (Agile2014)
http://www.agilealliance.org/files/5014/0509/9284/Experienc
eReport.2014.Ito.pdf
“Visualize it with Project Metrics”
http://www.slideshare.net/ssuser968fab/xp-matsuri-
2014ltthehiro

More Related Content

What's hot

Devconf - Moving 65000 Microsofties to DevOps with Visual Studio Team Services
Devconf - Moving 65000 Microsofties to DevOps with Visual Studio Team ServicesDevconf - Moving 65000 Microsofties to DevOps with Visual Studio Team Services
Devconf - Moving 65000 Microsofties to DevOps with Visual Studio Team ServicesWilly-Peter Schaub
 
Understanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliveryUnderstanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliverySwapnil Jain
 
The Road to DevOps V3
The Road to DevOps V3The Road to DevOps V3
The Road to DevOps V3Ahmed Misbah
 
DevOps - Continuous Integration, Continuous Delivery - let's talk
DevOps - Continuous Integration, Continuous Delivery - let's talkDevOps - Continuous Integration, Continuous Delivery - let's talk
DevOps - Continuous Integration, Continuous Delivery - let's talkD Z
 
A Dozen Keys to Agile Testing Maturity
A Dozen Keys to Agile Testing MaturityA Dozen Keys to Agile Testing Maturity
A Dozen Keys to Agile Testing MaturityTechWell
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOpsJoão Miranda
 
DevOps- exec level briefing
DevOps-  exec level briefingDevOps-  exec level briefing
DevOps- exec level briefingRavi Tadwalkar
 
Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點William Yeh
 
Scrum/XP using Team System (devLink & Agile 2009)
Scrum/XP using Team System (devLink & Agile 2009)Scrum/XP using Team System (devLink & Agile 2009)
Scrum/XP using Team System (devLink & Agile 2009)Tommy Norman
 
The Evolution of Test Automation for DevOps
The Evolution of Test Automation for DevOpsThe Evolution of Test Automation for DevOps
The Evolution of Test Automation for DevOpsTEST Huddle
 
DevOps/Flow workshop for agile india 2015
DevOps/Flow workshop for agile india 2015DevOps/Flow workshop for agile india 2015
DevOps/Flow workshop for agile india 2015Yuval Yeret
 
Getting Started with DevOps
Getting Started with DevOpsGetting Started with DevOps
Getting Started with DevOpsAhmed Misbah
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle IntroductionGanesh Samarthyam
 
Introduction to Project Management with Scrum
Introduction to Project Management with ScrumIntroduction to Project Management with Scrum
Introduction to Project Management with ScrumPierre E. NEIS
 

What's hot (20)

Devconf - Moving 65000 Microsofties to DevOps with Visual Studio Team Services
Devconf - Moving 65000 Microsofties to DevOps with Visual Studio Team ServicesDevconf - Moving 65000 Microsofties to DevOps with Visual Studio Team Services
Devconf - Moving 65000 Microsofties to DevOps with Visual Studio Team Services
 
Understanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliveryUnderstanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous Delivery
 
The Road to DevOps V3
The Road to DevOps V3The Road to DevOps V3
The Road to DevOps V3
 
DevOps - Continuous Integration, Continuous Delivery - let's talk
DevOps - Continuous Integration, Continuous Delivery - let's talkDevOps - Continuous Integration, Continuous Delivery - let's talk
DevOps - Continuous Integration, Continuous Delivery - let's talk
 
A Dozen Keys to Agile Testing Maturity
A Dozen Keys to Agile Testing MaturityA Dozen Keys to Agile Testing Maturity
A Dozen Keys to Agile Testing Maturity
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 
Devops Mindset Essentials
Devops Mindset EssentialsDevops Mindset Essentials
Devops Mindset Essentials
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
DevOps- exec level briefing
DevOps-  exec level briefingDevOps-  exec level briefing
DevOps- exec level briefing
 
"DevOps > CI+CD "
"DevOps > CI+CD ""DevOps > CI+CD "
"DevOps > CI+CD "
 
Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點
 
Introducing DevOps
Introducing DevOpsIntroducing DevOps
Introducing DevOps
 
Scrum/XP using Team System (devLink & Agile 2009)
Scrum/XP using Team System (devLink & Agile 2009)Scrum/XP using Team System (devLink & Agile 2009)
Scrum/XP using Team System (devLink & Agile 2009)
 
The Evolution of Test Automation for DevOps
The Evolution of Test Automation for DevOpsThe Evolution of Test Automation for DevOps
The Evolution of Test Automation for DevOps
 
DevOps/Flow workshop for agile india 2015
DevOps/Flow workshop for agile india 2015DevOps/Flow workshop for agile india 2015
DevOps/Flow workshop for agile india 2015
 
Bn1006 demo ppt devops
Bn1006 demo ppt devopsBn1006 demo ppt devops
Bn1006 demo ppt devops
 
Intro To Scrum.V3
Intro To Scrum.V3Intro To Scrum.V3
Intro To Scrum.V3
 
Getting Started with DevOps
Getting Started with DevOpsGetting Started with DevOps
Getting Started with DevOps
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle Introduction
 
Introduction to Project Management with Scrum
Introduction to Project Management with ScrumIntroduction to Project Management with Scrum
Introduction to Project Management with Scrum
 

Viewers also liked

CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成Rakuten Group, Inc.
 
アジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイドアジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイドHiroyuki Ito
 
メトリクスによる「見える化」のススメ: エッセンシャル・リーン
メトリクスによる「見える化」のススメ: エッセンシャル・リーンメトリクスによる「見える化」のススメ: エッセンシャル・リーン
メトリクスによる「見える化」のススメ: エッセンシャル・リーンHiroyuki Ito
 
世界と事例から学ぶ、プロダクトオーナーの「素養」としてのアジャイルメトリクス
世界と事例から学ぶ、プロダクトオーナーの「素養」としてのアジャイルメトリクス世界と事例から学ぶ、プロダクトオーナーの「素養」としてのアジャイルメトリクス
世界と事例から学ぶ、プロダクトオーナーの「素養」としてのアジャイルメトリクスHiroyuki Ito
 
テスト普及者1年目としての試行錯誤の話
テスト普及者1年目としての試行錯誤の話テスト普及者1年目としての試行錯誤の話
テスト普及者1年目としての試行錯誤の話Takashi Mori
 
twitter4contact #twtr_hack
twitter4contact #twtr_hacktwitter4contact #twtr_hack
twitter4contact #twtr_hackMasashi Arino
 
TDDトラック 事例紹介スライド
TDDトラック 事例紹介スライドTDDトラック 事例紹介スライド
TDDトラック 事例紹介スライドMasashi Arino
 
Rapid board with scrum #augj
Rapid board with scrum #augjRapid board with scrum #augj
Rapid board with scrum #augjMasashi Arino
 
Jenkinsを使った継続的セキュリティテスト
Jenkinsを使った継続的セキュリティテストJenkinsを使った継続的セキュリティテスト
Jenkinsを使った継続的セキュリティテストichikaway
 
2013 デブサミ 「SIの未来ってどうなのよ?」
2013 デブサミ 「SIの未来ってどうなのよ?」2013 デブサミ 「SIの未来ってどうなのよ?」
2013 デブサミ 「SIの未来ってどうなのよ?」Serverworks Co.,Ltd.
 
現場実践主義としてのリーン開発とアジャイル
現場実践主義としてのリーン開発とアジャイル現場実践主義としてのリーン開発とアジャイル
現場実践主義としてのリーン開発とアジャイルRakuten Group, Inc.
 
Monoliths, Myths, and Microservices - CfgMgmtCamp
Monoliths, Myths, and Microservices - CfgMgmtCampMonoliths, Myths, and Microservices - CfgMgmtCamp
Monoliths, Myths, and Microservices - CfgMgmtCampMichael Ducy
 
【17-E-4】 未来はどこにいても誰にでも平等にある。 未来を創るのは自分自身だ。 ~SIerの中で生きるということ~
【17-E-4】 未来はどこにいても誰にでも平等にある。 未来を創るのは自分自身だ。 ~SIerの中で生きるということ~【17-E-4】 未来はどこにいても誰にでも平等にある。 未来を創るのは自分自身だ。 ~SIerの中で生きるということ~
【17-E-4】 未来はどこにいても誰にでも平等にある。 未来を創るのは自分自身だ。 ~SIerの中で生きるということ~Yoshitaka Kawashima
 
Amazon Route53へのドメイン移管
Amazon Route53へのドメイン移管Amazon Route53へのドメイン移管
Amazon Route53へのドメイン移管Jin k
 
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオンkyon mm
 
メトリクスによる「見える化」のススメ:No 見える化、No 改善
メトリクスによる「見える化」のススメ:No 見える化、No 改善メトリクスによる「見える化」のススメ:No 見える化、No 改善
メトリクスによる「見える化」のススメ:No 見える化、No 改善Hiroyuki Ito
 

Viewers also liked (20)

CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
 
アジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイドアジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイド
 
メトリクスによる「見える化」のススメ: エッセンシャル・リーン
メトリクスによる「見える化」のススメ: エッセンシャル・リーンメトリクスによる「見える化」のススメ: エッセンシャル・リーン
メトリクスによる「見える化」のススメ: エッセンシャル・リーン
 
世界と事例から学ぶ、プロダクトオーナーの「素養」としてのアジャイルメトリクス
世界と事例から学ぶ、プロダクトオーナーの「素養」としてのアジャイルメトリクス世界と事例から学ぶ、プロダクトオーナーの「素養」としてのアジャイルメトリクス
世界と事例から学ぶ、プロダクトオーナーの「素養」としてのアジャイルメトリクス
 
テスト普及者1年目としての試行錯誤の話
テスト普及者1年目としての試行錯誤の話テスト普及者1年目としての試行錯誤の話
テスト普及者1年目としての試行錯誤の話
 
市場で勝ち続けるための品質とテストの技術②
市場で勝ち続けるための品質とテストの技術②市場で勝ち続けるための品質とテストの技術②
市場で勝ち続けるための品質とテストの技術②
 
Dockerと継続的インテグレーション
Dockerと継続的インテグレーションDockerと継続的インテグレーション
Dockerと継続的インテグレーション
 
twitter4contact #twtr_hack
twitter4contact #twtr_hacktwitter4contact #twtr_hack
twitter4contact #twtr_hack
 
TDDトラック 事例紹介スライド
TDDトラック 事例紹介スライドTDDトラック 事例紹介スライド
TDDトラック 事例紹介スライド
 
Rapid board with scrum #augj
Rapid board with scrum #augjRapid board with scrum #augj
Rapid board with scrum #augj
 
Jenkinsを使った継続的セキュリティテスト
Jenkinsを使った継続的セキュリティテストJenkinsを使った継続的セキュリティテスト
Jenkinsを使った継続的セキュリティテスト
 
鼻メガネv2
鼻メガネv2鼻メガネv2
鼻メガネv2
 
2013 デブサミ 「SIの未来ってどうなのよ?」
2013 デブサミ 「SIの未来ってどうなのよ?」2013 デブサミ 「SIの未来ってどうなのよ?」
2013 デブサミ 「SIの未来ってどうなのよ?」
 
現場実践主義としてのリーン開発とアジャイル
現場実践主義としてのリーン開発とアジャイル現場実践主義としてのリーン開発とアジャイル
現場実践主義としてのリーン開発とアジャイル
 
埼玉道場
埼玉道場埼玉道場
埼玉道場
 
Monoliths, Myths, and Microservices - CfgMgmtCamp
Monoliths, Myths, and Microservices - CfgMgmtCampMonoliths, Myths, and Microservices - CfgMgmtCamp
Monoliths, Myths, and Microservices - CfgMgmtCamp
 
【17-E-4】 未来はどこにいても誰にでも平等にある。 未来を創るのは自分自身だ。 ~SIerの中で生きるということ~
【17-E-4】 未来はどこにいても誰にでも平等にある。 未来を創るのは自分自身だ。 ~SIerの中で生きるということ~【17-E-4】 未来はどこにいても誰にでも平等にある。 未来を創るのは自分自身だ。 ~SIerの中で生きるということ~
【17-E-4】 未来はどこにいても誰にでも平等にある。 未来を創るのは自分自身だ。 ~SIerの中で生きるということ~
 
Amazon Route53へのドメイン移管
Amazon Route53へのドメイン移管Amazon Route53へのドメイン移管
Amazon Route53へのドメイン移管
 
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン
 
メトリクスによる「見える化」のススメ:No 見える化、No 改善
メトリクスによる「見える化」のススメ:No 見える化、No 改善メトリクスによる「見える化」のススメ:No 見える化、No 改善
メトリクスによる「見える化」のススメ:No 見える化、No 改善
 

Similar to Conquer CI Server! - Re-establishment of Order and Nurture of the Solid Organization by Project Metrics and Automation Techniques

Microservices
MicroservicesMicroservices
MicroservicesPT.JUG
 
Behavior-Driven Development (BDD) Testing with Apache Spark with Aaron Colcor...
Behavior-Driven Development (BDD) Testing with Apache Spark with Aaron Colcor...Behavior-Driven Development (BDD) Testing with Apache Spark with Aaron Colcor...
Behavior-Driven Development (BDD) Testing with Apache Spark with Aaron Colcor...Databricks
 
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps StoryDOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps StoryGene Kim
 
DevOPs Transformation Workshop
DevOPs Transformation WorkshopDevOPs Transformation Workshop
DevOPs Transformation WorkshopJules Pierre-Louis
 
5 Key Metrics to Release Better Software Faster
5 Key Metrics to Release Better Software Faster5 Key Metrics to Release Better Software Faster
5 Key Metrics to Release Better Software FasterDynatrace
 
Event driven actors - lessons learned
Event driven actors - lessons learnedEvent driven actors - lessons learned
Event driven actors - lessons learnedRick van der Arend
 
LandsEnd TechEd2016 (1)
LandsEnd TechEd2016 (1)LandsEnd TechEd2016 (1)
LandsEnd TechEd2016 (1)Lisa Lawver
 
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation ProjectsAmazon Web Services
 
Microservices: Organizing Large Teams for Rapid Delivery
Microservices: Organizing Large Teams for Rapid DeliveryMicroservices: Organizing Large Teams for Rapid Delivery
Microservices: Organizing Large Teams for Rapid DeliveryVMware Tanzu
 
How do we drive tech changes
How do we drive tech changesHow do we drive tech changes
How do we drive tech changesJaewoo Ahn
 
Technology-Driven Development: Using Automation and Development Techniques to...
Technology-Driven Development: Using Automation and Development Techniques to...Technology-Driven Development: Using Automation and Development Techniques to...
Technology-Driven Development: Using Automation and Development Techniques to...Rakuten Group, Inc.
 
Microservices - Scaling Development and Service
Microservices - Scaling Development and ServiceMicroservices - Scaling Development and Service
Microservices - Scaling Development and ServicePaulo Gaspar
 
Spectrum2018 agile roadtrip_med
Spectrum2018 agile roadtrip_medSpectrum2018 agile roadtrip_med
Spectrum2018 agile roadtrip_medMary Elise Dedicke
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareDevOps for Enterprise Systems
 
Lean Kanban India 2019 Conference | Scrumban comes to the rescue: A Case Stud...
Lean Kanban India 2019 Conference | Scrumban comes to the rescue: A Case Stud...Lean Kanban India 2019 Conference | Scrumban comes to the rescue: A Case Stud...
Lean Kanban India 2019 Conference | Scrumban comes to the rescue: A Case Stud...LeanKanbanIndia
 
Transforming CI/CD at ABN AMRO to Accelerate Software Delivery and Improve Se...
Transforming CI/CD at ABN AMRO to Accelerate Software Delivery and Improve Se...Transforming CI/CD at ABN AMRO to Accelerate Software Delivery and Improve Se...
Transforming CI/CD at ABN AMRO to Accelerate Software Delivery and Improve Se...DevOps.com
 

Similar to Conquer CI Server! - Re-establishment of Order and Nurture of the Solid Organization by Project Metrics and Automation Techniques (20)

Beyond scrum of scrums scaling agile how it works
Beyond scrum of scrums scaling agile how it worksBeyond scrum of scrums scaling agile how it works
Beyond scrum of scrums scaling agile how it works
 
Microservices
MicroservicesMicroservices
Microservices
 
In (database) automation we trust
In (database) automation we trustIn (database) automation we trust
In (database) automation we trust
 
Behavior-Driven Development (BDD) Testing with Apache Spark with Aaron Colcor...
Behavior-Driven Development (BDD) Testing with Apache Spark with Aaron Colcor...Behavior-Driven Development (BDD) Testing with Apache Spark with Aaron Colcor...
Behavior-Driven Development (BDD) Testing with Apache Spark with Aaron Colcor...
 
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps StoryDOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
 
DevOPs Transformation Workshop
DevOPs Transformation WorkshopDevOPs Transformation Workshop
DevOPs Transformation Workshop
 
5 Key Metrics to Release Better Software Faster
5 Key Metrics to Release Better Software Faster5 Key Metrics to Release Better Software Faster
5 Key Metrics to Release Better Software Faster
 
Event driven actors - lessons learned
Event driven actors - lessons learnedEvent driven actors - lessons learned
Event driven actors - lessons learned
 
LandsEnd TechEd2016 (1)
LandsEnd TechEd2016 (1)LandsEnd TechEd2016 (1)
LandsEnd TechEd2016 (1)
 
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
 
SAFe and DevOps - better together
SAFe and DevOps - better togetherSAFe and DevOps - better together
SAFe and DevOps - better together
 
Microservices: Organizing Large Teams for Rapid Delivery
Microservices: Organizing Large Teams for Rapid DeliveryMicroservices: Organizing Large Teams for Rapid Delivery
Microservices: Organizing Large Teams for Rapid Delivery
 
How do we drive tech changes
How do we drive tech changesHow do we drive tech changes
How do we drive tech changes
 
OOP 2014 - Lifecycle By Design
OOP 2014 - Lifecycle By DesignOOP 2014 - Lifecycle By Design
OOP 2014 - Lifecycle By Design
 
Technology-Driven Development: Using Automation and Development Techniques to...
Technology-Driven Development: Using Automation and Development Techniques to...Technology-Driven Development: Using Automation and Development Techniques to...
Technology-Driven Development: Using Automation and Development Techniques to...
 
Microservices - Scaling Development and Service
Microservices - Scaling Development and ServiceMicroservices - Scaling Development and Service
Microservices - Scaling Development and Service
 
Spectrum2018 agile roadtrip_med
Spectrum2018 agile roadtrip_medSpectrum2018 agile roadtrip_med
Spectrum2018 agile roadtrip_med
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
 
Lean Kanban India 2019 Conference | Scrumban comes to the rescue: A Case Stud...
Lean Kanban India 2019 Conference | Scrumban comes to the rescue: A Case Stud...Lean Kanban India 2019 Conference | Scrumban comes to the rescue: A Case Stud...
Lean Kanban India 2019 Conference | Scrumban comes to the rescue: A Case Stud...
 
Transforming CI/CD at ABN AMRO to Accelerate Software Delivery and Improve Se...
Transforming CI/CD at ABN AMRO to Accelerate Software Delivery and Improve Se...Transforming CI/CD at ABN AMRO to Accelerate Software Delivery and Improve Se...
Transforming CI/CD at ABN AMRO to Accelerate Software Delivery and Improve Se...
 

More from Rakuten Group, Inc.

コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話Rakuten Group, Inc.
 
楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のりRakuten Group, Inc.
 
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Rakuten Group, Inc.
 
DataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みDataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みRakuten Group, Inc.
 
大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開Rakuten Group, Inc.
 
楽天における大規模データベースの運用
楽天における大規模データベースの運用楽天における大規模データベースの運用
楽天における大規模データベースの運用Rakuten Group, Inc.
 
楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャーRakuten Group, Inc.
 
楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割Rakuten Group, Inc.
 
Rakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Group, Inc.
 
The Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfThe Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfRakuten Group, Inc.
 
Supporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfSupporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfRakuten Group, Inc.
 
Making Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfMaking Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfRakuten Group, Inc.
 
How We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfHow We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfRakuten Group, Inc.
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoRakuten Group, Inc.
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoRakuten Group, Inc.
 
Introduction of GORA API Group technology
Introduction of GORA API Group technologyIntroduction of GORA API Group technology
Introduction of GORA API Group technologyRakuten Group, Inc.
 
100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情Rakuten Group, Inc.
 
社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャーRakuten Group, Inc.
 

More from Rakuten Group, Inc. (20)

コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
 
楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり
 
What Makes Software Green?
What Makes Software Green?What Makes Software Green?
What Makes Software Green?
 
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
 
DataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みDataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組み
 
大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開
 
楽天における大規模データベースの運用
楽天における大規模データベースの運用楽天における大規模データベースの運用
楽天における大規模データベースの運用
 
楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー
 
楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割
 
Rakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdf
 
The Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfThe Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdf
 
Supporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfSupporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdf
 
Making Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfMaking Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdf
 
How We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfHow We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdf
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
OWASPTop10_Introduction
OWASPTop10_IntroductionOWASPTop10_Introduction
OWASPTop10_Introduction
 
Introduction of GORA API Group technology
Introduction of GORA API Group technologyIntroduction of GORA API Group technology
Introduction of GORA API Group technology
 
100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情
 
社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー
 

Recently uploaded

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 

Recently uploaded (20)

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 

Conquer CI Server! - Re-establishment of Order and Nurture of the Solid Organization by Project Metrics and Automation Techniques

  • 1. Conquer CI Server! Re-establishment of Order and Nurture of the Solid Organization by Project Metrics and Automation Techniques Apr/16/2015 Hiroyuki Ito, Kazuhisa Naoi Rakuten, Inc. http://www.rakuten.co.jp/
  • 2. 2 Hiroyuki Ito (The Hiro) @hageyahhoo Former Agile Coach from Test-Driven Development Group Who are you? (1)
  • 3. 3 A speaker of Agile2014 Please check presentation and paper 
  • 4. 4 Who are you? (2) Kazuhisa Naoi Travel Extranet Group Travel Product Development Section Travel Service Development Department Rakuten, Inc. Group Manager
  • 5. 5 This is a real Kaizen story of Rakuten Travel in 2014.
  • 6. 6 2. The importance of Strategy Formulation 3. Benefit of Infrastructure as Code Theme 1. Project Metrics 4. Technology-Driven Development
  • 8. 8 Agenda 2. What should we show as accomplishments? 3. How could we reduce the load of CI server? 4. How could we nurture members and teams? 5. Conclusion 1. Challenges
  • 9. 9 Agenda 2. What should we show as accomplishments? 3. How could we reduce the load of CI server? 4. How could we nurture members and teams? 5. Conclusion 1. Challenges The importance of Strategy Formulation Benefit of Infrastructure as Code Technology-Driven Development Project Metrics Project Metrics Project Metrics Project Metrics
  • 10. 10 2. What should we show as accomplishments? 3. How could we reduce the load of CI server? 4. How could we nurture members and teams? 5. Conclusion 1. Challenges at that time
  • 11. 11 The Hiro was just writing this paper for Agile2014 at that time! The end of June 2014
  • 12. 12 If we add jobs more, CI server will stop and we cannot provide services! We couldn’t deliver products on time due to the overload of CI server! Troubles came here!
  • 13. 13 Our status at that time No responsibilities of CI server to configure, monitor, and operate. Leading automation at one QA project • Implementing Build Pipeline • Realizing Release Automation • Introducing Smoke Testing Leading a big project as a manager to make their systems multilingual
  • 14. 14 We decided to solve these troubles!
  • 15. 15 Over 400 jobs (would increase more!) Stand-alone server Waiting queue often became over 10 Load average often became over 10 Often couldn’t open web pages of CI server. • Even trying “Script Console” was gamble  Nobody monitored/maintained Very slow… Challenges at that time
  • 16. 16 Built and operated by voluntary engineers. Let’s build it!Up and at them! Voluntary engineers Result of root cause analysis No dedicated team for CI server that could work for the dept totally
  • 17. 17 • Troubles had been left gradually. • No monitoring mechanism for CI server. Somebody can solve it…! Tons of work  Voluntary engineers Result of root cause analysis No dedicated team for CI server that could work for the dept totallyOuch, ouch…
  • 18. 18 To avoid business loss anymore, it was required to solve problems rationally. Dedicated team Has the responsibility to define vision and achieve it. Solves the overload with long-term and comprehensive view. The first action Proposed to organize the dedicated and cross-functional team for CI server
  • 19. 19 This is an image. Jenkins Consolidation Team was organized.
  • 20. 20 2. What should we show as accomplishments? 3. How could we reduce the load of CI server? 4. How could we nurture members and teams? 5. Conclusion 1. Challenges
  • 21. 21 What should we show as accomplishments? Are we on the right path? Where should we go? Problems found
  • 22. 22 Challenges at that time As a business, we needed • to show managers/stakeholders progress • to make managers/stakeholders happy However, what and how should we show as a result of improving CI server at all? We needed to inspect and adapt continuously through these activities because they are totally new.
  • 23. 23 Especially look for the numerical numbers which you can observe the transition. Track them periodically and focus on the transition before/after actions. Always review the effect of them and improve them if necessary. Project Metrics: as a solution Find the numerical numbers which can show managers/stakeholders progress easily.
  • 24. 24 How can we reduce the load of CI server? How can we scale up/out CI server? How should we monitor CI server? How should we nurture members? A lot of things to do!
  • 25. 25 At first, clarified • mission • basic strategy • roadmap
  • 26. 26 Define them that almost product members and stakeholders can agree on. • e.g.) Can infrastructure team agree on them? Define them not only from engineers’ view. • It should cover the business value. Make measures sustainable. • Make the “Honeymoon Number” low. • Include proper persons who can lead it. The point of this phase
  • 27. 27 Find infrastructure and mechanism for CI server to endure the increase of jobs. • It requires infrastructure team and others. Deliver products on time without any delay in every way. • It is based on the business value. 1. Mission Nurture new bloods in addition to find and solve problems. • It is for accomplishing sustainability.
  • 28. 28 2. Solve the bottlenecks of CI servers • Apply master/slave to balance loads easily. • Refine CI servers by solving technical debts gradually. 3. Educate how to use them properly Nurture members/teams by teaching proper usage of CI servers and reduce technical debts simultaneously. 2. Basic strategy 1. Hasten to reduce the load of CI server Purchase and set up additional servers to reduce loads while we are stopping overloaded jobs temporarily. 4. Turn over the team to new bloods Accomplish sustainability of “Jenkins Consolidation” activities by nurturing new bloods.
  • 30. 30 Candidates of Project Metrics (1) Reduction of system troubles Transition and frequency of waiting/delaying delivery of the product Status of infrastructure preparation Difference between planned and actual to prepare servers • Measure waits and interruptions, too Difference between planned and actual to move all jobs on to each slave server Transition of mean time for server configuration and provisioning Effect of master/slave adoption Transition of migration ratio of jobs onto slaves Transition of “availability ratio” and “success ratio” of jobs on slaves Status of Inquiries Transition of inquiries created and resolved Transition of average mean time to solve
  • 31. 31 Candidates of Project Metrics (2) Load information Transition of the number of alert emails Transition of load on each server • Load average • CPU % • IO wait % • Disk usage Transition of “average execution time” and “average wait time” for each job Transition of waiting jobs to execute Transition and frequency of slow jobs How many persons do they feel that CI server becomes lighter and faster? (Gut feel)
  • 32. 32 Started the war for victory!
  • 33. 33 2. What should we show as accomplishments? 3. How could we reduce the load of CI server? 4. How could we nurture members and teams? 5. Conclusion 1. Challenges
  • 34. 34 Over 400 jobs (would increase more!) Stand-alone server Waiting queue often became over 10 Load average often became over 10 Nobody monitored/maintained Very slow… Challenges at that time Solve them at first!
  • 35. 35 Improved step-by-step We only measured/show Project Metrics that were able to measure at that time.
  • 36. 36 Reduction of system troubles Transition and frequency of waiting/delaying delivery of the product Status of infrastructure preparation Difference between planned and actual to prepare servers • Measure waits and interruptions, too Difference between planned and actual to move all jobs on to each slave server Transition of mean time for server configuration and provisioning Effect of master/slave adoption Transition of migration ratio of jobs onto slaves Transition of “availability ratio” and “success ratio” of jobs on slaves Status of Inquiries Transition of inquiries created and resolved Transition of average mean time to solve Project Metrics measured at first (1)
  • 37. 37 Load information Transition of the number of alert emails Transition of load on each server • Load average • CPU % • IO wait % • Disk usage Transition of “average execution time” and “average wait time” for each job Transition of waiting jobs to execute Transition and frequency of slow jobs How many persons do they feel that CI server becomes lighter and faster? (Gut feel) Project Metrics measured at first (2)
  • 39. 39 (1) Added servers simply Added 4 servers Main 2nd 3rd 4th 5th Saved slow jobs temporarily Put off troubles for next step To reduce the load of Main machine
  • 40. 40 (2) Adopted master/slave Master Slave-1 Slave-2 Slave-3 Slave-4 Ran jobs concurrently Added/enriched monitoring mechanism Made it as Master server
  • 41. 41 (3) Adopted Infrastructure as Code Master Slave-1 Slave-2 Slave-3 Slave-4 Synchronized slaves with master Coded confs were easy to understand Recoverable due to immutability
  • 43. 43 Result of preparing servers Actions Expected Actual Added servers simply 1 month 1 week Adopted master/slave 1-2 month(s) 1 week Adopted Infrastructure as Code 2 months 1 month [Reasons] • Prompt discussions with infrastructure team led by Naoi-san • Unexpected growth of young stars
  • 44. 44 The point of negotiation and measures • We did just what we need to achieve our target. • We had already prepared for next action at that time!
  • 45. 45 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105 110 115 120 125 130 Alert emails (08/01/2014 – 09/30/2014) Reduction of loads by the transition of alert emails August 241 emails September 108 emails Reduced 55.2%! Loaded temporarily due to the job increase. But delivery troubles didn’t occur again. Utilized existing mechanism which could notify if load average exceeded 10
  • 46. 46 Before After 1 week 30 minutes [Reasons] • Eliminated miscommunications by reducing exchanges between infrastructure team and developers. • Made works simpler and easier because infrastructure team just have to run tests/recipes created/validated by engineers beforehand. • Could recover easily if trouble happened due to Immutable Infrastructure. Benefit of Infrastructure as Code (1)
  • 47. 47 Benefit of Infrastructure as Code (2) Change mode of startup.sh from 774 to 777, please! Old regime Developer I want to start/stop Tomcat as “homura” user in “madoka” group Cannot run shutdown.sh! “homura” user does not belong to “madoka” group! Done! Infrastructure Team
  • 48. 48 Benefit of Infrastructure as Code (3) It was difficult to check all up-front due to the differences of confs on each servers. They couldn’t feel easy after validation. It tended to include errors on each request/configuration. Old regime Developer They could configure what they ordered basically. It was difficult to know intentions/objectives of these requests. They tended to be late due to busyness. Miscommunication often occurred It tended to take long due to tons of exchanges Infrastructure Team
  • 49. 49 In fact, we faced with communication troubles… Let’s eliminate this mechanism by applying Infrastructure as Code!
  • 50. 50 Benefit of Infrastructure as Code (4) New regime They just have to run tests and recipes! It is risk-free because they can recover easily. They can express what they need as tests and recipes. It can reduce exchanges by Pull Request of tests and recipes. They can try it easily on their own PC beforehand. Developer Infrastructure Team
  • 51. 51 (Again) Result of preparing servers Actions Expected Actual Added servers simply 1 month 1 week Adopted master/slave 1-2 month(s) 1 week Adopted Infrastructure as Code 2 months 1 month
  • 53. 53 Secondary effects of load reduction of Master server Master Slaves Could automatically gather the following information: • List of jobs • Exec time of each job • Status of each slave Decreased alert emails dramatically Were able to use “Script Console”! Could afford to improve alert emails Became easier to examine frequency of slow jobs We were able to measure in more detail!
  • 54. 54 Reduction of system troubles Transition and frequency of waiting/delaying delivery of the product Status of infrastructure preparation Difference between planned and actual to prepare servers • Measure waits and interruptions, too Difference between planned and actual to move all jobs on to each slave server Transition of mean time for server configuration and provisioning Effect of master/slave adoption Transition of migration ratio of jobs onto slaves Transition of “availability ratio” and “success ratio” of jobs on slaves Status of Inquiries Transition of inquiries created and resolved Transition of average mean time to solve Project Metrics measured additionally (1)
  • 55. 55 Load information Transition of the number of alert emails Transition of load on each server • Load average • CPU % • IO wait % • Disk usage Transition of “average execution time” and “average wait time” for each job Transition of waiting jobs to execute Transition and frequency of slow jobs How many persons do they feel that CI server becomes lighter and faster? (Gut feel) Project Metrics measured additionally (2)
  • 56. 56 The importance of additional improvements To continue improving steadily becomes the foundation of solid and high-performing teams and organization!
  • 57. 57 09:40:04 up 154 days, 19:14, 2 users, load average: 11.59, 11.32, 7.16 [Heavy Process Top 10] CPU(%), Proccess 165 xxxxx Alert emails (1) : Before improvement • Verbose information by running “uptime” command. • Unable to identify the user of CPU-consuming processes. • Less information to identify the cause and to find the solution. • Unable to identify the memory-consuming processes. • Unable to identify the job names that caused the overload. Typo!
  • 58. 58 • Focused only on load average as a result of “uptime” command. • Started to gather/output the following information: • the memory-consuming processes • user of each process • the job names that caused the overload • It was necessary to scroll down to the bottom of the notification because they were on the bottom. Alert emails (2) : First improvement Load average: (1.03, 1.05, 1.23) --- Top 10 Heavy CPU consumers --- tomcat xxxxx --- Top 10 Heavy Memory consumers --- ito xxxxx --- Jobs currently running --- - Sayaka
  • 59. 59 Output the job names on the top of the notification. • Made identifying jobs very much easier. (We could identify jobs at one view!) • Made identifying the cause and finding the solution easier. • To be honest, we could have done it since then. Alert emails (3) : Additional improvement Load average: 10.0, 5.2, 2.4 --- Jobs currently running --- - Sayaka --- Top 10 Heavy CPU consumers --- tomcat xxxxx --- Top 10 Heavy Memory consumers --- ito xxxxx
  • 60. 60 Transition and frequency of slow jobs Job name Frequency Madoka 32 Homura 17 Sayaka 15 Anko 13 Mami 13 Charlotte 4 QB 3 Hitomi 2 Uro-Buchi 2 Solve the jobs from the top of the list preferentially. Notify it weekly to members/stakeholders to urge self-running actions.
  • 61. 61 Agile as learnings from failures Gather/measure information gradually. • You don’t need to measure everything. Need to review/improve Project Metrics regularly/continuously. Unexpected things often occur. -> Utilize them aggressively  All information is not necessarily useful. -> Measure only useful one.
  • 62. 62 Reduction of system troubles Transition and frequency of waiting/delaying delivery of the product Status of infrastructure preparation Difference between planned and actual to prepare servers • Measure waits and interruptions, too Difference between planned and actual to move all jobs on to each slave server Transition of mean time for server configuration and provisioning Effect of master/slave adoption Transition of migration ratio of jobs onto slaves Transition of “availability ratio” and “success ratio” of jobs on slaves Status of Inquiries Transition of inquiries created and resolved Transition of average mean time to solve Retrospective of Project Metrics (1)
  • 63. 63 Reduction of system troubles Transition and frequency of waiting/delaying delivery of the product Status of infrastructure preparation Difference between planned and actual to prepare servers • Measure waits and interruptions, too Difference between planned and actual to move all jobs on to each slave server Transition of mean time for server configuration and provisioning Effect of master/slave adoption Transition of migration ratio of jobs onto slaves Transition of “availability ratio” and “success ratio” of jobs on slaves Status of Inquiries Transition of inquiries created and resolved Transition of average mean time to solve Retrospective of Project Metrics (1) Finished faster than we expected. • Sufficient to show as accomplishments • Already examined them for later actions • Work finished -> Stopped measuring • They were very useful to decide whether we need to solve problems right now or not when the overload was occurred. • Sufficient to monitor if necessary.
  • 64. 64 Load information Transition of the number of alert emails Transition of load on each server • Load average • CPU % • IO wait % • Disk usage Transition of “average execution time” and “average wait time” for each job Transition of waiting jobs to execute Transition and frequency of slow jobs How many persons do they feel that CI server becomes lighter and faster? (Gut feel) Retrospective of Project Metrics (2)
  • 65. 65 Load information Transition of the number of alert emails Transition of load on each server • Load average • CPU % • IO wait % • Disk usage Transition of “average execution time” and “average wait time” for each job Transition of waiting jobs to execute Transition and frequency of slow jobs How many persons do they feel that CI server becomes lighter and faster? (Gut feel) Retrospective of Project Metrics (2) • We found it was sufficient to gather/show only the following 2 numerical numbers: • Transition of the number of alert emails • Transition and frequency of slow jobs • It was sufficient to monitor if it was necessary to investigate in detail.
  • 67. 67 2. What should we show as accomplishments? 3. How could we reduce the load of CI server? 4. How could we nurture members and teams? 5. Conclusion 1. Challenges
  • 68. 68 At the end of September 2014 We Rakuten hold Technology conference this time of year 
  • 69. 69 We decided to add it to our goal because of load reduction of CI servers and improvements faster than we expected! Additional task as a reward of accomplishment The dept. set a goal to achieve over 65% of UT line coverage for all their products by the end of 2014
  • 70. 70 The objective to set “UT Coverage” as a target • To make UT a habit of our organization. • To motivate members by numerical achievements.
  • 71. 71 Too many tools • Cobertura • Emma(JaCoCo) • djUnit… Lack of mechanisms to measure UT coverage 12.3% 05101520253035404550556065707580859095100105110115120125130 Lack of members to lead this activity Challenges about UT coverage at that time
  • 72. 72 Additional effects of load reduction of Master server Master Slaves Chose only 2 tools to measure coverage: Cobertura/JaCoCo Were able to use “View”! Curious users of CI servers were increasing gradually. Go to the NEXTSTAGE!!
  • 73. 73 (1) Created “view” to show everyone current status Cobertura JaCoCo
  • 74. 74 Total target jobs 74 Jobs which gather coverage 67 Jobs which achieved the target 35 Achievement ratio 47.3% (+18.9% WoW) (2) Recorded/reported the transition weekly Emphasized results with weekly-basis comparisons.
  • 75. 75 (3) Organized the “65% Team” to achieve the goal Target groups: about 10 Assigned curious users of CI servers preferentially. Aimed to achieve a goal with them collaboratively/effectively.
  • 76. 76 (3) Organized the “65% Team” to achieve the goal Target groups: about 10 Assigned curious users of CI servers preferentially. Aimed to achieve a goal with them collaboratively/effectively. We need to tell the truth…!
  • 77. 77 At first and officially, we organized it to compensate for the lack of workers. The true objective of “65% Team” The true objective was to turn over Jenkins Consolidation Team and its tasks! • I needed to left the team at the end of the year. The “65% Team” was the target both to turn over tasks and to nurture.
  • 78. 78 Develop cooperative relationships by sharing goals/problems/progress with Project Metrics/automatic notifications. Make the work efficient by using Automation Techniques. • e.g.) Infrastructure as Code Drive learning by using Automation Techniques/Project Metrics with “inspect and adapt” style. Technology-Driven Development: nurturing policy
  • 79. 79 Let them talk to each other honestly about problems. Held meetings regularly/weekly to share problems/knowledge face-to-face. The early steering of the “65% Team” Told them metrics in detail/preferentially to make them act faster. Let them share problems/knowledge/metrics to each team.
  • 80. 80 Made them accustom to do “inspect and adapt” with the latest metrics. Let them hand off our work gradually based on Infrastructure as Code and OJT. Let them focus on how to solve problems, rather than just reporting them. Let them hand off steering the team. • Urged their autonomy. The late steering of the “65% Team” (to nurture)
  • 81. 81 ※イメージです One day on November 2014 Pay dirt…! I built this mechanism. So please try it. Should we do it, too? I’d like to help that team to solve the problem.
  • 82. 82 Solved problems by themselves! • With Infrastructure as Code and OJT • Done about 10 tasks in December 2014 Improved UT coverage clearly! • Improvement of UT coverage generated additional motivation to improve it more! Started helping other teams voluntarily if they found problems. Growth of the “65% Team”
  • 83. 83 Growth of the “65% Team” from Project Metrics 0.0% 10.0% 20.0% 30.0% 40.0% 50.0% 60.0% 70.0% 80.0% 90.0% Transition of achievement ratio 84.1% Narrowed down target jobs 16.7% Solid advance with weekly measurements/reports To be honest, we thought of over 30% at the end of 2014 as a practical goal.
  • 84. 84 The impression of a series of improvements Improvements never start without measuring current status and achievements numerically!
  • 86. 86 2. What should we show as accomplishments? 3. How could we reduce the load of CI server? 4. How could we nurture members and teams? 5. Conclusion 1. Challenges
  • 87. 87 Final accomplishments Delivered all products on time and prevented recurrence of delay. Scaled out CI servers (master/slave) • Over 550 jobs are running Turned over tasks to new bloods by nurturing them.
  • 90. 90 Remaining issues IT/ST automation is not yet sufficient. Data collision often occurs on test environment. • Solve by Immutable Infrastructure? Release automation is not yet sufficient. • Blue-green deployment?
  • 91. 91 New issues • Nearly gave some managers an easy mirage that they can improve quality by only increasing UT coverage. • Often misunderstood that everyone can improve easily due to the impact of our activities.
  • 92. 92 Run the PDCA cycle faster by integrating strategy and (automation) techniques. Find/measure/review Project Metrics to consolidate our PDCA cycle. Agile for success Nurture members/teams and develop cooperative relationship with above.
  • 93. 93 The point of Project Metrics Find useful information to think over • Where is the current problem lurking? • Was our action effective to solve problems? Review and improve them continuously • Throw it away if it is useless. • Create it if necessary. Focus on the transition of numerical number • Intelligence is on the transition of numerical number. • If you find transition, you will win! Use them as a way of communication • You can get additional ideas by talking members with Project Metrics.
  • 94. 94 0.0% 10.0% 20.0% 30.0% 40.0% 50.0% 60.0% 70.0% 80.0% 90.0% Transition of achievement ratio 84.1% Narrowed down target jobs 16.7% Solid advance with weekly measurements/reports It will start from measurement all.
  • 96. 96 Reference “Useful Metrics in a Complex World” (Agile2014) http://www.agilealliance.org/files/9814/0509/9343/Experienc eReport.2014.Power.pdf “Moneyball for Software Projects” (Agile2014) http://schd.ws/hosted_files/agile2014/f0/1272_Agile_2014_- _Software_Moneyball_%28Troy_Magennis%29.pdf “Technology-Driven Development” (Agile2014) http://www.agilealliance.org/files/5014/0509/9284/Experienc eReport.2014.Ito.pdf “Visualize it with Project Metrics” http://www.slideshare.net/ssuser968fab/xp-matsuri- 2014ltthehiro