Rishi
3 min readNov 14, 2021

Evolution of scalable distributed systems

– — – — – — – — – — – —

A #startup. got 1k customers and want to engage and serve them in better way so they developed #mobileapplications.

– — – — – — – — – — – — –

They built native mobile applications for #android. using #java #kotlin. and #ios. using #swift. , In backend they used java , spring along with single server deployment and single #database.

– — – — – — – — – — – — – —

They realised its taking double effort everytime. whenever new features getting build

– — – — – — – — – — – — – —-

They had internal and external meetings and got to know there are frameworks like #reactnative. , #flutter. etc which can be used to build single code base application and native to Android and ios devices with performance and experience closer to 95% with existing application

– — – — – — – — – — – — – —

They quickly finalised the #flutter. considering its backed by #google. and saving half of development time

– — – — – — – — – — – — – -

Slowly their customer started increasing to 10K and single serve not able to server all requests so they introduced #loadbalancer. and everything is fine for few months

– — – — – — – — – — – — – —-

Now they wanted to use payments and multiple 3rd party services, they build all new services in single backend so they can quickly serve the new features

– — – — – — – — – — – — – — – —

After sometime they realised they are taking frequent downtimes as any change in code require complete backend deployment

– — – — – — – — – — – — – — –

So they started exploring option to deploy only services which got changed not all and got to know their is concept called micro -services architecture and quickly finalised #springboot. to buid #microservices

– — – — – — – — – — – — – — – -

Now they have multiple services and deployment taking much times for individuals so they introduced #jenkins. for auto deployment or one click deployment

– — – — – — – — – — – — – — – — – —-

Considering no of services are more now as they have broken into #microservices. , they need multiple servers to run. because they can’t use the same server as few services may be using different versions of java

– — – — – — – — – — – — – — – — –

So they introduced #docker

– — – — – — – — – — – — – — – — – -

I hope you have Enjoyed. till now ☺️

Will Continue this journey in next post in few days

Rishi
Rishi

Written by Rishi

A passionate and business oriented technology leader with over 15+ of experience. I love to build products and grow to millions.

No responses yet