Tuesday, November 17, 2015

┬ÁCon 2015: The Microservices Conference #muCon 2015


Few days ago Marcin Grzejszczak anounced that he has had a spare ticket to muCon 2015. My boss said OK for additional expenses like flight and hotel and suddenly I was more than happy that I could attend muCon 2015.
muCon took place in CodeNode London - this is new HQ of well known Skills Matter organization. Previous location was smaller than new one and less comfortable.


TL;DR;


One tap conference - Polish conferences are more like imperial taps or even like multitap bars (there are at least 2 independent paths or more), but muCon 2015 was just one tap (so continental approach - shame on you).
We do a lot of stuff with microservices. Thanks to this and other conferences we are sure that we follow good path and we have already done a great job. I have met interesting people and talked with them a lot. Not much new products/ technologies/ frameworks/ approaches - maybe few complementary tools to consider evaluating. More theoretical than technical conference.


Greg Young: Keynote: "Microservices"

Excellent talk given by Greg Young. 
Rewriteability - focus your effort on domain modeling. Your business constantly changes requirements and your model should adapt to those changes. One day you realize that your model doesn't have sense at all and you need to rewrite it. Rewriteability is key feature of microservices.
Read Big ball of mud: http://www.laputan.org/mud
Independent failures as the another key feature of microservices. One system failure should not affect other systems if they can operate without this functionality.
Key points:
  • Find out what lexer lang is all about 
  • Read big ball of mud paper


Dave Syer: Microservices Developer Experience with Spring Cloud

Dave showed a lot of Spring Cloud products. I was happy that he mentioned libraries we use on daily basis or that we developed on our own in 4FinanceIT like micro-infra-spring or stubrunner.

Finally I have met Dave and it was really nice to see him in person. During lunch we have a occasion to talk about adjacency matrix in collaborators view. This is one of not so trivial features in micro-infra-view, but I think this is more important than visualization of collaborators graph in itself.


David A. Dawson: Microservices Pain Points: Testing & Security


Thanks to this presentation I have learned that using mocks in tests is known as the London style. Here in Warsaw we call it tests with mocks, but who cares anyways. No matter how you call it, it is important to take the same approach with testing microservices.

Robert Firek: Devops Toolbox for Microservices 

Robert had a great talk during the conference. It was nice to hear that he totally independently chose almost the same components that we have already used or planned to use in the nearest future.




Key points:
  • Infrastructure as a code
  • Pick one: Datadog loggly splunk


Stephen Judd: Zen and the Art of REST API documentation

Michael Kuehne: How to build an API your developers will love? 


We don't thinking about our APIs as a products. More or less they are products and they should be commercialized. How to attract our users with our APIs? Do the same tricks that GUI designers use.

Sylvain Hellegouarch: Conduct your microservices 

Marathon...

Russel Winder: On the Architectures of Microservices 

Dataflow:

ps ax|grep watchdog|grep -v grep|wc -l
This "simple" bash looks like stream in java8. 

Steve Freeman and Hilverd Reker: A meta-pipeline for generating continuous delivery pipelines for microservices

This presentation was about pipelines for microservices. Since few months I have been involved in creating one. A nice idea was to add some metadata and check if those metadata is valid. For example, we can expect that developers should provide their contact emails in specific file in repo. We should fail a build if this file is invalid.

Ian Cooper: From monolith to microservice

Blue book, Vernon all this DDD stuff and you are ready to go... really?

Kai Davenport: Running database containers using Marathon and Flocker  

Marathon again, but this time Kai almost missed his point because he thought that he had two half hour time slots, but suddenly it come out that one should be enough.
Things to investigate: Docker plugins, EBS, SDS.
why-should-i-care-about-stateful-containers

William Louth: Beyond Reactive with QoS and Adaptive Control 

Software as a network devices with QoS. These kinds of tweaks allow you to provide finest granularity of control over resources management. Besides, that it looks like a lot of fun.

Asher Glynn and Kingsley Davies: Sado MicroServices: compelling factors driving microservices and useful safety words 

During this talk: "There is a level of pain which you face by the ball gag before the pleasure kicks in".

Peter Rodgers: MicroWebs and NanoServices: an introduction to Resource Oriented Computing 

Erik Lindblad: Microservices @Klarna, scaling to 300 engineers and beyond 

Code as cattle not pets. Rewrite or kill quickly and often.
Standards: do or do not, there is no try.
PRY: Please repeat yourself (!DRY)
Burning things to the ground.

Tomasz Szymanski and Marcin Grzejszczak: Microservices - enough with theory, let's do some coding 


The same presentation as this one in Warsaw (but in English of course):
https://www.youtube.com/watch?v=L7zrYHXSCKM
It was faster, less jokes and almost no pauses. A lot of guys were lost during this presentation.
During live coding session hints of  intellij idea obstruct written code. It was too quick to find out what was going on.
Polish names of microservices like "dojrzewatr" did their job - they distract the audience.

To sum up

Poland was well represented by Marcin, Tomek and Robert.
Finally, I have met Kasia Mrowca and Marcin Erdmann. We did quite peaceful invasion of London.