Applications have become the foundation to our way of life including how we shop, how we learn, where we find entertainment, and how we connect with friends and family. Data collected from all these applications is said to grow to more than 180 zettabytes by 2025. As engineers and software developers, it’s critical that your applications are able to scale as needed while maintaining integrity and stability. Over the last few years, our amazing team of engineers and software developers have focused on several improvements that built flexibility and efficiency into our applications to help us feel more prepared for the future.
Below, we share our top 5 ways to build flexibility and efficiency into your applications.
Improve performance by migrating from Newtonsoft.Json to System.Tex.Json
Following Microsoft’s release of System.Text.Json with ASP.Net Core 3.0, we decided to do a comparison of the new library with our ‘serializer friend’ Newtonsoft.Json to see what, if any, improvements could impact our applications. We found that System.Text.Json’s performance was only marginally faster but more secure. We also noticed that Microsoft is dedicated to making significantly more improvements which we find very helpful.
For a complete comparison of the two libraries, click here.
Improve collaboration with Visual Studio Code’s Live Share
Up until 2020, our engineers primarily worked at the office. With COVID-19, new challenges arose as we all had to adapt to working from home and collaborating virtually. We were used to sitting side-by-side to review code and noticed that it was taking much more time to do this virtually. Luckily, we came across Visual Studio Code’s Live Share which enabled us to work much more collaboratively and efficiently from remote environments.
See how to collaborate more efficiently with Visual Studio Code’s Live Share here.
Build web applications faster with Azure Durable Functions
In 2020, we implemented Azure’s extension, Durable Functions, to help reduce the cost of infrastructure and to build web applications faster with writing less code. Durable Functions provides a server-less, cost saving solution and significantly more features. One feature of particular interest is Async HTTP APIs, which can be used to handle long running tasks in the back end. While it was a difficult transition that took several months and refactoring, our web application is managing more calls, without any downtime and we are now able to provide the business units with real-time access to the data.
For a step-by-step explanation of how we started using Durable Functions, click here.
Increase flexibility by moving from monolith to modular apps
As the use of our applications grew and expanded we realized that it wasn’t an easy task to reuse or extend a lot of the functional code or even upgrade the versions. Our solution was to move from a monolith to modular app by building our own private registry. This is not a simple solution and we definitely met some challenges along with way but the long run benefits, including version control and better code coverage, was definitely worth it.
Learn how to move from a monolith to modular app here allowing you to save time and build greater flexibility into your apps.
Debug issues directly in production with Snapshot Debugger
As any software engineer and developer can tell you, it’s important that you respond and manage issues quickly. In our case, we wanted to make it work on our live site, and since our applications are hosted on Azure and we use Visual Studio for collaboration, we decided to explore Snapshot Debugger. You can read through what we feel are the main benefits along with what challenges we faced and how we are using it today, here. And thanks to support from the Microsoft team during configuration and testing stations, we can definitely say it’s made our debugging experience with live apps much easier