Success stories of offshoring microservices development to CEE

Why CEE?

Central Eastern Europe is an extremely fast-developing part of the world. Many companies already saw the potential of the region and incorporated it into their development strategy. Both global corporations and start-up companies are bringing their assets to this region. In terms of organizational development – over 2000 SSCs are opened in the region, employing 640,000 people – but also, what’s more important, their product development strategy. This is due to a large number of highly qualified engineers. 

 

There are over 1 million developers in CEE. That’s 1.3 developers for every 100 people in the labor force in the region. The regional higher education system, that’s mostly free and thus widely available, produces high-quality engineers that are highly valued in the job market all across the world. There are 11 countries in the CEE region, with Poland producing the most engineers of them all. There are over 250,000 IT developers in Poland. That is a quarter of the overall developers’ population in the region. Combining widely available higher education with a natural problem-solving culture of the region makes CEE widely known for producing engineers that solve the most complex problems.

 

All of this makes CEE a very valuable destination for offshoring IT projects, and many companies have already recognized this. Moreover, the average prices in this part of the world are still somewhat competitive due to fairly low living costs. Perhaps not the lowest you can get, but taking into consideration the overall quality of the services offered, you will get the best bang for your buck.

Of course, if money is the main concern you might want to consider other, “cheaper” locations like South-East and Eastern Asia but the quality might suffer due to communication problems like a language barrier or significant time-zone differences. CEE has overlapping time-zones with the US, people there tend to speak English on a pretty high level, and the overall cultural background is somewhat similar. 

 

How The American Red Cross took its microservices to CEE  – and succeeded

The American Red Cross is a charity organization providing its services like emergency assistance, disaster relief, and disaster preparedness education, in 22 countries with the help of over 12 million volunteers all over the world. Organization of that size, generating nearly $3 billion in revenue a year, has a very large and complex structure. With communication between different subsidiaries playing a crucial role in its functioning. Different processes need their own separate solutions but at the same time need to be intersecting with each other. Processes like volunteer intake, disaster alerts, promotion and assignment management and everything in between, all need to be designed separately and merged into the Red Cross’ overall structure. 

 

This is where microservice-based architecture comes in. Allowing to arrange application as a set of loosely connected services, decomposing what would otherwise be an overblown and complex system, into autonomous units. This kind of approach allows for bringing new functionalities and new services to the pre-existing system fairly easily and seamlessly without overcomplicating things too much. Those benefits of this kind of architecture, that makes the system a lot more scalable thanks to a modular approach, brought The American Red Cross to microservices, as a base for some of their most crucial processes.

 

One of the processes implemented with microservices was the volunteer intake process. That is one of the most crucial parts of the organization, as Red Cross relies heavily on its volunteers to pursue its mission. Redesigning the entire intake process for new volunteers became the major challenge as over 150K new applicants needed to be processed. Making the experience extremely user-friendly and at the same time secure and in line with the ARC internal policies, government laws and local regulations, was one of the crucial concerns. This kind of approach ensured that each application could be properly processed by the system and that all volunteers would have the opportunity to contribute to the charity incentives of The American Red Cross. If you find this interesting you can read the full case study here.

 

The Red Cross cares deeply about its volunteers and their development. That is why their training and promotion systems are some of the key elements of their HR management workflow. Redesigning and implementing it as a part of a microservice architecture was crucial to ensure the effectiveness and flexibility needed to process the 12 million volunteers. 

 

Offshoring microservices development CEE allowed The Red Cross to optimize their budget and cut costs quite significantly. As the development was managed and conducted by an entirely Polish team, producing a fairly complex architecture could be done within a reasonable budget. This strategy allowed the company to access a large pool of highly professional IT engineers capable of producing high-quality code, meeting deadlines and finalizing the entire project seamlessly.

 

From monolith to microservices – that’s how start-ups scale up their products

Starting with a monolith architecture is often how start-ups develop their MVP in the first version of their product. This kind of approach ensures quick and fairly easy development of the solution, reducing the time-to-market needed. This is crucial in the early stage of company development. However very often, later on, sticking to the monolith architecture might not be as optimal. There are different ways to optimize the architecture for easy product – and company – scalability in order to develop much faster and with less hustle. So moving from monolith to microservice-based architecture is a natural path for many start-ups. It allows for scaling up the product as you go and as needed by having more flexibility in the process. 

 

Acknowledging the fact that finding a suitable development team in the local or even regional talent pool might be sometimes tricky, many startups decide to offshore the development process partially or completely. This makes it easier to source teams from a much larger pool and it is a way more cost-efficient approach. Since finding the right team might be time-consuming – especially offshore – it’s always a good idea to cooperate with a US-based partner that has access to offshore developers. Many start-ups adopted this approach and succeeded with their products and overall organizational development.

 

One of the companies that adopted this model with great success is a Chicago based start-up Raise. Now it is the #1 gift card buyback and sell platform that enables third-party sellers to sell new or used Gift Cards. Raise entire system was originally based on Ruby and a Golang based microservice architecture was introduced. Incorporating this approach and offshoring the project entirely to CEE, assured knowledge transfer between the offshore developers and the local team during the implementation of critical new functionalities like the “Instant order”, that were delivered in time to production despite some difficulties along the way. 

 

The decision to incorporate a microservice-based architecture as a part of their development strategy was made to achieve smooth product scalability. As the company grows along with its product it needs to have a somewhat easy way to add new functionalities into the solution. Microservices are one of the more efficient ways to do so. 

By bringing on board an offshored team from Poland, Raise was able to manage their budget more efficiently. At the same time had access to a much larger pool of highly experienced developers, rather than trying to source local talents. 

This approach of offshoring microservices development to CEE turned out to be a strategically significant move that contributed to the company’s rapid development and validation of over $1 billion. You can read the full case study here.

 

There are countless other examples of start-up companies adopting that strategy with success. But there is one that really stands out from the crowd. SingleCare is a start-up from Boston, established in 2014, that developed a free to use solution that makes prescriptions more affordable – a free prescription discount card.  They’ve also achieved tremendous success with a similar strategy of moving from a monolith architecture to microservices with the help of offshore developers from CEE. However, what’s unique about this company is that its entire system was re-designed and developed from the ground up with a new microservices-based architecture around the Golang ecosystem while at the same time migrated to a single page React.js application on the frontend. This approach allowed to create an architecture that makes it much easier to scale up rapidly both in terms of application sailing and business development. The full case study can be found here.

 

Autodesk: how an international corporation is offshoring microservices as a part of its global strategy

Autodesk is a multibillion-dollar corporation with multiple business lines and over 100 professional software products available globally. Its sales rose 25% year-over-year and reached a record of $2.57 billion in 2019. An organization of this size relies heavily on a highly complex and bulky system to manage its processes. Which makes it hard to augment the system with new functionalities over time using a traditional architecture approach. That’s where microservices come in handy. Making it much easier to integrate new units and functionalities onto the already existing core system in a way that’s fully interfacing with the global database and other services.

 

Adding new functionalities on top of the existing system became a core strategy for Autodesk to scale up their business and one of the factors that led to its rapid development in recent years, despite being an already mature company. Some of the processes added to the system are more crucial for the company than others. But the overall approach remains the same all across the board. One of the processes that are key for the company and were added on top of the pre-existing architecture is license management. It’s dealing with license numbers, customer and product database and on top of that its frontend is directed towards the end customer. This makes the UX part extremely important. You can go to this case study to read more.

 

Since Autodesk is a global company with a global strategic approach to their core business. This means constantly optimizing their processes in terms of budget, workflow, scalability, etc. That’s why they’ve made a decision that offshoring microservices development to CEE would be the best way to incorporate them into their pre-existing system. Building a microservice-based architecture is a challenge that calls for highly experienced specialists. The company decided to work with a partner that could deliver on that. Some of the best IT engineers with many years of experience in their respective fields had worked on bringing microservices on board. If you are interested in reading more on the subject you can go here

 

.

 

What’s common for all these companies – and what’s in it for you

Even though different companies have different approaches to this subject, the overall trend seems to be clear. The execution might differ depending on company size, maturity, and business model but despite those variables, companies seem to benefit from adopting microservices into their systems. By gradually moving the architecture from the monolith approach more into microservice-based it’s much easier to be more flexible. Having an architecture that’s designed for constant change and augmentation is obligatory for anyone thinking about rapidly scaling their business. 

Of course, when planning to move to microservices you shouldn’t go cold turkey on it. A well laid out strategy is crucial for success. The first step to get your system microservice-ready is always a professional architecture review. That will establish where are you right now in terms of your software design and suggest the next steps that need to be taken. When done correctly, such a review can provide you with a bullet-proof action plan to transition your system. This is why finding a reliable partner that can help you with migrating to microservices should be a key factor in your development strategy. If you learn more about taking the first step in that direction and how to get your current architecture reviewed you can learn more about it here.