Podcast
Questions and Answers
What is the maximum allowable execution time for an AWS Lambda function?
What is the maximum allowable execution time for an AWS Lambda function?
Which AWS services are typically paired with AWS Lambdas for communication?
Which AWS services are typically paired with AWS Lambdas for communication?
What is the limit on memory usage for a single AWS Lambda instance?
What is the limit on memory usage for a single AWS Lambda instance?
What programming languages can be used to create AWS Lambda functions?
What programming languages can be used to create AWS Lambda functions?
Signup and view all the answers
Which scenario best illustrates a typical use case for AWS Lambdas?
Which scenario best illustrates a typical use case for AWS Lambdas?
Signup and view all the answers
What HTTP verb is used to create a new element in a resource collection?
What HTTP verb is used to create a new element in a resource collection?
Signup and view all the answers
What is the nature of the communication model utilized by AWS Lambdas when paired with SQS or SNS?
What is the nature of the communication model utilized by AWS Lambdas when paired with SQS or SNS?
Signup and view all the answers
Why should thumbnail creation not occur in the client event-response loop?
Why should thumbnail creation not occur in the client event-response loop?
Signup and view all the answers
Which HTTP verb is considered safe and should not modify anything on the server side?
Which HTTP verb is considered safe and should not modify anything on the server side?
Signup and view all the answers
What is a unique feature of Amazon S3 that is beneficial for storing files?
What is a unique feature of Amazon S3 that is beneficial for storing files?
Signup and view all the answers
What does the PUT HTTP verb do?
What does the PUT HTTP verb do?
Signup and view all the answers
Which HTTP verb would you use to delete a specific resource?
Which HTTP verb would you use to delete a specific resource?
Signup and view all the answers
Which statement is TRUE about the PATCH HTTP verb?
Which statement is TRUE about the PATCH HTTP verb?
Signup and view all the answers
When using the GET verb on /students, what is the expected outcome?
When using the GET verb on /students, what is the expected outcome?
Signup and view all the answers
Which of the following describes the idempotent characteristic of the PUT verb?
Which of the following describes the idempotent characteristic of the PUT verb?
Signup and view all the answers
What should be considered when using the PATCH verb?
What should be considered when using the PATCH verb?
Signup and view all the answers
What complicates the comparison of PaaS to IaaS?
What complicates the comparison of PaaS to IaaS?
Signup and view all the answers
Which of the following is NOT a criteria for evaluating PaaS?
Which of the following is NOT a criteria for evaluating PaaS?
Signup and view all the answers
What is one of the primary targets for applications built on Google App Engine?
What is one of the primary targets for applications built on Google App Engine?
Signup and view all the answers
How is the pricing structured for Google App Engine?
How is the pricing structured for Google App Engine?
Signup and view all the answers
What is a feature of the Google App Engine regarding application components?
What is a feature of the Google App Engine regarding application components?
Signup and view all the answers
Which programming languages are supported by Google App Engine?
Which programming languages are supported by Google App Engine?
Signup and view all the answers
What additional feature does Google App Engine provide for managing applications?
What additional feature does Google App Engine provide for managing applications?
Signup and view all the answers
What charge is associated with outgoing traffic on Google App Engine?
What charge is associated with outgoing traffic on Google App Engine?
Signup and view all the answers
What is a challenge faced when using microservices in a distributed system?
What is a challenge faced when using microservices in a distributed system?
Signup and view all the answers
How do spatial databases assist in driver management for taxi-hailing applications?
How do spatial databases assist in driver management for taxi-hailing applications?
Signup and view all the answers
What does the partitioned database architecture imply for transactions in a microservices environment?
What does the partitioned database architecture imply for transactions in a microservices environment?
Signup and view all the answers
What is a necessary consideration when building applications around faults in microservices?
What is a necessary consideration when building applications around faults in microservices?
Signup and view all the answers
Which aspect of microservices architecture complicates fault tolerance?
Which aspect of microservices architecture complicates fault tolerance?
Signup and view all the answers
What must developers explicitly manage when implementing changes across a microservices architecture?
What must developers explicitly manage when implementing changes across a microservices architecture?
Signup and view all the answers
Which approach is commonly used to facilitate communication in microservices?
Which approach is commonly used to facilitate communication in microservices?
Signup and view all the answers
What is the potential impact of faults when multiple services interact in microservices?
What is the potential impact of faults when multiple services interact in microservices?
Signup and view all the answers
What is the primary function of an API Gateway in a microservices architecture?
What is the primary function of an API Gateway in a microservices architecture?
Signup and view all the answers
Which of the following is NOT a function typically performed by an API Gateway?
Which of the following is NOT a function typically performed by an API Gateway?
Signup and view all the answers
In the context of an API Gateway, how does it handle requests from different types of clients?
In the context of an API Gateway, how does it handle requests from different types of clients?
Signup and view all the answers
On average, how many microservices are called for each client request through an API Gateway?
On average, how many microservices are called for each client request through an API Gateway?
Signup and view all the answers
Which aspect does an API Gateway help to encapsulate regarding the internal system?
Which aspect does an API Gateway help to encapsulate regarding the internal system?
Signup and view all the answers
What is a common example of an API Gateway mentioned in the content?
What is a common example of an API Gateway mentioned in the content?
Signup and view all the answers
How does an API Gateway typically enhance system performance?
How does an API Gateway typically enhance system performance?
Signup and view all the answers
Why is load balancing an important function of an API Gateway?
Why is load balancing an important function of an API Gateway?
Signup and view all the answers
What kind of architecture does an API Gateway facilitate?
What kind of architecture does an API Gateway facilitate?
Signup and view all the answers
How might an API Gateway manage client authentication?
How might an API Gateway manage client authentication?
Signup and view all the answers
What is a key characteristic of REST APIs that enhances scalability?
What is a key characteristic of REST APIs that enhances scalability?
Signup and view all the answers
Which level of Richardson’s maturity model allows the use of HTTP verbs for action representation?
Which level of Richardson’s maturity model allows the use of HTTP verbs for action representation?
Signup and view all the answers
What does the HATEOAS concept in REST APIs entail?
What does the HATEOAS concept in REST APIs entail?
Signup and view all the answers
Which aspect of REST APIs contributes to their firewall-friendliness?
Which aspect of REST APIs contributes to their firewall-friendliness?
Signup and view all the answers
When using the OpenStack API for authentication, what format is the request body expected to be in?
When using the OpenStack API for authentication, what format is the request body expected to be in?
Signup and view all the answers
What is NOT a benefit of using REST APIs?
What is NOT a benefit of using REST APIs?
Signup and view all the answers
What type of representation is returned when successfully authenticating with OpenStack?
What type of representation is returned when successfully authenticating with OpenStack?
Signup and view all the answers
Which RESTful API level indicates no compliance with HTTP verbs?
Which RESTful API level indicates no compliance with HTTP verbs?
Signup and view all the answers
Study Notes
Cloud Computing - Lesson 3: Platform-as-a-Service (PaaS) and Service-Oriented Architectures
- Course Objectives: Discuss Platform-as-a-Service (PaaS), development environments, and serverless computing. Describe service-oriented architectures, including "classical" Web services, REST APIs, microservices, API gateways, and service mesh.
Announcements
- Project Start: The project begins this Friday.
- GitHub Accounts (ULB Students): ULB students without Moodle access must provide their GitHub accounts to teaching assistants (TAs) either by email or in person.
- Quiz #1 Peer Review: Peer review for Quiz #1 will open after the lecture.
- Quiz #1 Deadline: The deadline for the peer review is before the next Wednesday's lecture.
- New Quizzes: New quizzes covering lessons 3 and 4 will be available after the peer review deadline.
Platform-as-a-Service (PaaS)
-
Definition: A cloud service model that provides developers with a managed environment for creating and deploying applications.
-
Benefits:
- Reduced Administration: Developers don't need to install or manage the underlying operating systems, databases, or servers.
- Ease of Deployment: Easier to deploy applications.
- Flexibility (compared to IaaS): Less flexibility than Infrastructure-as-a-Service (IaaS).
- Vendor Lock-in (compared to IaaS): Greater vendor lock-in compared to IaaS.
-
Example PaaS providers: Google App Engine, Heroku, af appfog, Engine Yard™, OpenShift, clevercloud
-
Issues with Comparing PaaS: PaaS is more complex to compare than IaaS. Key factors no longer limited to cost, security, or machine performance but also include programming language libraries and availability of database systems, along with communication facilities (between apps/users), and deployment/testing support. Cost and billing models may be less predictable than IaaS.
Example: Google App Engine
-
Managed Environment: A fully managed development and deployment environment. This includes application runtime, libraries, operating systems, and development tools.
-
Target Applications: Distributed web applications written in Java, Ruby, Python, PHP, Go, and Node.js.
-
Architecture: Applications are split into small, stateless components that are called upon incoming web requests. State is stored in a managed database. Supports mixing with laaS by providing containers with code/functions. Uses Kubernetes.
-
Pricing: Based on actual usage (billable per second, one-minute minimum per hour). Costs for resources include vCPUs, memory, and persistent disks. Outgoing traffic is charged at $0.12 per GB.
-
Deployment: Python example using Google's SDK and support for local execution for testing.
Deployment (Google App Engine)
- Project Creation
- Code Upload
- Demonstration of a 'Hello, World!' app
(Other) PaaS and Serverless Computing
- Heroku: Started as a PaaS offering service components known as "dynos", offering HTTP request responses, worker dynos to process tasks in a queue. Choices for deployment exist between on-demand and persistent models.
- AWS Lambda Functions: A serverless computing platform.
Service-Oriented Architectures
- Web Services: Applications utilizing a collection of services interacting via APIs.
- Middleware Support: Well-suited to Cloud deployments because services can be scaled and deployed independently across numerous machines, using middleware for decoupled communication.
REST Interfaces
-
Representational State Transfer: General guidelines for creating web architectures, including practices that are not a formalized, standardized protocol but facilitate a bottom-up design approach.
-
Key Features: Resource-based, uniform interface, stateless, client-server, cacheable, layered system, code-on-demand.
-
HTTP Verbs: POST, GET, PUT, DELETE
-
HTTP Status Codes: Common status codes (2xx, 3xx, 4xx, 5xx) for different responses.
-
Representations: How resources are exchanged between clients/servers. Example: A resource about a student is represented by name, program, and a list of course/grade pairs, using JSON.
-
REST APIs: OpenStack REST API (Iaas examples). Exposing APIs and the underlying processes.
Microservices
- Architectural Pattern: Applications are split into numerous, interconnected, and small services, each managing a unique feature or functionality, and having its own database.
- Example Implementation: A taxi-hailing app is split up into many, decoupled microservices, handling everything from passenger management and driver management, to notification and payments, all of which are able to scale independently.
Communication Strategies
- Direct from Client: Mobile/native clients interface directly with many microservices, requesting different public endpoints. Disadvantages include the need to handle many requests across networks.
- API Gateway: An additional layer of handling and translating data between multiple microservices and the client, offering more controlled access and more consistent responses.
- Synchronous vs. Asynchronous: Different methods of communication: One-to-one (a synchronous request/response) or many-to-many (asynchronous, event-based)
- Payloads: Interaction data formats, human-readable (JSON, XML) or binary formats (Apache Avro, Protocol Buffers)
- Service Mesh: A network of interconnected microservices offering cross-cutting concerns and improvements in performance or fault handling.
Conclusion
- PaaS: Development and application runtime environments.
- Serverless Models: Running specific functions based on requests (low traffic).
- Service-oriented Architectures: Well-suited for continuous integration and DevOps. Generally utilize containers, cloud implementations, and serverless models.
- Microservices: Splitting applications into numerous, small services, with each running its own database instance. Requires handling inter-service communication and monitoring.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Explore the concepts of Platform-as-a-Service (PaaS) and service-oriented architectures in this quiz. Understand serverless computing, REST APIs, microservices, and more, as you enhance your knowledge in cloud computing. Prepare for your project and assessments while testing your understanding of these essential services.