The SDN – Software Development Network – is a special interest group for dutch developers. Four times a year they organise an event where people present and talk about their passion.
As a member of the SDN you are aware of the latest developments. You are part of a network of professional developers who assist each other in word and deed. This means there is a technical helpdesk at your fingertips so you can book considerable time savings in solving problems.
sdn.nl with Google translate
Here are the talks I attended.
Accelerate the business with Microservices?
Teun talks about his experience with microservices when building a portal used by multiple labels/brands. They designed one microservice per feature.
Every microservice implements an API, frontend and events. The API gateway links all the microservices together for presentation. The composite UI is programmed with AngularJS. Discovery and monitoring is solved with Consul. Communication is done with RabbitMQ. Finally Docker is used for the deployment of the microservices.
Is microservices the new buzzword for managers? I think this is another part of an architects toolkit.
Microservices with event sourcing and CQRS on Azure
This in-dept presentation from Sander showed the architecture choices and problems of handling smart meter readings.
The queue (azure topic) was read with Peek/Lock pattern to prevent losing events. Deduplication and sessions were applied for optimization. With sessions per meter no database locks would occur since only one worker would access those records.
Event sourcing is used to offer audittrail and point-in-time information. This also eliminates O/R mapping issues since it is insert only. With all this information about state (audittrail is your state) debugging and new feature testing is easier.
Because event sourcing is hard to query, views were created and maintained with CQRS. This proved to be quicker than caching with the data smart partitioned in Azure tables. Using gzip the data is transferred all the way to the client and unpacked in the (client) browser.
Some tips from Sander
- use a version number in your event/message
- gzip your event/message to overcome the 64k limit in azure table columns
- use blob leases for leader election pattern when scaling
Nice insight in the lessons learned of this project.
How and why Achmea introduced their microservices architecture
Bas is architect at Achmea and shows their progress to microservices. Most of the work is moving Sharepoint hosted services to IIS hosted services and designing “microservices”.
The current solution uses nugets to be included in the components. So no loose services but copies of the assemblies. This solves a lot of their issues.
Building an O365 portal with Azure to manage Azure for dev and test teams
Clemens piloted his OneShare talk with us. He started a project with benched people to build an Office 365 (sharepoint) portal. The portal is used to manage VM’s and reports costs of Azure. After the three slides to introduce himself Clemens talked us through the project.
They used Redis cache to share the sharepoint context in scaled azure websites. A custom serializer was written for this. More use of the cache is planned, but not yet evident.
Dogfooding their own product they evolved from VM to workerrole to websites to webjobs to schedules. Graphs made the team cost aware.
Future development is planned to handle the authentication to manage Azure with Azure Active Directory, now a certificate is used. Also making Azure Resource Manager json available in the portal next to VM images. This will be the new way to create a set of Azure resources like Website + SQL + Redis cache.
Looking forward to the next SDN event.