- .NET development
CONVERTING A LEGACY PHP MONOLITHIC APPLICATION TO MICROSERVICES USING GOLANG
Client
Inturn has built a unique platform that allows businesses to connect with a global network of buyers, and easily discover new products, get real-time data, and access various tools to help them make informed business decisions. But with their rapid growth and transformation from a startup to an enterprise business, they were facing some roadblocks around building their technical team and software.
That's where we came in! The INTURN team reached out to us with a specific goal in mind after they were referred to us by another happy client: they wanted to rewrite their PHP Monolith application to a microservice architecture, to ensure that it could handle their growing user base and continue to develop new features and functionalities. We were more than happy to help them out. After defining the challenge Inturn had around converting monolithic applications to microservices, we recognized the potential for Temporal's workflow automation to streamline their transformation and suggested it as a solution for converting legacy to microservices.
Challenge
During Inturn's growth phase, the move from a monolithic to a microservice architecture demanded a robust solution for managing their complex workflows. That's where Temporal's capability to handle long-running, reliable processes became a pivotal component of our recommended strategy.
The primary stakeholders weren't fully aware that the organization was undergoing such a large and needed transformation from a startup to an enterprise business. They needed it described to them and then to carefully consider how they were going to grow their software stack over the next few years. As a result, the company experienced significant growth within a short period of time, leading to a significant number of operational challenges, technical debt, and too much work for them to handle.One of the main objectives Inturn set out to achieve was to rewrite their PHP Monolith application to a microservice architecture and introduce Golang into their tech stack, with the goal of scaling their development architecture and technical team. The client wanted to re-architect the application to ensure that it is scalable, maintainable, and able to handle its growing user base. They also wanted to select the best tool set and tech stack for the re-architecture, and to assist with the development of new features and functionalities.
The Spiral Scout team had expert-level expertise in Golang and PHP and was able to consult with Inturn about the best approach for building their software to convert legacy to microservices and the team.
Strategy
Our recommendations were based on not just replacing PHP with Golang, but also on leveraging Temporal's workflow orchestration to ensure the new microservices could communicate effectively. This approach meant that Inturn’s services would be more modular, maintainable, and ready for future growth.
Our team worked closely with their team, listened to their needs, and presented an evaluation of all the available options to help them select the best tool set and workflow engine for the re-architecture and then we assisted with the development of new features. The INTURN team wanted to start development quickly and build a team of 10 Golang and PHP engineers to start which required us to quickly staff their team with leads that knew Temporal and engage our HR team to successfully recruit highly skilled engineers to INTURN’s team. Not only did we build them a team of 12 backend engineers but after presenting and building an automation test plan and helping them to select the most appropriate automation testing framework, we built them a 5-member Automation QA team, led by two superstar automation engineers.
Solutions
After careful consideration, our team planned the path to implement various technical solutions to effectively mitigate the challenges encountered by INTURN. Initially, we updated their legacy PHP monolithic application into multiple microservices using Golang. Not only is Golang known for its lightning-fast performance and scalability, but it also makes building and maintaining microservices a breeze. In addition to Golang’s concurrency model and performance, we developed on top of Temporal as the backbone engine for their workflow automation. This powerful engine and combination meant that each service could operate independently, yet they were still a part of a seamless, orchestrated system.
Results
The integration of Temporal into Inturn was a huge success and equipped Inturn with a platform that could handle increased traffic, but also maintain state and consistency across services. Because of this, they could more seamlessly onboard more Fortune 500 retailers, setting the stage for significant business growth.
We weren’t just a “yes sir, no sir” vendor on the project but a trusted partner who regularly gave feedback and our technical opinions that helped drive successful implementations and results.
We successfully staffed the project with senior engineers who had enough experience and excitement for the project that they could make proactive recommendations about architectural solutions and technical approaches. The solutions that the Spiral Scout team built helped INTURN onboard a number of Fortune 500 retailers to their platform and grow their business by using our IT Outstaffing solutions
Review
At Spiral Scout, we believe that when it comes to software development and delivery, it’s time for a change.