I ‘ve been working in the Software industry for a decade & half, Code developed by me are either backed-up or on a tape in some svn repo or they are processing the voice-commands for millions of subscribers…
I have worked for mammoths(Nortel Networks) and the unicorns(Aricent)…So if I write about pradigm shift you better take it seriously!..
This article will have two components
-Micro-service and How to implement them using Python
-How 20 yrs of evloution in software-arch has changed and why??

What is Micro-Service?
Micro-Services are new design approach away from old 3-tier architecture.
It breaks away from monolothic architecture and adopts decentralized approach,

Large monolithic applications had inherent problems, if a snag developed in one module leads to crashing(?) of the complete application.
Imagine a new-bug in upgaded UI or Logging module, leads to repettitive ?. This would bring your whole application down and a lot of irate? customers..
quite unacceptable in large commercial application.
Consider a Larger billing system for Airline, Imagine a 3-tier based archtecture or a banking solution running on large server catering to orders..
if any unhandled-exception occurs, you have a crash!!.

“Do you Know? : Companies like Honeywell dont use pointers C-for developing critical software for Airplanes/fighterjets, Reason: If any pointer Crash happens while you on a flight!!”
Duh!! Madagascar!

Assume you are a flight Engineer Problem for you: An airplane has N Critical Components,All components has to work successfully for a successful flight;
Each ith component has probability of Pi:working successfully. What is the total probalility of flight doing a successfull flight.?
Answer @ the end of the blog.

Why Micro-Services?
1> Adds redundancy to your system/deployment.

2> No single point of failure. Adds Scalability to your application.

3> Decentralization: Allows Independent development & deployment of modules: Module-X is developed/deployed in UK doesn’t affect Module-Y developed in Japan.

4> Most Important No perfomance bottlenecks.

“It allows you to roll out features quickly “
E.g You can run 9 instance of Module-Stable 2.0 and 1 instance of Module-X 2.1-Alpha, test your newly deployed solution with real-time traffic. If it fails 10% traffic/ users are affected and rest all are having good time.

4> Hybrid Technologies: if you feel some functionlity of application is best developed in python, golang or want to use 3rd party api’s.
Want to introduce new feature like AI, Machine Language. I want to use AWS Lamda function, This is the way to go…


This tutorail will delve into the deep technical details.

  1. Installing Rabbitmq on Ubuntu.
  2. Installing Python3 and Pika Libraries.
  3. install MongoDB.
0 0 vote
Article Rating
Notify of
Inline Feedbacks
View all comments