Success stories of offshoring microservices development to CEE

Why CEE?

Central Eastern Europe (CEE) is an extremely fast-developing part of the world. Many companies have already seen the potential of the region and incorporated it into their development strategies. Both global corporations and start-up companies are bringing their assets to the region; over 2,000 Shared Service Centers (SSCs) are open in the region.  These SSCs employ 640,000 people, many of whom are highly qualified engineers who bring innovative product development strategies to the region. 

There are over one million developers in CEE. That’s 1.3 developers for every 100 people in the labor force in the region.  Due to a mostly free and widely available regional higher education system, the region has many quality engineers who are highly valued in the job market across the world. There are 11 countries in the CEE region, with Poland producing the most engineers of all. Poland has over 250,000 IT developers, which is a quarter of the total number of developers in the region. Combining widely available higher education with a natural problem-solving culture makes CEE widely known for producing engineers that solve the most complex problems.

The high number of qualified developers in the region makes CEE a valuable destination for offshoring IT projects, and many companies have already recognized this.  Another incentive for companies in the competitive pricing in the region due to fairly low living costs. While it does not have the lowest pricing, the region offers the perfect balance between the cost and overall quality of services; companies will get the best service for the least cost.  In less expensive locations like South-East and Eastern Asia, the quality of services is more likely to suffer due to language barriers or significant time-zone differences. CEE has overlapping time-zones with the US, a similar cultural background, and a population that mostly speaks fluent English.

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

The American Red Cross  (ARC) is a charity organization that provides services such as emergency assistance, disaster relief, and disaster preparedness education in 22 countries.  It is staffed with over 12 million volunteers around the world and generates nearly $3 billion in revenue a year. An organization of that size has a large and complex structure. Communication between different subsidiaries is crucial to function, and different processes need their own separate solutions while simultaneously intersecting other solutions. Processes including but not limited to volunteer intake, disaster alerts, and promotion and assignment management need to be designed separately and merged into the Red Cross’ overall structure. 

This is where microservice-based architecture comes in.  This type of architecture allows complex applications to be broken into autonomous units that can be arranged as a set of loosely connected services. This modular approach enables easy and seamless incorporation of new functionalities and services into pre-existing systems, and it is scalable.  These types of benefits brought The American Red Cross to use microservices as a base for some of their most critical processes.

One of the processes implemented with microservices was volunteer intake, a crucial process since Red Cross relies heavily on volunteers to pursue its mission. Redesigning the entire intake process for new volunteers was a major challenge, as over 150K new applicants needed to be processed. The process needed to be extremely user-friendly while also secure and in line with ARC internal policies, government laws, and local regulations. Using microservices ensured that each application was properly processed by the system and that all volunteers had the opportunity to contribute to the charity incentives of The American Red Cross. More information can be found in the full case study here.

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

Offshoring the entire process of developing the microservice-based architecture to CEE allowed The Red Cross to optimize their budget and significantly cut costs. The development was managed and conducted by an entirely Polish team, who produced a complex architecture on a reasonable budget. The Red Cross had access to a large pool of 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

Start-ups often begin with a monolith architecture to develop their minimum viable product (MVP) in the first version of their product. This approach ensures quick and easy development of a solution, reducing the time-to-market needed. While this is critical in the early stages of company development, the monolith architecture might not be as optimal long-term. Moving from monolith to microservice-based architecture is a natural path for many start-ups because the latter is more scalable.  Microservice-based architecture allows more flexibility in processes, which makes it easier and faster to scale up products and companies. 

Finding a suitable development team in a local or even regional talent pool can be tricky, and many start-ups decide to offshore the development process partially or completely. This approach is more cost-efficient and makes it easier to source teams from a larger pool. Since finding the right offshore team can be time-consuming, it is a good idea to cooperate with a US-based partner that has access to offshore developers. Many start-ups have adopted this approach and succeeded with their product and overall organizational development.

One of the companies that adopted this model with great success is Raise, a Chicago based start-up. Now it is the #1 gift card buyback and sell platform that enables third-party sellers to sell new or used gift cards. Raise’s entire system was originally based on Ruby, but the company wanted to adopt a Golang-based microservice architecture.  Raise offshored the project to CEE, and offshore developers successfully transferred knowledge to the local team during implementation of critical new functionalities like the “Instant Order”. 

As companies grow along with their products, they need an easy way to add new functionalities into their solutions.  Microservices are one of the most efficient ways to achieve this. Raise’s decision to incorporate a microservice-based architecture in their development strategy achieved smooth product scalability. Onboarding an offshored team from Poland also enabled Raise to manage their budget more efficiently and gave them access to a large pool of highly experienced developers, eliminating the time-consuming task of sourcing local talent. 

Offshoring microservice-based development to CEE turned out to be a strategically significant move that contributed to Raise’s rapid development and valuation of over $1 billion. The full case study can be found here.

There are countless other examples of start-up companies that have successfully adopted this strategy, but there is one that stands out from the crowd. SingleCare is a start-up from Boston, established in 2014, that developed a solution that makes prescriptions more affordable – a free prescription discount card.  They’ve also achieved tremendous success by moving from a monolith architecture to microservices with the help of offshore developers from CEE. However, this company is unique because its entire system was re-designed and developed from the ground up with a new microservices-based architecture around the Golang ecosystem and migrated to a single page React.js application on the frontend. This approach created an architecture that enables easy and rapid scale-up of applications 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 often relies heavily on a highly complex and bulky system to manage its processes; this makes it hard to augment the system with new functionalities over time using a traditional architecture approach. Transitioning to a microservice-based architecture makes it easier to integrate new units and functionalities into the existing core system.  These new units and functionalities are able to fully interface with the global database and other services.

Adding new functionalities on top of an existing system was 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 it already being a mature company. License management was one of the key processes added to the pre-existing architecture. License management deals with license numbers and customer and product databases, and its frontend is directed towards the end customer. This makes the user experience extremely important. The full case study can be found here.

Since Autodesk is a global company with a global core business strategy, they are constantly optimizing their processes in terms of budget, workflow, scalability, etc. Autodesk decided that outsourcing their microservice development to CEE was the best way to incorporate these new processes into their pre-existing system. Building a microservice-based architecture is a challenge that calls for highly experienced specialists, and CEE was able to deliver. Some of the best IT engineers with many years of experience in their respective fields worked to bring microservices on board. More information on the subject can be found here.

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

While different companies have different approaches to this subject, the overall trend is clear. Companies seem to benefit from adopting microservices into their systems, regardless of company size, maturity, and existing business model. By gradually moving the architecture from a monolith approach to a microservice-based approach, companies are able to make their systems more flexible. Adopting an architecture that is designed for constant change and augmentation is obligatory for any company that wants to rapidly scale their business. 

When planning to move to microservices, a good strategy is crucial for success. The first step to get a system microservice-ready is always a professional architecture review. The review establishes the current status of the software design and suggests next steps that need to be taken. When done correctly, such a review can provide a bullet-proof action plan to transition a system.  Therefore, finding a reliable partner who can help migrate to microservices is critical in any development strategy. More information about how to take that first step and get a professional architecture review can be found here.

Michał Olędzki

Latest Posts

Scrum: How to Work Together

With the popularity of the scrum framework among software development teams, it’s growingly important to learn how a scrum team works to meet its goals. Scrum Process Overview Scrum is an agile project management framework widely used in IT but can be applied to other fields as well. The framework facilitates the management of complex […]

/
event storming

Event Storming: How to Boost Your Software Development Process with a Simple Technique?

Event storming is a dynamic workshop technique that supports domain-driven design in software development. It can boost the team’s efficiency and reduce error risk, minimizing the back-and-forth in the development lifecycle. If you haven’t been living under a rock, you’re probably familiar with the concept of brainstorming. It’s a widely used term for the process […]

/
rails vs sinatra

Rails vs Sinatra

In the rapidly evolving world of software development, web frameworks have become essential tools for building robust and scalable web applications. These frameworks provide a structured environment that streamlines the development process, offering pre-written code, libraries, and guidelines that help developers avoid repetitive coding tasks, thus significantly enhancing productivity and ensuring best practices. Within the […]

/
android webstockets

Introduction to Android WebSocket

WebSockets have become a pivotal technology in enabling real-time communication for Android apps, offering a dynamic way to send and receive messages instantaneously. This technology facilitates a persistent connection between the client (Android app) and the server, bypassing the traditional HTTP request-response model to allow continuous data flow through a single TCP connection. The WebSocket […]

/
smart contracts audit

Introduction to Smart Contract Audits

In the blockchain world, smart contracts are key to decentralized applications (dApps), automating transactions and enforcing agreements without intermediaries. These contracts handle significant digital assets and perform crucial operations, making their security paramount. Smart contract audits are thus essential, scrutinizing the contract’s code for vulnerabilities to prevent potential security breaches. These audits are crucial for […]

/
What is Python Used for in Finance

Embracing the Essence of Scrum: The Indispensable Values for Agile Teams

In the ever-evolving landscape of project management, Agile methodologies like Scrum have become the cornerstone for many teams striving for adaptability and efficiency. While Scrum offers a comprehensive framework and great agile tools, it is the underlying values that truly breathe life into the process. During The Sprint What Scrum Value Must The Team Demonstrate […]

/
Related posts

Scrum: How to Work Together

With the popularity of the scrum framework among software development teams, it’s growingly important to learn how a scrum team works to meet its goals. Scrum Process Overview Scrum is an agile project management framework widely used in IT but can be applied to other fields as well. The framework facilitates the management of complex […]

/
What is Python Used for in Finance

Embracing the Essence of Scrum: The Indispensable Values for Agile Teams

In the ever-evolving landscape of project management, Agile methodologies like Scrum have become the cornerstone for many teams striving for adaptability and efficiency. While Scrum offers a comprehensive framework and great agile tools, it is the underlying values that truly breathe life into the process. During The Sprint What Scrum Value Must The Team Demonstrate […]

/

Optimization Testing: The First Step towards Better Efficiency

In the ever-evolving landscape of software development, optimization testing emerges as a pivotal strategy, playing a crucial role in enhancing the efficiency and effectiveness of software projects. At its core, optimization testing is a process aimed at streamlining the testing phase of software development, ensuring that the functionality, reliability, and performance of software products are […]

/
web app speed

Revisiting Web App Speed

The performance of a web application can either encourage or deter user interest. Businesses should prioritize performance improvements to enhance the overall user experience and maintain user interest. Let’s delve into a mixture of development optimization, marketing, and… cognitive sciences? All for the sake of providing a smooth user experience. What Is Web Application Speed? […]

/
software development stages

Software Development Life Cycle. How to Handle a Multi-Stage Software Development Process?

Creating a system that performs complex functions requires more than rock-solid expertise. You need a structured approach that will help you achieve your software development goals as efficiently as possible. Software development is a long, complex, and tedious process ridden with challenges. Common issues include incomplete requirements, changing project scopes, poor communication, unrealistic deadlines, insufficient […]

/
angular apps

Angular Apps: Top 7 Web Application Examples, Advantages, and Considerations

Angular is a leading development tool for building sophisticated web apps. Check out the top applications fueled by this Google-backed platform and learn about its strengths and weaknesses. Angular is a household name in the front-end development industry and the key competitor of React (aka ReactJS). As one of the leading web development frameworks, it […]

/
Talk with experts

We look forward to hearing from you to start expanding your business together.

Email icon [email protected] Phone icon +1 (888) 413 3806