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
Flashcards
POST (HTTP verb)
POST (HTTP verb)
Adds a new element or resource to a collection.
GET (HTTP verb)
GET (HTTP verb)
Retrieves a representation of a resource or a list of resources from a collection.
PUT (HTTP verb)
PUT (HTTP verb)
Replaces an existing resource completely with a new representation.
DELETE (HTTP verb)
DELETE (HTTP verb)
Signup and view all the flashcards
PATCH (HTTP verb)
PATCH (HTTP verb)
Signup and view all the flashcards
Resource Collection
Resource Collection
Signup and view all the flashcards
Specific Resource
Specific Resource
Signup and view all the flashcards
Resource URI
Resource URI
Signup and view all the flashcards
Comparing PaaS vs IaaS
Comparing PaaS vs IaaS
Signup and view all the flashcards
Supported Languages and Libraries
Supported Languages and Libraries
Signup and view all the flashcards
Database Management Systems (DBMS)
Database Management Systems (DBMS)
Signup and view all the flashcards
Communication Facilities
Communication Facilities
Signup and view all the flashcards
Deployment and Testing Support
Deployment and Testing Support
Signup and view all the flashcards
Cost and Billing Model
Cost and Billing Model
Signup and view all the flashcards
Google App Engine: A Managed Platform
Google App Engine: A Managed Platform
Signup and view all the flashcards
Google App Engine: Stateless Architecture
Google App Engine: Stateless Architecture
Signup and view all the flashcards
REST APIs Scalability
REST APIs Scalability
Signup and view all the flashcards
REST API HTTP Verb Usage
REST API HTTP Verb Usage
Signup and view all the flashcards
HATEOAS in REST
HATEOAS in REST
Signup and view all the flashcards
REST API Firewall Compatibility
REST API Firewall Compatibility
Signup and view all the flashcards
OpenStack REST API
OpenStack REST API
Signup and view all the flashcards
OpenStack API Authentication
OpenStack API Authentication
Signup and view all the flashcards
Richardson's Maturity Model
Richardson's Maturity Model
Signup and view all the flashcards
Level 0 REST interface
Level 0 REST interface
Signup and view all the flashcards
Microservices Architecture
Microservices Architecture
Signup and view all the flashcards
Synchronous Communication (RPC)
Synchronous Communication (RPC)
Signup and view all the flashcards
Asynchronous Communication (Event-Based)
Asynchronous Communication (Event-Based)
Signup and view all the flashcards
Fault Tolerance
Fault Tolerance
Signup and view all the flashcards
Partitioned Database Architecture
Partitioned Database Architecture
Signup and view all the flashcards
Distributed Transaction
Distributed Transaction
Signup and view all the flashcards
Data Inconsistency
Data Inconsistency
Signup and view all the flashcards
Data Consistency
Data Consistency
Signup and view all the flashcards
API Gateway
API Gateway
Signup and view all the flashcards
Encapsulation of Internal Architecture
Encapsulation of Internal Architecture
Signup and view all the flashcards
Client-Specific APIs
Client-Specific APIs
Signup and view all the flashcards
Device-Specific Orchestration
Device-Specific Orchestration
Signup and view all the flashcards
Common Functionality Handling
Common Functionality Handling
Signup and view all the flashcards
Performance Improvement
Performance Improvement
Signup and view all the flashcards
Dynamic Routing
Dynamic Routing
Signup and view all the flashcards
Load Balancing
Load Balancing
Signup and view all the flashcards
Authentication
Authentication
Signup and view all the flashcards
Monitoring
Monitoring
Signup and view all the flashcards
What is AWS Lambda?
What is AWS Lambda?
Signup and view all the flashcards
How are AWS Lambdas similar to Heroku dynos?
How are AWS Lambdas similar to Heroku dynos?
Signup and view all the flashcards
What events can trigger an AWS Lambda?
What events can trigger an AWS Lambda?
Signup and view all the flashcards
How are AWS Lambdas typically used?
How are AWS Lambdas typically used?
Signup and view all the flashcards
What are Amazon SQS and SNS?
What are Amazon SQS and SNS?
Signup and view all the flashcards
What are some limitations of AWS Lambdas?
What are some limitations of AWS Lambdas?
Signup and view all the flashcards
What programming languages can be used with AWS Lambdas?
What programming languages can be used with AWS Lambdas?
Signup and view all the flashcards
What is a common use case for AWS Lambdas?
What is a common use case for AWS Lambdas?
Signup and view all the flashcards
Study Notes
Cloud Computing : 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.