devoxx 2014 [incomplete] summary

15
Devoxx 2014 summary Artem Oboturov April 24th 2014

Upload: aoboturov

Post on 12-Nov-2014

94 views

Category:

Software


2 download

DESCRIPTION

Summary notes for some of the Devoxx France 2014 presentations.

TRANSCRIPT

Page 1: Devoxx 2014 [incomplete] summary

Devoxx 2014 summary

Artem Oboturov

April 24th 2014

Page 2: Devoxx 2014 [incomplete] summary

Universite de la performance by OCTO

Tools :

I benerator at http://databene.org/ is a tool for test datageneration

I gatling at http://gatling-tool.org/ - stress tool forHTTP

I graphite at http://graphite.wikidot.com/ for scalablerealtime graphing (e.g. to vizualize performance results)

I whisper is a fixed-size database of numeric data over timeI carbon is a backend for graphite

I metrics http://metrics.codahale.com/ library tointroduce points of performance measurement

I collectd http://collectd.org/ is a daemon whichperiodically collects system performance statistics

Page 3: Devoxx 2014 [incomplete] summary

Microbenchmarking avec JMH by OCTO

I JMH is a Java harness for building, running, and analysingnano/micro/milli/macro benchmarks written in Java andother languages targetting the JVM

I Opensource and a part of OpenJDK project :http://openjdk.java.net/projects/code-tools/jmh/

http://hg.openjdk.java.net/code-tools/jmh/

I Start learning by using samples: http://hg.openjdk.java.

net/code-tools/jmh/file/tip/jmh-samples/src/main/

java/org/openjdk/jmh/samples/

I Annotation-driven framework, generates code from theannotated sources, and bench-marks the generated version(which would better reflect a real execution)

Page 4: Devoxx 2014 [incomplete] summary

Mesurer directement depuis le CPU: les compteurs deperformance by Ullink

I Overseer is a Java framework that makes it possible on Linuxsystems by simplifying access to real-time measurement oflow-level data such as Hardware Performance Counters(HPCs), IPMI sensors, and Java VM internal events. Overseersupports functionalities such as HPC-management,process/thread affinity settings, hardware topologyidentification, as well as power-consumption and temperaturemonitoring.

I OverHpc relies on libpfm41 for the management of HPCs.

I Hardware topology information is gathered through thelibhwloc library.

I More data are acquired from IPMI-compatible sensors withthe Intelligent Platform Management Interface3, astandardized interface used by system administrators tomanage computer systems and monitor their operations.

Page 5: Devoxx 2014 [incomplete] summary

Ansible in action - le provisionning au bon niveaud’abstraction

I Ansible is an IT automation tool. It can configure systems,deploy software, and orchestrate more advanced IT tasks suchas continuous deployments or zero downtime rolling updates.http://docs.ansible.com/

I [Just another one] DevOps util

I Reusable playbooks : Ansible Galaxyhttps://galaxy.ansible.com/

Page 6: Devoxx 2014 [incomplete] summary

Deux annees de Continuous Delivery au pays des tradersby GLE:FP

I Maven plugins for deployment and versioning management:I Deployit used to deploy a Deployment Package to an single

environmenthttp://tech.xebialabs.com/deployit-maven-plugin/

I Build-number is designed to get a unique build number foreach time you build your project http://mojo.codehaus.org/buildnumber-maven-plugin/

I Versions is used when you want to manage the versions ofartifacts in a project’s POMhttp://mojo.codehaus.org/versions-maven-plugin/

I Deployment MUST be automated

I Test are better in ISO-production environment

I Release should become a ”Non-event”

Page 7: Devoxx 2014 [incomplete] summary

Amelioration de build maven by Courtanet

I Inifinitest : each time a change is made on the source code,all the tests that might fail because of those changes, are runbe an IDE plugin http://infinitest.github.io/

I Moreunit another unit test frameworkhttp://moreunit.sourceforge.net/

I Maven timeline pluginhttps://github.com/dgageot/maven-timeline

Page 8: Devoxx 2014 [incomplete] summary

Les Applications Reactives : un nouveau paradigme pourlever les defis de l’economie numerique by InTech

I Reactive manifesto by Typesafe (Scala, Akka, etc)http://www.reactivemanifesto.org/

I Look into Scala Promise API and Java 8 CompletableFutureAPI

Page 9: Devoxx 2014 [incomplete] summary

IntelliJ IDEA tips and tricks by Jetbrains

I Use keyboard only

I To learn how to use only the keyboard, try to use the Keypromoter plugin which shows to user how one can easilymake the same action using only keyboard (menus andtoolbar button mouse clicks initiates shortcut display).

I Print the IntelliJ keymap for your OS and use it

I Use structural search

I Multi-cursor edit

Page 10: Devoxx 2014 [incomplete] summary

Building a Real-Time Risk Analysis System in Java byGLE:FP (1)

Maven best practices proposed :

I source: javaformatter + jrx https:

//code.google.com/p/maven-java-formatter-plugin/

https:

//maven.apache.org/plugins/maven-jxr-plugin/

I packaging: appassembler + war + assemblyhttp://mojo.codehaus.org/appassembler/

appassembler-maven-plugin/

I release: release + changes + buildnumber https:

//maven.apache.org/plugins/maven-changes-plugin/

http://maven.apache.org/maven-release/

maven-release-plugin/

Page 11: Devoxx 2014 [incomplete] summary

Building a Real-Time Risk Analysis System in Java byGLE:FP (2)

Maven best practices proposed :

I documentation : site markdown + sample/snippet +linkcheck + pdf + umlgraph

I dependency: version + overview + enforcer-plugin +dependency-tree

I test : pitest + failsafe + jacoco + checker

Exception monitoring in logs (The Elasticsearch ELK Stack)

I logstash is a tool for managing events and logshttp://logstash.net/

I elastic search http://www.elasticsearch.org/

I kibana - the RT data visualization dashboardhttp://www.elasticsearch.org/overview/kibana/

Page 12: Devoxx 2014 [incomplete] summary

BOF BrownBagLunch France

The concept (from Wikipedia): a brown bag seminar, session orlunch is generally a training or information session during a lunchbreak. The term ”brown bag” refers to the packed lunch mealsthat are either brought along by the attendees or provided by thehost. In the USA, these are often packed in brown paper bags.Brown bag seminars will normally run for one or two hours.http://en.wikipedia.org/wiki/Brown_bag_seminar

The site: http://www.brownbaglunch.fr/

Specialists list: http://www.brownbaglunch.fr/baggers.html

Page 13: Devoxx 2014 [incomplete] summary

Virtualization 2.0 et kernel linux by Xebia

I No hypervisor : use linux control groups

I Control hardware resource usage

I Resources isolation via namespaces

I lxc-{create | start | ls | stop }

Page 14: Devoxx 2014 [incomplete] summary

33 things you want to do better by T. Bujok (1)

Libraries:

I lombock annotations to be used to simplify Java POJOs@Data @Builder @Log4j @Cleanup @Delegatehttp://projectlombok.org/

I lambdaj https://code.google.com/p/lambdaj/

I slf4j TODO : remove .printStackTrace - it does not show thesource of error; TODO : remove Log4j loggin with noformatting clause (idem)

I spock is a testing and specification framework for Java andGroovy applications. https://code.google.com/p/spock/

I unitils is an open source library aimed at making unit andintegration testing easy and maintainable @InjectInto@InjectIntoStatic http://www.unitils.org/

I gauva : cache, optional, multivalue sets, etc

Page 15: Devoxx 2014 [incomplete] summary

33 things you want to do better by T. Bujok (2)

Testing:

I junitparams @Params, $() = new Object[]{};https://code.google.com/p/junitparams/

I awaitility await().atMost(5,SECONDS).until(costumerStatusIsUpdated());https://code.google.com/p/awaitility/

I byteman byte code injection : could be used for tracing, etchttp://www.jboss.org/byteman

Try to use more Groovy for scripting and development