Micro service
We have become so accustomed to waterfall model, also used to release a large chunk of functions, but that some of part of methodologies would be over soon. Many of service interfaces need to support so many kinds of businesses, and need to be developed swiftly. So micro service notion emerge from software industry.
Today is the dawn of human civilization, the performance of hardware would double in two years, so this involved so many big change consequences. Software engineer has so many space to let the mind to fly, they want to write readable codes, have more scalability, more flexibility, and they don’t want be attacked by malicious one, so add so many security functions into software. Enhanced hardware need to support so many softwares that are too big chunk to run very fast. As software become more and more complex, it can’t be released by a big chunk function once.
The micro service is a better solution. It can be separated too many independent small functions, each of functions can serve as a specific small business, also each of functions can be released independently the same as to stop those functions.
Soap is too heavy that need to transfer so many protocol contents from clients and servers each other, it don’t fix to some specific requirements, e.g. the mobile phone connected to a poor network, and some small mobile equipments.
It’s a good news that the rest protocol is a simple and excellence technology for software engineer to support micro service. A more simply, more lightly transfer protocol that the rest protocol is popular and is supported by so many big companies and software communities.
From function as a component to service as a component, those components become more and more smaller. It’s the biggest change a about micro service. The micro service can react the businesses very fast.
The businesses requirements change weirdly, we need agile development to fix it. We used to wait a long time to develop a large chunk software function and then release it, so each of time many project either delay or can’t implement the clients’ requirement, we do that thing is not the client’s need, we and our clients have suffered heavy loss. Because those mass things is not easy to releasing and to maintaining, when a developer fixs a bug or changes something in software that will affect so many another part of functions.
In the micro service architecture we needn’t release a small function until that whole software is completed. We can deploy a small service immediately when we finished it. It’s easy to maintain, because those service can be released independently, so many of kinds of web server container can be used to support those services at the same time. We don’t need to worry about all of functions shut down simultaneously. That just only a small part of services fall. A software constitutes too many small services, it’s easy to develop a monitor management system to manage those services. In those kind of management software engineer can stop, restart, view the running state, view running log, and even to release.
One of services can support mobile app and also html5, it’s independent component like hardware’s radio tube,it’s can be recycle. Especially it’s a mobile era,we need to embrace the micro service architecture a hundred times more.