Week of August-15
Philipp Weckerle
Advocating customer experience and innovation through cloud technologies on Microsoft Azure.
With cloud workloads, especially in highly demanding environments, the application lifecycle has to satisfy requirements that might be more challenging than in traditional on-premise environments. Zero touch, >99.9% SLA, etc. put the operations side of the responsibility chain in the spotlight.
A topic that is often living in the shadows is Azure Monitor and in particular its close relative, Azure Application Insights.
Traditional monitoring patterns look at the problem space from a very resource-focused angle, which -in reality- the user experience would dictate a more application-centric view, by monitoring in a more holistic manner, not the involved resources in silos.
Often times, the impact of certain order of operations can be the driving factor for a bad user experience, while each resource monitored by itself shows satisfactory health.
Azure Application Insights allows exactly this, approach the monitoring topic with the whole application in mind.
We can benefit from Azure Application Insights with little to no additional work or modification to the application code, when using Azure PaaS services, but we can also augment the telemetry with contextual information specific to the application and enhance the semantics of the information presented. All in all a topic worth looking at closer
But not only the operations teams are facing challenges, a traditional software rollout process might not be suitable for the "always on" expectation today's environments are measured towards.
Decoupling the code rollout from a feature release makes it more efficient for development teams to introduce phased rollouts of features or even facilitate "dogfood testing" scenarios. In this context, a common pattern is the introduction of feature flags, which allow the code to enable features based on those, externally managed, settings.
Azure App Configuration provides a central place where you can manage your application configuration and feature flag information and you applications can easily pick them up from there. While you might think "why would i need this", managing app configuration and feature flags across multiple active versions can become somewhat tricky and having a central service to take the heavy load off can certainly reduce the resistance to transition to this approach sooner, rather than later.