In the last two parts we deployed an Azure Stack Development Kit on an Azure VM and got it registered with Azure. Then we created an Offer and Plan for the default user and started the download of marketplace items for use on Azure Stack. Now that those items have completed their download, we can move on to the process of installing the Resource Providers (RPs) for Microsoft SQL Server (MSSQL), MySQL Server, and the App Service. In this post I will cover the process and scripts you can use to get the MSSQL and MySQL RPs running. The App Service will be a separate post, due to the additional complexity involved.
Let the registering begin! So you’ve got a working Azure Stack on Azure, which is like some kind of crazy inception thing. But let’s be honest with each other, there’s not a whole lot to do on Azure Stack at this point. You could like provision a VNet, maybe set up some sweet Resource Groups, but if you want to do something useful – like create some VMs or deploy services – you’re going to want to register your Azure Stack with Azure and syndicate with the marketplace. So let’s go ahead and do that using the Register-AzureStackLAB.ps1.
I’ve been working my way through the very excellent Docker Deep Dive book by Nigel Poulton. If you’ve been meaning to get into the whole Docker scene, this is the perfect book to get you started. Nigel doesn’t assume prior container knowledge, and he makes sure that the examples are cross platform and easily executed on your local laptop/desktop/whatever. That is, until you get to the section on Docker Swarm. Now instead of using a single Docker host, a la your local system, you now need six systems – three managers and three worker nodes. It’s entirely possible to spin those up on your local system – provided you have sufficient RAM, but I prefer to use the power of the cloud to get me there. See I might be working through the exercises on my laptop over lunch and then my desktop at night. I’d like to be able to access the cluster from whatever system I am working on, without deploying the cluster two or three times.
Is Technology Moving Too Fast? Yes. Will It Slow Down? No.
As the spectre and meltdown drama continues to play itself out in the increasingly disdainful and disinterested public eye, a few things have come to my notice. The first is a post from The Math Citadel taking Intel and the IT field at large to task for having a fundamental design flaw in processor that is 20 years old. They posit that the ideas of “fail fast and fail often, the perfect is the enemy of the good, and just get something delivered” should be summarily rejected.
They rightly point out the following:
“Rushed thinking and a desperation to be seen as ‘first done’ with the most hype has led to complexity born of brute force solutions, with patches to fix holes discovered after release. When those patches inevitably break something else, more patches are applied to fix the first patches.”
They claim that in our rush to minimally viable product, and adopt Agile software development practices, we have set ourselves on a path of continual and ever increasing failure. Being mathematicians, their prescription is of course that IT needs to think more like them. Because as we all now know, mathematicians are rigorous and correct all of the time. Yes I linked a Cracked article, no I don’t see why that should matter.
The writer of the post clearly has an agenda, and a lens of perception coloring how they view the world. If I asked a baker to tell me how to fix what is wrong with IT, they might make allusions to careful measurement and have a recipe that is followed vigorously. It’s difficult to escape the trappings of your own occupation. But that doesn’t make the mathematicians wrong, just insufferably smug.
The other article is from Danny Crichton care of TechCrunch, and he points out a similar trend with an alarming number of examples of technology going wrong. I don’t really need to consult that since in the last week alone, my laptop has Green Screened on reboot, my phone had to be factory reset for “reasons”, Hulu live streaming was down for 3 hours during Friday primetime, and Skype’s login has been dodgier than usual for the last five days. Everything is broken, or in various states of broken, ever since Google started their forever Beta program. *Amen*
Crichton cites some interesting research about the need to maintain existing software rather than just speeding ahead to the next thing. He also points out that the massively complex systems we have put together are beyond our own ken, and small changes or failures can have a massive and totally unpredictable impact. Apparently Charles Perrow, a professor at Yale, calls these normal accidents. I prefer the more upbeat and Bob Ross inspired happy accidents.
What are we to make steaming pile of technology that has been pooped out over the last ten years? Do we hold our nose and smile? Crichton brings up the fact that it is possible to make a highly available, and resilient complex system, such as modern US aviation. That makes sense when people’s lives are literally on the line, and not so much when the stakes are whether or not I can view pictures of tacocat whenever I want on my phone. What is the motivation for a company to create product that is incredibly stable, at triple the cost, for none of the return? Consumers have become completely numb to the constant broken state of their technology. The only time it becomes patently obvious is when you try to teach a loved one how to use some new piece of gadgetry, only to discover how broken and non-intuitive the product is. Apple’s no bastion of light these days, but I will hand it to the Apple of five years ago. They made a rock solid product, and ruled the ecosystem with an iron fist, much to the appreciation of their stockholders. That level of quality is, erm, lacking somewhat these days.
I don’t know of a simple way out it, but I think it will probably end up being AI. Our systems have become so ludicrously complex, and unfathomably labyrinthine that mere mortals stand a snowball’s chance in hell of taming the beast. I suspect that the only way that our foundations get shored up is if a neutral third-party with infinite patience, computational power, and memory is able to start fixing things for us. The proverbial mother cleaning up the children’s’ mess so that we may make another mess tomorrow.
Or we’ll just accidentally create our own oblivion. I feel like the odds are pretty even.
With the introduction of Dv3 and Ev3 VMs in Microsoft Azure, it became possible to run nested virtualization on Azure. Since I’ve got Azure Stack on the brain these days, my immediate thought was, “I wonder if I can run Azure Stack on Azure?” (cue Inception music). Not only was the answer yes, but others had already started the process for me. Following in the footsteps of Daniel Neumann and Florent Appointaire, I was able to bet the process running. One of the engineers at Microsoft took some of that work, added their special sauce and rolled out a GitHub repo that helps you through the process. I have forked that repo, and started adding some automation myself.