Over the course of this chapter we learned quite a bit of new technology and patterns. This chapter really focused on taking our SimpleRPG game to production in Azure and learning how to use Azure Function to build RESTful web services.
We moved our game from a single, self-contained unit to retrieving game data from public web services, while the game play logic remained in Blazor. This separation allows us to deliver new content to the game without requiring us to release the game each time. Many applications look for this type of freedom on the web and app-store models for quick content delivery to customers.
Let’s review the top things we learned in this chapter:
- About serverless application architecture and how to use Azure to enable it.
- Build a continuous delivery pipeline in Azure DevOps to release our game website to Azure as a static website.
- From creation to build to deployment of Azure Function web services.
- About the Repository pattern and how to isolate the storage specific code from our service logic.
- About the RESTful web service architectural pattern and how Azure Function endpoints can be designed with those concepts in mind.
- About microservices and how to divide our game data into discreet, independent services that each are responsible for a domain type.
- Move all of our game data files to corresponding web services.
- To build continuous integration and continuous deliver pipelines (ci/cd) to build, test, and release our Azure Function web services.
- To change our SimpleRPG Game app to fetch game data from our SimpleRPG game services.
- Delved into CORS, what it means, and how we can configure Azure Functions App to allow cross-origin traffic.
- Finally, we wrapped it all together with a SimpleRPG Online game public release that uses those new game services.
We made several leaps forward in this chapter. This is the first chapter where we actually deployed live production websites and services. Our game is actually available for everyone to try at https://bit.ly/simple-rpg-v2.
In this chapter, we focused mainly on the compute portion of Azure with Function App and retrieved data from embedded resources. But in the next chapter, we are going to look at several different options for storage in Azure, so that we can build more robust web services and use better storage mechanisms to enable create, update, delete operations for some of our services.