The Azure resources that everyone gets for free is pretty impressive. I am a big fan of Azure Functions and the way they evolved and how they (and similar offerings) fit into the cloud ecosystem. They are #2 in our list today, but I look forward to spending a week or more talking about the how and the why of them. For now, let's get through the inventory of resources available to us.
The first three always free resources are App Services, Azure Functions, and Active Directory. App Services are platform as a service (PaaS) locations where we can run code. The code can take input and return responses. The input can be a request for a resource like a web page and the output the page, or the input request could be a more formal REST call done by a program. The main point is that the programs are always sitting and waiting to service requests. Azure Functions are PaaS locations where we can run code also. The code can take input and return responses. The main difference is that Azure Functions are not sitting around waiting for requests like App Services do. They are instantiated when a request comes in and destroyed when the response is returned. The difference is somewhat subtle, but important. Very important. Last in the top 3 is Active Directory. This is a PaaS offering of Identity Management. Microsoft Active Directory (AD) is where we will store accounts and can be used to store rights. AD is used to help us solve the twin problems of Authentication and Authorization. You will often see these abbreviated as AuthN and AuthZ. Simply, prove who you are and what you have rights to do. A drivers license is an AuthN/AuthZ artifact. It is used to prove your identity and also your right to operate a motor vehicle.
The next free resource is Active Directory BC or ADBC which is used for storing customer identity and authorization. The next is Service Fabric Containers which is a container orchestration and container ecosystem. Containers are just ways of packaging our code (similar to App Service and Azure Functions) and an orchestrator just makes sure it is running. Oversimplification, but we aren't going to dig into them for a while because this free is just the orchestration layer. We would need to pay for the compute time used by the containers running underneath. It wouldn't be much, but it would be more than nothing. Last in our current trio is Azure DevOps or Azure Development and Operations toolkit. This is our source control, build and deploy automation, and SDLC (software development lifecycle) management tool combined. When we write code, we will store it here.
Our next two are more tooling to help build software. The first is Application Insights which is a central log consolidation and dashboard tool. It lets us monitor our application and resources from a central location. Next is DevText Lab which is a testing automation suite to help us test our application. The third in this row is the Azure Security Center which consolidates all of the policies and monitoring of our resources and application into a single location.
The next three are more different than alike. The first is Azure Advisory which is a knowledge base and training suite along with some AI driven tools that can help you optimize your resource usage and technology choices. This will actually be very important to us later on as we start to spend money, but it will also help us get the most out of what is offered for free. Never pass up informed advice. The next always free resource is Microsoft IoT Hub. IoT stands for Internet of Things and the IoT Hub is used to consolidate telemetry messages from devices and serve them up for other programs to use. Last is a Load Balancer which is one of the central cloud building blocks. It allows us to have many workers appear as one to the outside. It lets us scale out.