SlideShare a Scribd company logo
Triple-E’ class DevOps 
with Hudson, Maven, Kokki 
Multiconf & PyDev 
Werner Keil 
PyUGAT 
15th October 2014
Images © 2 © 2012-2013 Creative Arts & Technologies Maersk Line and Others
Overview 
• Introduction 
• Kokki 
• Configuration 
• Multiconf 
• PyDev 
• Development 
• Maven 
• Build 
• Hudson 
• Automation 
• Demo 
•Q&A 
3 © 2012-2013 Creative Arts & Technologies
Who am I? 
Werner Keil 
• Consultant – Coach 
• Creative Cosmopolitan 
• Open Source Evangelist 
• Software Architect 
• Java Godfather 
• UOMo Project Lead 
• Mærsk DevOps Guy 
… 
Email werner@catmedia.us 
4 © 2012-2013 Creative Arts & Technologies 
Twitter @wernerkeil
Kokki 
• Infrastructure Automation → Configuration 
Management 
• Part of Provisioning 
• Library and simple command line tool 
• Currently no client/server component 
• Can use GitHub in place of client/server 
• Alternative to Puppet/Chef/Cfengine 
• Implemented in Python 
5 © 2012 Creative Arts & Technologies
Kokki | Terms 
• Kokki is a configuration management framework. 
• It can be used standalone or as a part of a more complex system. 
• It means “cook” in Finnish 
• Environment: Execution environment 
• Resource: Describes a file, service, package, etc.. 
• Provider: Knows how to execute a resource 
• Kitchen: Container for cookbooks 
• Cookbook: Container for recipes and libraries 
• Recipe: group of resource definitions 
• Library: utility methods, resources, and providers 
6 © 2012 Creative Arts & Technologies
Kokki | Quick Example 
from kokki import * 
with Environment() as env: 
Package("vim", action="upgrade") 
File("/etc/hosts", 
owner = "root", 
group = "root", 
content = "127.0.0.1 localhostn" 
"255.255.255.255 broadcasthostn" 
"::1 localhostn" 
"fe80::1%lo0 localhostn") 
env.run() 
7 © 2012 Creative Arts & Technologies
Kokki++ | Multiconf 
•Multiconf is a framework for describing complex 
environments using Python. 
•Why 
• It started from a simple need of continuous deployment of Java EE projects. 
• Using a bunch of Python scripts, and a bunch of plain text property files. 
• When number of property files increased number of scripts increased, too… 
• Out of this dilemma Multiconf was born. 
8 © 2012 Creative Arts & Technologies
Multiconf 
•How 
• Imagine a project, using multiple servers like Tomcat, Jetty, JBoss, Glassfish 
or Weblogic. 
• You are going to use database connections and four environments: 
• Local (for developer's local machine) 
• Dev 
• Test 
• Prod 
• Project configuration will be similar on different environments, but something 
will be different (databases and ports, for example). 
9 © 2012 Creative Arts & Technologies
Multiconf (2) 
•What Multiconf is not 
• Multiconf itself doesn't know how to create environments. 
• Multiconf doesn't know how to create any of the environment's components 
• Multiconf has nothing to execute 
• Perfect match for a system such as Kokki 
• Same language 
• Pluggable recipes and Libraries make Kokki open to such Extensions 
•What Multiconf is 
• Multiconf allows you to define your software stack and get early warning that 
something within your definition is wrong. Other tools use YAML or JSON to 
define settings of the components, but then you need something to validate 
those settings. Multiconf is both - definition and validation. 
10 © 2012 Creative Arts & Technologies
Multiconf | JSF Example 
from javax_faces import ProjectStage 
from valid_envs import local, dev, test, pp, prod 
def jsf_stages(): 
with ProjectStage() as ps: 
ps.name(local=”Development”, 
dev=”Development”, 
test=”UnitTest”, 
pp=”SystemTest”, 
prod=”Production”) 
11 © 2012 Creative Arts & Technologies
Multiconf | Inspired... 
Apache Tamaya 
• Started by 
• Anatole Tresch 
(Crédit Suisse) 
• Mit etwas Hilfe 
u.a. durch den 
„Java Godfather“ 
•Proposal for 
• An Apache Incubator Project 
• See.: https://github.com/java-config 
© 2012-2014 Creative Arts & Technologies
Multiconf | ”at Apache” 
Apache Tamaya 
•Scope 
• Provide type-safe enterprise-ready configuration standard for SE and EE 
(optionally also ME?) 
• Ensure it is a simple but extensible 
• Ready for complex scenarios like Java EE, Multi-Tenancy etc. 
• Ensure interoperability with existing solutions 
• Align Configuration Aspects with EE8 and the Java Platform 
• Other languages (as Apache is rather polyglot) 
© 2012-2014 Creative Arts & Technologies
Multiconf | ”at Apache” 
Apache Tamaya 
• State 
• Already running code base 
• Large support in User Groups around the world 
• Supported by leading industry experts 
© 2012-2014 Creative Arts & Technologies
PyDev 
•PyDev is a product of Appcelerator, a platform 
and services company that is enabling Web 
developers to build cross-platform / native 
applications for Mobile, Tablet and Desktop 
platforms 
Winner of 2011 Eclipse Award 
for Best Developer Tool 
Appcelerator also makes Aptana Studio and 
Titanium Studio, Eclipse-based IDEs targeting 
Web and Mobile platforms. 
15 © 2012 Creative Arts & Technologies
PyDev Now 
•PyDev ist now Open Source Project, 
lead by Fabio Zadrozny in Florianópolis, Brasil: 
www.pydev.org 
© 2012-2014 Creative Arts & Technologies Bilder © FIFA
PyDev | Code Completion 
17 © 2012 Creative Arts & Technologies
PyDev | Code Navigation 
18 © 2012 Creative Arts & Technologies
PyDev | Code Coverage 
19 © 2012 Creative Arts & Technologies
PyDev | Debugging 
20 © 2012 Creative Arts & Technologies
PyDev | Unit Tests 
21 © 2012 Creative Arts & Technologies
PyDev 
DEMO
Maven 
The evolution of build systems 
23 © 2012 Creative Arts & Technologies
Maven 
“Lean” Usage 
• Using Maven for what it’s Best at 
• Dependency Management 
• Nexus 
•Managed Environment 
• Generated / Called by Kokki 
• Hudson Plugins 
24 © 2012 Creative Arts & Technologies
Hudson 
•Hudson is a powerful and widely used open source 
continuous integration server providing 
development teams with a reliable way to monitor 
changes in source control and trigger a variety of 
builds. 
(The Hudson Book) 
25 © 2012 Creative Arts & Technologies
Hudson | Downloads 
26 © 2012 Creative Arts & Technologies
Hudson | Commits 
27 © 2012 Creative Arts & Technologies
Hudson | Job Coordination 
28 © 2012 Creative Arts & Technologies
Hudson | Job Coordination Triple-E size 
29 © 2012 Creative Arts & Technologies
Hudson | Promoted Builds 
30 © 2012 Creative Arts & Technologies
The Price of Continuous Integration 
32 © 2012 Creative Arts & Technologies
Let‘s talk 
Q & A
Links 
Kokki 
https://github.com/samuel/kokki 
Multiconf 
https://github.com/lhupfeldt/multiconf 
PyDev 
http://www.pydev.org
Links (2) 
Eclipse – Hudson 
http://www.eclipse.org/hudson/ 
Apache Maven 
http://www.apache.org/maven/
Twitter @wernerkeil 
Thank you Email werner@catmedia.us 
36 © 2012 Creative Arts & Technologies Images © Maersk Line

More Related Content

What's hot

Introduction to Maven
Introduction to MavenIntroduction to Maven
Introduction to Maven
Onkar Deshpande
 
Introduction to Apache Maven
Introduction to Apache MavenIntroduction to Apache Maven
Introduction to Apache Maven
Rajind Ruparathna
 
Apache Maven In 10 Slides
Apache Maven In 10 SlidesApache Maven In 10 Slides
Apache Maven In 10 Slides
Robert Burrell Donkin
 
Hands On with Maven
Hands On with MavenHands On with Maven
Hands On with Maven
Sid Anand
 
Development Tools - Maven
Development Tools - MavenDevelopment Tools - Maven
Development Tools - Maven
Bert Koorengevel
 
Introduction to maven
Introduction to mavenIntroduction to maven
Introduction to maven
Manos Georgopoulos
 
Demystifying Maven
Demystifying MavenDemystifying Maven
Demystifying Maven
Mike Desjardins
 
Maven 2 Introduction
Maven 2 IntroductionMaven 2 Introduction
Maven 2 Introduction
Valentin Jacquemin
 
Maven 3 Overview
Maven 3  OverviewMaven 3  Overview
Maven 3 Overview
Mike Ensor
 
Maven
MavenMaven
Maven tutorial for beginners
Maven tutorial for beginnersMaven tutorial for beginners
Maven tutorial for beginners
inTwentyEight Minutes
 
Liferay maven sdk
Liferay maven sdkLiferay maven sdk
Liferay maven sdk
Mika Koivisto
 
Maven plugins, properties en profiles: Advanced concepts in Maven
Maven plugins, properties en profiles: Advanced concepts in MavenMaven plugins, properties en profiles: Advanced concepts in Maven
Maven plugins, properties en profiles: Advanced concepts in Maven
Geert Pante
 
Maven Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafeMaven Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafeHolasz Kati
 
(Re)-Introduction to Maven
(Re)-Introduction to Maven(Re)-Introduction to Maven
(Re)-Introduction to Maven
Eric Wyles
 
Maven
MavenMaven

What's hot (20)

Introduction to Maven
Introduction to MavenIntroduction to Maven
Introduction to Maven
 
Maven Overview
Maven OverviewMaven Overview
Maven Overview
 
Introduction to Apache Maven
Introduction to Apache MavenIntroduction to Apache Maven
Introduction to Apache Maven
 
Apache maven 2 overview
Apache maven 2 overviewApache maven 2 overview
Apache maven 2 overview
 
Apache Maven In 10 Slides
Apache Maven In 10 SlidesApache Maven In 10 Slides
Apache Maven In 10 Slides
 
Hands On with Maven
Hands On with MavenHands On with Maven
Hands On with Maven
 
Development Tools - Maven
Development Tools - MavenDevelopment Tools - Maven
Development Tools - Maven
 
Introduction to maven
Introduction to mavenIntroduction to maven
Introduction to maven
 
Demystifying Maven
Demystifying MavenDemystifying Maven
Demystifying Maven
 
Maven
MavenMaven
Maven
 
Maven 2 Introduction
Maven 2 IntroductionMaven 2 Introduction
Maven 2 Introduction
 
Maven 3 Overview
Maven 3  OverviewMaven 3  Overview
Maven 3 Overview
 
Maven
MavenMaven
Maven
 
Maven tutorial for beginners
Maven tutorial for beginnersMaven tutorial for beginners
Maven tutorial for beginners
 
Liferay maven sdk
Liferay maven sdkLiferay maven sdk
Liferay maven sdk
 
Maven plugins, properties en profiles: Advanced concepts in Maven
Maven plugins, properties en profiles: Advanced concepts in MavenMaven plugins, properties en profiles: Advanced concepts in Maven
Maven plugins, properties en profiles: Advanced concepts in Maven
 
Maven Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafeMaven Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafe
 
Maven
MavenMaven
Maven
 
(Re)-Introduction to Maven
(Re)-Introduction to Maven(Re)-Introduction to Maven
(Re)-Introduction to Maven
 
Maven
MavenMaven
Maven
 

Viewers also liked

Correo institucional_Escuela de Verano
Correo institucional_Escuela de VeranoCorreo institucional_Escuela de Verano
Correo institucional_Escuela de VeranoElena Moreno
 
Social Media Marketing: mucho más que redes sociales
Social Media Marketing: mucho más que redes socialesSocial Media Marketing: mucho más que redes sociales
Social Media Marketing: mucho más que redes sociales
Ibermatica Social Business y CRM
 
BAU International Executive MBA Webinar
BAU International Executive MBA WebinarBAU International Executive MBA Webinar
BAU International Executive MBA Webinar
bauinternational
 
Ice Presentacio
Ice PresentacioIce Presentacio
Ice Presentacioaaupcfira
 
Elaboració del whisky de malta
Elaboració del whisky de maltaElaboració del whisky de malta
Elaboració del whisky de malta
Joan Mitjavila
 
iPad sales app - Professionelles Präsentieren im Vertrieb
iPad sales app - Professionelles Präsentieren im VertriebiPad sales app - Professionelles Präsentieren im Vertrieb
iPad sales app - Professionelles Präsentieren im Vertrieb
excelsis
 
Le client au centre
Le client au centreLe client au centre
Le client au centre
diederikhommes
 
Manual divulgativo life_urogallo
Manual divulgativo life_urogalloManual divulgativo life_urogallo
Manual divulgativo life_urogallo
Guias de Picos de Europa Panes Aventura
 
Biologie de synthèse
Biologie de synthèseBiologie de synthèse
Biologie de synthèse
GreenFacts
 
Qui acd alyr
Qui acd alyrQui acd alyr
Qui acd alyr
Alicia Yañez
 
Obras presentadas al Concurso "Arte por la Igualdad y contra el Racismo 2011"
Obras presentadas al Concurso "Arte por la Igualdad y contra el Racismo 2011"Obras presentadas al Concurso "Arte por la Igualdad y contra el Racismo 2011"
Obras presentadas al Concurso "Arte por la Igualdad y contra el Racismo 2011"
sosracismo
 
El universo JavaScript en Drupal 8
El universo JavaScript en Drupal 8El universo JavaScript en Drupal 8
El universo JavaScript en Drupal 8
Ymbra
 
Relaciones sociales en la Empresa - Sesion MasterUp
Relaciones sociales en la Empresa - Sesion MasterUpRelaciones sociales en la Empresa - Sesion MasterUp
Relaciones sociales en la Empresa - Sesion MasterUp
Jorge Galindo Cruces
 
Module 1 bilingual glossary
Module 1 bilingual glossaryModule 1 bilingual glossary
Module 1 bilingual glossary
Fifthgrademiss
 
Información, Trucos y Consejos de impresión
Información, Trucos y Consejos de impresiónInformación, Trucos y Consejos de impresión
Información, Trucos y Consejos de impresión
impresum
 
Central Asia
Central AsiaCentral Asia
Consommer, S'engager
Consommer, S'engagerConsommer, S'engager
Consommer, S'engager
CHEMISTRY AGENCY
 
Arquitectura API Rest.
Arquitectura API Rest.Arquitectura API Rest.
Arquitectura API Rest.
melidevelopers
 

Viewers also liked (20)

Correo institucional_Escuela de Verano
Correo institucional_Escuela de VeranoCorreo institucional_Escuela de Verano
Correo institucional_Escuela de Verano
 
Social Media Marketing: mucho más que redes sociales
Social Media Marketing: mucho más que redes socialesSocial Media Marketing: mucho más que redes sociales
Social Media Marketing: mucho más que redes sociales
 
BAU International Executive MBA Webinar
BAU International Executive MBA WebinarBAU International Executive MBA Webinar
BAU International Executive MBA Webinar
 
Ice Presentacio
Ice PresentacioIce Presentacio
Ice Presentacio
 
Elaboració del whisky de malta
Elaboració del whisky de maltaElaboració del whisky de malta
Elaboració del whisky de malta
 
iPad sales app - Professionelles Präsentieren im Vertrieb
iPad sales app - Professionelles Präsentieren im VertriebiPad sales app - Professionelles Präsentieren im Vertrieb
iPad sales app - Professionelles Präsentieren im Vertrieb
 
Le client au centre
Le client au centreLe client au centre
Le client au centre
 
Manual divulgativo life_urogallo
Manual divulgativo life_urogalloManual divulgativo life_urogallo
Manual divulgativo life_urogallo
 
Biologie de synthèse
Biologie de synthèseBiologie de synthèse
Biologie de synthèse
 
Qui acd alyr
Qui acd alyrQui acd alyr
Qui acd alyr
 
Bahamonde pereira
Bahamonde   pereiraBahamonde   pereira
Bahamonde pereira
 
Obras presentadas al Concurso "Arte por la Igualdad y contra el Racismo 2011"
Obras presentadas al Concurso "Arte por la Igualdad y contra el Racismo 2011"Obras presentadas al Concurso "Arte por la Igualdad y contra el Racismo 2011"
Obras presentadas al Concurso "Arte por la Igualdad y contra el Racismo 2011"
 
El universo JavaScript en Drupal 8
El universo JavaScript en Drupal 8El universo JavaScript en Drupal 8
El universo JavaScript en Drupal 8
 
Problems in mathematical analysis
Problems in mathematical analysisProblems in mathematical analysis
Problems in mathematical analysis
 
Relaciones sociales en la Empresa - Sesion MasterUp
Relaciones sociales en la Empresa - Sesion MasterUpRelaciones sociales en la Empresa - Sesion MasterUp
Relaciones sociales en la Empresa - Sesion MasterUp
 
Module 1 bilingual glossary
Module 1 bilingual glossaryModule 1 bilingual glossary
Module 1 bilingual glossary
 
Información, Trucos y Consejos de impresión
Información, Trucos y Consejos de impresiónInformación, Trucos y Consejos de impresión
Información, Trucos y Consejos de impresión
 
Central Asia
Central AsiaCentral Asia
Central Asia
 
Consommer, S'engager
Consommer, S'engagerConsommer, S'engager
Consommer, S'engager
 
Arquitectura API Rest.
Arquitectura API Rest.Arquitectura API Rest.
Arquitectura API Rest.
 

Similar to Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev

Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDevTriple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Werner Keil
 
Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for Realists
Oracle Developers
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
Karthik Gaekwad
 
Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...
Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...
Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...
Red Hat Developers
 
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentEclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
DevOps.com
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
Docker, Inc.
 
Docker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupDocker and OpenStack Boston Meetup
Docker and OpenStack Boston Meetup
Kamesh Pemmaraju
 
DEEP: a user success story
DEEP: a user success storyDEEP: a user success story
DEEP: a user success story
EOSC-hub project
 
DEVNET-1125 Partner Case Study - “Project Hybrid Engineer”
DEVNET-1125	Partner Case Study - “Project Hybrid Engineer”DEVNET-1125	Partner Case Study - “Project Hybrid Engineer”
DEVNET-1125 Partner Case Study - “Project Hybrid Engineer”
Cisco DevNet
 
DockerPenang Meetup#1
DockerPenang Meetup#1DockerPenang Meetup#1
DockerPenang Meetup#1
Sujay Pillai
 
SwissJUG_Bringing the cloud back down to earth.pptx
SwissJUG_Bringing the cloud back down to earth.pptxSwissJUG_Bringing the cloud back down to earth.pptx
SwissJUG_Bringing the cloud back down to earth.pptx
Grace Jansen
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of Technology
Ajeet Singh Raina
 
Developer Experience Overview
Developer Experience OverviewDeveloper Experience Overview
Developer Experience Overview
Ross Jimenez
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
Karthik Gaekwad
 
Why to docker
Why to dockerWhy to docker
Why to docker
Karthik Gaekwad
 
Introduction of CCE and DevCloud
Introduction of CCE and DevCloudIntroduction of CCE and DevCloud
Introduction of CCE and DevCloud
Opsta
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
Ajeet Singh Raina
 
Implementing DevOps – How it came to the fore, its key elements and example d...
Implementing DevOps – How it came to the fore, its key elements and example d...Implementing DevOps – How it came to the fore, its key elements and example d...
Implementing DevOps – How it came to the fore, its key elements and example d...
Barton George
 
Docker open stack boston
Docker open stack bostonDocker open stack boston
Docker open stack boston
dotCloud
 

Similar to Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev (20)

Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDevTriple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
 
Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for Realists
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
 
Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...
Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...
Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...
 
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentEclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
Docker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupDocker and OpenStack Boston Meetup
Docker and OpenStack Boston Meetup
 
DEEP: a user success story
DEEP: a user success storyDEEP: a user success story
DEEP: a user success story
 
DEVNET-1125 Partner Case Study - “Project Hybrid Engineer”
DEVNET-1125	Partner Case Study - “Project Hybrid Engineer”DEVNET-1125	Partner Case Study - “Project Hybrid Engineer”
DEVNET-1125 Partner Case Study - “Project Hybrid Engineer”
 
DockerPenang Meetup#1
DockerPenang Meetup#1DockerPenang Meetup#1
DockerPenang Meetup#1
 
SwissJUG_Bringing the cloud back down to earth.pptx
SwissJUG_Bringing the cloud back down to earth.pptxSwissJUG_Bringing the cloud back down to earth.pptx
SwissJUG_Bringing the cloud back down to earth.pptx
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of Technology
 
Developer Experience Overview
Developer Experience OverviewDeveloper Experience Overview
Developer Experience Overview
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
 
Why to docker
Why to dockerWhy to docker
Why to docker
 
Introduction of CCE and DevCloud
Introduction of CCE and DevCloudIntroduction of CCE and DevCloud
Introduction of CCE and DevCloud
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
 
Implementing DevOps – How it came to the fore, its key elements and example d...
Implementing DevOps – How it came to the fore, its key elements and example d...Implementing DevOps – How it came to the fore, its key elements and example d...
Implementing DevOps – How it came to the fore, its key elements and example d...
 
OpenStack Boston
OpenStack BostonOpenStack Boston
OpenStack Boston
 
Docker open stack boston
Docker open stack bostonDocker open stack boston
Docker open stack boston
 

More from Werner Keil

Securing eHealth, eGovernment and eBanking with Java - DWX '21
Securing eHealth, eGovernment and eBanking with Java - DWX '21Securing eHealth, eGovernment and eBanking with Java - DWX '21
Securing eHealth, eGovernment and eBanking with Java - DWX '21
Werner Keil
 
OpenDDR and Jakarta MVC - JavaLand 2021
OpenDDR and Jakarta MVC - JavaLand 2021OpenDDR and Jakarta MVC - JavaLand 2021
OpenDDR and Jakarta MVC - JavaLand 2021
Werner Keil
 
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
Werner Keil
 
OpenDDR and Jakarta MVC - Java2Days 2020 Virtual
OpenDDR and Jakarta MVC - Java2Days 2020 VirtualOpenDDR and Jakarta MVC - Java2Days 2020 Virtual
OpenDDR and Jakarta MVC - Java2Days 2020 Virtual
Werner Keil
 
NoSQL Endgame - Java2Days 2020 Virtual
NoSQL Endgame - Java2Days 2020 VirtualNoSQL Endgame - Java2Days 2020 Virtual
NoSQL Endgame - Java2Days 2020 Virtual
Werner Keil
 
JCON 2020: Mobile Java Web Applications with MVC and OpenDDR
JCON 2020: Mobile Java Web Applications with MVC and OpenDDRJCON 2020: Mobile Java Web Applications with MVC and OpenDDR
JCON 2020: Mobile Java Web Applications with MVC and OpenDDR
Werner Keil
 
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020
Werner Keil
 
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)Money, Money, Money, can be funny with JSR 354 (Devoxx BE)
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)
Werner Keil
 
Money, Money, Money, can be funny with JSR 354 (DWX 2019)
Money, Money, Money, can be funny with JSR 354 (DWX 2019)Money, Money, Money, can be funny with JSR 354 (DWX 2019)
Money, Money, Money, can be funny with JSR 354 (DWX 2019)
Werner Keil
 
NoSQL: The first New Jakarta EE Specification (DWX 2019)
NoSQL: The first New Jakarta EE Specification (DWX 2019)NoSQL: The first New Jakarta EE Specification (DWX 2019)
NoSQL: The first New Jakarta EE Specification (DWX 2019)
Werner Keil
 
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR Day
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR DayHow JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR Day
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR Day
Werner Keil
 
JNoSQL: The Definitive Solution for Java and NoSQL Databases
JNoSQL: The Definitive Solution for Java and NoSQL DatabasesJNoSQL: The Definitive Solution for Java and NoSQL Databases
JNoSQL: The Definitive Solution for Java and NoSQL Databases
Werner Keil
 
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL Databases
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL DatabasesEclipse JNoSQL: The Definitive Solution for Java and NoSQL Databases
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL Databases
Werner Keil
 
Physikal - Using Kotlin for Clean Energy - KUG Munich
Physikal - Using Kotlin for Clean Energy - KUG MunichPhysikal - Using Kotlin for Clean Energy - KUG Munich
Physikal - Using Kotlin for Clean Energy - KUG Munich
Werner Keil
 
Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017
Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017
Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017
Werner Keil
 
Performance Monitoring for the Cloud - Java2Days 2017
Performance Monitoring for the Cloud - Java2Days 2017Performance Monitoring for the Cloud - Java2Days 2017
Performance Monitoring for the Cloud - Java2Days 2017
Werner Keil
 
Eclipse Science F2F 2016 - JSR 363
Eclipse Science F2F 2016 - JSR 363Eclipse Science F2F 2016 - JSR 363
Eclipse Science F2F 2016 - JSR 363
Werner Keil
 
Java2Days - Security for JavaEE and the Cloud
Java2Days - Security for JavaEE and the CloudJava2Days - Security for JavaEE and the Cloud
Java2Days - Security for JavaEE and the Cloud
Werner Keil
 
Apache DeviceMap - Web-Dev-BBQ Stuttgart
Apache DeviceMap - Web-Dev-BBQ StuttgartApache DeviceMap - Web-Dev-BBQ Stuttgart
Apache DeviceMap - Web-Dev-BBQ Stuttgart
Werner Keil
 
The First IoT JSR: Units of Measurement - JUG Berlin-Brandenburg
The First IoT JSR: Units of Measurement - JUG Berlin-BrandenburgThe First IoT JSR: Units of Measurement - JUG Berlin-Brandenburg
The First IoT JSR: Units of Measurement - JUG Berlin-Brandenburg
Werner Keil
 

More from Werner Keil (20)

Securing eHealth, eGovernment and eBanking with Java - DWX '21
Securing eHealth, eGovernment and eBanking with Java - DWX '21Securing eHealth, eGovernment and eBanking with Java - DWX '21
Securing eHealth, eGovernment and eBanking with Java - DWX '21
 
OpenDDR and Jakarta MVC - JavaLand 2021
OpenDDR and Jakarta MVC - JavaLand 2021OpenDDR and Jakarta MVC - JavaLand 2021
OpenDDR and Jakarta MVC - JavaLand 2021
 
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
 
OpenDDR and Jakarta MVC - Java2Days 2020 Virtual
OpenDDR and Jakarta MVC - Java2Days 2020 VirtualOpenDDR and Jakarta MVC - Java2Days 2020 Virtual
OpenDDR and Jakarta MVC - Java2Days 2020 Virtual
 
NoSQL Endgame - Java2Days 2020 Virtual
NoSQL Endgame - Java2Days 2020 VirtualNoSQL Endgame - Java2Days 2020 Virtual
NoSQL Endgame - Java2Days 2020 Virtual
 
JCON 2020: Mobile Java Web Applications with MVC and OpenDDR
JCON 2020: Mobile Java Web Applications with MVC and OpenDDRJCON 2020: Mobile Java Web Applications with MVC and OpenDDR
JCON 2020: Mobile Java Web Applications with MVC and OpenDDR
 
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020
 
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)Money, Money, Money, can be funny with JSR 354 (Devoxx BE)
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)
 
Money, Money, Money, can be funny with JSR 354 (DWX 2019)
Money, Money, Money, can be funny with JSR 354 (DWX 2019)Money, Money, Money, can be funny with JSR 354 (DWX 2019)
Money, Money, Money, can be funny with JSR 354 (DWX 2019)
 
NoSQL: The first New Jakarta EE Specification (DWX 2019)
NoSQL: The first New Jakarta EE Specification (DWX 2019)NoSQL: The first New Jakarta EE Specification (DWX 2019)
NoSQL: The first New Jakarta EE Specification (DWX 2019)
 
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR Day
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR DayHow JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR Day
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR Day
 
JNoSQL: The Definitive Solution for Java and NoSQL Databases
JNoSQL: The Definitive Solution for Java and NoSQL DatabasesJNoSQL: The Definitive Solution for Java and NoSQL Databases
JNoSQL: The Definitive Solution for Java and NoSQL Databases
 
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL Databases
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL DatabasesEclipse JNoSQL: The Definitive Solution for Java and NoSQL Databases
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL Databases
 
Physikal - Using Kotlin for Clean Energy - KUG Munich
Physikal - Using Kotlin for Clean Energy - KUG MunichPhysikal - Using Kotlin for Clean Energy - KUG Munich
Physikal - Using Kotlin for Clean Energy - KUG Munich
 
Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017
Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017
Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017
 
Performance Monitoring for the Cloud - Java2Days 2017
Performance Monitoring for the Cloud - Java2Days 2017Performance Monitoring for the Cloud - Java2Days 2017
Performance Monitoring for the Cloud - Java2Days 2017
 
Eclipse Science F2F 2016 - JSR 363
Eclipse Science F2F 2016 - JSR 363Eclipse Science F2F 2016 - JSR 363
Eclipse Science F2F 2016 - JSR 363
 
Java2Days - Security for JavaEE and the Cloud
Java2Days - Security for JavaEE and the CloudJava2Days - Security for JavaEE and the Cloud
Java2Days - Security for JavaEE and the Cloud
 
Apache DeviceMap - Web-Dev-BBQ Stuttgart
Apache DeviceMap - Web-Dev-BBQ StuttgartApache DeviceMap - Web-Dev-BBQ Stuttgart
Apache DeviceMap - Web-Dev-BBQ Stuttgart
 
The First IoT JSR: Units of Measurement - JUG Berlin-Brandenburg
The First IoT JSR: Units of Measurement - JUG Berlin-BrandenburgThe First IoT JSR: Units of Measurement - JUG Berlin-Brandenburg
The First IoT JSR: Units of Measurement - JUG Berlin-Brandenburg
 

Recently uploaded

FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 

Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev

  • 1. Triple-E’ class DevOps with Hudson, Maven, Kokki Multiconf & PyDev Werner Keil PyUGAT 15th October 2014
  • 2. Images © 2 © 2012-2013 Creative Arts & Technologies Maersk Line and Others
  • 3. Overview • Introduction • Kokki • Configuration • Multiconf • PyDev • Development • Maven • Build • Hudson • Automation • Demo •Q&A 3 © 2012-2013 Creative Arts & Technologies
  • 4. Who am I? Werner Keil • Consultant – Coach • Creative Cosmopolitan • Open Source Evangelist • Software Architect • Java Godfather • UOMo Project Lead • Mærsk DevOps Guy … Email werner@catmedia.us 4 © 2012-2013 Creative Arts & Technologies Twitter @wernerkeil
  • 5. Kokki • Infrastructure Automation → Configuration Management • Part of Provisioning • Library and simple command line tool • Currently no client/server component • Can use GitHub in place of client/server • Alternative to Puppet/Chef/Cfengine • Implemented in Python 5 © 2012 Creative Arts & Technologies
  • 6. Kokki | Terms • Kokki is a configuration management framework. • It can be used standalone or as a part of a more complex system. • It means “cook” in Finnish • Environment: Execution environment • Resource: Describes a file, service, package, etc.. • Provider: Knows how to execute a resource • Kitchen: Container for cookbooks • Cookbook: Container for recipes and libraries • Recipe: group of resource definitions • Library: utility methods, resources, and providers 6 © 2012 Creative Arts & Technologies
  • 7. Kokki | Quick Example from kokki import * with Environment() as env: Package("vim", action="upgrade") File("/etc/hosts", owner = "root", group = "root", content = "127.0.0.1 localhostn" "255.255.255.255 broadcasthostn" "::1 localhostn" "fe80::1%lo0 localhostn") env.run() 7 © 2012 Creative Arts & Technologies
  • 8. Kokki++ | Multiconf •Multiconf is a framework for describing complex environments using Python. •Why • It started from a simple need of continuous deployment of Java EE projects. • Using a bunch of Python scripts, and a bunch of plain text property files. • When number of property files increased number of scripts increased, too… • Out of this dilemma Multiconf was born. 8 © 2012 Creative Arts & Technologies
  • 9. Multiconf •How • Imagine a project, using multiple servers like Tomcat, Jetty, JBoss, Glassfish or Weblogic. • You are going to use database connections and four environments: • Local (for developer's local machine) • Dev • Test • Prod • Project configuration will be similar on different environments, but something will be different (databases and ports, for example). 9 © 2012 Creative Arts & Technologies
  • 10. Multiconf (2) •What Multiconf is not • Multiconf itself doesn't know how to create environments. • Multiconf doesn't know how to create any of the environment's components • Multiconf has nothing to execute • Perfect match for a system such as Kokki • Same language • Pluggable recipes and Libraries make Kokki open to such Extensions •What Multiconf is • Multiconf allows you to define your software stack and get early warning that something within your definition is wrong. Other tools use YAML or JSON to define settings of the components, but then you need something to validate those settings. Multiconf is both - definition and validation. 10 © 2012 Creative Arts & Technologies
  • 11. Multiconf | JSF Example from javax_faces import ProjectStage from valid_envs import local, dev, test, pp, prod def jsf_stages(): with ProjectStage() as ps: ps.name(local=”Development”, dev=”Development”, test=”UnitTest”, pp=”SystemTest”, prod=”Production”) 11 © 2012 Creative Arts & Technologies
  • 12. Multiconf | Inspired... Apache Tamaya • Started by • Anatole Tresch (Crédit Suisse) • Mit etwas Hilfe u.a. durch den „Java Godfather“ •Proposal for • An Apache Incubator Project • See.: https://github.com/java-config © 2012-2014 Creative Arts & Technologies
  • 13. Multiconf | ”at Apache” Apache Tamaya •Scope • Provide type-safe enterprise-ready configuration standard for SE and EE (optionally also ME?) • Ensure it is a simple but extensible • Ready for complex scenarios like Java EE, Multi-Tenancy etc. • Ensure interoperability with existing solutions • Align Configuration Aspects with EE8 and the Java Platform • Other languages (as Apache is rather polyglot) © 2012-2014 Creative Arts & Technologies
  • 14. Multiconf | ”at Apache” Apache Tamaya • State • Already running code base • Large support in User Groups around the world • Supported by leading industry experts © 2012-2014 Creative Arts & Technologies
  • 15. PyDev •PyDev is a product of Appcelerator, a platform and services company that is enabling Web developers to build cross-platform / native applications for Mobile, Tablet and Desktop platforms Winner of 2011 Eclipse Award for Best Developer Tool Appcelerator also makes Aptana Studio and Titanium Studio, Eclipse-based IDEs targeting Web and Mobile platforms. 15 © 2012 Creative Arts & Technologies
  • 16. PyDev Now •PyDev ist now Open Source Project, lead by Fabio Zadrozny in Florianópolis, Brasil: www.pydev.org © 2012-2014 Creative Arts & Technologies Bilder © FIFA
  • 17. PyDev | Code Completion 17 © 2012 Creative Arts & Technologies
  • 18. PyDev | Code Navigation 18 © 2012 Creative Arts & Technologies
  • 19. PyDev | Code Coverage 19 © 2012 Creative Arts & Technologies
  • 20. PyDev | Debugging 20 © 2012 Creative Arts & Technologies
  • 21. PyDev | Unit Tests 21 © 2012 Creative Arts & Technologies
  • 23. Maven The evolution of build systems 23 © 2012 Creative Arts & Technologies
  • 24. Maven “Lean” Usage • Using Maven for what it’s Best at • Dependency Management • Nexus •Managed Environment • Generated / Called by Kokki • Hudson Plugins 24 © 2012 Creative Arts & Technologies
  • 25. Hudson •Hudson is a powerful and widely used open source continuous integration server providing development teams with a reliable way to monitor changes in source control and trigger a variety of builds. (The Hudson Book) 25 © 2012 Creative Arts & Technologies
  • 26. Hudson | Downloads 26 © 2012 Creative Arts & Technologies
  • 27. Hudson | Commits 27 © 2012 Creative Arts & Technologies
  • 28. Hudson | Job Coordination 28 © 2012 Creative Arts & Technologies
  • 29. Hudson | Job Coordination Triple-E size 29 © 2012 Creative Arts & Technologies
  • 30. Hudson | Promoted Builds 30 © 2012 Creative Arts & Technologies
  • 31. The Price of Continuous Integration 32 © 2012 Creative Arts & Technologies
  • 33. Links Kokki https://github.com/samuel/kokki Multiconf https://github.com/lhupfeldt/multiconf PyDev http://www.pydev.org
  • 34. Links (2) Eclipse – Hudson http://www.eclipse.org/hudson/ Apache Maven http://www.apache.org/maven/
  • 35. Twitter @wernerkeil Thank you Email werner@catmedia.us 36 © 2012 Creative Arts & Technologies Images © Maersk Line