Module 13: Building Microservices and Serverless Architectures Flashcards
What are characteristics of components in a microservice architecture? (Select THREE.)
- Open-source code
- Industry-standard interfaces
- Hidden implementation
- Specialized function
- HTTP(S) communication
- Independence from other components
- Hidden implementation
- Specialized function
- HTTP(S) communication
- Independence from other components
( In a microservice architecture, functions of a larger overall application are assigned to specific components. Components are loosely coupled, and maintain independence by hiding implementations behind interfaces (this is also known as black box)
(The correct answer is not:
- Industry-standard interfaces
- Specialized function
- Independence from other components)
What is a container?
- An operating system that runs a virtual machine
- A method of operating system virtualization
- A virtual storage location in the cloud
- A portable package of code and libraries
- A method of operating system virtualization (that allows you to run an application and its dependencies in resource-isolated processes.
What is the most effective use of Amazon Elastic Container Service (Amazon ECS) when refactoring a monolithic application to use a microservice architecture?
- Create services that each provide a distinct function of the application, and run each service in a separate container that Amazon ECS manages.
- Create services that each provide a distinct function of the application, and run each service in a single container that Amazon ECS manages.
- Port the application to a new image, and run it in a container that Amazon ECS manages.
- Refactor the application and centralize common functions to create a smaller code footprint.
- Create services that each provide a distinct function of the application, and run each service in a separate container that Amazon ECS manages.
( The first step in moving to a microservice architecture is to break up monolithic applications into services that each provide a more specialized function.)
What is AWS Fargate?
- A fully managed service for orchestrating container clusters
- A tool for developing software that uses field-programmable gate arrays (FPGA)
- A service that seamlessly extends AWS services to edge devices
- A service that enables you to run containers without needing to manage servers or clusters.
- A service that enables you to run containers without needing to manage servers or clusters.
( AWS Fargate is a serverless compute engine for containers that work with both Amazon Elastic Container Service (Amazon ECS) and Amazon Elastic Kubernetes Service (Amazon EKS). It reduces the need to choose instances and scale cluster capacity.)
(The correct answer is not:
- A fully managed service for orchestrating container clusters.
Amazon ECS is a fully managed container orchestration service, not Amazon Fargate.)
What is a serverless architecture in Amazon Web Services (AWS)?
- An architecture that does not use any on-premises servers
- An architecture that only uses managed services.
- An architecture where you do not provision or manage infrastructure
- An architecture that uses microservices instead of monolithic servers
- An architecture where you do not provision or manage infrastructure.
(In serverless architectures, you do not provision or manage infrastructure ( such as server clusters and Amazon EC2 instances.)
The correct answer is not:
- An architecture that uses microservices instead of monolithic servers
(Although you can build serverless microservice applications, microservice architectures ae not necessarily serverless. They can be implemented with servers.
What are benefits of serverless computing in Amazon Web Services (AWS)?
(Select THREE.)
- Lower total cost of ownership
- Less complicated software architectures
- More focus on the application
- Ability to build microservice applications
- Looser coupling between components
- Automatic fault tolerance
The correct answer is not the following combination:
(- Less complicated software architectures
- Ability to build microservice applications
- Looser coupling between components)
-or-
(- Less complicated software architectures
- More focus on the application
- Ability to build microservice applications)
(Software that is built on serverless architecture is not always less complicated. Coupling is determined by the amount of dependencies between components, not whether the architecture is serverless. Serverless computing does not guarantee fault tolerance.)
How an you scale AWS Lambda functions to ensure high availability?
- Provision enough function instances to meet the maximum predicted load
- Launch functions in Auto Scaling groups
- Enable automatic scaling in the function
- Do nothing special because functions scale automatically.
The correct answer is not the following combination:
- Launch functions in Auto Scaling groups
(You do not launch Lambda functions in Auto Scaling groups. Lambda functions scale automatically.)
-or-
- Provision enough function instances to meet the maximum predicted load
you do not provision function instances with Lambda. (Also, provisioning resources to meet the max predicted load violates best practices.)
An environmental science organization wants to provide HTTPS read-only access to its sensors and databases to any users around the world. The goal is enabling users to create their own custom real-time data visualizations to help improve climate science. Which solution is efficient and secure?
- Create web proxy servers on Amazon EC2 instances in an Auto Scaling group, which is served by an Elastic Load Balancing load balancer.
- Create user accounts in the organizations’ systems to allow access.
- Create a public interface to the sensors and databases by using Amazon API Gateway
- Create a microservices architecture by using Amazon Elastic Container Service (Amazon ECS)
- Create a public interface to the sensors and databases by using Amazon API Gateway
( You can create a serverless API by using Amazon API Gateway and AWS Lambda to provide read-only connections to the sensors and databases.
The correct answer is not:
- Create web proxy servers on Amazon EC2 instances in an Auto Scaling group, which is served by an Elastic Load Balancing load balancer.
(This solution is not the most efficient. It requires provisioning and managing infrastructure.)
Which workflows are supported by AWS Step Functions? (Select THREE.)
- Update inventory and initiate shipment when a customer purchases an item on an ecommerce site.
- Send messages to multiple Amazon EC2 instances when a file is created or modified in an Amazon S3 bucket
- Consolidate data from multiple databases into unified reports
- Notify a group of email addresses when the costs for an AWS account exceed a threshold
- Deploy different kinds of infrastructure that are based on variables
- Coordinate multi-step analytics and machine learning workflows
- Update inventory and initiate shipment when a customer purchases an item on an ecommerce site.
- Consolidate data from multiple databases into unified reports
- Coordinate multi-step analytics and machine learning workflows
What is a serverless solution for creating a simple web form?
Host static assets in an Amazon S3 bucket, use an Amazon DynamoDB table, and use Amazon API Gateway and AWS Lambda functions to interact with the database.
- Host website assets in a container in an Amazon ECS cluster, use an Amazon DynamoDB table, and use sever-side scripts to interact with the database.
- Host static assets in an Amazon S3 bucket, use an Amazon RDS database, and use Amazon API Gateway and AWS Lambda functions to interact with the database
The correct answer is not:
- Host website assets in a container in an Amazon ECS cluster, use an Amazon DynamoDB table, and use sever-side scripts to interact with the database.
(Amazon RDS is not serverless)