Microsoft Dev Fest Dhaka 2020

Fallacy Of Distributed Computing & Stuffs

Exclusive Sneak Peek with Session Highlights

Anjum Rashid


Source: Microsoft Tech Community BD

Well I’m somewhat a guy who got interested into development stuffs back when I was a CS fresher, but didn’t have clear and concise idea for first two academic years.
Gradually, I started reading up tech articles/blogs and watching tutorials online, reached out to some online dev communities, which honestly helped to a good extent and finally I discovered one of my reliable learning places - Microsoft Technical Community Bangladesh!

It’s a Microsoft approved Technical Forum that strive to distribute technical knowledge, community buildup and learning about Microsoft’s technologies.

Back in February, I was lucky to attend the Microsoft Dev Fest Dhaka 2020 as a student organized by them at Shohoj HQ, which honestly blew my mind regarding development approach and techniques! (And I regretted my ignorance about them as I’m in my 4th academic year now)

Microsoft Dev Fest 2020 Bangladesh (Source: Author)

The topics were demonstrated by some inspirational Microsoft MVP (Most Valuable Professional) and IT leads of the leading tech industries in Bangladesh.

For today, I’ll be sharing some sneak peeks of the first session, handled by expressively straight-forward speaker Mr. Shah Ali Newaj Topu (Director at SELISE & Senior VP at Shohoz), who’ll catch your attention right from the start without requiring any need for slide presentation!

Mr. Shah Ali Newaj Topu (Source: Author)

Initially, he started with an example scenario of making an outer call to SMTP API (Web Service) during the development of some login system and then explained the bad coding practices behind it.

For any unavoidable reason, there is a possibility that SMTP mail server can be down anytime, for which user authentication and the related database operations may not execute properly as it should.
This scenario needs to be addressed and an automated retry mechanism to overcome this issue needs to be checked while designing the system architecture, but we often seem to ignore it.

In a broader perspective, he was actually pointing out the Fallacies of Distributed Systems -

“The false assumptions that developers assume about distributed systems which are usually proven wrong and lead to unintended bugs in the long run.”

There are 8 fallacies in distributed computing , take a quick look here.
The scenario stated before indicates the following fallacy —

Calls over a network will fail”

Then he explained why direct API Calls in Web controller is risky.

He suggested the solution being the asynchronous queuing system.

Incoming job requests should be posted on a queue, a listener receiving the job and performing the task via a worker process.

Also, he highlighted not to handle long running tasks such as Batch deleting large records in web context, as that could lead to poor user experience because of page loading for a long time.

The key point was to design an asynchronous API for the system which makes it multiple times performance efficient than before.

Lunch Break Shohoj HQ ( Source: Author)

Is Your Coding Time Worth It?

According to his view, our local devs are wasting time coding basic mechanisms on a regular basis, whereas the required technologies are already available on Microsoft Azure or other cloud based platforms.

If their time were utilized on creative development using the available cloud techs, then their career would have drastically improved and could have kept pace with international development standard.

That’s why some local company’s restrictions for learning other technologies should not be accepted.

Look around, we’re not venturing out of our home window to explore the broader horizon, rather holding our comfort techs in grip!

I’m quoting his exact words-

“Everyday newer techs are coming up, as we (local devs) are becoming dinosaurs!”

I’m being honest, these words hit me hard. Since then, I’m trying to keep a clean overview of latest available techs, their development platform and the associated communities and so should you!

In conclusion, application migration to Dot Net Core (cross platform software framework) was also strongly suggested.

He urged DOT NET to be the very technology, C# to be the very programming language and AZURE to be the best performance cloud service in modern world context.

Shohoj HQ Reception

Attending the entire session was my first initial encouragement on developing minimum level of expertise on Azure cloud services from right then and now I’m having more fun with it as I’ve been recently selected as Microsoft Student Partner and already have access to azure visual studio subscription!

That’s all for today! It’s been a while since I’ve published my last write-up. I’ll be coming up newer ones when I get my lazy self do something productive!

Hey this is Anjum Rashid, your friendly technical blogging dude from Bangladesh.
I’m a
Microsoft Learn Student Ambassador and love engagements with global and local communities to learn, share and contribute.
Apart from that, I’m on a quest to empower
Blockchain technology with the aid of open source. Find me sneaking out on random repos in Github and headbanging to Porcupine Tree numbers at the same time.

Get connected on LinkedIn | Twitter



Anjum Rashid

Microsoft Learn Student Ambassador | InfoSec Enthusiast | Blockchain Explorer | Musicophile