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=_8971659_1&mode=reset 1/7
MODULE 6 TOPIC 2 RESOURCES AND ACTIVITIESMODULE 6 TOPIC 2 RESOURCES AND ACTIVITIES
The Microservices toolkit
Introduction:
At the AWS re:Invent conference 2015, Senior Engineer Dave Han from Net�ix shared
a diagrammatic representation of Net�ix’s hundreds of microservices which are
subject to thousands of daily production changes and support hundreds of
thousands of customer interactions per minute to support billions of hours of
streamed content. When you consider those facts, it is no surprise that a map of
Net�ix Microservices Architecture is as complex as this:
6/3/2020 Laureate International Universities
https://laureate-au.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_89956_1&content_id=_8971659_1&mode=reset 2/7
(Amazon Web Services, 2015, 15:33)
One thing is certain – with the widespread and rapidly advancing use of microservices
architecture there will be continued development of tools to support software
engineers, developers and microservices architects to manage these rapid scale and
progressively complex environments - and automation is one of the key elements in
achieving this sustainably. And to support this, an ongoing proliferation of new tools
is not only likely but required.
All in the interests of building systems that are high scale, high availability, resilient
and agile.
In this module we have included a sample of some of the leading tools for building
and managing a microservices architecture to o�er you some fundamental insights
into what is available to software engineers, developers and microservices architects
at a grass roots level. This can in no way be exhaustive, however key products that are
pivotal to supporting the philosophy of microservices architecture have been included
to ensure that you have some insights into the microservices technology landscape
and some of the functionality that they provide within a microservices architecture.
Focus areas include tools supporting containerization, communications integration,
container orchestration, message broking and monitoring.
References
Amazon Web Services. (2015, October 12). AWS re:Invent 2015: A Day in the Life of a Net�ix
Engineer [Video �le]. Retrieved from https://youtu.be/-mL3zT1iIKw
6/3/2020 Laureate International Universities
https://laureate-au.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_89956_1&content_id=_8971659_1&mode=reset 3/7
Resources and Activities:
What is Docker?
Please watch the following video from the Docker for Windows series:
Introduction: What is Docker? (4m 16s)
Please watch this short video clip. When reading through the essential
resources for the prior modules you will see many references being made
to Docker. Docker is an open source proprietary solution that support
containerization of microservices. In this video clip, Davis explains what
Docker is and several tools in their suite. While Davis is discussing Docker
for Windows, the fundamental concepts that he discusses are relevant in all
development environments.
Reference:
Davis, D. (2018, November 15). Introduction: What is Docker? [Video �le].
Retrieved from https://www.linkedin.com/learning/docker-for-
windows/what-is-docker?u=56744473
(https://www.linkedin.com/learning/docker-for-windows/what-is-docker?
u=56744473)
What is a container
Please watch the following video from the Docker for Windows series:
1.Understanding containers: What is a container? (3m 28s)
Please watch this short video clip. Note how Davis identi�es the bene�ts of
containers: �exibility, interchangeability, portability and stackability. Davis’
de�nition of containers at the 3m mark in the video shows why they are
well suited as elements within a microservices architecture.
Reference:
Davis, D. (2018, November 15). Understanding containers: What is a
container? [Video �le]. Retrieved from
https://www.linkedin.com/learning/docker-for-windows/what-is-a-
container?u=56744473 (https://www.linkedin.com/learning/docker-for-
windows/what-is-a-container?u=56744473)
6/3/2020 Laureate International Universities
https://laureate-au.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_89956_1&content_id=_8971659_1&mode=reset 4/7
What is Kubernetes?
Please watch the following video from Learning Kubernetes
series:
1.Containerization with Kubernetes: What is Kubernetes? (4m 25s)
Please watch this video clip. An increase in adoption of Docker in
microservices architecture has led to increasing complex environments
with thousands of microservices. This has given rise to a need to manage
these microservices, and this is where Kubernetes comes in. Pay close
attention at the 1m 26s mark where Gaekwad explains what Kubernetes is
and what is does to enable better container orchestration.
Reference:
Gaekwad, K. (2018, June 14). Containerization with Kubernetes: What is
Kubernetes. [Video File]. Retrieved from
https://www.linkedin.com/learning/learning-kubernetes/what-is-
kubernetes?u=56744473 (https://www.linkedin.com/learning/learning-
kubernetes/what-is-kubernetes?u=56744473)
Welcome and What is REST API?
Please watch the following videos from Learning REST APIs series:
Welcome (2m 15s)
1.REST APIs: Representation state transfer application programming interface: What is REST API? (4m 36s)
Please watch both video clips Welcome and What is REST API? in the
Learning REST APIs series together to get a good understanding of what
REST APIs are and how the work. Pay close attention to his example, which
helps you understand why a REST API is a vital component of
communications integration in microservices architecture.
Reference:
Rand-Hendriksen, M. (2018, February 13). Learning REST APIs. [Video �le].
Retrieved from https://www.linkedin.com/learning/learning-rest-
apis/welcome?u=56744473 (https://www.linkedin.com/learning/learning-
rest-apis/welcome?u=56744473)
6/3/2020 Laureate International Universities
https://laureate-au.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_89956_1&content_id=_8971659_1&mode=reset 5/7
RabbitMQ message-based systems
Please watch the following video from Learning RabbitMQ series:
1.Get to know RabbitMQ: RabbitMQ message-based systems (2m 19s)
In prior modules we have discussed communications integration methods
and will have compared asynchronous communications protocols. Amongst
those, message brokers where a potential o�ered by Stone for
synchronous communications. Please watch this video clip which explains
how RabbitMQ, a popular message broker function.
Reference:
Morlion, P. (2019, December 12). Get to know RabbitMQ: RabbitMQ
message-based systems. [Video �le]. Retrieved from
https://www.linkedin.com/learning/learning-rabbitmq/rabbitmq-message-
based-systems?u=56744473 (https://www.linkedin.com/learning/learning-
rabbitmq/rabbitmq-message-based-systems?u=56744473)
Apache Kafka in �ve minutes
Please watch the following video from Learn Apache Kafka for beginners
series:
Introduction: Apache Kafka in �ve minutes (5m 20s)
Please watch this video clip. Apache Kafka is a very versatile solution for use
within microservices architecture, which has the capacity to solve many
problems: event driven communications brokerage and data storage are a
small sample of its use. Pay attention to the use cases supplied by Maarek
to gain further insights into the power of Apache Kafka.
Reference:
Maarek, S. (2019, January 14). Introduction: Apache Kafka in �ve minutes
[Video �le]. Retrieved from https://www.linkedin.com/learning/learn-
apache-kafka-for-beginners/intro-to-apache-kafka?u=2104756
(https://www.linkedin.com/learning/learn-apache-kafka-for-beginners/intro-
to-apache-kafka?u=2104756)
Cloud native monitoring with Prometheus
6/3/2020 Laureate International Universities
https://laureate-au.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_89956_1&content_id=_8971659_1&mode=reset 6/7
Please watch the following video from Kubernetes: Cloud Native
Ecosystem series:
4.Application observability, analysis and security: Cloud native monitoring with Prometheus (2m 7s)
Please watch this short video clip. Note the reasons that Gaekwad identi�es
why Prometheus makes a good monitoring �t with Kubernetes.
Reference:
Gaekwad, K. (2018, May 3). Application observability, analysis and security:
Cloud native monitoring with Prometheus [Video �le]. Retrieved from
https://www.linkedin.com/learning/kubernetes-cloud-native-
ecosystem/cloud-native-monitoring-with-prometheus?
autoplay=true&u=56744473
(https://www.linkedin.com/learning/kubernetes-cloud-native-
ecosystem/cloud-native-monitoring-with-prometheus?
autoplay=true&u=56744473)
Learning Activity 1: Interactive Knowledge check
Learning Activity 2: Microservices Environment Discussion Forum
Post
Collaborative learning activity: Apache Kafka and RabbitMQ
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=_8971659_1&mode=reset 7/7