SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
Continuous Integration
for Heterogeneous
Environments

Nils Hofmeister, 11.09.2011
PHP Unconference
Hello world!

• Nils Hofmeister
• 5+ Years experience in realtime 3D / C++
• 2+ Years experience in web-based games (php, javascript, Java, C++, C#)
• Lead Integration Architect @Bigpoint, Hamburg – “the SVN guy” ;)
2
Agenda

• What is continuous integration?
• Why do you want continuous integration for your project?
• How do we implement continuous integration at Bigpoint?

• What are our next steps?

3
What is continuous
integration?

4
What is continuous integration?
The gossip
• A way to automize certain tasks, e.g.
• code validation
• build automation
• packaging of products

• A system of cooperating hardware- and software components , e.g.
• Source code management system (SCM)
• Staging system + production servers
• Build cluster with all kinds of compilers and frameworks on it

The idea behind this is much more important, so we do the technical stuff later.

5
What is continuous integration?
The idea
• Not brand-new: First known example: IBM OS/360, early 60s
• Current ideas and drivers closely related to agile movement and Extreme
Programming
• Martin Fowler says:
•
•
•
•
•
•
•

software development practice
integrate *…+ frequently
multiple integrations per day
verified by an automated build
detect integration errors
significantly reduced integration problems
develop cohesive software more rapidly

Martin Fowler on Continuous Integration - 2006 version
Original article – 2000
6
What is continuous integration?
The philosophy
Jez Humble says in "Continuous Delivery":
•
•
•
•
•
•
•
•

Create a repeatable, reliable process [...]
Automate almost everything
Keep everything in version control
If it hurts, do it more freqeuntly and bring the pain forward
Build quality in
Done means released
Everybody is responsible for the delivery process
Continuous improvement

“If something hurts, do it more often”
7
What is continuous integration?
The attitude

• Accept that CI is a standard tool. Just as compilers, SCMs or documentation are
• Understand that failing builds must have highest priority - always!
• Keep in mind that errors happen anyway. CI only makes them visible
immediately and reliably.
8
Why do you want continuous
integration for your
project?
9
Why do you want continuous integration for your project?
Reduce risks

• Defects are detected and fixed sooner
• Health of software is measurable
• Reduce assumptions (environment variables, local setup, etc)
10
Why do you want continuous integration for your project?
Reduce repetitive manual processes

• Process runs the same way every time
• The process starts automatically
• This frees resources for higher-value work
11
Why do you want continuous integration for your project?
Generate deployable software

• Product is deployable always
• Paradigm-shift from crunch time before release to "always ready to deliver"
12
Why do you want continuous integration for your project?
Better project visibility

• Supports effective decisions
• Facilitates recognizing trends
13
Why do you want continuous integration for your project?
Greater confidence in your project

• CI provides a safety net to avoid releasing flawed software
• Developers get a better feeling for impact of changes
14
How do we implement
continuous integration at
Bigpoint?
15
How do we implement continuous integration at Bigpoint?
The setting

• Websites, backend systems, clients
• PHP is one of many technologies required to assemble our games (an important one,
don’t worry ;))
16
How do we implement continuous integration at Bigpoint?
The requirements

• Per artifact:
• Check for defects
• Measure quality
• Per project:
• Assemble deliverable packages
• Deploy these
17
How do we implement continuous integration at Bigpoint?
The solution space (subjective! and there is more of course)
Microsoft Team Foundation Server
Integrates fine with Microsoft Tools. But with nothing else 
TeamCity
Well-known product by JetBrains. Feature set is fine, but no USP
that justifies to pay for it right now.

CruiseControl
The classic invented by ThoughtWorks. Now an open source
project. Delightfully old-school.
Bamboo
Quite solid, full-featured product by Atlassian. No real USP though
that justifies the high price.
Go
The current CI solution by ThoughtWorks. The theory behind it is
cool but it lacks a lot of features and configuration is no fun.
18
How do we implement continuous integration at Bigpoint?
The actual solution for us

• Hudson:
• Created by Kohsuke Kawaguchi
• "Duke's Choice Award" in 2008
• Comes from the Java world, ships with CVS/SVN, Maven, JUnit support

• Jenkins:
• Kohsuke was working for Sun till Oracle acquired Sun in 2010
• Conflict between the Hudson Core developers and Oracle => Fork in 2011

19
How do we implement continuous integration at Bigpoint?
The actual solution for us II

• Trends after fork
• Hudson => Focus on quality & stability
• Jenkins => Core developers, faster pace
• Our decision
• choose Jenkins as for us features > stability.
• to compensate we use Jenkins LTS

20
How do we implement continuous integration at Bigpoint?
The actual solution for us III

We like the Jenkins community!
(My colleague Marcelo and Kohsuke on their way to get their hands on some beer)
21
How do we implement continuous integration at Bigpoint?
Hamburg Jenkins cluster
There are more instances, but this is the biggest one…
• Setup
• 1 fileserver as master (Debian)
• 3 blades (Debian)
• 4 windows workstations

• Toolchains
•
•
•
•
•

Java
Flash/Flex
Php (+ JS, html, CSS)
Unity/Mono
C++

• Highly customized
• Home-grown housekeeping + backup
• Custom plugins / actively develop Jenkins
• All the stuff needed to deal with Kerberos…
22
How do we implement continuous integration at Bigpoint?
Hamburg Jenkins cluster II
Under the hood:
• Unity3D
• Unity/Mono + Ant

• Java
• Maven + some Ant
• Artifactory/Nexus (memo: synergies…)

• Flash
• Ant/Maven (Not sure who will win yet)

• C++
• gcc/make via Ant/Shell

• PHP/web apps
• All glory to Sebastian Bergmann – we more or less use his template…
• …plus some mods, e.g. minifiers, CDN stuff,

23
How do we implement continuous integration at Bigpoint?
Bigpoint standard game build pipeline

Behold: join plugin, downstream builds, copy artifacts, parameterized builds.
We do not do deployment from within Jenkins but have a custom deployment tool.
Interface is SVN tags.
24
How do we implement continuous integration at Bigpoint?
Bigpoint standard build pipeline II

• Oh noes, this is too slow…
• Optimize hardware
• Parallelize wherever possible
• Where not possible, decompose and create additional pipelines

• But… this is a SPOF!
•
•
•
•

Backup _everything_ automatically
Fully automized CI server setup
Find some replication/failover setup (todo)
Remember: everything the CI server does must run on your machine as well!

• Wait a minute… no more Ninja-deployment? But we need that to be agile…
• No you don’t 

25
How do we implement continuous integration at Bigpoint?
The obstacles

• The vast amount of knowledge needed
• Understanding the Bigpoint platform (the Release Engineering team is “brand new”)
• The different requirements, setup and skills of about 25 groups of stakeholders

• Linux/IT-driven platform vs. Java toolchain
• Acceptance (everyone claims to like Software Engineering, but some people seem to
have a different understanding of what that is  )

We can handle much of this very well by now.
Our biggest problem remaining:
• Technical debt (already!)
• We need a build framework…
26
What are our next steps?

27
What are our next steps?
Win the SVN + Kerberos battle

• Custom SVN sub system for Jenkins + custom Ant task
• Allows svn+ssh with Kerberos for our setup. _Massive_ speedup
• At some point we will contribute this to the Jenkins community…
28
What are our next steps?
The Build Framework

• Collect learnings and known requirements
• Derive a flexible framework
• Unify maintenance and interfaces to internal customers

Either we automize things further or we need tons of people doing frustrating stuff.
We don’t like frustrating stuff.
29
What are our next steps?
The canonical build pipeline in Jenkins

https://wiki.jenkins-ci.org/display/JENKINS/Build+Pipeline+Plugin

• Learn from the ThoughtWorks guys!
• Interesting: build pipeline plugin – Centrum Systems
30
“If something hurts, do it
more often”

31
Contact us
Bigpoint GmbH
Nils Hofmeister
Lead Integration Architect
Drehbahn 47-48
20354 Hamburg
Germany
Tel +49 40.88 14 13 - 0
Fax +49 40.88 14 13 - 11
info@bigpoint.net
www.bigpoint.net

Bigpoint Inc.

Bigpoint Distribuição de
Entretenimento Online Ltda.

500 Howard Street
Suite 300
San Francisco, CA 94105

Av. Brig. Faria Lima
3729 cj. 528
04538-905 São Paulo
Brazil

Bigpoint GmbH

Bigpoint International Services
Limited

Alexanderstraße 5
10178 Berlin
Germany

1 Villa Zimmermann
Ta’Xbiex Terrace
XBX 1035 Ta’Xbiex
Malta

Find us on
32
Bigpoint GmbH
Nils Hofmeister
Lead Integration Architect
Drehbahn 47-48
20354 Hamburg
Germany
Tel +49 40.88 14 13 - 0
Fax +49 40.88 14 13 - 11

info@bigpoint.net
www.bigpoint.net

Find us on
33

Contenu connexe

Tendances

Standardizing Jenkins with CloudBees Jenkins Team
Standardizing Jenkins with CloudBees Jenkins TeamStandardizing Jenkins with CloudBees Jenkins Team
Standardizing Jenkins with CloudBees Jenkins TeamDeborah Schalm
 
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyKelly Looney
 
Flintstones or Jetsons? Jump Start Your Virtual Test Lab
Flintstones or Jetsons? Jump Start Your Virtual Test LabFlintstones or Jetsons? Jump Start Your Virtual Test Lab
Flintstones or Jetsons? Jump Start Your Virtual Test LabTechWell
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous DeploymentBrian Moon
 
DevOps and its impact
DevOps and its impactDevOps and its impact
DevOps and its impactCisco DevNet
 
Neal Ford Emergent Design And Evolutionary Architecture
Neal Ford Emergent Design And Evolutionary ArchitectureNeal Ford Emergent Design And Evolutionary Architecture
Neal Ford Emergent Design And Evolutionary ArchitectureThoughtworks
 
My first deployment pipeline
My first deployment pipelineMy first deployment pipeline
My first deployment pipelineLen Bass
 
Packaging tool options
Packaging tool optionsPackaging tool options
Packaging tool optionsLen Bass
 
How adding a further tool can be a good thing
How adding a further tool can be a good thingHow adding a further tool can be a good thing
How adding a further tool can be a good thingBelsoft
 
Introduction to User Experience Design for Engineers
Introduction to User Experience Design for EngineersIntroduction to User Experience Design for Engineers
Introduction to User Experience Design for EngineersICS
 
Continuous delivery for databases
Continuous delivery for databasesContinuous delivery for databases
Continuous delivery for databasesDevOpsGroup
 
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...Puppet
 
Continuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentContinuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentChristopher Read
 
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...Lean IT Consulting
 
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...Puppet
 
Overcoming Roadblocks in ABN AMRO's DevOps journey
Overcoming Roadblocks in ABN AMRO's DevOps journeyOvercoming Roadblocks in ABN AMRO's DevOps journey
Overcoming Roadblocks in ABN AMRO's DevOps journeyXebiaLabs
 
Database continuous integration, unit test and functional test
Database continuous integration, unit test and functional testDatabase continuous integration, unit test and functional test
Database continuous integration, unit test and functional testHarry Zheng
 
LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"
LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"
LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"Daniel Bryant
 

Tendances (20)

New DevOps for the DBA
New DevOps for the DBANew DevOps for the DBA
New DevOps for the DBA
 
Standardizing Jenkins with CloudBees Jenkins Team
Standardizing Jenkins with CloudBees Jenkins TeamStandardizing Jenkins with CloudBees Jenkins Team
Standardizing Jenkins with CloudBees Jenkins Team
 
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
 
Flintstones or Jetsons? Jump Start Your Virtual Test Lab
Flintstones or Jetsons? Jump Start Your Virtual Test LabFlintstones or Jetsons? Jump Start Your Virtual Test Lab
Flintstones or Jetsons? Jump Start Your Virtual Test Lab
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
 
DevOps and its impact
DevOps and its impactDevOps and its impact
DevOps and its impact
 
Neal Ford Emergent Design And Evolutionary Architecture
Neal Ford Emergent Design And Evolutionary ArchitectureNeal Ford Emergent Design And Evolutionary Architecture
Neal Ford Emergent Design And Evolutionary Architecture
 
My first deployment pipeline
My first deployment pipelineMy first deployment pipeline
My first deployment pipeline
 
Packaging tool options
Packaging tool optionsPackaging tool options
Packaging tool options
 
Why to docker
Why to dockerWhy to docker
Why to docker
 
How adding a further tool can be a good thing
How adding a further tool can be a good thingHow adding a further tool can be a good thing
How adding a further tool can be a good thing
 
Introduction to User Experience Design for Engineers
Introduction to User Experience Design for EngineersIntroduction to User Experience Design for Engineers
Introduction to User Experience Design for Engineers
 
Continuous delivery for databases
Continuous delivery for databasesContinuous delivery for databases
Continuous delivery for databases
 
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
 
Continuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentContinuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous Deployment
 
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
 
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
 
Overcoming Roadblocks in ABN AMRO's DevOps journey
Overcoming Roadblocks in ABN AMRO's DevOps journeyOvercoming Roadblocks in ABN AMRO's DevOps journey
Overcoming Roadblocks in ABN AMRO's DevOps journey
 
Database continuous integration, unit test and functional test
Database continuous integration, unit test and functional testDatabase continuous integration, unit test and functional test
Database continuous integration, unit test and functional test
 
LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"
LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"
LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"
 

En vedette

Build & deploy PHP application (intro level)
Build & deploy PHP application (intro level)Build & deploy PHP application (intro level)
Build & deploy PHP application (intro level)Anton Babenko
 
Continous Delivering a PHP application
Continous Delivering a PHP applicationContinous Delivering a PHP application
Continous Delivering a PHP applicationJavier López
 
Practical PHP Deployment with Jenkins
Practical PHP Deployment with JenkinsPractical PHP Deployment with Jenkins
Practical PHP Deployment with JenkinsAdam Culp
 
Building and deploying PHP applications with Phing
Building and deploying PHP applications with PhingBuilding and deploying PHP applications with Phing
Building and deploying PHP applications with PhingMichiel Rook
 
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...Corley S.r.l.
 
Continuous Integration and PHP
Continuous Integration and PHPContinuous Integration and PHP
Continuous Integration and PHPArno Schneider
 
Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008Ivo Jansch
 
Deploy PHP Apps on AWS Beanstalk & Deploy with Git
Deploy PHP Apps on AWS Beanstalk & Deploy with GitDeploy PHP Apps on AWS Beanstalk & Deploy with Git
Deploy PHP Apps on AWS Beanstalk & Deploy with GitAmazon Web Services
 
Principles and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at EtsyPrinciples and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at EtsyMike Brittain
 

En vedette (9)

Build & deploy PHP application (intro level)
Build & deploy PHP application (intro level)Build & deploy PHP application (intro level)
Build & deploy PHP application (intro level)
 
Continous Delivering a PHP application
Continous Delivering a PHP applicationContinous Delivering a PHP application
Continous Delivering a PHP application
 
Practical PHP Deployment with Jenkins
Practical PHP Deployment with JenkinsPractical PHP Deployment with Jenkins
Practical PHP Deployment with Jenkins
 
Building and deploying PHP applications with Phing
Building and deploying PHP applications with PhingBuilding and deploying PHP applications with Phing
Building and deploying PHP applications with Phing
 
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
 
Continuous Integration and PHP
Continuous Integration and PHPContinuous Integration and PHP
Continuous Integration and PHP
 
Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008
 
Deploy PHP Apps on AWS Beanstalk & Deploy with Git
Deploy PHP Apps on AWS Beanstalk & Deploy with GitDeploy PHP Apps on AWS Beanstalk & Deploy with Git
Deploy PHP Apps on AWS Beanstalk & Deploy with Git
 
Principles and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at EtsyPrinciples and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at Etsy
 

Similaire à PHP Unconference Continuous Integration

DevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile GamesDevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile GamesAndreas Katzig
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyComsysto Reply GmbH
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyComsysto Reply GmbH
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationXPDays
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneDashlane
 
FLIGHT Amsterdam Presentation - From Protex to Hub
FLIGHT Amsterdam Presentation - From Protex to Hub FLIGHT Amsterdam Presentation - From Protex to Hub
FLIGHT Amsterdam Presentation - From Protex to Hub Black Duck by Synopsys
 
Building cloud native microservices
Building cloud native microservicesBuilding cloud native microservices
Building cloud native microservicesBrian Pulito
 
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeSteve Mercier
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchHoward Greenberg
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2Docker, Inc.
 
Development Processes and Tooling
Development Processes and ToolingDevelopment Processes and Tooling
Development Processes and ToolingBora Bilgin
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Chocolatey Software
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Michel Buczynski
 
#spsclt18 vincent biret #spfx #devops
#spsclt18 vincent biret #spfx #devops#spsclt18 vincent biret #spfx #devops
#spsclt18 vincent biret #spfx #devopsVincent Biret
 
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWERContinuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWERIndrajit Poddar
 
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The UglyDevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The UglyDevOpsGroup
 
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAutomation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAppDynamics
 
Introduction to jenkins for the net developer
Introduction to jenkins for the net developerIntroduction to jenkins for the net developer
Introduction to jenkins for the net developerAbe Diaz
 

Similaire à PHP Unconference Continuous Integration (20)

DevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile GamesDevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile Games
 
Ci & proServer
Ci & proServerCi & proServer
Ci & proServer
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
DevOps Days Ohio
DevOps Days OhioDevOps Days Ohio
DevOps Days Ohio
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at Dashlane
 
FLIGHT Amsterdam Presentation - From Protex to Hub
FLIGHT Amsterdam Presentation - From Protex to Hub FLIGHT Amsterdam Presentation - From Protex to Hub
FLIGHT Amsterdam Presentation - From Protex to Hub
 
Building cloud native microservices
Building cloud native microservicesBuilding cloud native microservices
Building cloud native microservices
 
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
Development Processes and Tooling
Development Processes and ToolingDevelopment Processes and Tooling
Development Processes and Tooling
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
 
#spsclt18 vincent biret #spfx #devops
#spsclt18 vincent biret #spfx #devops#spsclt18 vincent biret #spfx #devops
#spsclt18 vincent biret #spfx #devops
 
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWERContinuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
 
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The UglyDevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
 
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAutomation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
 
Introduction to jenkins for the net developer
Introduction to jenkins for the net developerIntroduction to jenkins for the net developer
Introduction to jenkins for the net developer
 

Dernier

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
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
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
 
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
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...amber724300
 
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
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
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
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...itnewsafrica
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
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
 
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
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
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
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 

Dernier (20)

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
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
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
 
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...
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
 
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
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
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...
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
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
 
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
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
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)
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 

PHP Unconference Continuous Integration

  • 1. Continuous Integration for Heterogeneous Environments Nils Hofmeister, 11.09.2011 PHP Unconference
  • 2. Hello world! • Nils Hofmeister • 5+ Years experience in realtime 3D / C++ • 2+ Years experience in web-based games (php, javascript, Java, C++, C#) • Lead Integration Architect @Bigpoint, Hamburg – “the SVN guy” ;) 2
  • 3. Agenda • What is continuous integration? • Why do you want continuous integration for your project? • How do we implement continuous integration at Bigpoint? • What are our next steps? 3
  • 5. What is continuous integration? The gossip • A way to automize certain tasks, e.g. • code validation • build automation • packaging of products • A system of cooperating hardware- and software components , e.g. • Source code management system (SCM) • Staging system + production servers • Build cluster with all kinds of compilers and frameworks on it The idea behind this is much more important, so we do the technical stuff later. 5
  • 6. What is continuous integration? The idea • Not brand-new: First known example: IBM OS/360, early 60s • Current ideas and drivers closely related to agile movement and Extreme Programming • Martin Fowler says: • • • • • • • software development practice integrate *…+ frequently multiple integrations per day verified by an automated build detect integration errors significantly reduced integration problems develop cohesive software more rapidly Martin Fowler on Continuous Integration - 2006 version Original article – 2000 6
  • 7. What is continuous integration? The philosophy Jez Humble says in "Continuous Delivery": • • • • • • • • Create a repeatable, reliable process [...] Automate almost everything Keep everything in version control If it hurts, do it more freqeuntly and bring the pain forward Build quality in Done means released Everybody is responsible for the delivery process Continuous improvement “If something hurts, do it more often” 7
  • 8. What is continuous integration? The attitude • Accept that CI is a standard tool. Just as compilers, SCMs or documentation are • Understand that failing builds must have highest priority - always! • Keep in mind that errors happen anyway. CI only makes them visible immediately and reliably. 8
  • 9. Why do you want continuous integration for your project? 9
  • 10. Why do you want continuous integration for your project? Reduce risks • Defects are detected and fixed sooner • Health of software is measurable • Reduce assumptions (environment variables, local setup, etc) 10
  • 11. Why do you want continuous integration for your project? Reduce repetitive manual processes • Process runs the same way every time • The process starts automatically • This frees resources for higher-value work 11
  • 12. Why do you want continuous integration for your project? Generate deployable software • Product is deployable always • Paradigm-shift from crunch time before release to "always ready to deliver" 12
  • 13. Why do you want continuous integration for your project? Better project visibility • Supports effective decisions • Facilitates recognizing trends 13
  • 14. Why do you want continuous integration for your project? Greater confidence in your project • CI provides a safety net to avoid releasing flawed software • Developers get a better feeling for impact of changes 14
  • 15. How do we implement continuous integration at Bigpoint? 15
  • 16. How do we implement continuous integration at Bigpoint? The setting • Websites, backend systems, clients • PHP is one of many technologies required to assemble our games (an important one, don’t worry ;)) 16
  • 17. How do we implement continuous integration at Bigpoint? The requirements • Per artifact: • Check for defects • Measure quality • Per project: • Assemble deliverable packages • Deploy these 17
  • 18. How do we implement continuous integration at Bigpoint? The solution space (subjective! and there is more of course) Microsoft Team Foundation Server Integrates fine with Microsoft Tools. But with nothing else  TeamCity Well-known product by JetBrains. Feature set is fine, but no USP that justifies to pay for it right now. CruiseControl The classic invented by ThoughtWorks. Now an open source project. Delightfully old-school. Bamboo Quite solid, full-featured product by Atlassian. No real USP though that justifies the high price. Go The current CI solution by ThoughtWorks. The theory behind it is cool but it lacks a lot of features and configuration is no fun. 18
  • 19. How do we implement continuous integration at Bigpoint? The actual solution for us • Hudson: • Created by Kohsuke Kawaguchi • "Duke's Choice Award" in 2008 • Comes from the Java world, ships with CVS/SVN, Maven, JUnit support • Jenkins: • Kohsuke was working for Sun till Oracle acquired Sun in 2010 • Conflict between the Hudson Core developers and Oracle => Fork in 2011 19
  • 20. How do we implement continuous integration at Bigpoint? The actual solution for us II • Trends after fork • Hudson => Focus on quality & stability • Jenkins => Core developers, faster pace • Our decision • choose Jenkins as for us features > stability. • to compensate we use Jenkins LTS 20
  • 21. How do we implement continuous integration at Bigpoint? The actual solution for us III We like the Jenkins community! (My colleague Marcelo and Kohsuke on their way to get their hands on some beer) 21
  • 22. How do we implement continuous integration at Bigpoint? Hamburg Jenkins cluster There are more instances, but this is the biggest one… • Setup • 1 fileserver as master (Debian) • 3 blades (Debian) • 4 windows workstations • Toolchains • • • • • Java Flash/Flex Php (+ JS, html, CSS) Unity/Mono C++ • Highly customized • Home-grown housekeeping + backup • Custom plugins / actively develop Jenkins • All the stuff needed to deal with Kerberos… 22
  • 23. How do we implement continuous integration at Bigpoint? Hamburg Jenkins cluster II Under the hood: • Unity3D • Unity/Mono + Ant • Java • Maven + some Ant • Artifactory/Nexus (memo: synergies…) • Flash • Ant/Maven (Not sure who will win yet) • C++ • gcc/make via Ant/Shell • PHP/web apps • All glory to Sebastian Bergmann – we more or less use his template… • …plus some mods, e.g. minifiers, CDN stuff, 23
  • 24. How do we implement continuous integration at Bigpoint? Bigpoint standard game build pipeline Behold: join plugin, downstream builds, copy artifacts, parameterized builds. We do not do deployment from within Jenkins but have a custom deployment tool. Interface is SVN tags. 24
  • 25. How do we implement continuous integration at Bigpoint? Bigpoint standard build pipeline II • Oh noes, this is too slow… • Optimize hardware • Parallelize wherever possible • Where not possible, decompose and create additional pipelines • But… this is a SPOF! • • • • Backup _everything_ automatically Fully automized CI server setup Find some replication/failover setup (todo) Remember: everything the CI server does must run on your machine as well! • Wait a minute… no more Ninja-deployment? But we need that to be agile… • No you don’t  25
  • 26. How do we implement continuous integration at Bigpoint? The obstacles • The vast amount of knowledge needed • Understanding the Bigpoint platform (the Release Engineering team is “brand new”) • The different requirements, setup and skills of about 25 groups of stakeholders • Linux/IT-driven platform vs. Java toolchain • Acceptance (everyone claims to like Software Engineering, but some people seem to have a different understanding of what that is  ) We can handle much of this very well by now. Our biggest problem remaining: • Technical debt (already!) • We need a build framework… 26
  • 27. What are our next steps? 27
  • 28. What are our next steps? Win the SVN + Kerberos battle • Custom SVN sub system for Jenkins + custom Ant task • Allows svn+ssh with Kerberos for our setup. _Massive_ speedup • At some point we will contribute this to the Jenkins community… 28
  • 29. What are our next steps? The Build Framework • Collect learnings and known requirements • Derive a flexible framework • Unify maintenance and interfaces to internal customers Either we automize things further or we need tons of people doing frustrating stuff. We don’t like frustrating stuff. 29
  • 30. What are our next steps? The canonical build pipeline in Jenkins https://wiki.jenkins-ci.org/display/JENKINS/Build+Pipeline+Plugin • Learn from the ThoughtWorks guys! • Interesting: build pipeline plugin – Centrum Systems 30
  • 31. “If something hurts, do it more often” 31
  • 32. Contact us Bigpoint GmbH Nils Hofmeister Lead Integration Architect Drehbahn 47-48 20354 Hamburg Germany Tel +49 40.88 14 13 - 0 Fax +49 40.88 14 13 - 11 info@bigpoint.net www.bigpoint.net Bigpoint Inc. Bigpoint Distribuição de Entretenimento Online Ltda. 500 Howard Street Suite 300 San Francisco, CA 94105 Av. Brig. Faria Lima 3729 cj. 528 04538-905 São Paulo Brazil Bigpoint GmbH Bigpoint International Services Limited Alexanderstraße 5 10178 Berlin Germany 1 Villa Zimmermann Ta’Xbiex Terrace XBX 1035 Ta’Xbiex Malta Find us on 32
  • 33. Bigpoint GmbH Nils Hofmeister Lead Integration Architect Drehbahn 47-48 20354 Hamburg Germany Tel +49 40.88 14 13 - 0 Fax +49 40.88 14 13 - 11 info@bigpoint.net www.bigpoint.net Find us on 33