# Wednesday, May 8, 2019

Keeping a computer system available all or almost all the time is a challenge.

Sometimes software patches or upgrades need to be installed on a server. Sometimes, old hardware needs to be replaced. Sometimes, hardware unexpectedly fails. Sometimes power to building or part of a building fails.

All these things can contribute to downtime - some of it planned and some of it unplanned.

Monitoring, redundancy, and planning all reduce the risk of downtime in Azure.

Many resources in Azure are written in triplicate. Only one copy of that data or service is live at any given time. The other two exist in case the live copy becomes unavailable. If this happens, Azure will automatically route requests to one of these "backup" copies. The live copy is sometimes called a "hot" copy, while the 2 redundant backups are sometimes referred to as "cold" copies.

This works well during planned software and hardware upgrades.  The cold copies' servers are upgraded first; then, new requests are routed to one of the upgraded cold copies, making it the hot copy, before the original hot copy is upgraded. Azure maintains something called "Update Domains" to help manage this. Systems in separate Update Zones will not be shut down for upgrades simultaneously, in order to avoid downtime.

Unexpected downtime is harder to manage. This is typically caused by hardware or software failure or a failure of a system, such as a power supply on which a service depends. All hardware fails at some point, so this must be dealt with.

To handle these failures, Azure continuously monitors its systems to determine when a failure occurs. When a failure on a hot copy is detected, requests are routed to a cold copy; then, a new copy of the service or data is deployed onto available hardware in order to maintain 2 redundant cold copies. Redundant copies of a service are kept in different parts of a datacenter, so that they don't rely on a single point of failure. These independent parts of the data center are known as "Fault Domains" because a fault in one Fault Domain will not affect services in the other Fault Domains.

As a result of these practices, Azure can guarantee a certain level of uptime for each of its paid services. The level is dependent on the service and is usually expressed in terms of percentage uptime. Azure guaranteed uptimes range from 99.5% to 99.99%. This guaranteed uptime percentage is known as a "Service Level Agreement" or "SLA"

You can view the current uptime guarantee for each Azure service here.

An uptime of 99.5% would be down a maximum of 1.83 days per year and an uptime of 99.99% would be down a maximum of 52.6 minutes per year.

Azure guarantees this by agreeing to credit all or part of a customer's charges if the uptime target is not met in any given month. The exact credit amount depends how much the target is missed.

As of this writing, here are the guaranteed uptimes for each Azure service.

Service Uptime Notes
Active Directory 99.90%
Active Directory B2C 99.90%
AD Domain Service 99.90%
Analysis Service 99.90%
API Management 99.90%
App Service 99.50%
Application Gateway 99.50%
Application Insights 99.90%
Automation 99.90%
DevOps 99.90%
Firewall 99.50%
Front Door Service 99.99%
Lab Services 99.90%
Maps 99.90%
Databricks 99.50%
Backup 99.50%
BizTalk Services 99.90%
Bot Service 99.90%
Cache 99.90%
Cognitive Services 99.90%
CDN 99.90%
Cloud Services 99.50% Assumes at least 2 instances
VMs 99.50% Assumes at least 2 instances
VMs 99.90% Assumes Premium storage
CosmosDB 99.99%
Data Catalog 99.90%
Data Explorer 99.90%
Data Lake Analytics 99.90%
Data Lake Storage Gen1 99.90%
DDoS Protection 99.99%
DNS 100.00%
Event Grid 99.99%
Event Hubs 99.90%
ExpressRoute 99.50%
Azure Functions 99.50%
HockeyApp 99.90%
HDInsight 99.90%
IoT Central 99.90%
IoT Hub 99.90%
Key Valut 99.90%
AKS 99.50%
Log Analytics 99.90%
Load Balancer 99.99%
Logic Apps 99.90%
ML Studio 99.95%
Media Services 99.90%
Mobile Services 99.90%
Azure Monitor 99.90%
Multi-Factor Authentication 99.90%
MySQL 99.99%
Network Watcher 99.90%
PostgreSQL 99.99%
Power BI Embedded 99.90%
SAP HANA on Azure Large Instances 99.99%
Scheduler 99.99%
Azure Search 99.90%
Security Center 99.90%
Service Bus 99.90%
SignalR Service 99.90%
Site Recovery 99.90%
SQL Database 99.99%
SQL Data Warehouse 99.90%
SQL Server Stretch Database 99.90%
Storage Accounts 99.99% 99.9% for Cold Storage
StorSimple 99.90%
Stream Analytics 99.90%
Time Series Insights 99.90%
Traffic Manager 99.99%
Virtual WAN 99.95%
VS App Center 99.90%
VPN Gateway 99.95%
VPN Gateway for VPN or ExpressRoute 99.90%
Information Protection 99.90%
Win10 IoT Core Svcs 99.90%
VMWare Solution 99.90%

Services like Azure Backup and Azure Functions, which can be easily retried, have the lowest guaranteed uptime.

The highest guaranteed uptimes are reserved for mission-critical services, such as DNS and Traffic Manager, along with all the database and storage offerings.

Free services are not listed here, as they almost never have a guaranteed uptime. Even if they did, there is nothing to credit to the account.

Azure has systems in place to guarantee high availability and reliability and Microsoft has enough confidence in those systems to guarantee a predictable level of uptime and base that guarantee on monetary credits.

Wednesday, May 8, 2019 9:55:00 AM (GMT Daylight Time, UTC+01:00)
# Tuesday, May 7, 2019

Saturday, I passed the Microsoft Azure Fundamentals exam (AZ-900).

The topics covered for this exam are listed here.

It had a lot of general knowledge question (a few where you just needed to know the difference between IAAS and PAAS). But there were some trivia questions, as well.

I studied for 2-3 days and got an 850.

Here is how I prepared:

  1. I completed this 12-module course, which took about 8 hours: Azure Fundamentals course
  2. I reviewed this PowerPoint deck: AZ-900 Certification Training, created by Daniel Baker.

While studying the above 2 resources, if I found any service with which I had no experience, I opened the portal and created that service and poked around in it a bit. I found it stuck in my memory much better when I did that.

Also, I kept open a text document while studying, in which I listed any topics that I did not know or felt weak in. After studying, I returned to this and reviewed these topics multiple times.

Related to this practice, I saved a copy of the above deck and deleted the slides covering topics I felt I knew well. I reviewed the remaining slides until I could read the title and articulate the ideas covered by that slide.

This was probably the least technical Microsoft certification exam I've taken. It wasn't difficult, but it did require some preparation on my part. I've worked in Azure for years, but I don't think I would have passed without studying. There were too many questions about support options and SLAs and other things I don't spend much time on.

Tuesday, May 7, 2019 9:57:00 AM (GMT Daylight Time, UTC+01:00)
# Monday, May 6, 2019

Episode 562

Mike Benkovich on Visual Studio 2019

Microsoft MVP Mike Benkovich discusses the important new features in Visual Studio 2019

Monday, May 6, 2019 9:07:00 AM (GMT Daylight Time, UTC+01:00)
# Sunday, May 5, 2019

5/5
Today I am grateful to pass an Azure certification exam yesterday.

5/4
Today I am grateful to chat yesterday with people from 3 different continents.

5/3
Today I am grateful to attend the AUVSI XPONENTIAL conference this week and see some amazing uses for drones.

5/2
Today I am grateful to see "Avengers: Endgame" with Tim last night.

5/1
Today I am grateful I did not have to go out in the storm the last couple days.

4/30
Today I am grateful I was able to figure out my son's CRM questions yesterday.

4/29
Today I am grateful for a walk around Park Ridge yesterday.

4/28
Today I am grateful:
-to participate in this year's Global Azure Boot Camp yesterday
-for a visit from my son Nick this weekend.

4/27
Today I am grateful for my first visit to Ottawa when the temperature was above freezing.

4/26
Today I am grateful to successfully complete a project we have been working on for months.

4/25
Today I am grateful I've managed to keep up this "Daily Gratitude" thing for 6 years.

4/24
Today I am grateful for an excellent ramen dinner with my team last night in Ottawa.

4/23
Today I am grateful to arrive safely in Ottawa after many delays.

4/22
Today I am grateful to spend Easter in Michigan with my siblings and their families.

4/21
Today I am grateful to attend the first playoff game at Little Caesars Arena, which was also my first time seeing the Pistons at LCA.

4/20
Today I am grateful for lunch in East Lansing, MI yesterday.

4/19
Today I am grateful to David, Mike, and J. for answering my technical questions yesterday .

4/18
Today I am grateful for a walk around Glencoe Beach yesterday evening.

4/17
Today I am grateful for the opportunity to learn something new every day.

4/16
Today I am grateful for people who reach out unprompted to see how I'm doing.

4/15
Today I am grateful to learn the TV in my building's Community Room has HBO.

4/14
Today I am grateful for this view before I go to bed each night.

4/13
Today I am grateful to finish preparing my taxes in time.

4/12
Today I am grateful to watch lightning splash across the downtown sky last night.

4/11
Today I am grateful for good Project Managers who take over some of my headaches.

4/10
Today I am grateful for good news (I.e., no news) from my surgeon at my follow-up appointment yesterday.

4/9
Today I am grateful to wake up to this view every morning.

4/8
Today I am grateful to spend hours in Andersonville coffee shops yesterday afternoon, reading a detective novel.

Sunday, May 5, 2019 3:37:17 PM (GMT Daylight Time, UTC+01:00)
# Saturday, May 4, 2019

AssistantFrank wants to be good. But he keeps doing bad things - really bad things, like armed robbery and rape. Still, he tries to make up for it. Most of the harm he causes is to the Bober family, an immigrant family struggling to keep their Brooklyn grocery store going.

So, Frank volunteers to work in the store at slave wages to make up for his sins. Customers like him and business increases. The family is kept from destitution by Frank's hard work and the fact that he sneaks some of the money he stole back into the cash register.

But soon, he is stealing again from the cash register. And trying to redeem himself again.

The Assistant by Bernard Malamud focuses on 3 characters:

Morris Bober, the impoverished, long-suffering Jewish immigrant grocery store owner. He works 18-hour days, but sees his business and savings evaporating.

Helen Bober, Morris's bright daughter, who defers her dreams of college in order to help support her family.

Frank Alpine, an Italian-American orphan, struggling to survive and to regain his lost morality.

Frank and Helen fall in love, to the horror of their parents, who disapprove of the gentile Frank. And as Morris grows older and weaker and frailer, Frank works himself sick to help the family that he feels he owes.

Ultimately, Frank succeeds the overworked, suffering Morris as his ultimate atonement.

Through Frank's story, Malamud shows us that we are all capable of redemption - no matter how terrible our sins.

Saturday, May 4, 2019 9:10:00 AM (GMT Daylight Time, UTC+01:00)
# Thursday, May 2, 2019

GCast 46:

Angular pt 5: Master Detail Components

Continuing the Angular tutorial: Learn how to coordinate the data-bound items in a list with a component showing the selected item.

Thursday, May 2, 2019 3:50:13 PM (GMT Daylight Time, UTC+01:00)
# Monday, April 29, 2019

Episode 561

Adam Hecktman on Civic Tech

Adam Hecktman describes Civic Tech and what Microsoft is doing to help the city and people of Chicago.

Monday, April 29, 2019 9:04:00 AM (GMT Daylight Time, UTC+01:00)
# Sunday, April 28, 2019

RagtimeIt was the early 20th century and ragtime black pianist Coaltrain Walker was returning from New Rochelle to New York City after visiting his fiancée Sarah and their infant son, when he was accosted by a group of white firemen, led by Chief Will Conklin. The firemen demanded he pay a "toll" for driving on their road. While Walker went to fetch a policeman, the firemen vandalized his new car. The policeman took the side of the racist vandals. Soon after, Walker's fiancé died when after being struck by a policeman and receiving inadequate medical attention.

Coaltrain Walker quickly took action. He firebombed the station where he was harassed, he demanded the surrender of Conklin, he demanded the repair of his car, and he demanded an apology. Ripple effects were felt - not only by the society who learned of his violence - but by the white family that had assisted him and his family.

"Ragtime" by E.L. Doctorow looks at race relations in this country

Coaltrain's isn't the only story in this novel, but it is the most important. And the other stories and characters weave together imaginatively. For example, Tateh, a character introduced early in the novel (he is an impoverished artist, who is assisted by the former lover of Mother's Little Brother) reappears later as a fake Baron who makes animated movies.

"Ragtime" attacks race relations in America head on. Often, even those whites who are helpful to blacks still see them as inferior. Walker's experience is insulting enough that we feel sympathy for him, even as he resorts to vigilantism.

There is a network of people affected by this story. We never know the names of some of the most important ones - for example, the family that takes in the fiancée and baby are identified by names like "Father" and "Mother" and "Mother's Younger Brother"; and some are well-known historical figures, such as J.P. Morgan, Harry Houdini, and Robert Peary.

But Doctorow takes us on a journey through many lives and the effects they have on one another.

Sunday, April 28, 2019 5:12:43 PM (GMT Daylight Time, UTC+01:00)
# Saturday, April 27, 2019

UnderTheVolcanoUnder the Volcano by Malcolm Lowry takes place almost entirely on a single day - The Day of the Dead in Mexico. It is the day that Geoffrey Firmin's estranged wife Yvonne returns after a year apart, in an attempt to save their marriage. But it is too late. His current relationship with alcohol has replaced his previous relationship with his wife.

It is the last day of Geoffrey Firmin's life.

Geoffrey misses and loves his wife, but he destroys his chance, spending the entire day in a drunken haze, sliding into self-destruction. He is clearly a high-functioning alcoholic and he tests this by drinking more and more as the day goes on.

The novel gives us a look into the mind of Geoffrey, his wife, his brother Hugh, and his old friend Jacque. We get a peek into their actions and memories, and (in the case of Geoffrey) hallucinations. It gives us a look at the problems of substance abuse and the denial inherent in those who suffer it.

Beer, whiskey, tequila, and mescal lead the protagonist on a downward spiral. We know where it ends; but, like a highway accident, we cannot look away.

The title refers to the two volcanoes that loom above the central Mexican City of Quauhnahuac, where the action takes place; but, also to all the unspoken conflict below the guilt and anger felt by the main characters.

Those who know me well will know what memories Geoffrey's behavior triggered in me. In Geoffrey, I saw a version of myself in a period of my life when I embraced the pain inflicted by another, rather than attempting to heal my wounds. Fortunately, I emerged from my self-destructive behavior and recovered (mostly).

Geoffrey did not.

Saturday, April 27, 2019 8:03:00 AM (GMT Daylight Time, UTC+01:00)
# Thursday, April 25, 2019

GCast 45:

Angular pt 4: Displaying a List

Learn how to use Angular to bind to a list of items and iterate through that list.

Thursday, April 25, 2019 9:02:00 AM (GMT Daylight Time, UTC+01:00)