Voxxed Days Microservices: Susanne Kaiser on Lessons Learned on Microservices
Susanne Kaiser shares lessons about adopting microservices architecture from her experience at a startup.
Join the DZone community and get the full member experience.Join For Free
Hi Susanne, tell us who you are and what lead you into microservices.
I am the former CTO of Just Software — a startup in Hamburg, Germany, providing the digital workplace JUST SOCIAL to communicate and collaborate in teams.
Our journey to Microservices was mainly product and organizational driven. We started with a monolith in every aspect: One team was working on one collaboration product implemented as one code base based on one technology stack.
After a while everything was evolving: Our team was growing, we added more and more features to our product, the code base got bigger and bigger and the number of users increased.
As a consequence, from the organizational perspective, it took longer to get things done and with no clearly assigned responsibilities our processes were slowing down and our productivity suffered. From the product perspective, the usability and user experience suffered through continuous feature amendments and instead of solving our users' problem effectively we were increasingly confusing them. In addition, due to its monolithic software architecture, it was quite complex to release a change since we had to rebuild and redeploy the entire monolith resulting in high-risk deployments which occurred less frequently — new features got released slowly.
The need evolved to split and shift things. More than 3 years ago, we focussed on usability and user experience improvements and split our one product into separate collaboration apps — each of them taking care of a specific use case. Meanwhile, we split our one team into multiple smaller teams and assigned to each of them a specific set of collaboration apps to achieve well-defined responsibilities.
Our motivation to introduce Microservices was to enable autonomous teams working at different parts of the product independently at their own pace with minimal impact across teams. They shall be able to develop and deploy the collaboration apps independently — and scale them more effectively. In the long run we want to release changes of our collaboration apps quickly.
What will you be talking about at Voxxed Days Microservices?
At Voxxed Days Microservices I am going to share some Microservices lessons learned from our startup perspective and what to watch out for if we would start the journey again. I am going to give a brief overview of how we started, what stepstones and pitfalls we were confronted with and how to overcome those challenges.
The talk also covers different aspects of service interactions and management of shared data that we experienced during our journey.
When reading about microservices we see lots of technical words such as "circuit breaker," "change data capture," or "Kubernetes." But what is most challenging in moving to microservices? The technical aspect or the organization/human aspect?
Microservices come with complexities requiring different skills and tools. But the transformation process from monolith to Microservices is challenging not only in technical perspective; instead, it's affected by a variety of different circumstances.
Your teams' size, structure, skillset, and mindset have a strong influence on what is manageable for you especially in the beginning. For instance, a small team with little DevOps practices in place will definitely affect your transformation process velocity.
Especially, if you take into consideration that you still have to take care of your legacy system: You still have to maintain your current system which will reduce the time being available for your transformation process. Also, your current runtime environment affects your journey: Are you running on-premises or on cloud-native? Can you rely on managed services, e.g. a managed API-Gateway or do you need to set it up, maintain and monitor it by yourself?
And if your strategy requires to implement new features in a short period of time due to sharp timelines and milestones you might struggle with the decision, where to implement these new requirements: As a new service or adding them to the legacy and risking to feed your monolith instead of shrinking it.
Good, see you soon then.
Voxxed Days Microservices & DZone, Partnering Up
DZoners! Visit Voxxed Days Microservices here to check out ticket info for the show, and use the DZone reader exclusive code: VXDMS_DZONE to get 20% off for the conference and workshop. Grab those tickets while you can, be sure to say hey to our Zone Leaders—Thomas Jardinet and Chris Ward—if you run into them at the show, and enjoy Paris!
Published at DZone with permission of Antonio Goncalves, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.