Cloud Computing : PaaS and SOA
50 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

What is the maximum allowable execution time for an AWS Lambda function?

  • 120 seconds
  • 300 seconds (correct)
  • 600 seconds
  • 900 seconds
  • Which AWS services are typically paired with AWS Lambdas for communication?

  • Amazon EC2 and Amazon RDS
  • Amazon DynamoDB and AWS Fargate
  • Amazon S3 and Amazon CloudFront
  • Amazon Simple Queue Service (SQS) and Amazon Simple Notification Service (SNS) (correct)
  • What is the limit on memory usage for a single AWS Lambda instance?

  • 3 GB (correct)
  • 1 GB
  • 2 GB
  • 4 GB
  • What programming languages can be used to create AWS Lambda functions?

    <p>Node.js, Java, Python, Go, and C# (D)</p> Signup and view all the answers

    Which scenario best illustrates a typical use case for AWS Lambdas?

    <p>Creating thumbnails from uploaded photos to an S3 bucket (A)</p> Signup and view all the answers

    What HTTP verb is used to create a new element in a resource collection?

    <p>POST (D)</p> Signup and view all the answers

    What is the nature of the communication model utilized by AWS Lambdas when paired with SQS or SNS?

    <p>One-to-many decoupled communication (A)</p> Signup and view all the answers

    Why should thumbnail creation not occur in the client event-response loop?

    <p>It may slow down client operations (A)</p> Signup and view all the answers

    Which HTTP verb is considered safe and should not modify anything on the server side?

    <p>GET (D)</p> Signup and view all the answers

    What is a unique feature of Amazon S3 that is beneficial for storing files?

    <p>A key/value storage interface (B)</p> Signup and view all the answers

    What does the PUT HTTP verb do?

    <p>Updates or replaces an existing resource (C)</p> Signup and view all the answers

    Which HTTP verb would you use to delete a specific resource?

    <p>DELETE (B)</p> Signup and view all the answers

    Which statement is TRUE about the PATCH HTTP verb?

    <p>It generally requires additional care for concurrent requests. (C)</p> Signup and view all the answers

    When using the GET verb on /students, what is the expected outcome?

    <p>Receive a representation of individual students (C)</p> Signup and view all the answers

    Which of the following describes the idempotent characteristic of the PUT verb?

    <p>It always produces the same result regardless of frequency. (C)</p> Signup and view all the answers

    What should be considered when using the PATCH verb?

    <p>Concurrent requests for the same resource may need extra handling. (D)</p> Signup and view all the answers

    What complicates the comparison of PaaS to IaaS?

    <p>The variety of development environments and their features. (B)</p> Signup and view all the answers

    Which of the following is NOT a criteria for evaluating PaaS?

    <p>User interface design quality (B)</p> Signup and view all the answers

    What is one of the primary targets for applications built on Google App Engine?

    <p>Distributed web applications with low response times. (B)</p> Signup and view all the answers

    How is the pricing structured for Google App Engine?

    <p>Billed per second with a minimum of one minute charged per hour. (C)</p> Signup and view all the answers

    What is a feature of the Google App Engine regarding application components?

    <p>Components are aimed to be stateless and only called upon user requests. (B)</p> Signup and view all the answers

    Which programming languages are supported by Google App Engine?

    <p>Python, Ruby, Java, PHP, Go, and Node.js. (D)</p> Signup and view all the answers

    What additional feature does Google App Engine provide for managing applications?

    <p>Containers with arbitrary code/functions managed by Kubernetes. (B)</p> Signup and view all the answers

    What charge is associated with outgoing traffic on Google App Engine?

    <p>$0.12 per GB. (A)</p> Signup and view all the answers

    What is a challenge faced when using microservices in a distributed system?

    <p>Interprocess communication is needed due to the lack of shared state. (B)</p> Signup and view all the answers

    How do spatial databases assist in driver management for taxi-hailing applications?

    <p>They support queries to find drivers close to passengers. (B)</p> Signup and view all the answers

    What does the partitioned database architecture imply for transactions in a microservices environment?

    <p>Each service must handle transactions independently without coordination. (D)</p> Signup and view all the answers

    What is a necessary consideration when building applications around faults in microservices?

    <p>Incorporating event-based communication strategies. (C)</p> Signup and view all the answers

    Which aspect of microservices architecture complicates fault tolerance?

    <p>No shared state between services. (A)</p> Signup and view all the answers

    What must developers explicitly manage when implementing changes across a microservices architecture?

    <p>Interactions between microservices. (D)</p> Signup and view all the answers

    Which approach is commonly used to facilitate communication in microservices?

    <p>Remote Procedure Calls (RPC) or event-based communication. (C)</p> Signup and view all the answers

    What is the potential impact of faults when multiple services interact in microservices?

    <p>They can lead to inconsistent states across services. (B)</p> Signup and view all the answers

    What is the primary function of an API Gateway in a microservices architecture?

    <p>To serve as a single entry point for clients (A)</p> Signup and view all the answers

    Which of the following is NOT a function typically performed by an API Gateway?

    <p>Data storage (A)</p> Signup and view all the answers

    In the context of an API Gateway, how does it handle requests from different types of clients?

    <p>It orchestrates microservices differently depending on the device (B)</p> Signup and view all the answers

    On average, how many microservices are called for each client request through an API Gateway?

    <p>6 or 7 (B)</p> Signup and view all the answers

    Which aspect does an API Gateway help to encapsulate regarding the internal system?

    <p>Knowledge of internal system architecture (A)</p> Signup and view all the answers

    What is a common example of an API Gateway mentioned in the content?

    <p>Netflix API Gateway (D)</p> Signup and view all the answers

    How does an API Gateway typically enhance system performance?

    <p>By collating requests and responses optimally (D)</p> Signup and view all the answers

    Why is load balancing an important function of an API Gateway?

    <p>To ensure all requests are processed equally (D)</p> Signup and view all the answers

    What kind of architecture does an API Gateway facilitate?

    <p>Microservices architecture (B)</p> Signup and view all the answers

    How might an API Gateway manage client authentication?

    <p>By redirecting to an external authentication service (D)</p> Signup and view all the answers

    What is a key characteristic of REST APIs that enhances scalability?

    <p>Separation of concerns and statelessness (A)</p> Signup and view all the answers

    Which level of Richardson’s maturity model allows the use of HTTP verbs for action representation?

    <p>Level 2 (B)</p> Signup and view all the answers

    What does the HATEOAS concept in REST APIs entail?

    <p>Returning URL links for possible actions on a resource (D)</p> Signup and view all the answers

    Which aspect of REST APIs contributes to their firewall-friendliness?

    <p>Use of standard HTTP ports 80/443 (D)</p> Signup and view all the answers

    When using the OpenStack API for authentication, what format is the request body expected to be in?

    <p>JSON (D)</p> Signup and view all the answers

    What is NOT a benefit of using REST APIs?

    <p>Statefulness allows for easier session management (B)</p> Signup and view all the answers

    What type of representation is returned when successfully authenticating with OpenStack?

    <p>Large JSON representation including a Token ID (B)</p> Signup and view all the answers

    Which RESTful API level indicates no compliance with HTTP verbs?

    <p>Level 0 (B)</p> Signup and view all the answers

    Flashcards

    POST (HTTP verb)

    Adds a new element or resource to a collection.

    GET (HTTP verb)

    Retrieves a representation of a resource or a list of resources from a collection.

    PUT (HTTP verb)

    Replaces an existing resource completely with a new representation.

    DELETE (HTTP verb)

    Deletes an existing resource.

    Signup and view all the flashcards

    PATCH (HTTP verb)

    Modifies a specific part of an existing resource without replacing it completely.

    Signup and view all the flashcards

    Resource Collection

    A resource that represents a group of individual resources.

    Signup and view all the flashcards

    Specific Resource

    A specific resource within a collection, identified by its unique identifier.

    Signup and view all the flashcards

    Resource URI

    A unique address that identifies a resource on the web.

    Signup and view all the flashcards

    Comparing PaaS vs IaaS

    Comparing PaaS is more complex than IaaS due to the focus on development and application creation environments and their specific features. Factors like cost, performance, and security are still important, but now we need to consider the environment's strengths and weaknesses.

    Signup and view all the flashcards

    Supported Languages and Libraries

    Programming languages and libraries supported by a PaaS platform.

    Signup and view all the flashcards

    Database Management Systems (DBMS)

    The availability of database management systems within the PaaS platform.

    Signup and view all the flashcards

    Communication Facilities

    Communication capabilities within the PaaS, including communication between applications, users, and external systems.

    Signup and view all the flashcards

    Deployment and Testing Support

    The support provided for deployment and testing processes within the PaaS.

    Signup and view all the flashcards

    Cost and Billing Model

    The cost model of the PaaS, potentially more complex than IaaS due to factors like usage-based billing.

    Signup and view all the flashcards

    Google App Engine: A Managed Platform

    A completely managed platform, where the runtime environment, libraries, operating system, and development tools are handled for you. Google App Engine targets distributed web applications.

    Signup and view all the flashcards

    Google App Engine: Stateless Architecture

    Google App Engine utilizes a stateless architecture, prioritizing low response time by breaking applications into small, stateless components. These components are only activated when a web request is received.

    Signup and view all the flashcards

    REST APIs Scalability

    RESTful APIs allow using arbitrary numbers of server processes for scaling and elasticity by separating concerns and maintaining statelessness.

    Signup and view all the flashcards

    REST API HTTP Verb Usage

    REST APIs use HTTP verbs like GET, POST, PUT, and DELETE to perform actions, enabling caching for GET requests.

    Signup and view all the flashcards

    HATEOAS in REST

    HATEOAS (Hypertext As The Engine Of Application State) enriches REST API responses by including links for all possible actions on a resource, allowing clients to discover available operations.

    Signup and view all the flashcards

    REST API Firewall Compatibility

    REST APIs are generally firewall-friendly as they use standard HTTP ports like 80 and 443, which are commonly open for web traffic.

    Signup and view all the flashcards

    OpenStack REST API

    OpenStack is an example of an IaaS management platform that uses a RESTful API to programmatically manage cloud resources like virtual machines and images.

    Signup and view all the flashcards

    OpenStack API Authentication

    OpenStack API uses JSON format to represent data and authenticate users with token-based authentication, ensuring a stateless session.

    Signup and view all the flashcards

    Richardson's Maturity Model

    Richardson's Maturity Model categorized REST interfaces into levels based on their features and adherence to REST principles.

    Signup and view all the flashcards

    Level 0 REST interface

    In Level 0 of Richardson's Maturity Model, clients interact with services through HTTP POST requests to a single URL, with parameters in the body.

    Signup and view all the flashcards

    Microservices Architecture

    The act of designing and building an application as a collection of loosely coupled, independent services that communicate with each other over a network.

    Signup and view all the flashcards

    Synchronous Communication (RPC)

    A type of communication between microservices where a request is sent from one service to another and a response is received immediately.

    Signup and view all the flashcards

    Asynchronous Communication (Event-Based)

    A type of communication between microservices where one service sends an event to another without expecting an immediate response.

    Signup and view all the flashcards

    Fault Tolerance

    The ability of a distributed system to operate correctly even when individual services experience failures.

    Signup and view all the flashcards

    Partitioned Database Architecture

    A database architecture where each microservice has its own separate database, preventing data conflicts.

    Signup and view all the flashcards

    Distributed Transaction

    A set of operations performed on a database that must all succeed or fail as a whole. In a partitioned database architecture, transactions involving multiple databases become more complex.

    Signup and view all the flashcards

    Data Inconsistency

    The potential for inconsistencies in the state of different microservices due to failures or delays in communication.

    Signup and view all the flashcards

    Data Consistency

    The process of ensuring that multiple services maintain a consistent view of the data even in the presence of failures.

    Signup and view all the flashcards

    API Gateway

    A specialized microservice that acts as the single point of entry for all client requests.

    Signup and view all the flashcards

    Encapsulation of Internal Architecture

    An API Gateway encapsulates the knowledge of the internal architecture of a microservice system, shielding clients from its complexities.

    Signup and view all the flashcards

    Client-Specific APIs

    An API Gateway provides a specialized API for each type of client, tailoring the response to their needs.

    Signup and view all the flashcards

    Device-Specific Orchestration

    Netflix's API Gateway orchestrates microservices differently based on the device accessing the service.

    Signup and view all the flashcards

    Common Functionality Handling

    An API Gateway often handles common functionalities such as authentication, monitoring, and load balancing.

    Signup and view all the flashcards

    Performance Improvement

    An API Gateway can significantly improve the overall performance of a microservice system by efficiently routing requests and handling common operations.

    Signup and view all the flashcards

    Dynamic Routing

    The API Gateway may be responsible for dynamically routing requests to different microservices within a system, depending on the specific needs of the client.

    Signup and view all the flashcards

    Load Balancing

    The API Gateway can manage the flow of requests to prevent overloading or crashing of microservices, ensuring the system's stability.

    Signup and view all the flashcards

    Authentication

    The API Gateway can implement authentication mechanisms to verify the identity of clients before granting access to resources.

    Signup and view all the flashcards

    Monitoring

    The API Gateway often collects and analyzes data about requests to monitor the performance and health of the underlying microservices.

    Signup and view all the flashcards

    What is AWS Lambda?

    AWS Lambda is a serverless compute service that lets you run code without provisioning or managing servers. It is triggered by events, like HTTP requests or messages from other AWS services.

    Signup and view all the flashcards

    How are AWS Lambdas similar to Heroku dynos?

    AWS Lambdas are similar to Heroku dynos in that they are both ways to run code without managing servers. However, AWS Lambdas are more flexible and scalable, and can be triggered by a variety of events.

    Signup and view all the flashcards

    What events can trigger an AWS Lambda?

    An AWS Lambda can be triggered by several events, including periodic schedules, incoming HTTP requests, and communication from other AWS components. This allows you to create flexible and scalable applications.

    Signup and view all the flashcards

    How are AWS Lambdas typically used?

    A typical use case for AWS Lambdas is to pair them with communication services like Amazon SQS or Amazon SNS. This allows you to decouple communication and provide more flexibility in your application, as you can send messages to a queue and have lambdas process them asynchronously.

    Signup and view all the flashcards

    What are Amazon SQS and SNS?

    Amazon SQS (Simple Queue Service) is a fully managed message queuing service that allows you to send, store, and receive messages between applications. Amazon SNS (Simple Notification Service) is a fully managed push notification service that allows you to send notifications to mobile devices, email addresses, or other endpoints.

    Signup and view all the flashcards

    What are some limitations of AWS Lambdas?

    AWS Lambdas have some limitations, such as a maximum memory limit of 3GB and a maximum execution time of 300 seconds. They can also only handle a maximum of 1000 concurrent executions.

    Signup and view all the flashcards

    What programming languages can be used with AWS Lambdas?

    AWS Lambdas can be written in several programming languages, including Python, Java, Node.js, Go, and C#. This makes them a very flexible and powerful tool that can be used for a variety of tasks.

    Signup and view all the flashcards

    What is a common use case for AWS Lambdas?

    Creating image thumbnails is a common use case for AWS Lambdas. By using an S3 bucket to store images, you can trigger a Lambda function whenever a new image is uploaded and have the function resize the image and store it in a new S3 bucket. This allows you to scale your image processing workload without having to worry about managing servers.

    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.

    Quiz Team

    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.

    More Like This

    Use Quizgecko on...
    Browser
    Browser