Microservices Architecture All MIS603
6/3/2020 Laureate International Universities
https://laureate-au.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_89956_1&content_id=_8971657_1&mode=reset 1/7
MODULE 4 TOPIC 2 RESOURCESMODULE 4 TOPIC 2 RESOURCES
Communications for integration
Introduction:
For microservices to be e�ective, they need to share information. To achieve this
integration, communications are required. As with many areas of microservices
architecture, there are several di�erent ways of achieving this goal, with some being
preferred over others to make inter-services communications easier depending on
the speci�c requirements and goals of each microservice. Selection of
communications protocols is thus a key element of microservices architecture. It is
worth noting that how these decisions might be made in a ‘green�eld’ environment,
where there are no pre-existing constraints might very well be di�erent from the
available options which may present themselves in a ‘brown�elds’ environment with
existing systems and constraints. Equally the purpose of the microservice, technology
stack used, and other factors may in�uence the selection of a) the most suitable
6/3/2020 Laureate International Universities
https://laureate-au.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_89956_1&content_id=_8971657_1&mode=reset 2/7
protocol, and b) the speci�c product selected to handle communication integration.
Owing to this we look at protocols which may present themselves in either scenario.
Communication integration protocols may be synchronous or asynchronous. While
synchronous communications create closer coupling and asynchronous protocols
better support loose coupling, thus supporting the autonomy of a microservice, both
may be required in di�erent environments to achieve communications integration.
Equally, if a shared database is part of the architecture special consideration needs to
be applied in these instances about how to manage communications integration. The
titling of Molley (2018) video clip – ‘The communication dance’ suggests that there are
many questions and factors that need to be considered in selecting what protocol
and tool will best suit the needs of integrating a microservice. Equally, he recognises
that there may be no ideal position, simply a ‘best �t ‘position which will require
management. In Stone’s (2019) three video clips we gain an overview of integration
methodologies and a more re�ned view of synchronous and asynchronous
technologies and the speci�c applications associated with each protocol. This is
followed by a video clip where Molley (2018) discusses how an API layer may be used
to best advantage to achieve best outcomes. All of these points of discussion are
covered in the reading from Newman (2015), but it is recommended that you view the
video clips �rst to orient your understanding before progressing to the reading.
Resources and Activities:
The communication dance
Please watch the following video from Microservices foundations series:
2.Microservices key concepts: The communication dance (4m 57s)
In this video clip, Molley discusses the fundamental principles of
communications between di�erent microservices, the bene�ts and
challenges. Please note how he references how while the bene�ts are well
de�ned using API’s is subject to certain requirements for best results.
Reference:
Moley, F. (2018, February 9). Microservices key concepts: The
communication dance [Video �le]. Retrieved from
https://www.linkedin.com/learning-login/share?
forceAccount=false&redirect=https%3A%2F%2Fwww.linkedin.com%2Flearning%
foundations%3Ftrk%3Dshare_ent_url&account=56744473
6/3/2020 Laureate International Universities
https://laureate-au.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_89956_1&content_id=_8971657_1&mode=reset 3/7
(https://www.linkedin.com/learning-login/share?
forceAccount=false&redirect=https%3A%2F%2Fwww.linkedin.com%2Flearning%
foundations%3Ftrk%3Dshare_ent_url&account=56744473)
Integration methodologies
Please watch the following video from DevOps foundations of
microservices series:
3.Service resilience, reliability and scalability: Integrated methodologies (5m 41s)
Stone recognises that communication integration is one of the most
important elements enabling the function of microservices architecture.
Pay attention to the available options: the shared database, synchronous
integration and asynchronous integration. Note Stone’s use of the term
‘anti-pattern’ – this denotes a less e�ective way of solving problems – and
this term is used speci�cally in relation to database sharing. Stone also
share the attributes of both synchronous and asynchronous protocols and
their advantages/disadvantages – and it is worth paying attention to these
more closely to ensure that you have a strong foundational understanding
of these concepts. Note the di�erence between service orchestration and
choreography.
Reference:
Stone, L. (2019, February 27). Service resilience, reliability and scalability:
Integration methodologies [Video �le]. Retrieved from
https://www.linkedin.com/learning-login/share?
forceAccount=false&redirect=https%3A%2F%2Fwww.linkedin.com%2Flearning%
foundations-microservices%3Ftrk%3Dshare_ent_url&account=56744473
(https://www.linkedin.com/learning-login/share?
forceAccount=false&redirect=https%3A%2F%2Fwww.linkedin.com%2Flearning%
foundations-microservices%3Ftrk%3Dshare_ent_url&account=56744473)
Synchronous integration technologies
Please watch the following video from DevOps foundations: Microservices
series:
6/3/2020 Laureate International Universities
https://laureate-au.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_89956_1&content_id=_8971657_1&mode=reset 4/7
3.Service resilience, reliability and scalability: Synchronous integration technologies (8m 1s)
Stone discusses the characteristics of speci�c synchronous communication
calls i.e. RPC, REST and GraphQL. Bene�ts and drawbacks of each are
discussed.
Reference:
Stone, L. (2019, February 27). Service resilience, reliability and scalability:
Synchronous integration technologies [Video �le]. Retrieved from
https://www.linkedin.com/learning-login/share?
forceAccount=false&redirect=https%3A%2F%2Fwww.linkedin.com%2Flearning%
foundations-microservices%3Ftrk%3Dshare_ent_url&account=56744473
(https://www.linkedin.com/learning-login/share?
forceAccount=false&redirect=https%3A%2F%2Fwww.linkedin.com%2Flearning%
foundations-microservices%3Ftrk%3Dshare_ent_url&account=56744473)
Asynchronous integration technologies
Please watch the following video from DevOps foundations: Microservices
series:
3.Service resilience, reliability and scalability: Asynchronous integration technologies (1m 45s)
Note the two di�erent components identi�ed by Stone – Emitting events
(publishing) and identifying that events have occurred (through
subscribing). Message brokers are one suggested solution – note the model
of how they conceptually work. Note the drawbacks of message brokers,
and the caveat for monitoring and tracing failures.
Reference:
Stone, L. (2019, February 27). Service resilience, reliability and scalability:
Asynchronous integration technologies [Video �le] Retrieved from
https://www.linkedin.com/learning-login/share?
forceAccount=false&redirect=https%3A%2F%2Fwww.linkedin.com%2Flearning%
foundations-microservices%3Ftrk%3Dshare_ent_url&account=56744473
(https://www.linkedin.com/learning-login/share?
forceAccount=false&redirect=https%3A%2F%2Fwww.linkedin.com%2Flearning%
foundations-microservices%3Ftrk%3Dshare_ent_url&account=56744473)
The API Layer
6/3/2020 Laureate International Universities
https://laureate-au.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_89956_1&content_id=_8971657_1&mode=reset 5/7
Please watch the following video from Microservices foundations
series:
2.Microservices core concepts: The API layer (4m 39s)
Molley discusses the bene�ts of implementing and API layer to enabling a
scaling model. This means that many services can be called without
knowing the end point of the call. This reduces risk from the process of
refactoring allowing breaking up of, or aggregation of services as required.
From this video you are able to understand why an API layer is a vital
component in managing communications between services with the correct
management. Please note that while Molley prefers technology to achieve
integration between microservices – there are a number of possibilities
which we cover in other readings.
Reference:
Moley, F. (2018, February 9). Microservices core concepts: The API Layer
[Video �le] Retrieved from https://www.linkedin.com/learning-login/share?
forceAccount=false&redirect=https%3A%2F%2Fwww.linkedin.com%2Flearning%
foundations%3Ftrk%3Dshare_ent_url&account=56744473
(https://www.linkedin.com/learning-login/share?
forceAccount=false&redirect=https%3A%2F%2Fwww.linkedin.com%2Flearning%
foundations%3Ftrk%3Dshare_ent_url&account=56744473)
Integration
While the whole of chapter 4 o�ers valuable insights the following focus
areas will give you a clear understanding of the communications
requirements of integrating microservices.
Please read p. 39 – there are 4 objectives to consider when selecting your integration technology – these serve as important guides within an existing environment as to selection of technology.
Please read p. 41 – this explains the complexities of integrating services in an environment with a shared database.
Please read pp. 42 – 43. In our prior viewing of ‘Asynchronous communications’ by Molley, he has discussed some views about favouring asynchronous communications – this reading o�ers a comparison between these two communications types to o�er you a greater understanding of the considerations in choosing between these di�erent styles of request.
6/3/2020 Laureate International Universities
https://laureate-au.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_89956_1&content_id=_8971657_1&mode=reset 6/7
Please read pp. 49 – 51. This section covers synchronous integration technology REST over HTTP. This section explains the bene�ts of REST.
Please read pp. 54 – 55. This section covers the counterbalanced view of the drawbacks of using REST.
Please read p. 57. While asynchronous message calls enjoy a strong preference in microservices architecture, this section details the complexities that require management.
Please read p. 78. Newman summarises his discussions in 5 points
Reference:
Newman, S. (2015). Building microservices: Designing �ne-grained systems.
California, USA: O’Reilly Media. Retrieved from https://ebookcentral-
proquest-com.ezproxy.laureate.net.au/lib/think/reader.action?
docID=1938300&ppg=59 (https://ebookcentral-proquest-
com.ezproxy.laureate.net.au/lib/think/reader.action?
docID=1938300&ppg=59)
Additional Learning Resources
If you would like to learn more about the topics covered in this module, here are
some additional resources. These resources will contribute to further develop
understanding of the topics covered. However, these resources are not essential
to complete this module or the assessments associated with this subject.
Microservices 101: The good, the bad and the ugly
This article serves as a good explainer of some of the challenges inherent in
microservices. Please pay attention to the use of APIs and REST as
approaches within microservices.
Reference:
Wolpe, T. (2015, July 10). Microservices 101: The good, the bad and the ugly.
ZDNet. Retrieved from https://www.zdnet.com/article/microservices-101-
the-good-the-bad-and-the-ugly/
(https://www.zdnet.com/article/microservices-101-the-good-the-bad-and-
the-ugly/)
Learning Activity 1: Interactive Knowledge check
6/3/2020 Laureate International Universities
https://laureate-au.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_89956_1&content_id=_8971657_1&mode=reset 7/7
Learning Activity 2: Anti-pattern- Discussion forum post
Collaborative learning activity – Synchronous and asynchronous
communication protocols
Note: The Learning activities above are not part of summative/graded assessment;
however they are designed to prepare you for incremental graded assessment and
expand your learning.
These activities encourage a community learning experience between peers, and
provide opportunities for facilitators to o�er formative feedback, throughout a
module, to the student cohort.