
Code refactoring unlocked cloud freedom for the energy sector
Challenge
Our European client offers tools for measuring, monitoring, controlling, and improving energy consumption across various types of buildings. They initially deployed their software on a dedicated on-premise server and Microsoft Azure Cloud. Later, the tech lead wanted the code to be easily portable across different cloud providers, with the ability to migrate to the new provider’s native services. The reason: limitations of their current pricing plan, and negotiating better terms with different cloud providers.
The client needed to switch from Azure to AWS to meet short-term scaling and cost needs. Later, they decided to switch from on-premises to Azure Cloud to unify services, simplify integration with Power BI and other Microsoft tools, and prepare for cloud-native ETL workflows. Despite these cloud shifts, core apps continued running in containers hosted on the dedicated server.
Our European client offers tools for measuring, monitoring, controlling, and improving energy consumption across various types of buildings. They initially deployed their software on a dedicated on-premise server and Microsoft Azure Cloud. Later, the tech lead wanted the code to be easily portable across different cloud providers, with the ability to migrate to the new provider’s native services. The reason: limitations of their current pricing plan, and negotiating better terms with different cloud providers.
The client needed to switch from Azure to AWS to meet short-term scaling and cost needs. Later, they decided to switch from on-premises to Azure Cloud to unify services, simplify integration with Power BI and other Microsoft tools, and prepare for cloud-native ETL workflows. Despite these cloud shifts, core apps continued running in containers hosted on the dedicated server.
Solution
To build a modernized backend based on the microservices architecture approach for a complex energy project, we adopted a clear separation of concerns (SoC) by dividing the system logic into workers and infrastructure components, avoiding a costly rewrite of the entire codebase.
To build a modernized backend based on the microservices architecture approach for a complex energy project, we adopted a clear separation of concerns (SoC) by dividing the system logic into workers and infrastructure components, avoiding a costly rewrite of the entire codebase.
Results
Digital transformation gives businesses a lot of benefits, both operational and strategic:
- Significant cost reduction when migrating or switching between cloud providers, thanks to minimized rework and streamlined processes.
- Readiness for global growth with cloud freedom when scaling to new regions, which often requires multi-cloud infrastructure.
- Cloud provider independence gives greater flexibility to choose or change vendors based on evolving business needs and technology trends.
- Lower ongoing support and migration expenses, achieved by decoupling infrastructure from core business logic.
- Faster delivery of new features and updates without system downtime or disruption, enabling continuous innovation.
- Enhanced service stability and reliability, supported by robust abstraction layers and containerization.
- Mitigated vendor lock-in risks, empowering the business to adapt swiftly to market changes and avoid dependency on a single cloud provider.
Migration to another cloud now takes 4x less time. It goes into savings of tens of thousands of dollars on labor hours, system downtime, and technical support when migrating infrastructure between Microsoft Azure, AWS, or on-prem environments.
Digital transformation gives businesses a lot of benefits, both operational and strategic:
- Significant cost reduction when migrating or switching between cloud providers, thanks to minimized rework and streamlined processes.
- Readiness for global growth with cloud freedom when scaling to new regions, which often requires multi-cloud infrastructure.
- Cloud provider independence gives greater flexibility to choose or change vendors based on evolving business needs and technology trends.
- Lower ongoing support and migration expenses, achieved by decoupling infrastructure from core business logic.
- Faster delivery of new features and updates without system downtime or disruption, enabling continuous innovation.
- Enhanced service stability and reliability, supported by robust abstraction layers and containerization.
- Mitigated vendor lock-in risks, empowering the business to adapt swiftly to market changes and avoid dependency on a single cloud provider.
Migration to another cloud now takes 4x less time. It goes into savings of tens of thousands of dollars on labor hours, system downtime, and technical support when migrating infrastructure between Microsoft Azure, AWS, or on-prem environments.