My Azure Learning plan – update

Since mid December I have spent a fair amount of time learning about Azure, the content I have covered so far is below, the rest I have yet to learn about =)

Quick shout out to @Pluralsight, @AzureBarry and @Mark_heath without these courses I wouldn’t have learned most of what I know at this moment in time.

Section 1: Basics of Cloud Computing and Azure Overview
In this section we will see what is cloud computing and its acronyms concepts. At the end, the video provide an overview on Microsoft Azure.
• The Course Overview
• Cloud Computing Acronyms and Concepts
• Microsoft Azure Overview
1.1 The Course Overview
This video will an overview on the entire course
1.2 Cloud Computing Acronyms and Concepts
In this video, we are going to take a look at several Cloud Computing Acronyms and Concepts.
Understand Private Cloud, Public Cloud, and Hybrid Cloud
Get to know IaaS, PaaS, SaaS, DRaaS, and BaaS
• Describe several cloud computing characteristics (Scalability, High Availability, Cost, Pay per use,…)
1.3 Microsoft Azure Overview
This video gives a high-level overview of the Microsoft Azure public cloud platform.
Know the concepts of the Microsoft Azure datacentre’s
Get an overview of Microsoft Azure components and Services
Understand the different Azure platforms, Azure Service Manager, and Azure Resource Manager

Section 2: Introducing Azure Subscriptions
This section introduces us to the Azure subscriptions and helps us to deploy an Azure trial subscription.
• Azure Subscriptions
• Deploying an Azure Trial Subscription
2.1 Azure Subscriptions
This video will an overview on the entire course
2.2 Deploying an Azure Trial Subscription
In this video, we are going to take a look at what it takes to deploy an Azure trial subscription.
• Get free trial subscription details
• Know the description of ‘other’ free Azure resources that you can use without a cost
• Watch a walk through demo on how to set up your trial Azure environment

Section 3: Introduction to Microsoft Azure Management Portals
In this section we will be exploring Azure portals also further the videos explains Azure Management tools in detail.
Exploring the Azure Portals
• Azure Management Tools
3.1 Exploring the Azure Portals
This video will an overview on the entire course.
Understand what lists are
See when lists are used
Learn how to perform data manipulation with lists

3.2 Azure Management Tools
In this video, we are going to take a look at the main differences between the Azure Classic Portal and the Azure Resource Manager Portal.
Explore the Azure Classic Portal
Explore the Azure Resource Manager Portal
Watch a demo on Azure portals

Section 4: Implementing an Azure Virtual Machine Architecture
This section defines the architectural design of the Azure VM and how to deploy it.
• Azure VM Architectural Design
• Deploying Your First Azure Virtual Machine
• Deploying a More Complex Azure VM Architecture
• Handling Azure VM High Availability
4.1 Azure VM Architectural Design
In this video, we are going to take a look at the following: (a) Azure Resource Groups (b)Azure Virtual Network (c)Azure Storage Azure Virtual Machines.
Get to know what are Resource Groups and how to architect them
Understand the different Azure Storage accounts and their characteristics, and the highlights of Azure VNets
Know the Azure Virtual Machine sizes and different images available today
4.2 Deploying Your First Azure Virtual Machine
In this section, we are going to take a look at Azure Virtual machines, going through different aspects of the creation process, deployment, and management.
Take a walk through of what settings and parameters are required for successful deployment of an Azure VM
Get to know what are the key Azure Virtual Machine requirements (Basics, VM size, settings and optional features)
Understand how to deploy and manage your first Azure VM: demo walk through
4.3 Deploying a More Complex Azure VM Architecture
This video has three main sections, helping you in understanding how to deploy more complex Azure VM architectures. It will make clear most of the deployment process in Azure relies on automation and scripts.
Explain the Azure MarketPlace templates
Uncover the GitHub Azure QuickStart templates
Use Visual Studio to automate your Azure VM architecture deployment process
4.4 Handling Azure VM High Availability
In this video, we discuss two prime features of Azure public cloud, allowing for a high available Azure VM architecture.
• Explain Azure Virtual Machine High Availability SLAs
• Get to know what are Azure Availability Sets and why to use them
• Demo walk through configuring Azure Availability Sets

Section 5: Azure Resource Manager (ARM) Templates
In this section we will learn what Azure Resources are and how to create customized ARM templates.
• Deploying Azure Resources from Community Templates
• Creating Your Own Customized ARM Templates
• Automating Azure VM Deployment Using Configuration Management
5.1 Deploying Azure Resources from Community Templates

In this video, you will learn the following: (a) The structure of an ARM template (b) Deployment from GitHub QuickStart Templates Deployment from Azure QuickStart Templates on azure.com
• Know what is the purpose of an Azure ARM template, and how is it structured
• Understand the key aspects of deployment of Azure Resources from the GitHub published QuickStart Templates
• Learn the key aspects of deploying Azure Resources from the Azure.com templates gallery
5.2 Creating Your Own Customized ARM Templates
This video is all about learning to build your own customized Azure ARM templates from Visual Studio
• Get an overview of the creation process in Visual Studio
• Demo walk through on how to create an Azure ARM template out of Visual Studio
• Deploy Azure Resources using automation
5.3 Automating Azure VM Deployment Using Configuration Management
In this video, we are going to take a look at what Azure VM Configuration Management means, discussing several of these Configuration Management tools, describing PowerShell DSC, Azure VM Extensions, and highlighting Chef and Puppet
• Learn the different definitions of Configuration Management and several well-known Configuration Management tools
• Get an overview of PowerShell DSC and VM Extensions in general and observe a demo on PowerShell DSC
• Do a walk through of Chef and Puppet

Section 6: Implementing Azure Identity
This section gives detailed explanation on deploying, creating and integrating Azure directory.
• Deploying Azure Active Directory
• Integrating On-Premises Active Directory with Azure AD
• Advanced Features of Azure Active Directory
• Integrating Azure AD with SaaS Applications
• Azure Active Directory Application Proxy
6.1 Deploying Azure Active Directory
This video is all about Azure Active Directory; starting from what exactly Azure Active Directory is, you’ll learn about the different versions and SKUs; we’ll quickly touch on Azure AD Domain Services, B2B, and B2C and close this video with a deployment walk through.
• Get to know what is Azure Active Directory
• Understand the Azure Active Directory versions, SKUs, and the differences between them
• Get an overview of Azure AD Domain Services, B2B, and B2C scenarios
6.2 Integrating On-Premises Active Directory with Azure AD
This video clearly teaches you how to establish a hybrid Azure identity solution, integrating cloud with on-premises Active Directory.
• Get to know what is the Azure AD Connect tool and how to use it.
• Understand what is Active Directory Federation Services (ADFS)
• Watch a demo on AD Connect in action
6.3 Advanced Features of Azure Active Directory
In this video, I’ll discuss several advanced features of Azure Active Directory
• Understand Multi-Factor Authentication (MFA)
• Know the company branding
• Get know what is advanced reporting
6.4 Integrating Azure AD with SaaS Applications
In this video, we are going to take a look at the current issue with using multiple identities and where Azure Active Directory can be of help.
• Understand the challenges with SaaS applications and authentication handling
• Get to know the use of Azure Active Directory help in optimization and streamlining cloud authentication and identity
• Understand what is the Azure Access Panel and how to enable and use it
6.5 Integrating Azure AD with SaaS Applications
In this video, we are going to take a look at the current issue with using multiple identities and where Azure Active Directory can be of help.
• Understand the challenges with SaaS applications and authentication handling
• Get to know the use of Azure Active Directory help in optimization and streamlining cloud authentication and identity
• Understand what is the Azure Access Panel and how to enable and use it

Section 7: Azure Monitoring and Diagnostics
In this section we will learn about Azure monitoring and operation management suite, also we will explore Azure application insights.
Azure Built-In Monitoring
• Operations Management Suite
7.1 Azure Built-In Monitoring
In this video, we are going to take a look at several concepts around Azure monitoring and diagnostics
Get to know the built-in monitoring features Azure provides
• Understand Azure Service Health and Azure Boot Diagnostics
• Learn how to configure alert notifications and customize your monitoring
7.2 Operations Management Suite
Even with several built-in monitoring and diagnostics features, Azure is sometimes limited in output, especially in a hybrid or enterprise oriented environment. That’s where Operations Management Suite (OMS) comes to the rescue!
• Understand what is Operations Management Suite (OMS) and how to deploy it
• Extend Operations Management Suite with Solution Packs
• Use OMS Log Search and Log Analytics

Section 8: Azure Disaster Recovery Solutions
This section gives thorough explanation on Implementing Azure for Azure VMs. The section also further explains the concept Azure Site Recovery (ASR)
• Implementing Azure Backup for Azure VMs
• Implementing Azure Backup (Hybrid)
• Azure Site Recovery (ASR) in Hyper-V and Non-Hyper-V Scenarios
8.1 Implementing Azure Backup for Azure VMs
Backup is still a vital point in providing a system’s high availability and disaster recovery, even when running as a public cloud virtual machine. While the Azure platform provides excellent uptime compared to most on-premises datacenters, one should not forget to take backup into account.
• Understand why we use backups for Azure Virtual Machines
• Know how to configure Azure Backups of Azure VMs, as well as how to restore an Azure VM
• Demo walk through the backup and restore operation
8.2 Implementing Azure Backup (Hybrid)
This video will teach you all about using Azure backup in a hybrid topology setup, mainly using Azure Backup solution as a target for your on-premises backups.
• Get to know what does it take to use Azure as a backup target
• Deploy Azure Backup (agent-based) and deploy Azure Backup Server
• Watch a demo on implementing Azure backup in a hybrid scenario
8.3 Azure Site Recovery (ASR) in Hyper-V and Non-Hyper-V Scenarios
Azure Site Recovery (ASR) provides organizations with a true disaster/recovery solution for VM workloads, no matter where they are running. Using an intelligent “write change” replication, an async copy of your VMs are available in Azure and provide RPO/RTO of minutes instead of hours in most other DR solutions.
• Understand what is Azure Site Recovery (ASR)
• Deploy ASR for Hyper-V workloads
• Deploy ASR for non-Hyper-V workloads (Amazon AWS, VMware, Azure Classic VMs, and physical servers)

Section 9: Creating and Managing SQL Services in Azure
This section explores on creating and deploying SQL Azure. At the end, the section gives an overview on managing the SQL server and databases running in Azure.
• Deploying SQL VM Solutions
• Creating a SQL Azure DB Solution (PaaS)
• Managing SQL Server and Databases Running in Azure
• SQL Database (Backup and Restore)
9.1 Deploying SQL VM Solutions
This video is oriented around using the Azure infrastructure (IaaS) platform, to deploy Virtual Machines running SQL Server.
• Know what SQL Server VM Solutions can be deployed in Azure
• Understand how to deploy SQL Server VM solutions from an Azure ARM template
• Watch a demo on how to deploy SQL Server VM from a template in the Azure Portal
9.2 Creating a SQL Azure DB Solution (PaaS)
This video explains the core concepts of using SQL Azure hosted databases, relying on the PaaS aspect of Azure platform. Hosting SQL databases in Azure gives you a lot of flexibility and scalability out of the box, which makes it an ideal candidate for public cloud.
• Understand what are the main differences between SQL Server VM and SQL Azure
• Deploy a SQL Azure database solution
• Explain Azure SQL Database Tiers
9.3 Managing SQL Server and Databases Running in Azure

This video combines the management aspect of SQL databases, irrelevant from where they are running (on-premises, in-Azure VMs, or in-Azure PaaS)
• Learn how to manage SQL Server VM solutions running in Azure
• Learn what it takes to manage your SQL Azure hosted databases
• Demo
9.4 SQL Database (Backup and Restore)
This video details the flexibility of using Azure for storing your SQL database backups.
• Get to know how to integrate SQL Server VM Solutions’ backups with Azure
• Understand how to manage SQL Azure database backups
• Watch a demo on SQL backup and restore with the help of Azure platform services

Section 10: Implementing Azure Web Apps
In this section, we will see an overview on Azure Web Apps and plans. Further, we will learn building scalable Web App Solutions.
Azure Web Apps and Plans – An Overview
Deploying Web Apps
Configuring Azure Web Apps Settings
Azure Web Apps Monitoring and Diagnostics
• Building Scalable Web App Solutions
10.1 Azure Web Apps and Plans – An Overview
This video is part of a larger section, in which you’ll learn about Azure platform services. The key components you’ll see are Web Apps, Mobile Apps, and Logic Apps. This first video focuses on Azure Web Apps and how to deploy and manage them.
Get an overview of Azure Web Apps and Web Apps Services
Understand why we use Azure Web Apps
Get to know the different Azure Web Apps plans available today
10.2 Deploying Web Apps
In this video, we are going to take a look at what it takes to deploy Azure Web Apps.
Learn to deploy Azure Web Apps from the Azure Portal
Learn to deploy Azure Web Apps from Visual Studio
Learn the different ways to publish Web App content
10.3 Configuring Azure Web Apps Settings
This video is all about the configuration settings of an Azure Web App (and thus all other Azure App services if you want).
Configure the Web Apps general settings
Configure Web Apps authentication and authorization
Perform Web Apps backups and manage SSL certificates
10.4 Azure Web Apps Monitoring and Diagnostics
We already discussed Azure monitoring and diagnostics in a previous video; but this one is specifically around Azure App Services monitoring
• Monitor Azure App Services from the Azure Resource Manager Portal
• Use specific monitoring and diagnostics for Azure Web Apps
• Uncover Azure Application Insights
10.5 Building Scalable Web App Solutions
Deploying Azure Web Apps shouldn’t always be that hard. But for most enterprises the challenge is keeping up with performance, which is a huge business driver for migrating your web applications to a public cloud platform such as Azure.
• Use Staging and Production deployment slots (Continuous Integration/(CI))
Use Continuous Deployment (CD)
• Explain the scaling features per App Tier

Section 11: Azure Platform-as-a-Service (PaaS) Components
This section introduces us to the Azure Paas Solutions, Azure queue storage and table storage and finally Azure Machine Learning.
Introduction to Azure PaaS Solutions
Azure Queue Storage and Table Storage
• Introduction to Azure Machine Learning
Azure Non-SQL Database Solutions and Cache
• Azure IOT Solutions and Components
• Azure Security Center
11.1 Introduction to Azure PaaS Solutions
In this video, we will highlight several of the common Azure PaaS components, which basically means stepping away from managing the underlying infrastructure side of the Azure datacenters.
Get to know what is PaaS and how to describe it
Get an overview of Microsoft Azure PaaS Services and components
Explain PaaS characteristics
11.2 Azure Queue Storage and Table Storage
This video will teach you all about using Azure Storage Account components, specifically around application integration.
Understand the Azure queue storage
Know the Azure table storage
Secure the storage account integration from your applications
11.3 Introduction to Azure Machine Learning
Azure Machine Learning (ML) allows organizations to run high density, high volume based calculations and predictions. It is often used in an industrial or scientific context.
• Understand why to use Machine Learning
• Understand Azure solutions enabling data science
• Get to know the Azure Machine Learning process and algorithms
11.4 Azure Non-SQL Database Solutions and Cache
We already discussed SQL database on Azure in a previous video. But SQL Server is not the only database technology available on Azure, as you will learn from this video.
• Get an overview of DocumentDB and MongoDB as non-SQL database solutions
• Get an introduction to MySQL and how to use it within Azure
• Get an overview of Redis Cache and how to use it
11.5 Azure IOT Solutions and Components
IOT (short for Internet of Things) is becoming a very important topic in the IT space, and basically in about any industrial segment. By connecting devices to the Internet, they become ‘smarter.’ In this video, I’ll describe the different aspects of IOT, and how it relates to Azure.
• Get to know why is Internet of Things (IOT) a big thing, and about IOT devices
• Understand the Azure IOT reference architecture
• Know the Azure Event Hub, IOT Hub, and Azure Stream Analytics
11.6 Azure Security Center
In this last video, I’ll talk about Azure security features, and more specifically about the “Azure Security Center.” This is a centralized dashboard, giving you real-detailed information and views on all-things security in your Azure environment.
• Get to know what is Azure Security Center
• Deploy Azure Security Center
• Watch a demo on using Azure Security Center

Way more to learn and I am really enjoying learning Azure.

Error handling using aspect-oriented programming (AOP)

Code become’s messy with error handling logic all over our code, wouldn’t it be nice to be able to log the error, the offedning method name and the line number of the code that caused the error in the first place.

If you’ve done any MVC development then you are already familiar with AOP, [HandleError] is an example of an aspect and with very little effort indeed you can create your own. Creating an aspect means you can reuse logic for tracing, error handling and more very easily.

At work we use PostSharp for our AOP aspect-oriented programming and its doesn’t get much easier. The guys even give you an add on in visual studio and it walks you through how to go about learing AOP and how to create aspects using PostSharp – the tutorial is superb and very well thought out.

We have a class library logging class which we use as an aspect using Postsharp and this means that we can add a [Catch] attribute to the method and we now have error logging for this new method:-

[Catch]
public MyNewMethod()
{
    throw new applicationException();
}

And that is it, download the demo and give it a try its so easy but quite powerful – I recommend you take a look.

AOP intro using PostSharp

Aspect Oriented Programming (AOP) was something that I had heard of but never really looked into beyond a quick dip into it and then moved on – I admit I didn’t think it was something I would use as it looked quite complex when I skimmed over it.

Kendall Miller @kendallmiller showed me a demo of Gibraltar which makes use of AOP and PostSharp and I was hooked when I saw what those guys were up to. To Learn more about Gibraltar Software click on the image below:-

Gibraltar Software

To get started with PostSharp download the demo from their site by clicking on the image below:-

PostSharp you can download the demo from their site and it has a really nice integration with Visual Studio 2010 which takes you through creating aspects and then how to apply them to your code.

Aspects can be created for a number of things such as debugging, tracing, logging and much more, the tutorials within the Visual Studio integration show you how to check whats being applied where with a very cool Aspect browser.

That’s it for now – more to follow when I get deeper into using AOP.