官术网_书友最值得收藏!

Origin of microservices

The term microservices was used for the first time in mid-2011 at a workshop on software architects. In March 2012, James Lewis presented some of his ideas about microservices. By the end of 2013, various groups from the IT industry started having discussions about microservices, and by 2014, they had become popular enough to be considered a serious contender for large enterprises.

There is no official introduction available for microservices. The understanding of the term is purely based on the use cases and discussions held in the past. We will discuss this in detail, but before that, let's check out the definition of microservices as per Wikipedia (https://en.wikipedia.org/wiki/Microservices), which sums it up as:

"Microservices is a specialization of and implementation approach for SOA used to build flexible, independently deployable software systems."

In 2014, James Lewis and Martin Fowler came together and provided a few real-world examples and presented microservices (refer to http://martinfowler.com/microservices/) in their own words and further detailed it as follows:

"The microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies."

It is very important that you see all the attributes Lewis and Fowler defined here. They defined it as an architectural style that developers could utilize to develop a single application with the business logic spread across a bunch of small services, each having their own persistent storage functionality. Also, note its attributes—it can be independently deployable, can run in its own process, is a lightweight communication mechanism, and can be written in different programming languages.

We want to emphasize this specific definition since it is the crux of the whole concept. And as we move along, it will come together by the time we finish this book.

主站蜘蛛池模板: 大安市| 共和县| 杭锦后旗| 恭城| 比如县| 伊通| 筠连县| 德化县| 海原县| 寻乌县| 宝坻区| 沁水县| 武汉市| 鄂托克前旗| 澳门| 鄂温| 镇沅| 碌曲县| 百色市| 霍山县| 崇礼县| 宜州市| 宝坻区| 金坛市| 东兰县| 上思县| 寿阳县| 宁德市| 灵武市| 沂南县| 平陆县| 望都县| 石楼县| 芦山县| 旺苍县| 鹤山市| 阿克陶县| 宁化县| 扎兰屯市| 阿瓦提县| 常熟市|