A month ago, we had Sam Newman speaking at our annual QED conference. Listening to his keynote talk and participating in his workshop only proved what we all already knew, that his knowledge and experience in software architecture is vast and remarkable.
But travelling with him to the conference and spending some leisure time having lunch in the most scenic place on island of Krk revealed what a truly great and open guy he really is.
I won’t bother you with our lengthy discussions on sports and politics, but I would like to share part of our conversation regarding microservices, integrations and serverless:
Ivan: You had a brilliant talk about serverless on QED. What are your experiences, how do modern enterprises react to serverless concepts?
Sam: Largely, confusion! There is a lack of understanding about what Serverless is, which is problematic. Once they start to get to grips with it, there is still a degree of hesitation – the best serverless tech out there requires buying in to a particular public cloud provider, and that can hold some organisations back.
Ivan: There are always differences between fast and furious start-ups and traditional conservative enterprises. How do the latter feel about serverless? Do you see a shift of such enterprises to public cloud?
Sam: Larger corporates are absolutely embracing the public cloud, and my experiences (and the industry data out there) backs that up. But many of them are still in the “lift and shift” mode. They’re often just working at the level of managed VMs, as they can see it as an equivalent offering to their own on-prem virtualised platforms.
It’s worth noting that while the public cloud space is growing, and more corporates are using it, the spend on private IT infrastructure is still growing year on year. So while I remain convinced that for the vast majority of enterprises that they would be better off embracing the higher quality of offering provided by public cloud, they are still investing heavily on buying their own machines and trying to recreate their own private cloud environments.
Ivan: Your strong background is enterprise integration. How are integrations that we did 20 years ago different from integrations that we do today?
Sam: Honestly, not that much. There is a lot of reinvention of the wheel that is going on, which is always the case with our industry, but the techniques from the EAI space in the early 2000s are just as applicable today. We might not talk as much about SOAP any more (thankfully!) and most people seem to understand that ESBs weren’t great, but I see the same pitfalls associated with ESB implementations coming up in how people build API gateways. A lot of what I try and do is show some of these “older” techniques in a more modern context.
Ivan: Nowadays you do mostly consulting work. Having written a book on microservices and seen a lot of real-life situations, what would you say are the biggest obstacles in adopting microservice architecture?
Sam: There are a few key problems I see time and again:
- A lack of clear vision as to what they think microservices will bring. Microservices are a means to an end, not the goal. What you are trying to achieve will have great bearing on how you go about the transition
- Throwing in too much technology at the start. Hold off on implementing loads of new tech as long as you can. Start small, understand what you need, then bring in tech to solve those problems
- Unrealistic timescales. Migrating existing software to a microservices architecture is a journey of years, not months.
Ivan: What approach would you recommend to organizations looking to adopt microservice architecture?
Sam: Most definitely incremental. Have a clearly defined goal (see above) and use this to guide how you prioritise the places to start the transition. Split off pieces of functionality, get them deployed as new microservices into a production environment, serving real traffic. Do this one or two services at a time – this gives you the ability to mix in migration work with feature delivery, and gives you a great opportunity to learn the new skills you’ll need as you go.
Ivan: You have a new book coming out soon! Can you share with us what will be the topic?
Sam: Sure! It’s all about how to take an existing monolithic or third party system and incrementally migrate to a microservice architecture. It’s a mix of technical migration patterns and guidance on change management stuff. The book is called Monolith To Microservices and you can get more details here: https://samnewman.io/books/monolith-to-microservices/
Sam, it was our pleasure and we hope to see you soon!