javaone 2015: 14 key lessons, you should learn

17
KEY LESSONS 4 1 2015

Upload: aca-it-solutions

Post on 08-Feb-2017

1.722 views

Category:

Technology


3 download

TRANSCRIPT

KEY LESSONS41 2015

Jigsaw is getting ready for prime time

The ultimate modularity framework supports strong encapsulation enforced by the JDK module system augmented with the service discovery mechanism of OSGi. Let’s hope both

communities can figure this out together.1ACA IT-SOLUTIONS | © 2015

2 Performance problems are not always in your house, you need insight in the complete neighbourhood to get it right.

Flame graphs to the rescue - Brendan Gregg

The messy house fallacy

ACA IT-SOLUTIONS | © 2015

3Software is a craft, creating value through software is an

Bots can help you to focus on the things that matter and automate all the rest. Sven Peters - Rise of the Machines

Art.ACA IT-SOLUTIONS | © 2015

Containers as the lingua francaBuild time: Containerisation results in more isolated and repeatable builds and remote integration testing here.

Deployment time: Dev and Ops speak containersOperations: cluster abstractions allow for scale-out. (Kubernetes, Swarm, Mesos).

With the release of Docker 1.9 network support becomes a core feature. A cluster of virtual docker hosts in which containers can form a logical network.

Containers are like diapers, once they are full of shit, throw them away and put on a new one - Arun Gupta.

4

A monolithic java app is a bottleneck for innovation. Microservices owned by autonomous teams result

in many parallel initiatives - Gilt

Disclaimer - MicroServices tend to be deceptively simple to understand; complexity is in the interactions between services now.

5ACA IT-SOLUTIONS | © 2015

‘We are not all or ; when you pretend to be by copying their architecture, you get all their problems for free but need to

solve them at a high cost.’ - Bert Ertman

Microservices have a lot of benefits, but you’re aiming for a mature software engineering practice.6

ACA IT-SOLUTIONS | © 2015

Anti pattern : you think it is big data but it is not!

Alex Holmes - Avoiding Big Data Antipatterns7 ACA IT-SOLUTIONS | © 2015

Design your build to validate your design

Build driven architecture takes into account the structure of the build to validate the architecture.

A build framework allowing to write your build in a real programming language, allows to design your build to be

clean and powerful. Gradle can help here.

8

ACA IT-SOLUTIONS | © 2015

A microservice architecture requires even more metrics

Collect metrics for micro services not only in production but also when automated acceptance tests are running!

Monitoring should not only aggregate metrics cross containers but also collect individual container metrics. Individual problems

are not always visible in the aggregated metrics. 9ACA IT-SOLUTIONS | © 2015

strangulate bad parts; the recommended approach to evolve towards a microservice architecture

1. identify the parts the need improvement (e.g. pain of maintaining)

2. start replacement projects10 ACA IT-SOLUTIONS | © 2015

Say Microservices, Say Security JBoss Keycloak is an option worth considering; seamless authentication

for all your microservices by passing authentication tokens. Multiple login mechanisms available out of the box:

Twitter, Facebook, LDAP / AD, OpenId, SAML, Kerberos, RDBMS.11ACA IT-SOLUTIONS | © 2015

Communication is what drives your design

BDD is all about collaboration & communication, automated tests are just a side-effect.

‘Should the software actually do this?’: is an extremely powerful question to drive your application & design12 ACA IT-SOLUTIONS | © 2015

‘An interface tells you what to do, but does nothing itself.

Kinda like your boss’Venkat Subramaniam on the changes in interfaces,

i.e. static & default methods

13

ACA IT-SOLUTIONS | © 2015

Time to update our design patterns; some will disappear by using lambda’s

Design patterns will become more fluent, lightweight and easily executable. They will become easier to implement and can be

added indirectly into the code14 ACA IT-SOLUTIONS | © 2015