Last week, several members of the Maple Syrup team took part in the Symfony London meetup near Bank, which focused on the very hot topic of microservices. Overall, we found it was an educational and thoroughly enjoyable experience. Informative, well-delivered talks as well as collaborative discussions with members of the thriving London tech community are their own reward.
We have built - and are continuing to develop - a microservice platform using (among others) Symfony and Laravel-based technologies; hence this event was of particular interest to us in a number of different ways. One of our talks at the recent OS-north conference focused on the paradigm of service-oriented architecture, from which the more modern concept of microservices has developed.
The Symfony technologies - and their derivatives - encourage adherence to the S.O.L.I.D. principles object oriented programming, for which the "S" stands for "single responsibility". That principle applies to microservices just as much as writing a class in any language, and adherence to this principle constitutes a movement away from the older monolithic model of software engineering. Similarly, we must apply this principle in a fault tolerant way with a view to expanding the abilities of the software we write. Both talks contributed a great deal in this respect.
Some tolerance in our (micro)services
This was a talk delivered by Samuel Roze, a software engineer at Inviqua UK.
Create a recommendation service with Symfony, Neo4j
The second talk was delivered by Christophe Willemsen, a senior consultant at GraphAware.
- Neo4J, which has been rapidly emerging as a leading "graph database" technology these last several years, was used in a very practical sense as part of solutions proposed during both talks.
- Tolerance.io - although I personally hadn't heard of it until Samuel's talk - looks like a strong candidate for improving fault tolerance in microservices through careful application of the decorator pattern in particular.
- Very pleased to see the framework-agnostic (and driver-based/implementation-agnostic) approach present in tolerance.io. A separate Symfony bundle served to bind this implementation together to be usable in the Symfony framework; this principle can be applied elsewhere (for instance, Laravel).
- I recognised a few faces at the event; some I hadn't seen in a while. Long conversations were had about Symfony-based technologies and how we were using them. This was a good exchange of ideas.
- Great team-bonding exercise for our part; I look forward to implementing some of the ideas gathered from the event in our own projects, and sharing what we learn from this.