Review Questions
1
.
In the four key principles of cloud-native development, what architecture should be used?
-
monolithic programs
-
Model-View-Controller (MVC)
-
microservices
-
event driven
2
.
What is one of the four key principles of cloud-native development?
-
Use a monolithic architecture to ensure all business functions are captured in the software.
-
Use the waterfall methodology to ensure that the application meets all system requirements prior to initial deployment.
-
Use containers to package and isolate microservices for deployment.
-
Use languages that will run on both Windows and Linux environments.
3
.
What is the difference between monolithic and microservices architectures?
-
In monolithic architectures, capabilities are loosely coupled, while in microservices architectures, components are highly coupled.
-
In monolithic architectures, a waterfall software methodology is employed, while microservices are developed in an Agile software methodology.
-
Monolithic architectures are the most popular cloud application architecture, while microservices is the most popular desktop application architecture.
-
In monolithic architecture, an application is built as a unified unit to perform multiple business functions and is self-contained, while in microservices architecture, the application is broken down into small, independent components or services that perform a single business function.
4
.
What is the difference between components in monoliths and microservices?
-
Components in monoliths are generally libraires that are compiled and linked into a single program or process. Components that are microservices are “out-of-process” components that communicate using a web service request or RPC.
-
Components in monoliths are individual classes. Components in microservices are system resources.
-
Components in monoliths are small, individual executables all running in the background and the main program can call them. Components in microservices are libraries that the main program compiles and links in at build time.
-
Components in monoliths are static libraries and always linked at build time. Components in microservices are dynamic libraries and always linked at runtime.
5
.
What term is defined as “architectural style for providing standards between resources so they can communicate with each other over the Web”?
-
remote procedure call (RPC)
-
representational state transfer (REST)
-
service-oriented architecture (SOA)
-
enterprise service bus (ESB)
6
.
What is the difference between SOA and microservices?
7
.
What are some of the features of cloud-native applications?
8
.
What are some of the benefits of cloud-native applications?
9
.
What are some of the best practices associated with cloud-native application development?
10
.
What are the various categories of tools used to develop cloud-native applications?
11
.
What is an example of a cloud service model defined by NIST?
-
Infrastructure as a Service (IaaS)
-
monolithic services
-
microservices
-
Function as a Service (FaaS)
12
.
What is an example of a cloud deployment model defined by NIST?
-
household cloud
-
private cloud
-
business cloud
-
AWS cloud
13
.
Which service provides on-demand access to a cloud-hosted platform for developing, running, and managing applications by prepackaging middleware, language runtimes, and tools as containers?
-
Infrastructure as a Service (IaaS)
-
Platform as a Service (PaaS)
-
Software as a Service (SaaS)
-
Function as a Service (FaaS)
14
.
What is the term for a type of IaaS specifically geared toward efficiently deploying, running, scaling, and managing a single application using a container-based virtualization?
-
Containers as a Service (CaaS)
-
Backend as a Service (BaaS)
-
serverless computing
-
cloud mashup
15
.
What is high-performance computing?
-
a supercomputer with advanced cutting-edge hardware technologies
-
a computer with multiple processors
-
a program or workload that is compute- and memory-intensive
-
a program that incorporates multithreading to carry out parallel computing to run faster
16
.
What is the relationship between cloud service models, cloud deployment models, and cloud deployment technologies?
17
.
Identify and explain the four IaaS deployment options used currently.
18
.
What is the difference between unikernels and VMs?
19
.
What is the difference between the PaaS and FaaS deployment options?
20
.
What are the four deployment options that can be used to deploy cloud-native applications?
21
.
What aspects of IaaS, PaaS, and FaaS deployment can be automated and how?
22
.
List five categories of tools used to automate cloud deployment?
23
.
What are some of the DevOps tools used to automate cloud deployment?
24
.
What are the key considerations on how cloud deployment technologies are selected?
25
.
What are cloud mashups and what specific concerns need to be considered when deploying them?
26
.
What is object-relational mapping?
-
a container that holds related resources used in a cloud solution
-
technique that converts a data object in a programming language to a table in a database
-
tools that enable data objects to be plotted on a front-end map for displaying
-
a software resource that allows a hashmap to be used to find what microservice contains what function calls.
27
.
If the microservices already have a hostname and port, then why are ingress controllers needed?
-
The ingress controllers are what exposes the microservice to the outside world so it can receive requests from clients.
-
The ingress controllers are responsible for reporting system health and reports what microservices are up and running.
-
The ingress controllers are responsible for ensuring clients call the correct microservices.
-
The ingress controllers are what carries out the data transmission in and out of the microservices.
28
.
What is the AWS Portal?
-
Amazon cloud computing platform that offers a wide range of services that allow customers to build, deploy, and manage applications and services in the cloud
-
an open-source package management system used to install and manage packages on MacOS and Linux operating systems
-
a command-line interface used to manage Amazon cloud services
-
a web-based console that allows customers to manage their cloud services and subscriptions
29
.
What is Kubectl and what is it used for?
-
It is a command-line interface tool. It is used to interact with a Kubernetes cluster.
-
It is an open-source package management system used to install and manage packages on MacOS and Linux operating systems.
-
It is a basic dashboard highlighting exposed application metrics.
-
It is an open-source web interface for Kubernetes that is used to inspect Kubernetes clusters and applications deployed in them.
30
.
What application is a tool used to generate containers?
-
Homebrew
-
Octant
-
Docker Engine
-
Function App
31
.
What kind of information does the Kuard application provide?
32
.
In the FaaS example that we built, what is the role of the event bus? Why did we need to create this?
33
.
What does the application map do?