Kicking off Layer5's Meet the Maintainer series, we have Michael Gfeller. Michael is an avid research enthusiast in addition to holding the title of Chief Engineer at his day job. With exhaustive interests ranging from software architecture to systems security, he has been working with cloud architecture for the past four years.
Michael, thank you for joining me today. Many people inside and outside of the Layer5 Community have seen the affects of your contributions, but may not know the backstory as to who Michael is and how you arrived at your maintainer role. Indulge us. How did you come across the Layer5 community? What made you stay?
"Hey Shriti, thank you for having me. If I remember correctly, I was looking for a professional focus area earlier this year, and landed on service meshes. I had worked with service meshes before, which piqued my initial interest. I had worked with Istio as part of my work for some time, and in the same context I stumbled across Meshery. I wasn’t able to dig deep in Meshery back then, but the concept sounded fascinating to me. Additionally, I had been benefiting from open source, both personally and professionally for a long time, but apart from a few minor contributions, I had never been able to give back to the community. I hoped to correct that."
"I re-discovered Meshery and the Layer5 community, listened to a recording of a community meeting, and read a couple of blog posts describing the community and member experience posts. One that stood out for me was a post by MeshMate Nikhil Ladha. Going by his words, it appeared to be a warm, diverse and active community. My suspicions were confirmed when I joined. Layer5 offers a wholesome, interactive community in addition to unbiasedly providing help and guidance around the virtual corner."
Layer5 projects has a number of active, open source projects. You’ve been consistently contributing to a few of them. Which one(s) are you currently focusing on?Psst. Also, which one’s your favorite? I won’t tell.
"I’m a technical architect and programmer, which made the backend, especially the adapters, a natural choice for me. It involves both contributing to the management plane, but also looking at and using service meshes from an architectural point of view. The possible implementations of service meshes is an area that has been particularly fascinating for me."
"I’d probably continue to work with the Meshery adapters for now before moving on to other areas of the project. Haha, I would probably name the Meshery Adapter Library as my favorite Layer5 project till date."
Have you worked with any other open source project? How does Layer5 compare?
"I have worked and collaborated with several open source communities before, including Eclipse Modelling Framework and Apache ServiceMix . I couldn’t possibly make a very accurate comparison, given by limited interaction with other communities, but the Layer5 community stands out based on the unique and extremely inclusive approach it takes towards upholding community values."
What is so fascinating about service meshes?
"I find meshes intriguing in general. Meshes can look intricate, layered and complicated at a first glance, and yet they are built on the most basic principles. For me, meshes are visual structures, complete with an aesthetic and artistic dimension. "
"Fun Fact: Overlapping meshes resulting in Moiré patterns are an example of this. They appealed to me from a young age, and I learned about their mathematics from my mathematics teacher."
Fascinating. Why did you pick service meshes specifically though?
"An increasing number of applications nowadays consist of distributed services, both in the cloud and on-premises, in mixed and hybrid environments. Many legacy applications are in express need of modernisation, consuming and being consumed by cloud native applications. Introducing microservices, also by refactoring monolithic applications, increases the complexity of the service landscape. By delegating cross-cutting infrastructure concerns like security, traffic management, resilience, and observability to the services mesh, some of the complexity is moved from the applications to the service mesh, allowing application developers to focus on business logic. A concern in these distributed, dynamic and scalable systems is that the security also needs to scale. If security doesn’t scale, it becomes very challenging to handle such systems. Services meshes today are already able to support many of these scenarios, and are continuously improving."
"Service meshes are complex but that is something I enjoy attempting as a challenge, to have control and overview and make it appear simple, investing into automating options. Another field that I’m excited to learn about continuously is related to the security of distributed systems, and how service meshes contribute to implementing a zero trust network architecture."
"I actually dreamed about service mesh a while ago. That was almost a bit spooky.”
Haha. Leading on that, what should Meshery dream about next? What can we hope to contribute to the service mesh landscape in your opinion?
"Meshery currently does a great job of providing a neutral platform. Continuing in that direction would be a superb base plan. Enabling innovative applications from vendors, supporting all service meshes, integrating best practice methods, and implementing the SMP and SMI abstractions would probably score the top five positions in Meshery’s new year resolutions in 2021."
Interesting. Do expand on that. What do you think Meshery could offer, in addition to what it already does?
"At the moment, Meshery provides a management plane solution and provides support for the SMI and Service Mesh Performance (SMP) specifications. Helpful additions in the future should be the configuration based best practices, especially with regards to security and to possibly extend to owning up specific routes on security. For instance by verifying that the recommendations outlined in the NIST report “Building Secure Microservices-based Applications Using Service-Mesh Architecture” by Ramaswamy Chandramouli and Zack Butcher."
What are today's challenges when working with service meshes?
“I can’t claim to have worked with many implementations, and to have a good overview and wide experience. A lot of the complexity is already handled, but there is still enough to decide and implement for each solution. The solution makes for a challenging but highly interesting task. Additionally, there are a variety of different solutions from different vendors, which is excellent but it also makes it hard to know which would be the best fit for a given situation. Here, again, Meshery can be of invaluable help.”
That’s good to hear. What do you think we should look forward to with respect to service mesh development?
The service mesh promise holds a lot of potential, for instance for modernization and ease of use. A lot appears to be happening these times. It will be interesting to see how serverless solutions will be integrated. Enabling a seamless implementation experience for solutions embracing multi-cloud, on-prem and legacy systems is also something to look forward to. Additionally, service meshes are aimed at making your architecture more secure and stable, which makes security a big concern for any service mesh provider. Improvements along these points will be topics I’ll be watching out for over the next few years.
Ah while I have you here, let me get more reading recommendations lined up. Cloud Native and especially, the field of service meshes evolving exceptionally fast. Keeping up with all the developments can be challenging. Which resources do you use to stay up-to-date?
Service mesh implementations consist of many components, and I try to stay up to date in general. Try to follow as much as possible conferences and vendor announcements, blog posts etc. mainly by following related Twitter accounts. Also, trying to find some time to explore various solutions. Lee’s books are of course an excellent source. Another book I can recommend is Zero Trust Networks book by Gilman and Barth. It really helped me to understand how service meshes relate to zero trust network architecture and can help to move towards it.
What does being a Meshery maintainer mean to you? How has being a maintainer impacted your full-time role?
“I take my role as a Meshery maintainer with its benefits and responsibilities. For one, it means to be able to give back to the community. I meet a lot of interesting and friendly people from around the globe, learning about their culture at the same time. Additionally, Open Source allows me to work on and dive into tasks as I like, making it easy to integrate the work with my existing work schedule. It also allows me to learn a lot, expanding on my understanding of service meshes, keeping up with the latest developments in the field, and also giving me the opportunity to witness first-hand how others are using them. This has a quite direct impact on my full-time role, complementing the work I do.”
Do you have any advice for individuals hopeful to become Layer5 contributors or potentially maintainers?
"A general love for software development combined with a readiness to help out newcomers and participating in the growing community is the key.
Come and visit, there is something for everyone, be it frontend, backend, CI/CD, website, documentation, standards, interfacing with other communities, and more. The friendly community members and the meshmates will provide support and guidance. Browse the Layer5 and Meshery websites and the repositories on GitHub, where issues suitable for newcomers are especially tagged."
In his relatively short tenure at Layer5, Michael has already delivered a wave of meshy contributions enhancing the Meshery adapters and improving upon Meshery’s architecture. With a penchant for looking behind the curtain and tightening loose cogs until they run to perfection, Michael's impactful and consistent contributions have him taking his place as Meshery maintainer. The Meshery project moves an impressive pace thanks to maintainers like Michael.
"Be like Mike". Join the Layer5 Slack and say hi.
MeshMap is here!
Design your deployments the way you want. Drag-and-drop your cloud native infrastructure using a pallete of thousands of versioned Kubernetes components. Say goodbye to YAML configurations. Have your cloud native deployments automatically diagrammed. Deployments configured and modeled in Designer mode, can be deployed into your environment and managed using Visualizer. Discover a catalog of best practice cloud native patterns