SlideShare uma empresa Scribd logo
1 de 36
© All rights reserved
Want to use slides from
this presentation?
Ask for permission:
ethanram@gmail.com

Agile Tools Seminar
- Technical Introduction Ethan Ram / 16 Oct. 2013
v1.2
Agenda: Agile Tools Seminar
• Session presents the automation model
developed in Videobet, the tools used in the
R&D, QA and operations:
–
–
–
–
–
–
–

Issue mgmt.: JIRA/Greenhopper
Build system and repository: Maven & Nexus
Build server: QuickBuild
Code quality: Sonar
Continuous Integration: Selenium Grid
Crash dump analysis: Socorro
Database versioning: Flyway DB

• Open discussion
• Refreshments & tour in Videobet office
Videobet, Paldiski Mnt. 29, Tallinn
iPad Mini – Draw on Exit
10/22/13

© All rights reserved

2
Videobet
• A Playtech division
• Innovative Gaming
Platform Provider
– Established 9 years ago
– 150 employees in Tallinn
and Kiev
– Operate in 9 countries
– 60% of UK market

• R&D
– Front-end teams (C++)
– Server teams (Java)
– Game development teams
10/22/13

© All rights reserved

3
Ethan Ram - Host
• Chief architect of Videobet
• Leading Videobet’s R&D and OPs
teams Agile Injection effort
• As VP R&D of GameGround
transformed the R&D to run in
Kanban in a Continuous
Deployment environment
• Hacker in soul and a Windows
Internals hobbyist
Find me here:
•ethnram@gmail.com
•LinkedIn
•The Null Terminator blog
10/22/13

© All rights reserved

4
 “We forgot to implement this feature…”
 “Didn’t you get that urgent build request email?!”
 “But there was a much more urgent issue to work on”
 “We lost a day in QA because the build was total crap”
 “It will take me a half a day to switch to that branch”

10/22/13

© All rights reserved

5
Automate it!

Streamlined
Operations







“We forgot to implement this feature…”
“Didn’t you get that urgent build request email?!”
“But there was a much more urgent issue to work on”
“We lost a day in QA because the build was total crap”
“It will take me a half a day to switch to that branch”

10/22/13

© All rights reserved









Transparency in all operations
Prioritize often
Enable teams collaboration
Simplify dev. environment
Reduce QA cost
Improve product quality
Go Agile; go green!
6
10/22/13

© All rights reserved

7
Target: Streamline Operations
Daily Scrum meeting around team Scrum board

Filling a bug using 7” tablet 
10/22/13

© All rights reserved

8
Agile Issue Tracking and Mgmt: JIRA
Tips
•JIRA Agile is good!
•Latest versions are fast and
intuitive
– No more than 1-2 hours a
week to manage it all

•A few plugins used for
missing functionality
•Keep all R&D in one JIRA
project
– Team backlog based on a
team label

•If you cannot model your
process into JIRA better ask:
“What do I need to change in
my process”
•Missing a good
resource/project timeline tool

10/22/13

© All rights reserved

9
JIRA Agile – Scrum Board

10/22/13

© All rights reserved

10
Scrum Board – Sprint Planning

xxx
aBC

aBsddlfhasldjhlshC

10/22/13

© All rights reserved

11
Scrum Charts: Burn-Down, Velocity,
Sprint Report

10/22/13

© All rights reserved

12
Kanban: Multi-Project Epics Mgmt.
WIP
ALERT

10/22/13

© All rights reserved

13
Kanban: Operations Teams

10/22/13

© All rights reserved

14
Continuous Integration Concept

10/22/13

© All rights reserved

15
Continuous Integration - Maven
• Mavenize it all
– Product: Java, C++, scripts, game resource
compilations etc.
– Embedded Operating System images
– Customer configurations and packages

• Nexus artifact repository
– Build output is here! Snapshots, releases
– Installer downloads directly from Nexus repo.
– New artifacts pushed to 2nd Nexus in remote site

• Build promotions
– Snapshot builds avail to Scrum team immediately
(Auto-deleted after a week)
– Promote builds to QA and customer (“gold”)
10/22/13

© All rights reserved

16
Continuous Integration – Build Server
•
•
•
•
•

Build on every commit – fail build on errors
Run unit testing – fail build on assertions
Run integration tests – alert testers
Code quality metrics – produced weekly
Distributed build agents – some in remote
sites
• Daily snapshot installed and run in QA
– Nightly scripts run on 60+ terminals

• Integration testing – run every hour
– Deploy and upgrade servers and database
– Run Selenium script on management console
– Run clients simulators
10/22/13

© All rights reserved

17
CI Server - QuickBuild
Build and test queue

Latest builds
promoted to QA

Alert when Continuous
Integration fails
10/22/13

© All rights reserved

18
Code Quality Metrics - Sonar

•
•
•
•
•

Percent of code covered by unit tests, per module
Common developer mistakes: leaks, uninitialized vars, unsafe error handling etc.
Code complexity measures based on static code analysis
Drill-down to line of code
Supports continuous improvement by developers: Java and C++
10/22/13

© All rights reserved

19
Integration Testing

• This is unsustainable!
• Goal: break this is vicious cycle!
10/22/13

© All rights reserved

20
Integration Testing – The basics
• Initial goal: main data flows should
remain working at all times to allow
QA to run full regression test suite
• Long term goal: replace most
regression testing
• Tests are run hourly on active
branches - snapshot build
• Deployment on a set of virtual
machines

10/22/13

© All rights reserved

“Keeping product
stable is more
important than
developing new
features”

21
Integration Testing – DEMO

• Using Selenium scripts to test admin console and check
that a test-setup of servers and clients is working
10/22/13

© All rights reserved

22
Here’s a New Bug CI Found Today!
 Email: CI Alerts on failed test
 Tester validates it’s a bug
Bug was resolved 2 hrs after it was introduced
CI is back to “green”

10/22/13

© All rights reserved
Integration Testing – Solution
• Infrastructure
–
–
–
–
–

Virtual Machines deployment scripts
DB deployment scripts
Server install
Clients install
Client simulators (initially created used
for load-testing sessions)
– Various libs allowing triggering of
hardware events and reading screen
output – with activated over http

• Tests
– Selenium grid – for web-testing
• nUnit tests running on build server
10/22/13

© All rights reserved

24
Integration Testing – Tips
• Find the natural topic owners: the Scrum testers
– Lots a scripting is required
– They are busy – but this can be their baby

• Plan ahead but start small
– Get one test running first

• The hard part is to set the infra. You have to
combine knowledge from
–
–
–
–
–

Devs
Testers
Build
Deployment
Infra-teams

• Education is a must

– This is a radical change that ppl do not understand

• Keep tests short
• Celebrate the first bugs found 
10/22/13

© All rights reserved

25
Crashes In a Large-Scale Install-base
• A major problem on all platforms
• Intermittent crash is very hard to
find in QA
– Hard to reproduce
– May-be overlooked by tester
– Happens only when combined with
“other” software and hardware

• Crash statistics gives clarity
– Scale of problems: focus for
urgency
– Direct access to dump for devs
10/22/13

© All rights reserved

26
Crash Stats Server - Socorro
Select Product
or Content and
version

Filter by time
and platform

Sort by first time
this crash was
reported

Trending!
Crash dumps are
grouped by crash location
in code;
Click to see graph

• Open source server by Mozilla provides large scale dump analysis
• All licensee’s terminals upload dumps of platform and games (“content”)
• Dumps redirected to a single server as Videobet data center
10/22/13

© All rights reserved

27
Crash Drill-Down- Socorro
Product build
number and
client ID

Stack trace
with symbols
directly from
build server

Create
bug

Click to go
directly to
source code

• 105 bugs opened in QA night-runs (12/’12 – 8/’13)
10/22/13

© All rights reserved

28
Database Versioning
Database

Code

•
•
•
•

• Branch
• Build version

Schema
Config data
Operational data / OLTP
Reporting data / OLAP

We need to find an answer to these:
•What state is the database in on this machine?

– Has this script already been applied or not?
– Has the quick fix in production been applied in test afterwards?

•Can this DB correspond to my code version?
•How do I roll-back this DB to previous release version?
•How do you set up a new database instance?
10/22/13

© All rights reserved

29
Database Versioning

10/22/13

© All rights reserved

30
Flyway DB: First Migration

10/22/13

© All rights reserved

31
Flyway DB: Second Migration

10/22/13

© All rights reserved

32
Flyway DB is Agile!
• Migrations kept with source code
– Applying migrations added between v1 to v2 is
easy
– Roll-back of migrations supported built-in

• Merging team-branch migrations is like (even
simpler than) merging code
• Each dev can have its own DB and manage
it’s data in a simple way
– Integrative with Maven/Ant
– Command-line or JAVA API

• Data for unit-testing can be added and
removed on the fly
• Excellent for Continues Deployment
10/22/13

© All rights reserved

33
Goal: Continuous Deployment
At SlideShare, instead of big launches, we
We have been doing continuous deployment code all the time... it reduces risk.
release
at Plex since our inception in 1995. We we are putting out small changes at a
Since
formalized the process with our own “deploy” breaks we know what it is and can
time, if it
button in 2003, and hit the 25k deployment
roll back.
mark less than two years thereafter. Flickr "10+ Deploys Per Day"
We
Rashmi
Steve Conover
currently average between 50-100
At bixbe.com, we auto-deploy the latest
deployments per day as soon as anything is
checked in code to our massive online
ERP system.
installed, so no safety net at all. Using this
One of the exciting things, from a
Jerry Foster
method, we’re doing 10-30 deploys per day.One of the exciting things, from a
development perspective, about Digg is
development
It’s a totally productive way to move quickly.
WordPress.com - we’ve averaged about 16 perspective, about Digg is
continuous deployment - when developers fix
We still maintain the conceptevery continuous deployment - when developers fix
product releases a day, of ‘beta’ for the last
day
aabug or add aanew feature, there's no need
features… four and bits ofyears… Everyone in our
optional a half code that canbug or add new feature, there's no need
be
to wait for aascheduled release. Instead, the
tobutton that
turned on or off by user account. This letswait for scheduled release. Instead, the
company has access to a deploy us
change can go live right away. This is great change
roll out new capabilities to checked in code to about live right away. This is great releases the latest limited exposure can go
the turnaround time for a change drops
the
and avoid production the corein ourflow. tier in less
400 disrupting servers user web turnaround time for a change drops
dramatically.
dramatically.
than 30 mtrifiro (across 3 data centers).
seconds
Andrew Bayer
Andrew Bayer
Toni Schneider
10/22/13

© All rights reserved

34
Continues Deployment
“Let’s Leave Something
for next time…”

10/22/13

© All rights reserved

35
Q&A
Open Discussion

10/22/13

© All rights reserved

Mais conteúdo relacionado

Mais procurados

Preparing for DevOps
Preparing for DevOpsPreparing for DevOps
Preparing for DevOpsEklove Mohan
 
Continuous Integration, Delivery and Deployment
Continuous Integration, Delivery and DeploymentContinuous Integration, Delivery and Deployment
Continuous Integration, Delivery and DeploymentEero Laukkanen
 
Introduction to dev ops
Introduction to dev opsIntroduction to dev ops
Introduction to dev opsLen Bass
 
Testing in a continuous delivery environment
Testing in a continuous delivery environmentTesting in a continuous delivery environment
Testing in a continuous delivery environmentStefan Verhoeff
 
2016 09-dev opsjourney-devopsdaysoslo
2016 09-dev opsjourney-devopsdaysoslo2016 09-dev opsjourney-devopsdaysoslo
2016 09-dev opsjourney-devopsdaysosloJon Arild Tørresdal
 
CI/CD for mobile at HERE
CI/CD for mobile at HERECI/CD for mobile at HERE
CI/CD for mobile at HEREStefan Verhoeff
 
Automating the build and deployment of legacy applications
Automating the build and deployment of legacy applicationsAutomating the build and deployment of legacy applications
Automating the build and deployment of legacy applicationsCachet Software Solutions Ltd
 
Deployability
DeployabilityDeployability
DeployabilityLen Bass
 
Dev ops and safety critical systems
Dev ops and safety critical systemsDev ops and safety critical systems
Dev ops and safety critical systemsLen Bass
 
Successful testing continuous delivery - coding serbia 2013
Successful testing continuous delivery - coding serbia 2013Successful testing continuous delivery - coding serbia 2013
Successful testing continuous delivery - coding serbia 2013Miel Donkers
 
Agile Strategies for Traditional Software Development Teams
Agile Strategies for Traditional Software Development TeamsAgile Strategies for Traditional Software Development Teams
Agile Strategies for Traditional Software Development TeamsTechWell
 
Packaging tool options
Packaging tool optionsPackaging tool options
Packaging tool optionsLen Bass
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsSOASTA
 
Continuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and DeployitContinuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and DeployitXebiaLabs
 
Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Mike McGarr
 
DevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud Pies
DevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud PiesDevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud Pies
DevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud PiesCentric Consulting
 
State of mobile Continuous Delivery at Spotify
State of mobile Continuous Delivery at SpotifyState of mobile Continuous Delivery at Spotify
State of mobile Continuous Delivery at SpotifyMobile Delivery Days
 
Continuous Delivery at Oracle Database Insights
Continuous Delivery at Oracle Database InsightsContinuous Delivery at Oracle Database Insights
Continuous Delivery at Oracle Database InsightsMichael Medin
 
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)CloudBees
 

Mais procurados (20)

Node.js Tools Ecosystem
Node.js Tools EcosystemNode.js Tools Ecosystem
Node.js Tools Ecosystem
 
Preparing for DevOps
Preparing for DevOpsPreparing for DevOps
Preparing for DevOps
 
Continuous Integration, Delivery and Deployment
Continuous Integration, Delivery and DeploymentContinuous Integration, Delivery and Deployment
Continuous Integration, Delivery and Deployment
 
Introduction to dev ops
Introduction to dev opsIntroduction to dev ops
Introduction to dev ops
 
Testing in a continuous delivery environment
Testing in a continuous delivery environmentTesting in a continuous delivery environment
Testing in a continuous delivery environment
 
2016 09-dev opsjourney-devopsdaysoslo
2016 09-dev opsjourney-devopsdaysoslo2016 09-dev opsjourney-devopsdaysoslo
2016 09-dev opsjourney-devopsdaysoslo
 
CI/CD for mobile at HERE
CI/CD for mobile at HERECI/CD for mobile at HERE
CI/CD for mobile at HERE
 
Automating the build and deployment of legacy applications
Automating the build and deployment of legacy applicationsAutomating the build and deployment of legacy applications
Automating the build and deployment of legacy applications
 
Deployability
DeployabilityDeployability
Deployability
 
Dev ops and safety critical systems
Dev ops and safety critical systemsDev ops and safety critical systems
Dev ops and safety critical systems
 
Successful testing continuous delivery - coding serbia 2013
Successful testing continuous delivery - coding serbia 2013Successful testing continuous delivery - coding serbia 2013
Successful testing continuous delivery - coding serbia 2013
 
Agile Strategies for Traditional Software Development Teams
Agile Strategies for Traditional Software Development TeamsAgile Strategies for Traditional Software Development Teams
Agile Strategies for Traditional Software Development Teams
 
Packaging tool options
Packaging tool optionsPackaging tool options
Packaging tool options
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and Jenkins
 
Continuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and DeployitContinuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and Deployit
 
Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)
 
DevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud Pies
DevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud PiesDevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud Pies
DevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud Pies
 
State of mobile Continuous Delivery at Spotify
State of mobile Continuous Delivery at SpotifyState of mobile Continuous Delivery at Spotify
State of mobile Continuous Delivery at Spotify
 
Continuous Delivery at Oracle Database Insights
Continuous Delivery at Oracle Database InsightsContinuous Delivery at Oracle Database Insights
Continuous Delivery at Oracle Database Insights
 
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
 

Destaque

Advanced topics in Agile: Implementing Scrum in a project-based company
Advanced topics in Agile: Implementing Scrum in a project-based companyAdvanced topics in Agile: Implementing Scrum in a project-based company
Advanced topics in Agile: Implementing Scrum in a project-based companyEthan Ram
 
How to Measure Agility Project Success in Business Terms
How to Measure Agility Project Success in Business TermsHow to Measure Agility Project Success in Business Terms
How to Measure Agility Project Success in Business TermsEthan Ram
 
DevOps: Building by feature with immutable infrastructure at Serv.sg
DevOps: Building by feature with immutable infrastructure at Serv.sgDevOps: Building by feature with immutable infrastructure at Serv.sg
DevOps: Building by feature with immutable infrastructure at Serv.sgNicolas Mas
 
seminar report content
seminar report contentseminar report content
seminar report contentwardady
 
Sonar Project Report
Sonar Project ReportSonar Project Report
Sonar Project ReportSumit Sapra
 
Software And Computer Applications for civil engineering
Software And Computer Applications for civil engineeringSoftware And Computer Applications for civil engineering
Software And Computer Applications for civil engineeringSameer Nawab
 
Kanban boards step by step
Kanban boards step by stepKanban boards step by step
Kanban boards step by stepGiulio Roggero
 
Jira as a Project Management Tool
Jira as a Project Management ToolJira as a Project Management Tool
Jira as a Project Management ToolPaolo Mottadelli
 
Civil engineering powerpoint
Civil engineering powerpointCivil engineering powerpoint
Civil engineering powerpointchrisminer01
 
Civil Engineering (Beams,Columns)
Civil Engineering (Beams,Columns)Civil Engineering (Beams,Columns)
Civil Engineering (Beams,Columns)mbrsalman
 

Destaque (13)

Advanced topics in Agile: Implementing Scrum in a project-based company
Advanced topics in Agile: Implementing Scrum in a project-based companyAdvanced topics in Agile: Implementing Scrum in a project-based company
Advanced topics in Agile: Implementing Scrum in a project-based company
 
How to Measure Agility Project Success in Business Terms
How to Measure Agility Project Success in Business TermsHow to Measure Agility Project Success in Business Terms
How to Measure Agility Project Success in Business Terms
 
DevOps: Building by feature with immutable infrastructure at Serv.sg
DevOps: Building by feature with immutable infrastructure at Serv.sgDevOps: Building by feature with immutable infrastructure at Serv.sg
DevOps: Building by feature with immutable infrastructure at Serv.sg
 
seminar report content
seminar report contentseminar report content
seminar report content
 
Sonar Project Report
Sonar Project ReportSonar Project Report
Sonar Project Report
 
Sonar technology ppt
Sonar technology pptSonar technology ppt
Sonar technology ppt
 
SONAR
SONARSONAR
SONAR
 
Jira fundamentals
Jira fundamentalsJira fundamentals
Jira fundamentals
 
Software And Computer Applications for civil engineering
Software And Computer Applications for civil engineeringSoftware And Computer Applications for civil engineering
Software And Computer Applications for civil engineering
 
Kanban boards step by step
Kanban boards step by stepKanban boards step by step
Kanban boards step by step
 
Jira as a Project Management Tool
Jira as a Project Management ToolJira as a Project Management Tool
Jira as a Project Management Tool
 
Civil engineering powerpoint
Civil engineering powerpointCivil engineering powerpoint
Civil engineering powerpoint
 
Civil Engineering (Beams,Columns)
Civil Engineering (Beams,Columns)Civil Engineering (Beams,Columns)
Civil Engineering (Beams,Columns)
 

Semelhante a DevOps / Agile Tools Seminar 2013

Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...Weaveworks
 
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...apidays
 
Enterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsEnterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsCollabNet
 
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...Roberto Pérez Alcolea
 
The Rocky Cloud Road
The Rocky Cloud RoadThe Rocky Cloud Road
The Rocky Cloud RoadGert Drapers
 
Hyd virtual meetupslides11jul
Hyd virtual meetupslides11julHyd virtual meetupslides11jul
Hyd virtual meetupslides11julSantosh Ojha
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development PipelineGlobalLogic Ukraine
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
The Hard Problems of Continuous Deployment
The Hard Problems of Continuous DeploymentThe Hard Problems of Continuous Deployment
The Hard Problems of Continuous DeploymentTimothy Fitz
 
A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...CollabNet
 
Moving the Guidewire platform to OSGi - Paul D'Albora
Moving the Guidewire platform to OSGi - Paul D'AlboraMoving the Guidewire platform to OSGi - Paul D'Albora
Moving the Guidewire platform to OSGi - Paul D'Alboramfrancis
 
Warsaw MuleSoft Meetup #6 - CI/CD
Warsaw MuleSoft Meetup  #6 - CI/CDWarsaw MuleSoft Meetup  #6 - CI/CD
Warsaw MuleSoft Meetup #6 - CI/CDPatryk Bandurski
 
Session on evaluation of DevSecOps
Session on evaluation of DevSecOpsSession on evaluation of DevSecOps
Session on evaluation of DevSecOpsAbdullah al Mamun
 
Cognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksCognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksSenturus
 
Cloud native development without the toil
Cloud native development without the toilCloud native development without the toil
Cloud native development without the toilAmbassador Labs
 
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...Daniel Bryant
 
Mulesoft Meetup Milano #9 - Batch Processing and CI/CD
Mulesoft Meetup Milano #9 - Batch Processing and CI/CDMulesoft Meetup Milano #9 - Batch Processing and CI/CD
Mulesoft Meetup Milano #9 - Batch Processing and CI/CDGonzalo Marcos Ansoain
 
Smarter z/OS Software Delivery using Rational Enterprise Cloud Solutions
Smarter z/OS Software Delivery using Rational Enterprise Cloud SolutionsSmarter z/OS Software Delivery using Rational Enterprise Cloud Solutions
Smarter z/OS Software Delivery using Rational Enterprise Cloud SolutionsJean-Yves Rigolet
 

Semelhante a DevOps / Agile Tools Seminar 2013 (20)

Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
 
Developer want change Ops want control - devops
Developer want change Ops want control - devopsDeveloper want change Ops want control - devops
Developer want change Ops want control - devops
 
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
 
Enterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsEnterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using Jenkins
 
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
 
The Rocky Cloud Road
The Rocky Cloud RoadThe Rocky Cloud Road
The Rocky Cloud Road
 
Hyd virtual meetupslides11jul
Hyd virtual meetupslides11julHyd virtual meetupslides11jul
Hyd virtual meetupslides11jul
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
The Hard Problems of Continuous Deployment
The Hard Problems of Continuous DeploymentThe Hard Problems of Continuous Deployment
The Hard Problems of Continuous Deployment
 
A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...
 
Moving the Guidewire platform to OSGi - Paul D'Albora
Moving the Guidewire platform to OSGi - Paul D'AlboraMoving the Guidewire platform to OSGi - Paul D'Albora
Moving the Guidewire platform to OSGi - Paul D'Albora
 
Warsaw MuleSoft Meetup #6 - CI/CD
Warsaw MuleSoft Meetup  #6 - CI/CDWarsaw MuleSoft Meetup  #6 - CI/CD
Warsaw MuleSoft Meetup #6 - CI/CD
 
Developing apps faster
Developing apps fasterDeveloping apps faster
Developing apps faster
 
Session on evaluation of DevSecOps
Session on evaluation of DevSecOpsSession on evaluation of DevSecOps
Session on evaluation of DevSecOps
 
Cognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksCognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & Tricks
 
Cloud native development without the toil
Cloud native development without the toilCloud native development without the toil
Cloud native development without the toil
 
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
 
Mulesoft Meetup Milano #9 - Batch Processing and CI/CD
Mulesoft Meetup Milano #9 - Batch Processing and CI/CDMulesoft Meetup Milano #9 - Batch Processing and CI/CD
Mulesoft Meetup Milano #9 - Batch Processing and CI/CD
 
Smarter z/OS Software Delivery using Rational Enterprise Cloud Solutions
Smarter z/OS Software Delivery using Rational Enterprise Cloud SolutionsSmarter z/OS Software Delivery using Rational Enterprise Cloud Solutions
Smarter z/OS Software Delivery using Rational Enterprise Cloud Solutions
 

Último

Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sectoritnewsafrica
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...Karmanjay Verma
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 

Último (20)

Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 

DevOps / Agile Tools Seminar 2013

  • 1. © All rights reserved Want to use slides from this presentation? Ask for permission: ethanram@gmail.com Agile Tools Seminar - Technical Introduction Ethan Ram / 16 Oct. 2013 v1.2
  • 2. Agenda: Agile Tools Seminar • Session presents the automation model developed in Videobet, the tools used in the R&D, QA and operations: – – – – – – – Issue mgmt.: JIRA/Greenhopper Build system and repository: Maven & Nexus Build server: QuickBuild Code quality: Sonar Continuous Integration: Selenium Grid Crash dump analysis: Socorro Database versioning: Flyway DB • Open discussion • Refreshments & tour in Videobet office Videobet, Paldiski Mnt. 29, Tallinn iPad Mini – Draw on Exit 10/22/13 © All rights reserved 2
  • 3. Videobet • A Playtech division • Innovative Gaming Platform Provider – Established 9 years ago – 150 employees in Tallinn and Kiev – Operate in 9 countries – 60% of UK market • R&D – Front-end teams (C++) – Server teams (Java) – Game development teams 10/22/13 © All rights reserved 3
  • 4. Ethan Ram - Host • Chief architect of Videobet • Leading Videobet’s R&D and OPs teams Agile Injection effort • As VP R&D of GameGround transformed the R&D to run in Kanban in a Continuous Deployment environment • Hacker in soul and a Windows Internals hobbyist Find me here: •ethnram@gmail.com •LinkedIn •The Null Terminator blog 10/22/13 © All rights reserved 4
  • 5.  “We forgot to implement this feature…”  “Didn’t you get that urgent build request email?!”  “But there was a much more urgent issue to work on”  “We lost a day in QA because the build was total crap”  “It will take me a half a day to switch to that branch” 10/22/13 © All rights reserved 5
  • 6. Automate it! Streamlined Operations      “We forgot to implement this feature…” “Didn’t you get that urgent build request email?!” “But there was a much more urgent issue to work on” “We lost a day in QA because the build was total crap” “It will take me a half a day to switch to that branch” 10/22/13 © All rights reserved        Transparency in all operations Prioritize often Enable teams collaboration Simplify dev. environment Reduce QA cost Improve product quality Go Agile; go green! 6
  • 8. Target: Streamline Operations Daily Scrum meeting around team Scrum board Filling a bug using 7” tablet  10/22/13 © All rights reserved 8
  • 9. Agile Issue Tracking and Mgmt: JIRA Tips •JIRA Agile is good! •Latest versions are fast and intuitive – No more than 1-2 hours a week to manage it all •A few plugins used for missing functionality •Keep all R&D in one JIRA project – Team backlog based on a team label •If you cannot model your process into JIRA better ask: “What do I need to change in my process” •Missing a good resource/project timeline tool 10/22/13 © All rights reserved 9
  • 10. JIRA Agile – Scrum Board 10/22/13 © All rights reserved 10
  • 11. Scrum Board – Sprint Planning xxx aBC aBsddlfhasldjhlshC 10/22/13 © All rights reserved 11
  • 12. Scrum Charts: Burn-Down, Velocity, Sprint Report 10/22/13 © All rights reserved 12
  • 13. Kanban: Multi-Project Epics Mgmt. WIP ALERT 10/22/13 © All rights reserved 13
  • 14. Kanban: Operations Teams 10/22/13 © All rights reserved 14
  • 16. Continuous Integration - Maven • Mavenize it all – Product: Java, C++, scripts, game resource compilations etc. – Embedded Operating System images – Customer configurations and packages • Nexus artifact repository – Build output is here! Snapshots, releases – Installer downloads directly from Nexus repo. – New artifacts pushed to 2nd Nexus in remote site • Build promotions – Snapshot builds avail to Scrum team immediately (Auto-deleted after a week) – Promote builds to QA and customer (“gold”) 10/22/13 © All rights reserved 16
  • 17. Continuous Integration – Build Server • • • • • Build on every commit – fail build on errors Run unit testing – fail build on assertions Run integration tests – alert testers Code quality metrics – produced weekly Distributed build agents – some in remote sites • Daily snapshot installed and run in QA – Nightly scripts run on 60+ terminals • Integration testing – run every hour – Deploy and upgrade servers and database – Run Selenium script on management console – Run clients simulators 10/22/13 © All rights reserved 17
  • 18. CI Server - QuickBuild Build and test queue Latest builds promoted to QA Alert when Continuous Integration fails 10/22/13 © All rights reserved 18
  • 19. Code Quality Metrics - Sonar • • • • • Percent of code covered by unit tests, per module Common developer mistakes: leaks, uninitialized vars, unsafe error handling etc. Code complexity measures based on static code analysis Drill-down to line of code Supports continuous improvement by developers: Java and C++ 10/22/13 © All rights reserved 19
  • 20. Integration Testing • This is unsustainable! • Goal: break this is vicious cycle! 10/22/13 © All rights reserved 20
  • 21. Integration Testing – The basics • Initial goal: main data flows should remain working at all times to allow QA to run full regression test suite • Long term goal: replace most regression testing • Tests are run hourly on active branches - snapshot build • Deployment on a set of virtual machines 10/22/13 © All rights reserved “Keeping product stable is more important than developing new features” 21
  • 22. Integration Testing – DEMO • Using Selenium scripts to test admin console and check that a test-setup of servers and clients is working 10/22/13 © All rights reserved 22
  • 23. Here’s a New Bug CI Found Today!  Email: CI Alerts on failed test  Tester validates it’s a bug Bug was resolved 2 hrs after it was introduced CI is back to “green” 10/22/13 © All rights reserved
  • 24. Integration Testing – Solution • Infrastructure – – – – – Virtual Machines deployment scripts DB deployment scripts Server install Clients install Client simulators (initially created used for load-testing sessions) – Various libs allowing triggering of hardware events and reading screen output – with activated over http • Tests – Selenium grid – for web-testing • nUnit tests running on build server 10/22/13 © All rights reserved 24
  • 25. Integration Testing – Tips • Find the natural topic owners: the Scrum testers – Lots a scripting is required – They are busy – but this can be their baby • Plan ahead but start small – Get one test running first • The hard part is to set the infra. You have to combine knowledge from – – – – – Devs Testers Build Deployment Infra-teams • Education is a must – This is a radical change that ppl do not understand • Keep tests short • Celebrate the first bugs found  10/22/13 © All rights reserved 25
  • 26. Crashes In a Large-Scale Install-base • A major problem on all platforms • Intermittent crash is very hard to find in QA – Hard to reproduce – May-be overlooked by tester – Happens only when combined with “other” software and hardware • Crash statistics gives clarity – Scale of problems: focus for urgency – Direct access to dump for devs 10/22/13 © All rights reserved 26
  • 27. Crash Stats Server - Socorro Select Product or Content and version Filter by time and platform Sort by first time this crash was reported Trending! Crash dumps are grouped by crash location in code; Click to see graph • Open source server by Mozilla provides large scale dump analysis • All licensee’s terminals upload dumps of platform and games (“content”) • Dumps redirected to a single server as Videobet data center 10/22/13 © All rights reserved 27
  • 28. Crash Drill-Down- Socorro Product build number and client ID Stack trace with symbols directly from build server Create bug Click to go directly to source code • 105 bugs opened in QA night-runs (12/’12 – 8/’13) 10/22/13 © All rights reserved 28
  • 29. Database Versioning Database Code • • • • • Branch • Build version Schema Config data Operational data / OLTP Reporting data / OLAP We need to find an answer to these: •What state is the database in on this machine? – Has this script already been applied or not? – Has the quick fix in production been applied in test afterwards? •Can this DB correspond to my code version? •How do I roll-back this DB to previous release version? •How do you set up a new database instance? 10/22/13 © All rights reserved 29
  • 31. Flyway DB: First Migration 10/22/13 © All rights reserved 31
  • 32. Flyway DB: Second Migration 10/22/13 © All rights reserved 32
  • 33. Flyway DB is Agile! • Migrations kept with source code – Applying migrations added between v1 to v2 is easy – Roll-back of migrations supported built-in • Merging team-branch migrations is like (even simpler than) merging code • Each dev can have its own DB and manage it’s data in a simple way – Integrative with Maven/Ant – Command-line or JAVA API • Data for unit-testing can be added and removed on the fly • Excellent for Continues Deployment 10/22/13 © All rights reserved 33
  • 34. Goal: Continuous Deployment At SlideShare, instead of big launches, we We have been doing continuous deployment code all the time... it reduces risk. release at Plex since our inception in 1995. We we are putting out small changes at a Since formalized the process with our own “deploy” breaks we know what it is and can time, if it button in 2003, and hit the 25k deployment roll back. mark less than two years thereafter. Flickr "10+ Deploys Per Day" We Rashmi Steve Conover currently average between 50-100 At bixbe.com, we auto-deploy the latest deployments per day as soon as anything is checked in code to our massive online ERP system. installed, so no safety net at all. Using this One of the exciting things, from a Jerry Foster method, we’re doing 10-30 deploys per day.One of the exciting things, from a development perspective, about Digg is development It’s a totally productive way to move quickly. WordPress.com - we’ve averaged about 16 perspective, about Digg is continuous deployment - when developers fix We still maintain the conceptevery continuous deployment - when developers fix product releases a day, of ‘beta’ for the last day aabug or add aanew feature, there's no need features… four and bits ofyears… Everyone in our optional a half code that canbug or add new feature, there's no need be to wait for aascheduled release. Instead, the tobutton that turned on or off by user account. This letswait for scheduled release. Instead, the company has access to a deploy us change can go live right away. This is great change roll out new capabilities to checked in code to about live right away. This is great releases the latest limited exposure can go the turnaround time for a change drops the and avoid production the corein ourflow. tier in less 400 disrupting servers user web turnaround time for a change drops dramatically. dramatically. than 30 mtrifiro (across 3 data centers). seconds Andrew Bayer Andrew Bayer Toni Schneider 10/22/13 © All rights reserved 34
  • 35. Continues Deployment “Let’s Leave Something for next time…” 10/22/13 © All rights reserved 35

Notas do Editor

  1. Expand project mode in VB slide; expand on Playtech
  2. A mix-n-match from Scrum and Kanban Continuous sprint Backlog ordered daily Daily Scrums Focus on minimizing Work in Progress Report is based on Monthly retrospectives to improve throughput