Ready to learn Big Data technology? Browse Banking, Finance, and Insurance Industry Track courses developed by industry thought leaders and Experfy in Harvard Innovation Lab.
What problems do fintechs need to solve to scale up and grow profits?
1. Building an easily scalable software product
2. Partnering with other companies and engaging new customer segments
3. Complying with regulation and security standards while scaling up
In our series of articles we will dwell on how technologies can help you solve these 3 key challenges. We've collected and analysed findings from PWC, CBInsights, Forbes, etc., and fintech software development cases to elaborate a strategy on how to build a successful fintech business that generates profits, attracts investments, and can achieve economies of scale.
Part 1. is dedicated to the first challenge:
How to efficiently scale a software architecture in fintech?
In their early days, fintech startups need to be lean and nimble. They are rushing to launch an MVP and market test their idea. However, the speed often comes with a tradeoff of software quality.
When fintech startups prove their idea viable and start scaling operations, it appears that their IT platform was not built with scalability in mind. That’s when they start facing critical software scalability challenges:
- Refactoring, as changes affect different platform components
- Maintaining and scaling monolithic codebase
- Changing the coding language
- Managing and scaling a growing development team
- Long time to market, as the codebase grows
However, a reliable and easily scalable system goes a long way towards reducing operational costs and growing profits.
Thus, once the size of the codebase grows big, and changes need to be made promptly, many fintech companies turn to microservice architecture.
As microservices are loosely coupled, they can be scaled and deployed separately, which substantially reduces time to market and lowers costs. Microservices architecture helps to achieve:
- Scalability of a software development team
- Independence of services and sub-teams
- More efficient refactoring of services
- Applying new technologies more easily
- Adding new functionality more efficiently
- Better internal and external API-driven integration
Depending on specific needs of fintechs, there are different microservices adoption strategies:
Building microservices architecture from the very beginning. This is a costly and time-consuming process, and early-stage startups rarely go for microservices from the start. As the codebase is small, a company can do just fine with a monolith architecture for the years.
Refactoring the monolith into microservices. If a codebase grows too big to be quickly scaled and maintained, a fintech decides to migrate to microservices. However, that means you need to maintain the old system, gradually refactor to microservices, and handle orchestration of microservices while in production.
The process is always technically complex, costly, and may take up to a year of development time. Companies often resort to this approach when they face the problem of engineering team scalability.
Adding new microservices to a monolith. Sometimes a company decides to keep the monolith and build new microservices around it. This strategy has its cost-and-time-saving benefits, but it’s not a future-proof approach as it will be much more complicated to completely refactor the monolith when the solution grows bigger.
That was the case of RateSetter, a P2P fintech that undergoes a partial transition to microservices architecture.
Splitting big microservices into smaller ones.
When microservices architecture is not correctly structured from the very beginning, it works inefficiently and calls for changes.
A payment fintech Currencycloud is currently restructuring an already existing microservices architecture. As the services became too bulky, they wanted to break them into smaller, more efficient components.
Whatever strategy a fintech decides to take, microservices architecture adoption is a highly demanding task.
Let’s take a closer look at the challenges that are related to refactoring of an existing monolithic application.
Technological challenges of microservices adoption:
- Deﬁning the microservices and their responsibility areas. Ideally, each service has to cover only one functionality, but they should not be too fine-grained as well. Otherwise, it will create too much communication between services and, consequently, increase performance overhead.
- Integration between microservices written with different technologies.
- Automatic deployment, scaling and managing the services.
- Fault-tolerant design of microservices to handle instances when a service is under heavy load and doesn’t respond.
- Handling the orchestration of microservices while in production.
- Managing multiple different databases.
- Easily searchable logging and monitoring of the whole system, with automatic notifications of a service failure.
- Automation test coverage to prevent defects while refactoring.
The organisational challenge of microservices adoption
Transitioning to microservices architecture calls for changing the structure of development teams. Teams need to be independent, have their areas of responsibility, and deploy separately, at their own time.
The cost-related challenge of microservices adoption
Migration to microservices architecture is time-consuming, requires complex expertise, and is costly. The critical cost-cutting strategy here is to decouple microservices and finetune the processes before the project’s start, as rework means multiplying person-hours and expenditures.
Another important aspect is finding experts with the best cost-quality ratio.
Talent-wise challenge of microservices adoption
Microservices is a complex, distributed system that requires experienced software engineers, DevOps specialists, automation testers, and, most important, experienced software architects with the corresponding domain expertise.
In fact, 58 per cent of respondents cited attracting qualified or suitable talent as the most significant challenge for fintechs.
Due to the rapid information technology advancements, and soaring demand for qualified experts, the European Commission expects the shortage of IT-skilled staff could amount to 825,000 by 2020.
What’s more, it is challenging to find managers with the tech expertise able to lead the whole development process.
As a result, there is fierce competition for experienced software developers, architects, and product managers in the UK, Europe, and the US, which drives their salaries up.
As the critical adoption challenges are technological complexity, lack of talent, and a high cost of implementation, many companies find it sensible to outsource their microservices architecture development to third-party vendors in Eastern Europe and Asia.
Eastern Europe alone offers a large talent pool, wide-ranging expertise, and optimum cost to quality ratio.
In Part 2., you will learn more about how fintechs can increase their revenue streams and extend their market reach by leveraging technologies.
Image Credit: Investment Zen / Flickr