Welcome to the World of Micro Services!
Evolution Of Software Making
As soon as we hear microservices, it might appear something to do with very small but interestingly, the world that microservices impacts is quite huge. We should first learn the evolution that demanded the need of micro services.
As we tread onto the micro services learning path, lets see how customer needs, hardware, organizational processes, methodologies and information have dramatically changed over a period of time.
In the past couple of decades…
The hardware has enormously increased its capacity and at the same time has become a lot cheaper. Cost of memory, disk (storage) and processor has gone down while the amount of memory, storage capacity and processing ability.
E.g. For 1 GB disk, in 1980 you would have paid around $250,000 and now (in 2017) you pay few scents $0.04 (Reference)
For 1 GB RAM, in 1980 you would have paid around $6.3 M and now (in 2017) you pay few dollars $4.37 (Reference)
Simply put, today one can easily afford a hardware piece of descent capacity which once was out of reach for individuals or small businesses.
To talk about data/information available to us.
One server/host in 1970 which held a piece of information and at this point in time there are about 1 billion servers hosting all possible kind of data. There is hardly any data which is not available on the internet.
To begin with the data was educational but now information technology has touched entertainment, health, science, economy, spiritual/religion and all possible spheres of life.
What is today’s need & context
- Organizations and businesses want to have ideas in reality in the quickest possible manner. Businesses say it time to market.
- Businesses in today’s age are finding simpler, disruptive ways to make lives easy, better and affordable.
- Consumers want quicker, cheaper, better things.
Imagine any activity that was done in 1980s or even in 1990s and replay the same activity today.
May it be dining or seeing a doctor or shopping. The experience is pretty much on-line…you pull up the app, find near by options, check out rating, compare prices with the competitors and go with the desired option.
What is at the outset for you is enormous hardware capacity at affordable price, abundance of data/information, organizations keen to build creative products, people need of quick, smart and personalized apps to make life easier.
What businesses or individuals need is implement ideas quickly and spread it out open in the world.
What is that existing businesses that want to transform their businesses should learn about?
What is that businesses excited about their new idea should ponder before they begin implementation?
Answer is simple one word and yes that is micro services.
Businesses look for solutions which are cheaper, offer services that can change rapidly.
What is stopping business to achieve it?
The premise is, features/requirements evolved over a period.
Solutions were built with a small footprint and have gone gigantically.
In large corporate, individually businesses units have created their own standards, solutions which are not consumable by each other.
Now when a small change is demanded, the estimates are bubble up to hundreds of dollars with a commitment to a far future delivery date and every roll out of feature turns out to be a night mare with breaking something that was built earlier.
What is coming out of CxOs cabins is…
We need a reliable piece of software that is easy to add features on, should serve growing customer base.
It should be served faster and should not be built repetitively for the same purpose.
Another premise…even for small businesses or start ups with less funds but brilliant ideas would again need reliable piece of software that is easy to add features on, should serve growing customer base.
This in essence is expecting quicker, better, cheaper and reliable stuff.
This in essence is expecting a everything free. 🙂
Micro services is not a free lunch.
Conclusion: Author is a foodie. 🙂 Jokes part.
Change needs Energy and Will power
Though micro services are the way forward, micro services implementation is a different ball game and needs lot of energy from people, money, time and technology perspective.
The way the sales pitch is made for micro services is like a fairy tale…that with a swipe of a magical stick the age old systems were transformed to brand new system, or the monolith was transformed into micro services or systems taken to cloud technology using a space ship.
It is essential to understand that we are talking about transformation of one shape into other.
These series of articles will help for all stakeholders right from the CxOs, directors, architects, managers to engineers.
We will talk about micro services & technology which powers it, lean product development, agile practices and cloud technology in subsequent sections.
Do you really need MicroServices?
Before we board the flight and fasten the seat belts..lets check do you really want to board the flight. Quick check..
Do you really need micro services?
What’s the thumb rule for going with micro services?
If you are starting your business or application from scratch then you have an obvious choice of going with micro services.
However if your business does not demand rapid business changes i.e.
- There are no major changes in your business work flow and meaning its kind of stagnant.
- The existing code is modular enough to ensure small needed changes can be done easily.
- The change cycle is good enough for business stakeholders. The features or changes in the features can wait for a designated defined time.
- The current infrastructure is sufficient enough to meet the needs and can provision. Also fits the operational expense bill.
If you are good with all of the above then you may not want to fall in trap of micro services sales pitch 🙂
Read on further if you have fasten your seat belts!