• No results found

Continuous Delivery for Linux/Windows/Hadoop

N/A
N/A
Protected

Academic year: 2021

Share "Continuous Delivery for Linux/Windows/Hadoop"

Copied!
66
0
0

Loading.... (view fulltext now)

Full text

(1)

Continuous Delivery for

Linux/Windows/Hadoop

(2)

Agenda

Background

Problem

Solution

Demo

Q & A

(3)

Who I am

Wisely Chen ( [email protected] )

Release manager of Yahoo! Taiwan shopping and data team

Enjoys promoting open source tech

Hadoop Summit 2013 San Jose

Ruby and Rails (All in Taiwan): Coscup 2006, Ubisunrise 2007, OSDC 2007

Release Practice (All in Taiwan): Webconf 2013, Coscup 2012,2013, PHPConf 2012 , RubyConf 2012
(4)

Team

Sanching Yu

Windows

Neal Lee

Hadoop

(5)

Yahoo! Taiwan Shopping

Top B2C site in Taiwan

Monday.com acquired in 2008

8 engineering teams

15K files changed monthly

(6)

Platform

Backend

(Window)

Frontend

(Linux)

(Hadoop)

Data

Catalog Member Payment Cash Flow Logistic Supplier Machine Learning Business Intelligence Data Mart

(7)

Problem

Frontend

Team

Backend

Team

DB

Data

Team

Hadoop WebService API
(8)

We need a

multi-platform

(9)

Solution

Create B&R process

Build CI infrastructure

(10)

Solution

Create B&R process

Build CI infrastructure

(11)

Deploy Check Point Perf Test Integration Test Unit Test

Build and Release Process

(12)

Deploy Check Point Perf Test Integration Test Unit Test

Hadoop Build and Release Process

(13)

Original Difference

Frontend Team

Backend Team

Data Team

Process

Scrum

Waterfall

Waterfall

OS

Linux

Windows

Linux

Language

PHP/JAVA

.NET

Pig/MapReduce

Issue Tracking

Bugzilla

Custom System

N/A

Repos

Subversion

VSS

N/A

CI

N/A

N/A

N/A

Int Test

N/A

N/A

N/A

(14)

Multiplatform Complexity Reduction

Frontend Team

Backend Team

Data Team

Process

Scrum(not finish yet)

Scrum(not finish yet)

Scrum(not finish yet)

OS

Linux

Windows

Linux

Language

PHP/JAVA

.NET

Pig/MapReduce

Issue Tracking

Bugzilla

Bugzilla

Bugzilla

Repos

Subversion(migrate to git)

Subversion(migrate to git)

Subversion(migrate to git)

(15)

Communication Cost

(16)

Solution

Create B&R process

Build CI infrastructure

(17)

WebSite CI Infrastructure

Jenkins Master Windows Jenkins Slave Farm Selenium Server Farm Linux Jenkins Slave Farm

Beta Server Farm Windows

Farm

Linux Farm Staging Server Farm

Windows Farm

Linux Farm

(18)

Hadoop CI Infrastructure

Jenkins Master

Alpha

Jenkins Slave

Beta Cluster

Hadoop JobTracker Jenkins Slave Hadoop node Hadoop node Hadoop node Hadoop

nodeNodeSlave

Prod. Cluster

Gateway PigServer

(19)

Deploy Check Point Perf Test Integration Test Unit Test

Build and Release Process

(20)

PigUnit

A simple xUnit framework

No cluster set up is required in local mode

We change default PigUnit behavior

All PigUnit tests run on single pig server

(21)

Deploy Check Point Perf Test Integration Test Unit Test

Build and Release Process

(22)

Vaidya

Rule based performance diagnosis of M/R jobs

Extendable framework

You can add your own rules

(23)

Vaidya Performance Test

Pig Job Pig Job Conf Sampling Data
(24)

Vaidya Performance Test

Pig Job HistoryPig Job

Pig Job Conf

Sampling Data

(25)

Vaidya Performance Test

Pig Job HistoryPig Job

Vaidya

Vaidya Rule Pig Job Conf Sampling Data
(26)

Vaidya Performance Test

Pig Job HistoryPig Job

Vaidya

Vaidya Rule Pig Job Conf Notify User Sampling Data
(27)

Vaidya Performance Test

Pig Job HistoryPig Job

Vaidya

Vaidya Rule Pig Job Conf Notify User Performance Result Next CI Stage Sampling Data
(28)

<Diagnos)cTest>

<Title><![CDATA[

Balanaced Reduce Partitioning

]]></Title>

//////<ClassName>

//////////<[CDATA[org.apache...BalancedReducePar))oning]]>

///////</ClassName>

///////<Descrip)on>

///////////<![CDATA[This/rule/tests/...]]>

///////</Descrip)on>

///////<Importance><![CDATA[

High

]]></Importance>

///////<SuccessThreshold><![CDATA[

0.20

]]></SuccessThreshold>

See/if/the/reduce/job/is/ balanced/or/not/

Vaidya Rule Example

(29)

Solution

Create B&R process

Build CI infrastructure

(30)

Deploy Check Point Perf Test Integration Test Unit Test

Build and Release Process

(31)

Before Deploy

Check bug status

Documention

Create a git tag

Auto doc generating on bugzilla

Deploy to production cluster

(32)

Auto comment in bugzilla

Repos url

Release Note

(33)

Auto create git tag

Release Note [Bug xxx] log....

(34)

Application Logic Monitor

0 25 50 75 100 2-4 4-6 6-8 8-10 10-12 12-14 14-16 16-18 18-20 20-22 22-24 24-2

Today

Same day in last week

Same day in last month

Notify user of something wrong SalesNum

(35)
(36)

25 50 75 100

11Q4: Original

25 50 75 100
(37)

0 25 50 75 100 11 Q4 12 Q1 12 Q2 12 Q3 12 Q4 13 Q1 13 Q2 13 Q3

Release Bug Rate

Release Throughput

Deploy Time

11Q4: Original

0 25 50 75 100 11 Q4 12 Q1 12 Q2 12 Q3 12 Q4 13 Q1 13 Q2 13 Q3 High Bug Rate(72%)
(38)

25 50 75 100

11Q4: Original

25 50 75 100
(39)

0 25 50 75 100 11 Q4 12 Q1 12 Q2 12 Q3 12 Q4 13 Q1 13 Q2 13 Q3

Release Bug Rate

Release Throughput

Deploy Time

(40)

25 50 75 100

12Q1 : Create B&R Process...

(41)

0 25 50 75 100 11 Q4 12 Q1 12 Q2 12 Q3 12 Q4 13 Q1 13 Q2 13 Q3

Release Bug Rate

Release Throughput

Deploy Time

(42)

25 50 75 100

(43)

0 25 50 75 100 11 Q4 12 Q1 12 Q2 12 Q3 12 Q4 13 Q1 13 Q2 13 Q3

Release Bug Rate

Release Throughput

Deploy Time

(44)

25 50 75 100

(45)

0 25 50 75 100 11 Q4 12 Q1 12 Q2 12 Q3 12 Q4 13 Q1 13 Q2 13 Q3

Release Bug Rate

Release Throughput

Deploy Time

12Q4 : Build CI Infrastructure...

Dramatic throughput increase

(46)

25 50 75 100

(47)

0 25 50 75 100 11 Q4 12 Q1 12 Q2 12 Q3 12 Q4 13 Q1 13 Q2 13 Q3

Release Bug Rate

Release Throughput

Deploy Time

(48)

25 50 75 100

(49)

0 25 50 75 100 11 Q4 12 Q1 12 Q2 12 Q3 12 Q4 13 Q1 13 Q2 13 Q3

Release Bug Rate

Release Throughput

Deploy Time

(50)

25 50 75 100

13Q3: Automate Everything...

Deploy time decrease
(51)

0 25 50 75 100 11 Q4 12 Q1 12 Q2 12 Q3 12 Q4 13 Q1 13 Q2 13 Q3

Release Bug Rate

Release Throughput

Deploy Time

(52)

Hadoop CI Demo

Demo1 : Unit test

Demo2 : Performance test

(53)
(54)
(55)

Conclusion

This process can reduce bug rate

This process can increase productivity

(56)
(57)
(58)

22.5 45 67.5 90

ReleaseBugRate

ReleaseThroughput

DeployCostTime

(59)

Web Site CI Process

Backend

3 Team

(Window)

Cash Flow

Frontend

2 Team

(Linux)

Catalog Mobile Member Payment Logistic Supplier CMS

Data

2 Team

(Hadoop)

Machine Learning Business Intelligence Data Mart CRM
(60)

Build and release process

PHP Code Commit PHP Unit Test Deploy Linux Beta Beta Auto Test Deploy PHP Staging Staging Auto Test Staging UAT Check Test Status Release Meeting .NET Code Commit .NET Unit Test Deploy Win Beta Deploy .NET Staging Deploy PHP Prod
(61)

0 25 50 75 100 11 Q4 12 Q1 12 Q2 12 Q3 12 Q4 13 Q1 13 Q2 13 Q3

Release Bug Rate

Release Throughput

Deploy Cost Time

Throughput increased dramaticly

Bug rate down to 22%

(62)

25 50 75 100

Significant bug rate drop

(63)

0 25 50 75 100 11 Q4 12 Q1 12 Q2 12 Q3 12 Q4 13 Q1 13 Q2 13 Q3

Release Bug Rate

Release Throughput

Deploy Cost Time

Throughput increased dramaticly

Bug rate down to 22%

(64)

25 50 75 100

Deploy cost time drop

(65)

Two B&R Processes

Frontend

Team

Backend

Team

Team

Data

Website

(66)

Automate Everything

Check Point Script Bugzilla Source Repos Log Deploy Script Notify User Script

Bug List Yes

No Check Bug Status

Jenkins

Style/Static/ Similarity

Continuous Delivery for Linux/Windows/Hadoop

References

Related documents

Marketing concept cannot do without putting the markets in the form of market segmentation and determining a specific target market, for these help the organization to have

[r]

A great deal of research into the depths of the ocean has been carried out using the submersible Alvin, a craft that can carry three people down to a depth of 4,500

In particular, it will explain how the IBM Smart Business Development &amp; Test Cloud can be used to realize many of these benefits as well as provide step-by-step

vertices of the standard lattice tiling; if we choose the point set data as the vertices or the symmetry centres, both cases will give us Delone set as a stan- dard lattice

Studies demonstrate that children, some as young as 8 years old who require vision correction, are capable of contact lens wear and care.. Research also confirms that their vision

Check-in code &amp; review Deploy to TST Deploy to TST Smoke test on TST Regression Test System Test Deploy to ACC Deploy to ACC Smoke test on ACC Acceptance Chain

His research in robotics is based on Model Driven Engineering, Domain Specific Language, Embodied Agent approach and the formal specification for robotic control systems. Ren ´e