Designed to Scale – 1
“You cannot build a tower, building one floor at a time.” I... read more
What really is ChatGPT?
ChatGPT is taking the whole world by storm! People from different... read more
Transforming the Legal Industry with Voice AI: Improving Research and Analysis
Voice AI technology is revolutionizing the legal industry, enhancing efficiency, accuracy,... read more
Best practices for getting the most out of AIML solutions in business
AIML can increase business productivity and effectiveness in multiple ways. I... read more
Human Learning and AI
It was my first month in the new job. I was... read more
Command on Command Line
Being a Software Engineer is not just writing code, debugging, and... read more
6 Points Why Celebrating Success is Important in Building a Winning Team
1. Understand the Rationale Behind Celebrating Success - Employees feel valued... read more
Making the most out of a forced holiday
I have come across two types of #holidays The first one I call... read more
Product Development Strategy: Continuous Improvement And Never-Ending Selling
“Hello, as suggested by you, we have already achieved our first... read more
The team was excited. The demo went well. Our platform was appreciated and they agreed to use it. Great news indeed!
“We will use it from next week. Will it hold well when all users log in on Monday morning?” A common concern, based on past experience.
The team had done a good job of understanding the scalability requirements, designed an architecture that will scale well. However, during the initial phase, everyone was focused on functionality. Performance was yet to be tested.
As I was reviewing, I found one thing missing – concurrency requirements.
How many users can be active at the same time?
How many requests will simultaneously reach the server?
This is an essential factor for capacity planning. Too less will mean dropped requests and too much will mean higher costs.
There is no correct answer. Concurrency keeps changing based on external events, time of the day, user behavior, etc. It can be predicted only with visibility into past data.
This is where instrumentation comes to help. Build desired counters in the system, record, monitor, and notify them regularly. Allow for the tuning of what to check, what to record, and what to notify. You are going to need regular monitoring and tweaking for the best efficiency.
Do you have the counters built in your product?