@@ -6685,6 +6685,44 @@ <h2>Caching learning checklist</h2>
66856685 accurate when served up to the user.</ p >
66866686</ li >
66876687</ ol >
6688+ < h1 > Microservices</ h1 >
6689+ < p > Microservices are an application architecture style where independent,
6690+ self-contained programs with a single purpose each can communicate with
6691+ each other over a network. Typically, these microservices are able to be
6692+ deployed independently because they have strong separation of
6693+ responsibilities via a well-defined specification with significant
6694+ backwards compatibility to avoid sudden dependency breakage.</ p >
6695+ < h2 > Why are microservices getting so much buzz?</ h2 >
6696+ < p > Microservices follow in a long trend of software architecture patterns
6697+ that become all the rage. Previously,
6698+ < a href ="https://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture "> CORBA</ a >
6699+ and (mostly XML-based) service-oriented architectures (SOA) were the
6700+ hip buzzword among
6701+ < a href ="http://www.igloocoder.com/2271/ivory-tower-architect "> ivory tower architects</ a > .</ p >
6702+ < p > However, microservices have more substance because they are typically based
6703+ on < a href ="/application-programming-interfaces.html "> RESTful APIs</ a > that are far
6704+ easier for actual software developers to use compared with the previous
6705+ complicated XML-based schemas thrown around by enterprise software companies.
6706+ In addition, successful applications begin with a monolith-first approach using
6707+ a single, shared application codebase and deployment. Only after the application
6708+ proves its usefulness is it then broken down into microservice components to
6709+ ease further development and deployment. This approach is called the
6710+ "monolith-first" or
6711+ "< a href ="http://martinfowler.com/bliki/MonolithFirst.html "> MonolithFirst</ a > " pattern.</ p >
6712+ < h3 > Microservice resources</ h3 >
6713+ < ul >
6714+ < li >
6715+ < p > Martin Fowler's
6716+ < a href ="http://martinfowler.com/articles/microservices.html "> microservices</ a >
6717+ article is one of the best in-depth explanations for what microservices are
6718+ and why to consider them as an architectural pattern.</ p >
6719+ </ li >
6720+ < li >
6721+ < p > < a href ="http://dev.otto.de/2015/09/30/on-monoliths-and-microservices/ "> On monoliths and microservices</ a >
6722+ provides some advice on using microservices in a fairly early stage of
6723+ a software project's lifecycle.</ p >
6724+ </ li >
6725+ </ ul >
66886726 < h1 > Testing</ h1 >
66896727< p > Testing determines whether software runs correctly based on specific inputs
66906728and identifies defects that need to be fixed.</ p >
0 commit comments