Cloud Computing Lesson 3: 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#</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</p> Signup and view all the answers

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

    <p>POST</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</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</p> Signup and view all the answers

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

    <p>GET</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</p> Signup and view all the answers

    What does the PUT HTTP verb do?

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

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

    <p>DELETE</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.</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</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.</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.</p> Signup and view all the answers

    What complicates the comparison of PaaS to IaaS?

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

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

    <p>User interface design quality</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.</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.</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.</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.</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.</p> Signup and view all the answers

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

    <p>$0.12 per GB.</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.</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.</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.</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.</p> Signup and view all the answers

    Which aspect of microservices architecture complicates fault tolerance?

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

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

    <p>Interactions between microservices.</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.</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.</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</p> Signup and view all the answers

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

    <p>Data storage</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</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</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</p> Signup and view all the answers

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

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

    How does an API Gateway typically enhance system performance?

    <p>By collating requests and responses optimally</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</p> Signup and view all the answers

    What kind of architecture does an API Gateway facilitate?

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

    How might an API Gateway manage client authentication?

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

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

    <p>Separation of concerns and statelessness</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</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</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</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</p> Signup and view all the answers

    What is NOT a benefit of using REST APIs?

    <p>Statefulness allows for easier session management</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</p> Signup and view all the answers

    Which RESTful API level indicates no compliance with HTTP verbs?

    <p>Level 0</p> 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.

    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