Answers to the Quiz

Estimated reading time: 4 minutes.

OpenStack Services and Cloud-Native Applications

  1. Which of the following OpenStack services would be useful for a Customer Relationship Management system (CRM) that stores data in a relational database that runs as another server instance in the same OpenStack cluster?

    • Shared Filesystems (Manila)
      Incorrect: There is no requirement of accessing shared filesystems.

    • Object Store (Swift)
      Incorrect: There is no requirement of accessing remote objects.

    • Load Balancer (Octavia)
      Incorrect: There is no requirement of running multiple instances of the CRM application and other high-availability requirements of the application.

    • DNS Service (Designate)
      Incorrect: There is no requirement for dynamic DNS for the application.

    • Orchestration (Heat)
      Correct: The CRM application, its database, volumes, and networking resources could be defined by a Heat template for ease of deployment and upgrading.

    • Placement service (Placement)
      Incorrect: There is no requirement for special scheduling of application VMs nor of special resource classes. You could argue that all applications use Plamenent indirectly, through Nova, but then it is invisible to the application team and its OpenStack Operators.

    • Key Management (Barbican)
      Correct: It is recommended that applications do not store access credentials such as tokens and certificates on their VM images or data volumes, but fetch those credentials from Barbican either on demand or with a custom initialization script.

  2. Which of the following OpenStack services would be useful for a mobile Customer Support Management system that includes a scalable REST API layer designed to run more or less server instances according to load from end-users? The Customer Support Management system enables customers to upload photos as objects, directly from their cell phones, to help with troubleshooting issues.

    • Shared Filesystems (Manila)
      Incorrect: There is no requirement of accessing shared filesystems.

    • Object Store (Swift)
      Correct: The requirements ask for storage of objects for pictures uploaded by end-users.

    • Load Balancer (Octavia)
      Correct: You need a load balancer to implement autoscaling of server instances and enable a single API entry point for the mobile application.

    • DNS Service (Designate)
      Incorrect: There is no requirement for dynamic DNS for the application.

    • Orchestration (Heat)
      Correct: The higher complexity of this application, compared to the static nature of the previous one, makes it even more advisable to use Heat templates to manage server instances, load balancers, and other application resources.

    • Placement service (Placement)
      Incorrect: There is no requirement for special scheduling of application VMs nor of special resource classes.

    • Key Management (Barbican)
      Correct: The mobile application would get short-lived access credentials to Swift for uploading images to object storage, either by invoking Barbican directly, or indirectly by the REST API layer.

  3. Which of the following OpenStack services would be useful for a Machine Learning platform which enables Data Scientists to train models and later expose those models, with a dynamically generated URL, on compute nodes with powerful GPUs, to ensure quick response times? During training, the Data Scientists need to share data as regular files with Mathematicians who are not using the platform but rely on desktop applications.

    • Shared Filesystems (Manila)
      Correct: The requirements ask for sharing files with desktop applications, no matter whether they run inside or outside the OpenStack cluster.

    • Object Store (Swift)
      Incorrect: There are no requirements for object storage, though it is common in more recent machine learning platforms such as OpenShift AI.

    • Load Balancer (Octavia)
      Incorrect: There are no requirements for horizontal scalability and high availability of the machine learning models.

    • DNS Service (Designate)
      Correct: The requirements ask for dynamic generation of URLs for the dynamic server instances to publish already-trained machine-learning models.

    • Orchestration (Heat)
      Correct: By now you noticed that we recommend Heat for managing most application workloads because very few real-world applications are so simple that Heat provides little benefit.

    • Placement service (Placement)
      Correct: There is an explicit requirement for scheduling dynamic server instances to compute nodes with powerful GPUs.

    • Key Management (Barbican)
      Incorrect: There are no requirements for credentials for accessing other services from the Machine Learning application.