Podcast: Moving .NET Monoliths to Microservices with Low Code

Skip navigation

Podcast Make Shift

A podcast about the low-code shift & the makers bringing ideas to life.

Play trailer

Episode 2

Moving .NET Monoliths to Microservices with Trane Technologies’ Miroslav Samoylenko, Ph.D.

Synopsis

Do you have a sprawling legacy system that is difficult for business units to navigate? Learn how Trane Technologies has taken a staged approach to providing secured access to the information, stored in their legacy database and ERP systems, important to each business unit. This layered approach allows them to provide value to the business in the interim while they work towards providing access to all the stored information in structured categories of microservices/APIs.

In this episode of Make/Shift, hear from Miroslav Samoylenko PhD, Managing Technical Architect (Development Architecture) at Trane Technologies, as he discusses how they selected their initial low code use cases, a mix of internal and customer-facing apps, that had the most return on a minimum investment and then structured a low code program company-wide.

Equipping all developers—professional and citizen alike—to develop their own solutions within their own business units meant that a core team of experts could tackle more complex pain points. By setting up a Center of Excellence with a very small team of experts and a governance and security model to support groundswell of apps distributed across their organization, Trane was able to deliver quickly and efficiently on business needs.

Transcript

/ Mark Manning /
Welcome to Make/Shift. Mark Manning here, customer evangelist at Mendix. We’re here to explore how your peers have adopted low-code and the pain points they’ve addressed to the platform. We’ll take an authentic unfiltered look at the solutions our customers are building to digitize their processes, to deliver much needed solutions to market more quickly, to cut down the cost of development. Today we’ll talk with Miroslav. He’s the managing technical architect at Trane technologies, and he’ll be telling us about his experience deciding between enhancing their monolithic .NET architecture or splitting those processes into microservices. We’ll also learn about how the successful delivery of a few apps helped establish a Mendix Center of Excellence, about the future of Trane technologies’ ERP solutions, and the exciting opportunities that Mendix has brought them. Miro how’s it going today?

/ Miroslav Samoylenko /
It’s a pretty warm outside. Warm and nice. And my Trane Technologies unit is working perfectly well. Thank you Mark for having me on this call.

/ Mark Manning /
Perfect to hear. Sunny and warm, North Carolina, if I recall correctly?

/ Miroslav Samoylenko /
It is.

/ Mark Manning /
And Miro, could you introduce yourself and tell us a little more about your background?

/ Miroslav Samoylenko /
Right. So I’m Miroslav Samoylenko, I’m a managing technical architect with Trane Technologists. What my team is currently doing is, we are currently scouting various technologists in IT space and try to bring them into the enterprise settings. So, we brought Mendix. We’re working with Amazon web services, see how they fit into each of the enterprise and do some other stuff. I historically worked with ERP. So that’s my background of almost 20 years. And I learned Mendix about three years ago and I never looked back.

/ Mark Manning /
Fantastic to hear. And how did you find low-code and how did your team and you get started? What did you start building at the very beginning?

/ Miroslav Samoylenko /
It was a very interesting story. So, at Trane Technologies, we spent quite some time, maybe 15 years building a custom solution using .NET technology and it grew up to be a sizable monolith supporting very critical part of the business. And about four years ago, we started asking ourselves what do we want to do with that monolith. Do we want to keep on pumping money and enhance the functionality or we want to split it into microservices? Now, if we split into microservices, what technology should be used? That is, if we continue using .NET technology, how do we know that whatever we build will be any better than what we already have? And this is where the low-code idea came up. We said that if we are to build something significantly better, we might want to do significantly different tool set.

So we looked at the market. We decided that Mendix is the best fit for our organization. And that’s how my Mendix journey started. As I’m looking back into those three years where we were and where we are now, we started with about three applications. And as one application completed, we deployed it, another application completed, we deployed it. And we ended up having just one application running. One application in the build, whereas the other two were complete. And I thought that we’ll just have no Mendix because it was slowly fading away. And then one day just exploded. It was all over the place. And we were just building and building and building and building and building.

/ Mark Manning /
What was delivered originally? What were those two apps?

/ Miroslav Samoylenko /
One application was helping our sales people with the way that they work with opportunities. Then we had an application which helped our vendors keep track of various tools, which we give them to build spare parts for us as well. Elements of our hardware, some elements, are quite unique. So we build tools and casts to build our spare parts. And we give those tools to our vendors so that they actual produce our spare parts. So that was another application. We’re still building a very large eCommerce application for our customers. So it was quite a span of applications. So some looking at our customers and others looking at our vendors.

/ Mark Manning /
And those seem like pretty high profile, high value, diverse applications in terms of the problems that they solve.

/ Miroslav Samoylenko /
Yes, that is exactly how we started. We looked at opportunities, which one would give most return with minimum investment and the three original projects which we picked, they were all picked right. And so even though we had to choose which project do we want to apply the technology, and we could have said no to couple of projects, it was important that we started with the right project.

/ Mark Manning /
And I suppose the question after that then is… So you’ve got a set of pretty high value, high profile applications. They sound like they were successfully delivered, but you have to pivot from that initial success into structuring things, into developing, perhaps, a center of excellence. And it sounds like that may have taken some time for you and your team. Can you describe how it flipped from that original bit to what you’re doing now?

/ Miroslav Samoylenko /
So the critical point to establish Mendix Center of Excellence was that explosion. So as part of our building the three original projects, we evangelized low-code through the company, explained the benefits. We showed how the project managed to go through the backlog, with the speed that they went. The quality of UI, which would deliver the quality of experience. And one day, we just had requests from all of the company to build small applications here and there. And then we realized that unless we have some governance in place, then the construction of Mendix applications will become as bad as… well as our experience with, for example, Microsoft Access, which had zero governance in place. That’s when we started Mendix Center of Excellence. We chose to build a federated center of excellence.

The center is just two or three people. We had one person responsible for opportunity management, and we have two experts, one in the United States and one in India, to provide, so to speak, around the clocks expertise to the company development teams where they are. Our business units, they build their own applications. Our corporate IT will build applications. And in corporate IT, we have a separate group which builds customer facing applications. External customers, external to Trane Technologies. We have developing here which concentrates on ERP and automating our back office operations. And they work independently. center of excellence helps them with standards, minimal governance, knowledge sharing, this kind of support.

/ Mark Manning /
It sounds like a pretty complex array of people to get your arms wrapped around. Between business units, central IT, different technology domains internally, even if I recall correctly, sort of dabbling around citizen development. Can you describe a little bit just about how you think about that?

/ Miroslav Samoylenko /
When we started we thought that it would be totally impossible. The reason is, historically people involved in Mendix Technologies Stack and Trane Technology, we came from ERP background or some other custom software development teams, where teams are very much structured. These are the developers, they’re building, this is the manager on top of them, and they’re not listening to anybody else. With Mendix Center of Excellence, we had to break that. As you said, we had to work with a diverse set of people. Some of them are professional software developers and some of them switched to Mendix quicker. Others were switching to Mendix slower. As I look back, it was evangelizing the technology. An interesting side effect of federated center of excellence are citizen developers.

We were absolutely not ready for that to happen. And again, when I look back, the movement of citizen development in Mendix, it was a direct implication of having a federated center of excellence. Our business units, they have business analysts who either have computer science degree from college or they were former software developers turned business analysts. And when they saw an opportunity to improve their business processes using this low-code technology stack, they jumped on it. And we had citizen developers before we knew them. It was quite unexpected for us, but thanks to the idea of federated center of excellence, it was not something which we could not cope with. We were ready to work with all kinds of developers and citizens became just yet another flavor.

/ Mark Manning /
How was that handoff managed? So I imagine there is a set of responsibilities that a citizen developer can realistically be expected to carry out that IT and central IT and the COE have some point where they need to grab the application and either extend or check or enhance in some way, shape or form. The handover, I imagine can be difficult. And I imagine there has to be some thinking around fielding a groundswell of applications that IT may or may not want to support. How do you think about that?

/ Miroslav Samoylenko /
Okay. So when we talk about citizen development, there are limits which citizens cannot cross. For example, corporate IT will be very unhappy if a citizen-built application would want to integrate with our ERP because it’s very high risk. So when we talk about citizen development apps, we typically talk about standalone applications or applications with a relatively small and controlled integration with other systems, especially with the systems which are supported by corporate IT. Now from application support standpoint. Well, as I mentioned, we have federated center of excellence. We do not have a central function to support Mendix applications. From that standpoint, the vision is: if a citizen managed to build an application while that person was probably building it with his or her manager approval with consequences. You build it, you support it. In all the cases, which we have so far, citizens were building applications either for themselves or for their nearest group of people. They’re not even a departmental level. Well, it’s less than a department. So from that step standpoint we say, you build whatever you want with the supervision from a Mendix architect and you support it.

/ Mark Manning /
So you’ve had that initial set of success. There’s a federated center of excellence set up. There are citizen developers and multiple technical domains driving mass adoption of the platform. It sounds like at least a body of proof has emerged and the program can begin to pivot into more strategic domains or more technically complex domains as you scale it out. Could you talk about what you’re experimenting with and what’s next?

/ Miroslav Samoylenko /
Yes. So now you will get me started. This is, the future is the passion as well. Since I am an architect, my key task is to look into the future and figure out how I can bring it into presence. So three years of Mendix. About two dozen Mendix applications. And well, if I look at our sprinter, we have about 200 plus registered Mendix practitioners. We are successfully reaching the end of our structured stage. So we have center of excellence, lined up. We have our standards lined up. We built app store modules, which are specific to our company and we do have a practice of using them and reusing them in our application. So from that standpoint, where’s the company learn how to use Mendix by the book? We are now looking into extending the horizons of Mendix.

How can we apply Mendix to the problems which are not written in the Mendix manuals? For example, we figured out how to build transactional applications using Mendix. And this Mendix platform is absolutely wonderful when it comes to building transactional microservices. What about master data microservices? So if we want to build a microservice, which holds information about all our customers or a microservice which feeds information about all the products and spare parts, which Trane Technology sells around the world. Those are the new challenges which we’re looking at. Why are they challenges? Look at the sheer size of the project. We have so many spare parts and so many products that they may not just fit into 80 gigabyte of relational database, which comes with Mendix Magento Container.

So we need to put the data somewhere outside of Mendix. For example, Amazon Dynamo DB or Amazon Document DB or on Amazon S3 storage. The problem with those technologists is access. You either have access or you do not have access, which is great when you look at those Amazon technologies standalone, but once you need to bring them into enterprise settings, then you need to implement a little bit finer security. This is where Mendix comes into picture, where I store my data elsewhere and I am totally unrestricted in terms of how much data I want to store. And I use my Mendix platform as some kind of, if you please, general purpose application server. A generally purpose low-code application server which implements fine grain security the way I need it or the way this particular microservice needs it, and communicates with outside storage to feed them and update the data.

Now, this approach also means that we are changing our perception of what Mendix platform delivers. Perception is critical here. Because when we started with Mendix, the great thing which we found in the offering is, as we create a new application, we receive our own standalone database. We receive our own standalone application server. And the application server and the database, they’re all integrated together with the presentational layer. The shift in mentality, which is happening now is that we receive the low-code application server. The fact that it comes with a database is great, but the database is cache database. Something which we use to improve customer experience, but not something which we use to store data. An example would be years and years of IT in Trane Technologies building a custom application using, for example, Oracle databases.

We have quite a number of those. How do we bring new life to those Oracle databases? And the answer is you look at Mendix platform as a technology which gives you a low-code application server and just let connect that application server to your remote Oracle database. And all of a sudden, that 20 years of IT and 20 years of Perl SQL, which we invested in Oracle technology stack, becomes our next big thing. And all that with, kind of, changing perception of what Mendix platform gives to you. It is absolutely fascinating. So once you break the ties of the database which is embedded into my Mendix application, your opportunities are literally limitless.

/ Mark Manning /
One of the issues companies of your size run into pretty often is that there is decades and decades of legacy that exists in the background and significant investment in these technologies and systems. But that by looking at it this way, you may have the capability to, in spite of those systems being rigid and kind of old, you’ll be able to move quickly regardless.

/ Miroslav Samoylenko /
That is right. And with the company the size of Trane Technologists and the history with Trane Technologies, it is not only our custom legacy applications, which we need to enable for the new reality, it is also our ERPs. So we do use kind of industry standard, monolith ERP applications. And we want to enable them for industry 4.0 if you please, and we need to it real quick. We will not be able to wait for the vendor of those ERPs to come up with something great, we are building these great things on our own. So we do use Mendix stacks to expose our ERP applications to our customers. We use Mendix to expose our legacy applications to customers.

So with ERP, it’s relatively simple because well, you have a monolith and you just have it. We just figured out how to build extensions which explore the functionality or the monolith. With custom applications, we have to make a decision each time we look at a custom application. Whether we leave it alone and wrap it in Mendix, so we can deliver the existing functionality through better channels. Always kind of split bits and pieces from the old monolith, rebuild it using microservices architecture with Mendix.

And Mendix is a perfect fit for this kind of construction. And sometimes we would decide to employ a nuclear option where we say, well, this is our wonderful custom monolith. We just rebuild it using a microservices built in Mendix and overnight monolith disappears and new Mendix reappears. So with Mendix platform, we do have a choice of methodology. How to expose legacy of IT to the new reality.

/ Mark Manning /
We are hearing a lot, I guess, about the upside of the way of thinking about these things. But there’s a certain amount of comfort in simplicity with sticking to transactional application development and the shift in the mentality that options and the opportunities are fascinating, but it sounds like they could create a complex web of interconnected services, especially as those services sort of leave the domain of the platform itself and a difficult to control or difficult to monitor landscape, so to speak. What’s your thinking about how to manage that complexity and interconnectivity?

/ Miroslav Samoylenko /
These are the tasks of an architect, to define governance for your microservices architecture. To define the governance for your legacy applications. How integrations are built and exposed and reused. It will be my task for the upcoming year because we at Trane Technologists, in corporate IT, we are facing this problem right now and I am tasked to solve it. How that will be solved? I don’t know yet ask me in a year.

/ Mark Manning /
I will be happy to. And then I suppose, lastly, what do you think you’ll be testing out or actually building with this new model? Anything in mind?

/ Miroslav Samoylenko /
Massive data management applications. That is definitely something which we’re wanted one to explore as we are getting more into eCommerce applications with Mendix, where performance is exceptionally critical. This is where we will be moving from Mendix only applications with Mendix Augmented, with various Amazon Web Services. Maybe Elasticsearch. Maybe Document DB.

/ Mark Manning /
I think we’re all looking forward to seeing what’s what’s next in that realm.

/ Miroslav Samoylenko /
Well, I’m looking forward as well. As I mentioned before, when you change the perception of Mendix platform, the opportunities become endless. And when I’m thinking about various areas of low-code application server, delivering high performing applications in tandem with other technologies, my head simply… There are so many opportunities.

/ Mark Manning /
Fascinating to hear it. Well Miro, thank you very, very much for providing some of your time on this. I think we’re all looking forward to seeing what’s next.

/ Miroslav Samoylenko /
Thank you Mark.

/ Mark Manning /
You have a good one. Thanks for listening, and be sure to check out Mendix.com/MakeShift to subscribe and stay updated with our latest episodes.