We asked Martin Juslenius to share his insights and takeaways on cloud technologies, in particular, Azure solutions. As an example, we discussed his recent project, a SaaS platform for the retail industry. In this interview, Martin uncovered how Azure cloud solves main challenges and serves as a digitalization driver.
Martin Juslenius, cloud engineer and Azure solutions expert at Sigma Technology Cloud
How cloud technologies met the retail industry
Cloud technologies have revolutionized the e-commerce industry, making it possible for businesses to offer a better experience to their customers. With cloud-based e-commerce platforms, businesses can provide a faster and more responsive experience, as well as access to a wider range of features and functions. Cloud technologies have also made it possible for businesses to scale their operations more easily, allowing them to meet the needs of a growing customer base.
Tell us more about the project
The project is a SaaS platform within the e-commerce industry. With its high competition, there is huge potential for projects like that to take the lead and create modern and reliable infrastructures. In our case, the goal with this product was to create a modern and robust cloud-based infrastructure that will create a favorable environment for further scaling and a zero-downtime experience for its users.
How do you achieve the goal set by the client?
We utilize Azure services to make this happen. The most obvious for us would be that our clients won’t have to maintain many physical servers to achieve their goals and can easily onboard new customers to use their SaaS offering. More technically, we made a setup using Infrastructure as code (IaC) which automates the process of creating the resources needed in Azure for a new customer.
On the same topic, in order to make the SaaS product effective both in performance and cost, the goal is to have a multi-tenant architecture. That transition is taking place right now, going from the existing single-tenant architecture to the multi-tenant goal architecture. That work is really interesting and will make use of the Azure resources in a much more effective way. It will enable scaling for individual customers when needed, but it will simultaneously share the Azure resources between the customers in a smart way reducing costs and the complexity of onboarding new customers a lot!
Why do you think Azure solutions is the perfect match for SaaS?
With an Azure solution, you can choose from many services and resources. You will most likely find the resources needed to build your SaaS solution among the offerings from Azure. If you make the right architectural choices, you will have a SaaS solution that will scale very well with the increasing number of users. That means that you will adjust the cost for the solution according to the number of users in a good way and, at the same time, meet the performance need when the number of users grows (or shrinks).
How else do you use Azure solutions for this project?
Another way we use Azure is to create background jobs on the side of the main application, which is made very easy by Azure using Azure Functions, one of their serverless offerings. This means that we can build modular parts of the systems that are independent of each other and will, therefore, not affect each other. We have, for example, built an email notification service that runs an Azure Function. A good thing about this is that you can easily see the individual parts performance metrics and scale them individually instead of scaling a whole application just because one part needs more performance.
We are also using Azures Application Insights to gather our logs for the different parts of the system in one place where we can easily find information about the system when needed. We have set up alerts for critical parts of the system to be able to take action if something goes wrong quickly. A cool feature we’ve activated is “Smart Detection,” which is built into the Application Insights and can find anomalies that can be very hard to find otherwise. It can, for example, alert us if some endpoint is giving slower response times compared to the previous average response times.
For deploying our applications, we use pipelines in Azure DevOps, which make our deployments to different environments a few clicks away. In Azure DevOps, it’s also very easy to get an overview of the versions deployed to which environments.
What’s your feedback on using Azure products for e-commerce?
In general, I really like how easy it is to get a new resource up and running in Azure with the basic settings so that you can start to iterate it to fit your needs.
Their products also integrate very well with each other. These reasons make Azure a perfect platform for creating your applications, even if they will grow (or shrink) over time. When a new need pops up, you have all the offerings in Azure at your disposal, and it will, in most cases, be a nice experience to add new resources on top of or integrate them with your existing application.