Home

Scalability

Scalability
What are some best practices for building applications at scale?

Top Answer: When building applications at scale, we need to understand that we are not building for the scale of today. We have to plan for the scale of tomorrow. We are making our platform future-ready by identifying disruptive products and services we can provide to our merchants, but people usually just follow whatever the current hype is in the technology world. When you keep seeing a new buzzword, eventually you feel like you’re out of sync with current technology if you’re not using it. I hear a lot about AI/ML, and ML is definitely in use here, but you need to have specific use cases for AI. And you can’t implement a design pattern just because that’s the trend. You have to figure out what the right design pattern is based on your requirements. Building applications at scale also requires careful thinking about how you can create reusable components. You end up building a lot of components if you don’t make reusable ones, and all of them require testing. Every time you create a component, you have to test it for the functionality, as well as for the non-functional aspects, like the scale security. You also have to put a lot of focus on the architecture of what you are building, because the traditional way of thinking may not work. When we are designing a solution, we often try to fit the end result into the technology we have, rather than defining our end result first and then fitting the technology to that. It has to be reverse-engineered. Otherwise, you will have to change the technology when your requirements change. It is also important that you leverage the tools that are most relevant to that problem, rather than going with what you already know. If the architect has more experience with databases, for example, the solution ends up being inclined towards databases. That is a hindrance, so we have to remove our bias toward the tools we know when building applications for scale. We need to put the end result into perspective, establish what is required, architecturally build that, and then we can choose what technology will solve that particular problem, whether we have used it before or not.

69 views
2 comments
2 upvotes
Related Tags
When building applications for scale, how important is QA testing?

Top Answer: Testing whatever you create is essential. We are in the process of adopting a strategy Netflix came up with: they simulate problems on the go, because scale can only be tested when there is a similar situation. You cannot take for granted that your application is built for that scale, because certain components may go wrong. The solution has to be resilient. We take care of latency for the applications that we build at Spice Money, because even 30 seconds matter in FinTech. And when you are talking about scale, data synchronization between the different systems becomes important because we want to have real-time data. While creating those architectures, list the probable points of failure and how you will address them. If one of your systems failed, your applications at scale will be a disaster if you have only created a single point of failure. Consider all the different pieces that can fail as well as the capacity you have built for. If even a single component in your entire application becomes a bottleneck, your entire architecture is impacted. That’s why it is important to invest a lot of time in thinking about and criticizing your own design, because you need to proactively point out all possibilities. And you need to run through whatever you have created with your operations team or the people who will be managing that particular system. What challenges are they facing? If something goes wrong in real time while your applications are implemented, what is the response time? How soon can you come back? If we have taken care of these areas, then we are pretty much home free. But if we do not put enough thought into them, it will be a difficult situation for everyone.

7 views
1 comments
0 upvotes
Related Tags
When a startup experiences rapid growth, what is the biggest challenge to IT in keeping up with the speed of business?

Top Answer: When the organization is moving at that pace, you have to ask for investments every now and then. For every investment, we need to make sure that every penny counts by identifying ways we can re-utilize the budgets from last year. There could be an obsolete component that we need to upgrade, for instance, which we can optimize and build into an innovative product. And the second challenge, which has worsened during the pandemic, is that iteration in the market has gone out of control.  Spice Money is a rural FinTech, so we are branded as a financial services institution rather than a tech organization. But we have been able to attract a lot of tech talent because we need people to deliver technology. Tech may not be the leader in the world of FinTech, but it has to take the lead in this case. If we want to double or triple our customer base, we have to make a platform that can sustain five to six times the consumer base. That’s because you receive a lot of concurrent traffic when the government announces subsidies, which becomes a challenge. But we are adopting new technologies and interacting with many partners to figure out how this problem can be solved.

16 views
2 comments
0 upvotes
Related Tags