603 ASSG 1 MICRO SERVICES
6/3/2020 Laureate International Universities
https://laureate-au.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_89956_1&content_id=_8971655_1&mode=reset 1/6
MODULE 2 TOPIC 1 RESOURCES AND ACTIVITIESMODULE 2 TOPIC 1 RESOURCES AND ACTIVITIES
Designing services
Introduction:
Designing microservices leverages systems thinking, design and a capability to
manage complexity. In fact, microservices architectures, as discussed in the module
introduction have arisen as a philosophy in response to business conditions that give
rise to rapidly evolving complexity. Which encourages smaller services that support a
plethora of moving parts. Neil Hunt, Chief Product O�cer at Net�ix describes this as
achieving a ‘more nimble architecture’ that ‘improves ‘productivity and scalability’.
So…. how is this achieved?
Newman (2015) outlines several service modelling concepts such as ‘loose coupling’
and ‘high cohesion’. As Microservices architecture is more broadly a philosophy rather
than a method, it is important to note and understand these concepts and how they
guide the de�nition of bounded contexts. Both how these may be de�ned for a new
6/3/2020 Laureate International Universities
https://laureate-au.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_89956_1&content_id=_8971655_1&mode=reset 2/6
systems as well as established within an existing monolith by identify seams or breaks
within the code that may be sheered into a number of services which align to
bounded services.
The approach shared in Nadareishvili, Mitra, McLarty and Amundsen (2016) includes a
model consisting of �ve parts to guide the process of service design. While the service
itself is the primary concern of this module, in further modules we will review
processes and tools, organisation and culture. Please pause on the element of
solutions architecture – it is important to note that while this role is vital to support a
good overall understanding of services, this role is not involved in the microservices
design or architecture, but in the broader view of how these di�erent services come
together at a macro level. This di�erentiation is important to note. (Please note: there
are a number of ‘architect’ roles in IS, and it important not to confuse their roles and
responsibilities).
The process shown by Nadareishvili et al. (2016) in �gure 3.2 o�ers a practice-based
framework for the process of design and allows for iteration to ensure that
complexities are explored, and opportunities are taken to consider and resolve
complexities as best as possible in addressing constraints and context. Non-essential
complexity is to be avoided, with an emphasis being placed on iteration where
observations lead to adjustments.
References
Nadareishvili, I., Mitra, R., McLarty, M., & Amundsen, M. (2016). Microservice architecture: Aligning principles, practices, and culture. California, USA: O’Reilly. Retrieved from https://ebookcentral-proquest-com.ezproxy.laureate.net.au/lib/think/detail.action?
docID=4602504
Resources and Activities:
How to model services
Please read pp. 29-38. There are several important service modelling
concepts that you need to understand in this section. Firstly, the concepts
of ‘loose coupling’ and ‘high cohesion’ are important to achieving successful
microservices outcomes. Also, of vital importance is understanding the
bounded context of domains within which functionality will sit – pay close
attention to the example given, it will give you a clear understanding of how
6/3/2020 Laureate International Universities
https://laureate-au.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_89956_1&content_id=_8971655_1&mode=reset 3/6
a bounded context assist with the decomposition into services. Note the
cautionary elements in the section that speaks to modules and services
based on the risks associated with premature decomposition.
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=50 (https://ebookcentral-proquest-
com.ezproxy.laureate.net.au/lib/think/reader.action?
docID=1938300&ppg=50)
The Systems Approach to Microservices
Please read section pp. 25 - 33. In this short reading you are introduced to
the systems approach that needs to be taken to develop applications with
microservices. It has an interesting section highlighted in Figure 3-1. To
which you should pay particular attention. It shows the �ve parts of the
microservice design model. Please ensure that you read about each part to
ensure that you can orient yourself in understanding how the parts of this
model work together as we explore each component further.
Reference:
Nadareishvili, I., Mitra, R., McLarty, M., & Amundsen, M. (2016). Microservice
architecture: Aligning principles, practices, and culture. California, USA:
O’Reilly. Retrieved from https://ebookcentral-proquest-
com.ezproxy.laureate.net.au/lib/think/detail.action?docID=4602504
(https://ebookcentral-proquest-
com.ezproxy.laureate.net.au/lib/think/detail.action?docID=4602504)
A Microservices Design Process
Please read pp. 33- 38. The model shown in Figure 3-2 is key to your
understanding of the design process. Please note that as microservices
architecture is more of a philosophy than a set of ‘hard and fast’ rules that
can be applied to any and all organisations, it is likely that this will be a
process that is iterative with carefully balanced trade-o�s to achieve
optimization goals. It is up to the design team to arrive at development
6/3/2020 Laureate International Universities
https://laureate-au.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_89956_1&content_id=_8971655_1&mode=reset 4/6
principles which they will use to guide their design, to sketch out how they
believe the system should be, followed by implementation and observation
to identify areas of improvement for steady adjustment.
Reference:
Nadareishvili, I., Mitra, R., McLarty, M., & Amundsen, M. (2016). Microservice
architecture: Aligning principles, practices, and culture. California, USA:
O’Reilly. Retrieved from https://ebookcentral-proquest-
com.ezproxy.laureate.net.au/lib/think/detail.action?docID=4602504
(https://ebookcentral-proquest-
com.ezproxy.laureate.net.au/lib/think/detail.action?docID=4602504)
Service Design
Please read pp. 61 - 66. Pay close attention to the discussion of the design
of microservices components and the sizing of these microservices
especially when it comes to avoiding sharing data across services, which is
not ideal. A primary concern is the avoidance on non-essential complexity.
Much of how these decisions relates to speci�c, detailed elements of the
system. In this short reading you are introduced to the concepts of
microservices boundaries and domain-driven design which rely on the
decomposition of existing services into smaller discrete parts where the
domain drives the boundaries of the system. This leads to the concept of
using bounded contexts to aid in the identi�cation of smaller components
which are compatible with sems that indicate where the boundaries may
logically occur for microservices.
Reference:
Nadareishvili, I., Mitra, R., McLarty, M., & Amundsen, M. (2016). Microservice
architecture: Aligning principles, practices, and culture. California, USA:
O’Reilly. Retrieved from https://ebookcentral-proquest-
com.ezproxy.laureate.net.au/lib/think/detail.action?docID=4602504
(https://ebookcentral-proquest-
com.ezproxy.laureate.net.au/lib/think/detail.action?docID=4602504)
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
6/3/2020 Laureate International Universities
https://laureate-au.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_89956_1&content_id=_8971655_1&mode=reset 5/6
to complete this module or the assessments associated with this subject.
Net�ix to hand infrastructure heavy lifting to AWS
This article discusses how Net�ix has moved from hosting their own data
centres into an AWS environment to focus on their core service. It details
how they will be moving to focus their e�orts on microservices with over
500 microservices that will allow teams to iterate faster through continuous
deployment with a more agile approach.
Reference:
Barbaschow, A. (2016, December 1). Net�ix to hand infrastructure heavy
lifting to AWS. ZDNet. Retrieved from https://www.zdnet.com/article/net�ix-
to-hand-infrastructure-heavy-lifting-to-aws/
(https://www.zdnet.com/article/net�ix-to-hand-infrastructure-heavy-lifting-
to-aws/)
Learning Activity 1: Loosely Bounded and High Cohesion -
Discussion forum post
Collaborative learning activity – Microservices Design Process
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.
6/3/2020 Laureate International Universities
https://laureate-au.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_89956_1&content_id=_8971655_1&mode=reset 6/6