FleetWave Lite, first product release!

For full release details and a free trial, go to the Fleetwave Landing Page: https://www2.chevinfleet.com/introducing-fleetwave-lite

How did I get here?

FleetWave Lite is the product I’ve been working on for the past 18 months, converting an ASP.Net monolithic application that had grown organically over the previous 25 years into a cloud-native SaaS application. I’ll say it’s been difficult.

We had no usage metrics, no idea how many concurrent users we’d have to support, and very  little idea of data sizes because the product’s sales strategy was essentially fire and forget.

We didn’t have access to any of these parameters because the product was installed on the client’s premises in all cases.

As the application’s architect, I was concerned about these issues. To be fair, not all clients were opaque, but the specifics were murky at best.

In order to reduce risk, I over-architected some Azure services, but they are auto-scaled, so the application should be able to handle increased traffic regardless.

Database connectivity, notifications, client onboarding, caching, session state, auth*, and other features had to be modified from the monolith version. All of this just doesn’t occur to the developer when it’s just one application with everything held in memory; yes, even the session state was InProc, that’s how old-school this codebase was.

All FleetWave code changes were made by three of Chevin’s developers while I architected the code changes for the move to Azure. I did manage to complete some code for the migration in the form of a client onboarding tool written in React with a C# WebAPI for the interface with Azure, which I enjoyed but confirmed my belief that I will never, ever become a web developer!

The next issue was our outdated tooling, which also needed to be updated.

Hello, Azure Dev Ops

We needed to migrate not only a 25-year-old monolith, but also to a development system capable of supporting our final target in order to implement modern development techniques.

Yes, our previous Jira and Bamboo tooling allowed CI and CD, but they didn’t really support our desired target state. Because we’re a Microsoft house, the decision was simple: Azure Dev Ops. So I began the migration for our entire toolchain to A.D.O. in conjunction with setting up the whole Azure subscription & everything else.

I’d say I’d bitten off more than I can chew, but everyone says I have a big mouth, so I just plouged ahead with my master plan, ignoring the nay-sayers, confident that I could achieve the end goal in the time we’d been given.

It’s amazing how much better this is than Bamboo. The features and user-friendliness are excellent. The move from the Atlassian tool chain was a breeze for us, given that we’re almost entirely Microsoft and Windows-based.

Deadline met

After just over 13 months, we’ve achieved our goal of migrating a 25 year old monolith written in ASP.Net Web forms to be a nice shiny new Azure SaaS application!

So well done Karl Gibson, Neil Robinson and Paul Muir. With front end refactoring from Daniel Joseph and Bailey Clarke helping out with the testing.

NextGen here we go!

FleetWave NextGen is the next project on the horizon. C# WebAPI 2.0, is used in conjunction with D.A.P.R. and all hosted in Azure Kubernetes Service with an attractive React Native front end, so that we can approach this product from a mobile first perspective.

I’ll post more about this as it unfolds!

This entry was posted in Chevin. Bookmark the permalink.