Skip to content

Optimizing and analyzing business with Azets Cozone

Azets Cozone brand needs no introduction for Nordic business world. We address tasks such as payroll, accounting, document management and time reporting along with other business processes, through our software solutions.

twoday-blog-onko-low-code-kehittaminen-varjo-itta-featured-1

Overcoming challenges

The codebase was suited for it's original goals, but business growth demanded a next-level enterprise tech solution. It didn't help that the entire system was built on a dynamic typed programming language. The test coverage was insufficient, and every next complex feature required thorough manual testing. Additionally, the software release processes lacked automation. Every new release necessitated an extensive list of preparation steps, along with planning months in advance, leading to downtime and bug-fixing sessions during post-release days.

Furthermore, the user base was rapidly expanding, and the large clients demanded additional, user-specific features. As a result our development velocity was slowing down due to significant technical debt. It became evident that changes were necessary.

Modernization process

To address the goals, we launched new strategies to secure smooth business continuity and fast pace of new features.

We carefully analyzed the entire codebase and elaborated a detailed plan to (incrementally) reorganize entire solution reflecting both the business domain and the organization. The new modular architecture reduced complexity and hence improved maintainability, while addressing other qualities such as code reuse between different services/applications. 

The CI/CD track delivered automation pipelines, and seriously focused on unit and integration test coverage. Naturally we incorporated static analysis tools, code quality gateways, feature toggles and other robust top-of-the-class devops tools.  

The release process was fully automated and simplified, with multiple daily deployments. 

Next steps

Now we were in a good position from a development perspective, and secured high code quality for any newly written code. The refactoring  process ran in parallel, improving the legacy codebase bit by bit, constantly improving metrics and reducing risks. Legacy codebase modernization velocity was good. Now we could start addressing quality attributes of infrastructure reliability, availability, and scalability - a rapid business growth meant increasingly high loads.  

The infrastructure modernization project end goal was to migrate to AWS cloud infrastructure, containerize all our applications, and build deployment to Kubernetes with automatic scaling solution. We chose lift-and-shift migration path with minimal refactoring of our infrastructure services. That allowed us to relocate to cloud quite fast. We relied on our integration tests, smoke tests and performance tests to double check that the applications will perform on the cloud environment as expected to make the migration as smooth as possible.  

Consequently, the migration process was seamless, and as a result, we were able to scale much better. The scalable infrastructure adapted to the application load, ensuring efficient performance and improved user experience. 

 

 

Why wait for tomorrow? Let's have a conversation today

If you would like to hear more how we could help you, please fill in the form and we will contact you soon.

 

Building our future together: the twoday ownership program 

At twoday, we’re all about growing together and sharing our successes, which is why we created our ownership program. This program is designed to empower every employee by giving them a unique chance to invest in the company they help build every day.

Azure SQL trigger for functions

In this practical blog post I would like to introduce you to the new Trigger Binding on Azure Functions for Azure SQL Database tables. In 2024 March this became generally available (GA) so let’s review it.

Subsidy payment system based on Business Central

We’re pleased to announce that we have just signed a contract with the Danish Agriculture Agency for the development of their new subsidy payment system in collaboration with twoday A/S. The project is also known as TUS 3.