Introduction

Recently we have been using Serverless360 to monitor and manage solutions we have build on Azure using Serverless and PaaS technologies. While talking to people about what we were doing we found it was common that a lot of people were confused by the many different monitoring and management capabilities that were available and the common question of where to use what.

This post would discuss some of these and try to demystify some of this.

If we think about some of the capabilities available, we end up with a list like:

  • Application Insights
  • Operations Management Suite
  • Security Centre
  • Serverless360

Before we look at some of the technologies we need to consider the roles of the stakeholders involved in your solution.

What does Microsoft?

First off let’s think about Microsoft. Your using an “as a service” product and Microsoft will manage a lot of things for you. Microsoft’s main responsibility is focused on maintaining the services on Azure so that they are available, usable and perform well. The way they tell you about this is via the Azure Status dashboard shown below - https://azure.microsoft.com/en-gb/status/.

On this dashboard, we can see which services are working and which have problems.

If we think about what Microsoft is doing, they are effectively looking horizontally across the Azure platform and telling us if the services are working or not. We can visualize this like the below diagram.

Microsoft is focusing on their data centers and their ability to offer each individual service to customers. The definition for Microsoft of “is the service working” does not necessarily mean the same thing as “is my function app working”. It is important to remember that these are different questions.

What does my Azure Administration Team?

If you are an organization using the cloud, then you will be looking at support and administration from 2 angles. There will be a team or role of people who look after your Azure resources from a platform perspective. There will also be a team of people who look at your resources from a business solution perspective. If you think of this as being the same as the difference between a Database Admin (DBA) who will look after 1 or more SQL Server databases and 1st, 2nd line support people who look after business solutions that solve business problems.  The DBA will be looking at the specific technical components and make sure they are working and maintained on their own. They are unlikely to have a full understanding of how each database plays into every business solution or application. Their focus is really on that database capability. This is the same as your Azure System Admin role but replace the database with Azure.

If we look at how this may work on the cloud then the Azure Admin cares about things like resource groups and subscriptions, how things are deployed and how they run. They will be looking at individual components on Azure and manage that they are providing an appropriate level of service.

Some of the tools your Azure Admin may use to monitor and manage the components include:

  • Azure Advisor
  • Azure Application Insights
  • Azure Security Centre
  • Operations Manager Suite

If we consider a diagram to illustrate how the Azure Admin looks at your platform then it may look like the below.

While Microsoft is looking after Logic Apps (and other services) as a service for all customers, my Azure System Admin is looking after my specific Logic Apps (and other components) and they deal with component level issues.

To look after my components the Azure System Admin will use some of the great tools that Microsoft offers like Azure Advisor, Security Centre, etc. These tools will highlight any issues and provide advice on how to resolve them. The System Admin is ensuring the component is healthy. The System Admin may become aware of a problem and use tools like Application Insights to troubleshoot problems when a component becomes unhealthy or has an issue.

So where is the problem?

At this point we have:

  • Microsoft looking across the Services on Azure making sure they are all healthy for all customers
  • Our Azure System Administrator looking across the components and instances of services on Azure we have setup and making sure they are healthy

While this is good there is a significant gap.

Modern architectures and architectures built on Serverless architectures are built by composing several services together to create a solution to a business problem. The physical architecture may mean that these components are spread across 1 or more resource groups and even 1 or more subscriptions. If you look to reuse services, then this is even more likely to be the case. The problem and gap are that it is difficult to visualize the composed solution from the physical assets you have and then as result, it is hard to support and manage the business solution/application.

This is where Serverless 360 steps in. Serverless360 allows you to create a Composite Application which allows you to group together resources into this logical Composite Application which can have a 1:1 mapping to a business solution. This then means that your IT Support team can focus on supporting business solutions which is what your business really cares about.

If you don’t believe me, at this point look at your Azure architecture and ask yourself “If Function App 1 and Logic App D, are unhealthy how is the business affected”?

How does Serverless 360 Help?

At this point, my positioning statement is that Serverless 360 allows me to give the support team a lens over my Azure resources which allows them to provide support from a business solution perspective. This gives us the full 360 support experience that is required to deliver an excellent IT operation to support your business.

If we look at how this may look in terms of extending the diagram we have used earlier. The below is how Serverless 360 adds to the situation:

You can see that a composite application in Serverless 360 is bringing in resources from different resource groups and groups them together because they work together to deliver a business solution. Serverless 360 is providing a logical view of our physical architecture to the support team. We can now focus on supporting these business solutions and dealing with issues from this logical perspective. You can see that below the Serverless 360 view of the composite applications I have configured lets me have a good overview of the state of my business solutions.

Where is the value and how does this help me?

At this point hopefully, you can see the value that Serverless has offered to my solution however if you are still looking for the value then consider the democratization offered to the support experience. Coming from an integration world we have all seen a big shift driven by the democratization of integration away from high-cost specialists to be more accessible to general developers and even the citizen integrator. Well, the same can begin to happen in the support space. Think about how many times issues in your business with cloud solutions must go to your most expensive most experienced resources when it comes to the cloud. This is usually because it takes the skilled and expensive resource to troubleshoot problems and understand the inter-relationships between cloud resources to see where the problem originates and to fix it. With Serverless360 we are creating sandboxed business applications when we create a composite application in the tool. This allows us to train our business as usual support personnel how to support a much smaller app, focusing on the things the app does, the management and monitoring tasks within the solution.  We don’t need to worry excessively about all the background knowledge and skills required for the whole Azure platform.

This first theme of the democratization of the support experience is where the most value can come from. Reducing the burden on your Azure System Administrator from looking after lower value support tasks which can be offloaded to the business as usual support teams. This results in better utilization of your resources which in turn will lower costs while at the same time offering a better customer experience to the owners of your business solutions.

This is really just the tip though, with Serverless360 you also have all of the benefits of being able to put in place proactive monitoring and tasks around the support requirements of the business solution which is not the same thing as just making sure the Azure Services are healthy which is Microsoft’s job and making sure your components are healthy which is your System Administrators job.