Microservices Architecture All MIS603

profilemyeazyassignment
Module4a063X00001ZrEuZQAVPart2.pdf

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 1 RESOURCESMODULE 4 TOPIC 1 RESOURCES

The Tech Stack

Introduction:

At this point we will look at some elements discussed in earlier modules in greater

depth, more speci�cally the technology stack and key enablers of microservices. The

focus of this module will be on the concepts of technology stack and containerization,

while Module 4.2 will focus on communications and service orchestration. This

diagram helps to show the di�erence between a monolith versus a microservices

architecture where a polyglot approach may be taken in each ‘atomic unit’ or

microservices. Note how each microservice has its own data store and bear in mind

that communications protocols will exist to enable microservices to call for data from

other services:

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

Diagram of the di�erences between monolithic and microservices architecture (Red Hat, n.d.)

Nadaresihvili et al. (2016, p.27) discuss how microservices are ‘atomic building blocks’

which are composed to arrive at the broader system. As these microservices are

autonomous and loosely coupled, one of the bene�ts that has been identi�ed is that

microservices architecture does not constrain technologies that may be used in

developing microservices. Theoretically, languages can be chosen based on best

utility to achieve the goal of the microservice. This is termed a ‘polyglot’ approach.

This of course has bene�ts and drawbacks – and as with everything else requires

mindful management in a microservices environment. Surianarayana (2019, p. 32)

outlines how monoliths lack technology diversity and thus have high

interdependencies and tightly coupled modules. Inevitably, functional and non-

functional requirements lead to consolidation around one, uni�ed tech stack

focussed on the dominant requirement of the monolithic application. This contrasts

with microservices, where the tech stack can be based around suitability to meet the

needs of a single-purpose or single functional capability requirement. In further

discussions (p.38), it is noted how microservices requires no constraints on elements

of the technology stack used to build the microservice as an atomic unit o�ering a

range of di�erent languages – and that containerization o�ers many bene�ts to

achieving scale. However, a more considered approach is required for managing

communications (see Module 4.2).

The bene�ts of containerization (as opposed to Virtual Machine deployment) is

discussed and Figure 2.5 and Figure 2.6 can be compared to help understand the

di�erence between each approach and the bene�ts that containers o�er in a

microservices architecture in achieving modularization of services. You will see the

term ‘Docker’ which is a proprietary containerization platform – we will cover this

further in module 6. As you can see from this diagram showing containers and

microservices that have been built with a polyglot approach aligned to service

requirement delivers a much more diverse blend of technologies to achieve the goal

of each microservice:

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

Diagram of an eShop application, showing all elements of the application architecture (Microsoft,

2018)

References:

Microsoft. (2018). Design a microservice-oriented application. Retrieved from https://docs.microsoft.com/en-us/dotnet/architecture/microservices/multi-container-

microservice-net-applications/microservice-application-design

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

RedHat. (n.d.). What are microservices?. Retrieved from https://www.redhat.com/en/topics/microservices/what-are-microservices

Surianarayanan, C., Ganapathy, G., & Pethuru, R. (2019). Essentials of microservices architecture: Paradigms, applications, and techniques. Florida, USA: CRC Press. Retrieved from https://ebookcentral-proquest-com.ezproxy.laureate.net.au/lib/think/detail.action?

docID=5883406

Resources and Activities:

Why microservices?

Please watch the following video from DevOps foundations: Microservices

series:

1.Microservices in production: Why microservices (5m)

In this short video clip, Stone discusses some of the reasons for selecting

microservices. This clip is in place here for more than one reason – it serves

to remind and consolidate knowledge that has already been learned in

earlier modules, but also to open a pathway for deeper exploration of some

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

of the unique concepts relating to the key enablers of microservices – in

this case the ‘technology stack’ concept and how this di�ers from

monoliths.

Reference:

Stone, L. (2019, February 27). Microservices in production: Why

microservices? [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)

Container vs. Virtual Machines

Please watch the following video from DevOps foundations: Containers

series:

1.Container basics: Container vs virtual machines (5m 43s)

In this short video clip, explains the di�erent use cases between containers

and virtual machines and how one di�ers from the other – this will help you

to understand why containers are better aligned to microservices

architecture. Not how each container is a separate technology stack

component.

Reference:

Linthicum, D. (2017, July 7). Container basics: Container vs. Virtual Machines

[Video �le]. Retrieved from https://www.linkedin.com/learning-login/share?

forceAccount=false&redirect=https%3A%2F%2Fwww.linkedin.com%2Flearning%

foundations-containers%3Ftrk%3Dshare_ent_url&account=56744473

(https://www.linkedin.com/learning-login/share?

forceAccount=false&redirect=https%3A%2F%2Fwww.linkedin.com%2Flearning%

foundations-containers%3Ftrk%3Dshare_ent_url&account=56744473)

Modularized Microservice Architecture

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 read this very short paragraph on Modularized Microservice

Architecture on p. 17. It is important to note that microservices are not only

about breaking up a system into smaller constituent parts, but that as

services are independently deployable, di�erent tools and platforms may

be safely selected that are best suited to the needs of a microservice. This is

called a polyglot approach.

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/reader.action?

docID=4602504&ppg=33 (https://ebookcentral-proquest-

com.ezproxy.laureate.net.au/lib/think/reader.action?

docID=4602504&ppg=33)

Should all microservices be coded in the same programming language?

Please read this very short paragraph on ‘Should all microservices be coded

in the same programming language?’ on p. 112. This reading identi�es that

microservices form atomic building blocks which come together to create

the system. It outlines that the internal language component of the

microservice is less important than the connecting components (which you

will explore in Module 4.2) but that there are still practical considerations,

even in a polyglot environment. If a service becomes ‘orphaned’ and uses

multiple technology stacks di�culty may present if nobody is familiar with

the tech within the stack.

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/reader.action?

docID=4602504&ppg=129 (https://ebookcentral-proquest-

com.ezproxy.laureate.net.au/lib/think/reader.action?

docID=4602504&ppg=129)

Capabilities, Features, and Bene�ts of MSA & Key enablers for MSA

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 the following two sections together:

Section 2.4 Capabilities, features and bene�ts of MSA pp. 37 - 38.

Section 2.5 Key enablers for MSA pp. 38 – 45.

In the capabilities, features and bene�ts section, please pay attention to

each item outlined, but particular attention to how microservices are

decentralized, loosely coupled and individually deployed – allowing for a

separation of concerns. This also allows for a polyglot approach –

developing a single application without being constrained to a uni�ed

technology stack as you would be in a monolithic environment.

In the key enabler section please pay attention to Figure 2.4. and the six key

enablers that make microservices work e�ectively. Read about each

enabler to understand the value that is enabled in systems development.

Reference:

Surianarayanan, C., Ganapathy, G., & Pethuru, R. (2019). Essentials of

microservices architecture: Paradigms, applications, and techniques.

Florida, USA: CRC Press. Retrieved from https://ebookcentral-proquest-

com.ezproxy.laureate.net.au/lib/think/reader.action?

docID=5883406&ppg=59 (https://ebookcentral-proquest-

com.ezproxy.laureate.net.au/lib/think/reader.action?

docID=5883406&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.

What is Docker and why is it so darn popular?

Docker has been identi�ed as one of the market leading containerization

platforms helping developers orchestrate containers. This article is a brief

explainer about why Docker has proved to be popular with developers and

how is has simpli�ed what is essentially and old way of working by making

it easier to do.

Reference:

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

Vaughn-Nichols, S.J. (2018, March 21). What is Docker and why is it so darn

popular?. ZDNet. Retrieved from https://www.zdnet.com/article/what-is-

docker-and-why-is-it-so-darn-popular/

(https://www.zdnet.com/article/what-is-docker-and-why-is-it-so-darn-

popular/)

Learning Activity 1: Technology Stack Discussion Forum Post

Learning Activity 2: Web Exploration Discussion Forum Post

Collaborative learning activity - Containers

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.