More Related Content Similar to JavaOne 2015: 14 Key Lessons, you should learn (20) More from ACA IT-Solutions (20) JavaOne 2015: 14 Key Lessons, you should learn2. 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
3. 2Performance 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
4. 3
Software 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
5. Containers as the lingua franca
Build time: Containerisation results in more isolated and repeatable builds and remote integration testing here.
Deployment time: Dev and Ops speak containers
Operations: 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
6. 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.
5
ACA IT-SOLUTIONS | © 2015
7. ‘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
8. Anti pattern : you think it
is big data but it is not!
Alex Holmes - Avoiding Big Data Antipatterns
ACA IT-SOLUTIONS | © 2015
9. 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
10. 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
11. 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 projects
10 ACA IT-SOLUTIONS | © 2015
12. 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
13. 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 & design
12 ACA IT-SOLUTIONS | © 2015
14. ‘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
15. 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 code
14 ACA IT-SOLUTIONS | © 2015