It’s just about two weeks since my preconference session “The A to Z of Availability Groups” at PASS Summit 2014. Although the event was just one day, it was nearly nine months in the making and almost didn’t happen as it ultimately turned out. But what was the journey to get there and why is there so much buzz around what I’m doing right now?

Turn your way back machine to a few years ago, because that’s where this tale starts. When I first put together my Mission Critical SQL Server class for public delivery, it had no labs. I had done private training classes for corporate customers with labs, but they were one offs and very painful. By the end of that initial three day class, I quickly realized that without any kinds of hands on experience, learning features like clustered instances of SQL Server (FCIs) and availability groups (AGs) would be useless. By the end of day two, no matter how much demo, no matter how many breaks, you just don’t always get it by staring at a screen.

One immediate problem was this: I wanted to keep it a three day class, but that was impossible with labs, so I expanded Mission Critical SQL Server to four days. What content would come out to put labs in? That was my next challenge. It could easily be a five day class, but I find people’s learning really starts to wane by the end of day three no matter how good of an instructor your are or how good the material is. I hate death by PowerPoint myself, so finding that balance of talk/demo to hands on would be crucial. I am a big believer in people learning by doing not just seeing and hearing.

Reality set in. Instructional design done right is hard work. It took me nearly six months to figure out how to incorporate labs before my next delivery. This caused me two major fits of pain from the start.

  1. I realized that there would be people at all ends of the spectrum in the class. It is inevitable. How do you keep more advanced students engaged while at the same time, the people who might be novices can still get something out of it? I know I have been in classes with labs that were, to be kind, useless. Great for beginners, but nothing for me. I wanted to try to somehow cater to
  2. How the hell would this be portable and feasible? I would need somewhat beefy machines with decent amounts of disk storage (and preferably fast – VMs hate slow machines). This immediately set off the alarm bells. My normal VM boxes were 16GB with at least 1TB of storage. That configuration would be, to put it mildly, a stretch. File this under “figure it out”, but it needed to go hand in hand with #1.

I then set out and did arguably the stupidest thing anyone can do: I decided to do three levels of labs. Yes, three – beginner, intermediate, and advanced. All would get to the same spot, just take different paths to get there. And it would be done all on the same set of VMs (within reason). Way to go Allan – create more work for yourself! With this in mind, I created the real v1.0 of the class with labs. Ultimately the VMs took between 200 and 300GB of drive space and I got everything working with an 8GB machine. The VMs were all Hyper-V, and that is the way the class has stayed, actually. I use VMware quite a bit, but not in this case.

The next challenge was hardware: how could I ensure that where I would put the class on would have machines with the specs to run the labs? One word sums that up: oy. I delivered the class that way for the better part of a year before I said enough was enough. Sending drives all around the world, different hardware in each location giving a good or bad experience to the students, problems with configurations … you name it, I experienced it. While in the end everyone still loved the class, I tore my proverbial hair out each time trying to ensure the damn labs worked.

Through all of this, I kept thinking “There has to be a better way.” There was. For my December 2013 class, I moved the VMs online, thus creating class v2.0. The students would now access them via a browser. The computers essentially just needed a decent internet connection and some ports open. That delivery was a revelation. Not only was the speed consistent and good for the VMs themselves, the students loved the expeience. On top of it, they could access them in the hotel at night or wherever. No need to stay late or feel pressure to get things done because things go away. Since last December, the labs keep evolving and changing. I add new stuff and refine with each delivery. They have pretty much stabilized, but I’m about to overhaul them to deliver what I would deem v3.0 of the class starting in 2015 with the Dallas delivery in January (have you signed up? Go do it!).

There are other advantages to the platform I’m using like the ability to give people access post-class. This would be like your own private lab in a way. It isn’t free, but I also know many people don’t have the time, inclination, or other means to set up some of this advanced stuff on their own.

One thing that I haven’t talked about is cost, and I’m not really going to but it’s not necessarily cheap to do all of this, but nothing done right is ever cheap, right?

That’s when I got crazier: what if I did a precon with labs? I did not want to duplicate my 4-day class; I wanted a unique experience in its own way. It would also mean a much more focused topic that could get done in a day. Enter my A to Z of Availability Groups precon. Now, this was different in other ways, too. In a standard class the number of students can range, but you’re not necessarily talking a ton of people. I’ve done precons of 50 – 150 people over the years. That is a WHOLE different level of scale. Clearly I had to start small, so I did it for a handful of folks at the Silicon Valley SQL Saturday in early 2014. I had some MCMs in there and even they loved it! I got bold and submitted it to SQLBits to be held in July of 2014, and did it there for 32 people. Before that, I actually did it at the SQL Saturday in Philadelphia in June for about 25 people. Every delivery people really liked. I was pushing the envelope a bit each more. I was working up to the big kahuna: PASS Summit.

The delivery of the full class in London in early 2014 also brought a new dimension to the class: bring your own device. Since the labs were browser-based, it was possible but that brought a whole new round of issues: would differing devices work? The answer was a resounding yes. Only one student’s laptop had an issue, and it was a corporate laptop with ports locked down that got fixed. There were Macs and PCs – it all just worked. It’s very expensive to rent PCs and with the portability here, BYOD makes sense. It also helps lower the cost of the class to students. This got scaled up majorly in the Philadelphia SQL Saturday precon – but again, it all just worked. The experience was fantastic for all involved. But would it work for up to 100 people?

When I submitted the precon at the call for speakers, it was iffy if PASS would do labs. Thomas LaRock (Twitter | Blog) is a fan of hands on learning, and I think championed this behind the scenes. PASS and I went back and forth for awhile until finally PASS said yes to labs. Cost was certainly a factor, but to provide a hands on experience for lots of people at the same time was unheard of. I must be crazy! We had to arrange enough internet bandwidth with a wired, dedicated connection, ensure 100 people (it was sold out) had machines with the right specs and could access the labs, proctors approved, etc. Even on the backend enough reserve capacity had to be in place to have roughly 300 VMs running at the same time. Even worse, I kept the three levels of labs. I really needed to have my head examined.

To a person in the days leading up to it, people said I was incredibly brave to do what I was doing, even in my four day class with the multiple levels – let alone 100 people in a precon. I am a big believer in go big or go home. The precon for 100 people would either go well or be a disaster from at least a lab perspective. I had no idea. To say the least, I was stressed out. Knock on wood, it all was fine. In fact, I think people really liked it. I got a lot of people coming up to me after and that night congratulating me for pulling it off. Many of these people were not there and people I considered friends and peers. I was still in the “I can’t believe it’s over” phase, so I couldn’t really process things. I was tired. I still had a session Friday and my MVP Summit to deal with.

Now that it is in the rear view mirror, I’m a bit amazed I pulled it all off. Everything magically came together and … wait for it … it all just worked. 100 people simultaneously doing labs. I did that. Looking back, it was a long journey from hand built machines with heavens knows what specs to having 100+ people simultaneously doing labs on their own machines.


Let's all do labs!

100 people doing labs at PASS Summit 2014

If you want to hear a student’s take on the precon, see Steve Jones’ post for T-SQL Tuesday entitled “Something New Learned” here. I have known Steve a long time and I am humbled by his comments. I am glad he learned new things, and more importantly, he took away more from the class than just AGs. In chatting with him offline, I know it’s made him think about how to approach and do his events. UPDATE: Steve just wrote another blog post called “Continuous Learning” on the precon. Thanks, Steve!

What’s amazing about all of my classes – precon or 4-day Mission Critical SQL Server (either public or private deliveries) – is that I’ve had everyone from DBAs and devs to sysadmins, normal folks to MVPs and MCMs. All seem to walk away happy. I can tell you sysadmins love the advanced stuff since it’s largely scrpting only. And what is nice to see, and something that Steve points out in his blog post, is the intereaction. DBAs may struggle with some of the Windows stuff, but the sysadmins sometimes struggle with the SQL stuff. Nice to see people help each other. Isn’t that what it’s all about? I also, even in the beginner stuff, make people think. I give people enough rope to hang themselves, but in a good way. I know I learn more from mistakes than if things go well all the time.

I’ve got big plans for training in 2015. I’ve been asked if I will do Pluralsight and deliver my class that way. The answer is no; I’ll be doing something else through our own SQLHA University. But make no mistake – there will be some online stuff, and possibly with labs. We’ll see … 🙂

There will also be the standard public deliveries anyone can attend (both 4-day Mission Critical SQL Server and precons) as well as private classes (which I do a lot for companies – inquire if interested). Right now for the 4-day Mission Critical SQL Server class is scehduled for Dallas (January 26 – 29, 2015), Philadelphia (March 30 – April 2, 2015), and London (September 28 – October 1, 2015). As of today, the Dallas and Philadelphia classes have nice discounts, so grab your spot today to experience hands on training you can’t get anywhere else.