Skip to content

🕹 Challenges & Exploration

You as a student need to fill in these assignments and learning goals by yourself. At the start of each next chapter the lecturer will, together with class, review these in an overall sense but will not give the full, word-by-word, solution for you to simply sit back and download. So it is important that you have completed the work yourself before the review starts in class and you can correct where needed.

You are not allowed to use AI like ChatGPT or Bing Copilot on the exam, but you are here! Leverage these new tools to speed up and give structure to your notes and documents. For example, ask to put material in Markdown format!

📝 After completing these challenges, you need to be able to:
  • Describe what a static website is.
  • List the basic steps to use Azure App Services to create and deploy static websites in the cloud.
  • Give examples of static website hosting possibilities aside from Azure App Services and list how they are different to Azure App Services.
  • Define and describe NoSQL and its main three types.
  • Identify and explain the situations where NoSQL is preferable and superior to SQL.
  • Compare and contrast NoSQL and SQL in terms of data structure and query language.
  • Describe what Azure Cosmos DB is, with special attention to what a partition key is.
  • List the steps to create and configure a Cosmos DB account and a database on Azure.
  • Explain what you need to do to perform a read operation from Azure Cosmos DB using Python.
  • Define and describe MongoDB, MongoDB Atlas and its main features and components, with special attention to the sharding and how that makes that MongoDB can run on more distributed infrastructure.
  • Identify and explain the use cases and applications of MongoDB.
  • List the steps to create and configure a MongoDB Atlas account and a database.
  • Explain what you need to do to perform a read operation from MongoDB Atlas using Python.

1. 🛠 Host a static website on Azure App Services

Create and deploy a simple static website using Azure App Services. Then also explore which other hosting possibilities there are to host static websites and how they differ with Azure App Services.

Static website?

A static website is a website that consists of only HTML, CSS, and JavaScript files, and does not require any server-side processing or database.

Learning goals

After completing this challenge, you need to be able to:

  • Describe what a static website is.
  • List the basic steps to use Azure App Services to create and deploy static websites in the cloud.
  • Give examples of static website hosting possibilities aside from Azure App Services and list how they are different to Azure App Services.

2. Dive into NoSQL... in the Cloud of course

NoSQL is a term that refers to a variety of database systems that differ from the traditional relational model. NoSQL databases have gained popularity in recent years due to their ability to handle large and complex data sets that are common in modern applications. NoSQL databases also offer more flexibility and scalability, as they can run on distributed cloud platforms and support dynamic schema changes.

In this challenge, you will need to learn about the characteristics, advantages, and challenges of NoSQL databases. You will also explore some of the most widely used NoSQL databases, such as Cosmos DB NoSQL and MongoDB Atlas, and how they can be applied to different use cases. By the end of this assignment, you will have a better understanding of the NoSQL landscape and how to choose the right database for your needs.

2.1 🔍 Look up: NoSQL? And why?

Look up information about NoSQL and complete the following learning goals.

Learning goals

After completing this sub-challenge, you need to be able to:

  • Define and describe NoSQL and its main three types.
  • Identify and explain the situations where NoSQL is preferable and superior to SQL.
  • Compare and contrast NoSQL and SQL in terms of data structure and query language.

2.2 🔍🛠 Start with Azure Cosmos DB

Cosmos DB logoLook up what CosmosDB on Azure is and what a user can use it for. Then create and use a Cosmos DB account on Azure. Use the Azure portal or the Azure CLI to create a Cosmos DB account and then a NoSQL database inside of it, which is made up of containers. These containers are the collections of, for example, JSON files. You can think about it as if these containers replace SQL tables.

So in short the structure of it all is the following: Your Azure account -> CosmosDB Account -> 🪐 Database -> Container -> JSON object.

In comparison, a MySQL on Azure: Your Azure account -> Azure Database for MYSQL flexible server -> Database -> Table -> Row item.

After you created your container, go to the Data Explorer menu item in your Cosmos DB account, place the following in the container:

json
{
    "productcode": "XRP55048S",
    "name": "Normal Portland Cement Plastic Bag 25Kg",
    "type": "Construction goods",
    "price": 29.99
}

Then create a Python script that reads this item and displays it in the console.

Learning goals

After completing this sub-challenge, you need to be able to:

  • Describe what Azure Cosmos DB is, with special attention to what a partition key is.
  • List the steps to create and configure a Cosmos DB account and a database on Azure.
  • Explain what you need to do to perform a read operation from Azure Cosmos DB using Python.

2.3 🔍🛠 Start with MongoDB (Atlas)

In similar manner, you will learn about MongoDB, a popular and widely used NoSQL database that stores data in JSON-like documents, and MongoDB Atlas, a cloud service that provides a fully managed MongoDB database on various cloud platforms.

The MongoDB logo

Look up what MongoDB is and what a user can use it for. How is it different compared to CosmosDB? Then create and use an account on MongoDB Atlas.

After you created and set-up your account, make sure the following is in the database:

json
{
    "productcode": "XRP55048S",
    "name": "Normal Portland Cement Plastic Bag 25Kg",
    "type": "Construction goods",
    "price": 29.99
}

Then create a Python script that reads this item and displays it in the console.

Learning goals

After completing this challenge, you need to be able to:

  • Define and describe MongoDB, MongoDB Atlas and its main features and components, with special attention to the sharding and how that makes that MongoDB can run on more distributed infrastructure.
  • Identify and explain the use cases and applications of MongoDB.
  • List the steps to create and configure a MongoDB Atlas account and a database.
  • Explain what you need to do to perform a read operation from MongoDB Atlas using Python.

π