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…

Requirements:

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 votes
Article Rating
Previous articleSocialism, Open Source & Openstack
Next articleSmartNIC’s and Beyond
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments