 Welcome everyone to a new episode of Azure Unblocked. Today, we are going to talk about the Azure Arc Jumpstart Arc Box and how you can leverage it for your POCs, labs, and demo environments. Hey, I'm here with Dale, Cloud Solution Architect at Microsoft and member of the Azure Arc Jumpstart team. How are you doing, Dale? I'm doing great. Thanks for having me, Thomas. Thank you for having you. What does a Cloud Solution Architect do especially when you work on the Azure Arc Jumpstart team? Yeah, great question. I'm a member of the Microsoft Global Partner Solutions team in the US, and part of my charter is working with partners to build hybrid Cloud solutions. Of course, Azure Arc is a critical portion of that. One of the projects I've been very involved with this year is the Azure Arc Jumpstart. That's pretty cool. Again, you're here today to talk about the Azure Arc Jumpstart Box. Before you actually go in and talk about this, can you explain a little bit more about the Azure Arc Jumpstart project itself? Yeah, let me give you just a very brief history. The Azure Arc Jumpstart is a product that we started about a year, a little over a year ago now, and it's a collection of over 60 technical scenarios and guidance on how to do specific things with Azure Arc. For example, how do I onboard a AWS EC2 Ubuntu Server into Azure using Azure Arc, or how do I onboard a GKE Kubernetes cluster as an Azure Arc-enabled Kubernetes cluster? These are very specific technical scenarios that we built guidance for as part of the Jumpstart. Then over time, with the Jumpstart project of all, we have a YouTube channel that we have a lot of different demos on that are outlining those very discreet technologies, that those discreet technical scenarios for Azure Arc. But with the Azure Arc Jumpstart Arc Boxes is a little bit more opinionated set of collateral to deploy an end-to-end Azure Arc Sandbox environment that covers all areas of Azure Arc from servers, Kubernetes, data services, and more, all in a self-contained environment. So that's exactly what the Jumpstart Arc Box is, is a self-contained Sandbox environment to pretty much do anything you want with Azure Arc in terms of POCs, demos, things like that. Okay. Now that is pretty cool. Again, I'm a huge fan of the Azure Arc Jumpstart project because it makes it so simple to actually connect your hybrid and multi-cloud resources and try things out and build these solutions actually to really go quickly, not just for POC, but I use them for demos, and I know that customers are looking for examples, how to onboard this, and a lot of the automation the team has done. Now, you already mentioned that we are here to talk about the Jumpstart Arc Box. Can you explain a little bit on this, how it's actually different from the rest of the Azure Arc Jumpstart? Yeah, absolutely. We have a couple of design principles for ArcBox. One is that the only thing you should need to deploy an ArcBox is an Azure subscription. For some of the other technical scenarios in the Jumpstart, you need to have, for example, an EC2, an AWS account, or a GKE or GCP account. With ArcBox, you just need an Azure subscription, and it's pretty much a self-contained sandbox environment, and it's all inside one resource group. It's also very easy to deploy. We'll show in just a minute how you can get one spun up pretty quickly, some minimal prerequisites. That's one of the key design principles, and some of the others are to make sure that we're showcasing end-to-end real-world examples of what actual customers, partners would do with Azure Arc in their production environments with their Cloud and Hybrid resources. That's the real differentiator from our standpoint in terms of ArcBox versus normal Jumpstart scenarios, is that one, it's end-to-end, it's comprehensive, and two, it's a complete sandbox that's all self-contained inside of Azure with minimal prerequisites. No, I love that because, again, that makes it so easy for me to actually deploy this and try it out or even show it to customers or work with customers on this. Again, I have a ton of ideas why I would use that. But can you explain a little bit what are actually the specific use cases you had in mind when the team was working on the ArcBox? Yeah, absolutely. Some of the use cases that we envision are for quickly starting up POCs for testing out Azure Arc Hybrid solutions. Training is another great use case that we've seen a lot of interest in where partners or customers are trying to get engineers, front-line engineers, trained on Azure Arc concepts. This is a great way to very quickly stand up the environment at a minimal cost, again, with minimal requirements, and then have, again, that sandbox where you can get in, get your hands dirty, understand the workings of Azure Arc in the context of all the other Azure services that Azure Arc is unlocking. There's also a number of other use cases that we're exploring, including things like integration testing for various scenarios, being able to quickly demo content for customer presentations and things like that. Okay. Now, this is exactly what I'm personally looking for, and I know that a lot of people in the field and also what people and customers are looking for this to actually get at all hands on experience and having an easy way to actually deal with all the Arc scenarios, so this is really cool. However, I guess there must be some prerequisites, and you mentioned I need an Azure subscription, obviously, for this. Is there anything more I need? Let me just show you really quickly at a high level what the architecture looks like, and then we'll kick off a deployment, and I'll talk to you exactly what those prerequisites are. Just really quickly, this is the architecture diagram showing everything that's inside of an Arc box. As I mentioned, it's all self-contained inside of one Azure resource group, so what we'll do is we'll kick off a deployment. It's all ARM template-based deployment, so we'll kick off a deployment using an ARM template, specify some parameters. Those are basically the prerequisites beyond just the Azure subscription, and that's going to spin up all of these resources inside of that resource group, including basically a cluster API-enabled cluster for deploying data services. There'll be a Rancher cluster for demoing Azure Arc-enabled Kubernetes, and there'll be a nested Hyper-V host for demoing Azure Arc-enabled servers, and that Hyper-V host will have several guests on it that we're projecting into Azure. Why don't I show you what exactly what this looks like as part of a demo and we can talk to some of those prerequisites in detail? No, that sounds great. Absolutely. I'm really looking forward to see all these different scenarios and how you actually go out and actually deploy this to the environment, so definitely a demo would be great. All right. Let me switch over to the Azure portal here, and what I've done is we've got, again, this is all ARM template-based, so I'll need to specify a couple of parameters. Let me just go ahead and create a new resource group. It looks like we're going to, let me pick a different resource, a different region here. We'll use West US 2. I'll give it a new resource group name. We'll call it ArcBox on blogs. I like the name. Absolutely. There's a couple of parameters we're going to specify. One is just our IP address, and let me pull that over really quickly. We're just using our IP address to make sure that there is going to be a client VM that we'll be RDPing into, and this will just make sure that only are this particular IP address can access that client VM via RDP. We are going to need to specify an SSH public key, so I'll go ahead and paste my SSH key in there, and that's super easy to create if you don't have one already. We'll need to give a service principal ID and secret, and so that service principal is one of those prerequisites that we're going to use. That's used as part of the automation to onboard a number of the Azure Arc resources. I'll give it my tenant ID for my AAD tenant, and then I can just give it a Windows Admin username and password. Those passwords are always so much fun. Of course, as part of this deployment, we will be using a Log Analytics workspace, and those workspace names need to be globally unique, so I'll just go ahead and call this ArcBox workspace. Let's call it ArcBox workspace on blog 1.3. That should be unique, and we'll go ahead and kick off the deployment. Let me go ahead and make sure my parameters are valid here. By the way, we'll share links at the end. You can use the same type of deployment from the portal pretty easily, so it looks like my validation passed, and I'll go ahead and I'll kick off the deployment. Okay, this is pretty cool, and I guess now, since we deploy a couple of things, as you just showed me here before, it will probably take some time to deploy all of these, like deploying the clusters, add a community's clusters, deploying the data service on top, deploying the virtual machine with the nested virtual machines as well, so how long do I need to expect? How long do I need to plan to actually when I need it? Yeah, absolutely. The deployment is actually a two-step process. The first step is to deploy the ARM templates, which we're doing here. That'll probably take about 20 minutes, maybe 25 minutes, just depending on several factors, but you can expect about 20 minutes or so. The next step to kick off the rest of the deployment is going to be to actually log into the client VM that I mentioned, so let's go ahead and do that next. I've got just an environment here that we can spin up and take a look at what that next step of the deployment looks like, so I'm gonna go ahead and RDP into this client VM, and what we'll see when I RDP into that box, let me make sure I'm using the right account here. I like when people are prepared and they actually have already pre-deployed everything so we can actually have a look at it. Yeah, absolutely. Now that we're logging into the client VM, this client VM you can think of as one of the windows into an ArcBox. There's a number of windows, the client VM is one of them, and the client VM is also instrumental because on first login, it's gonna kick off a couple of scripts that are gonna run to configure the rest of ArcBox after the actual ARM template is deployed, and so you see that those scripts kicking off now. So there's two different scripts. One is the ArcServers log-on script here, and the other is the Data Services log-on script. These are both PowerShell scripts, and if you download the actual code, you can take a look at what is actually happening inside of these scripts, but in a nutshell, what's happening is for the ArcServers login script, we're downloading some VHDs and extracting them and creating guests in the Hyper-V host, and so basically the ArcServers login script is creating the Azure Arc enabled, or the servers that will be Azure Arc enabled, and then it's going ahead and onboarding those servers as Azure Arc enabled servers. So that's one half of the automation scripts that the client VM is running on first log-on, and the other half is the Data Services log-on script, and so what this is gonna be doing is it's gonna be configuring the cluster API, the cluster that was spun off as part of the ARM template deployment to support Azure Arc enabled Data Services, and so what that means is we're deploying the Azure Arc Data Services data controller, and then on top of that, we're deploying a SQL managed instance and a Postgre Hyperscale instance on top of that Data Controller. So we'll have both SQL MI and Postgre Hyperscale in our ArcBox once all the deployment is finished. In terms of time, this part of the deployment takes about another 15 minutes or so for the VHDs and the guest VMs and Arc servers, log-on script to complete, and then for the Data Services components to complete. So once all that's complete, you have a complete and ready to go ArcBox deployment. Okay, sorry, but this is pretty cool because it deploy so many things, and I see like there's basically like almost like 100% automation there. If I see that correctly, it's like really spins up everything, which I usually would need take like hours probably to prepare. And obviously, if I do that in my production environment, that is fine, but especially if I want to play around with it and I just want to try something out, I don't want to spend actually time to configure everything correctly and make sure that I have access to it and something like that. And it seems that the ArcBox can really help me like building all this automation. And at the end, I just have my environment, my sandbox ready to go. So that is impressive. Yeah, that's actually, as I mentioned, one of our design philosophies was to make sure that we have a complete sandbox, but we also are providing all of the automation, all of the scripts. So just like you said, in terms of building POCs or starting to kind of tinker with ideas for how you might build a solution for a customer, you could leverage all of the automation we've built already as part of things like ArcBox and the rest of the Azure Arc Jumpstart to really kickstart or jumpstart as for those POCs and those demos and things like that. So that's absolutely right. No, this is again great. And I also love the point you actually put out there. Like you mentioned that obviously this is all public available and you can have access to all the code and the automation. So obviously you could use the ArcBox basically to like use that again for your sandbox environment, try it out. But you could even take out the code, like different parts of the code to build your own automation, to build your own deployments if you are a customer or for your own customers or inside your company. So you can actually leverage that and can see everything the team has done, which I find is also a pretty cool solution. Yeah, so why don't we take a look at what a completed deployment looks like? That sounds fantastic. Perfect. So I've got another completed deployment here. So basically we're just looking at a very quick and dirty dashboard I built in the portal, but this is pretty much showing a couple of aspects of the ArcBox. First, let's drill into the actual resource group and you'll see all the different resources that get created, which is, I guess that part's mildly interesting, but I do wanna point out a couple of things in terms of, in the context of Arc itself, let's go ahead and just group these by type to make this a little bit easier since there are quite a bit of resources, but you'll see there's one, there's a bunch of, let's call it, just infrastructure that we need as part of the deployment. So disks and VMs and login and Linux workspaces and things like that, but the real cool stuff is the Azure Arc stuff. So we've got the two Azure Arc enabled Kubernetes clusters. As I mentioned earlier, one of these is a Rancher cluster, this one right here, this is being projected into Azure as an Azure Arc enabled Kubernetes cluster and the other is a cluster API cluster, which also happens to be a Rancher cluster that we've transformed into a cluster API cluster and then on top of that we're deploying cluster API workload clusters and then on top of that, the actual Azure Arc data services. So that's the Kubernetes angle and part of the data services angle. We've also got, just if I scroll down a little bit further, we've also got the actual Azure Arc servers themselves. So these are the three guest VMs that are on the Hyper-V host. So I've got an Ubuntu server or Windows server and I've also got a SQL server that we're also enabling as an Azure Arc enabled SQL server. So you see that resource here as well. And there's a number of other things that we deploy as part of the automation, including things like a login and Linux workspace. We deploy a couple of solutions in that workspace, for example, the update management solution and the VM insight solution. So if I go back to the dashboard here, you can see that as part of the deployment, it deployed the update management solution that's telling me some of my guest VMs, some of my Azure Arc enabled servers need some updates and things like that. So we could play around with things like that. There's also a policy that gets deployed. So all of the log analytics agents on the servers themselves are being deployed via the built in Azure Arc policies. So that's another avenue for exploration, for POCs, for demos and things like that. If you need to showcase how Azure policy and Azure Arc work together, which is one of our, I think one of the major value prop for Azure Arc, this is one route to do that. So I also mentioned that the portal is one window and the client VM is another window into Arc Box. So if it's all right, I'll flip over to a completed client VM deployment and we'll kind of see some of the things we can do inside the client VM itself. So I just opened up another, just another RDP session into an Arc Box client for a completed Arc Box. And you can see the automation's all finished here. The automation that we kicked off and showed earlier is all finished. So once it all finishes, the window's all closed and you'll know that the automation is complete. But now there's a couple of things that we can do to kind of explore our Arc Box. So the first thing I'll do is I'll just open Hyper-V. Let me open that up and we'll kind of see the actual guests that we deployed that were projected as Azure Arc servers. So the client VM also happens to be the Hyper-V host. We're using nested virtualization and Azure to accomplish that. So we can see the Azure Arc servers right here that we projected into Azure. These are the same servers we just saw over in the portal. Another thing we can do is I can open up, let me just open up a shell here and I can run cube CTX. So cube CTX is a tool that we can switch Kubernetes contacts with. And since we have two Kubernetes clusters that we've deployed, we can use this tool to quickly switch between each of them. So if I just do kubectl get pods, let me specify the namespace of the Arc data controller. You can see that for this particular cluster I can see all of the running pods for the PostgreSQL hyperscale for the SQL managed instance and for the rest of the containers and pods that make up the Azure Arc data controller. But by using cube CTX, I can switch context to the other cluster that we've spun up. And now if I do kubectl get pods, there's not gonna be any in this particular namespace, but this is just a different cube CTX context, basically a different Kubernetes environment that we can manage all from the same client. By using a tool like cube CTX, it's easy to just kind of work around all the different clusters. And then the last thing I'll show is we also include Azure Data Studio and a number of other tools on that. We've got Visual Studio Code. There's a number of tools and things that we include just to make life easier when you're working in the client. But if I open up Azure Data Studio, we can actually connect to our SQL managed instance and our Postgre hyperscale instance. So let me go ahead and accept the Eula there since it's the first time I'm logging into Azure Data Studio and I'll open up the connections blade here. And you can see my SQL MI instance and my Azure Postgre hyperscale instance are both already enabled as connection objects inside Azure Data Studio. And another thing we do that I didn't mention earlier is that we are restoring the AdventureWorks sample database to each of these just to kind of give you something to play with in terms of the Azure Data Studio service or the Azure Arc-enabled data services capabilities. So just another little thing that we wanted to include to kind of give a more complete type of demo experience. So there's a lot of other things we have planned and I love to talk about some of those in a little bit, but in a nutshell, this is kind of some of the core functionality. We cover Azure Arc-enabled servers, we cover Azure Arc-enabled Kubernetes and we cover Azure Arc-enabled data services plus some of the other management capabilities that Azure Arc kind of enables on hybrid environments like these like policy, like log analytics. We'll talk about in our roadmap, we have things like Key Vault and a number of other things planned to incorporate into Arc Box in the future. So yeah, this is amazing. I think I can believe how cool it is and how fast it is to actually deploy all this. And I was impressed when you actually opened up Data Studio and you saw already the connections already added to these data services. So I've pretty cool, everything is basically done for me. I don't even have to like do some post deployment things and stuff like that. I'm sure there are things which you can add later on but most of it is already done. I don't need to like go out and spend hours and hours in the documentation to just deploy it. Now you mentioned we can do right now, we can do servers, Linux and Windows, you built that in. We have the Kubernetes management part in there. We have the data services part in there and you mentioned Key Vault. Can you explain to me a little bit like what the roadmap is gonna look like and what will be next for the Azure Arc Jumpstart Arc Box? Yeah, absolutely. So as you know, the Azure Arc roadmap itself is pretty vast and there's a lot of great things we have planned for Azure Arc and just hybrid cloud in general. So some of the things on the near term that we wanna add to Arc Box, yes, include things like integrating with Key Vault, for example, to rotate keys or certificates down to a server, there's a number of new services on Azure Arc that are planned. For example, machine learning is one of those. There's other services that will be Azure Arc enabled in the future that we wanna start bringing to the table in terms of inclusion in Arc Box. And there's also another, I wanted to mention one more design principle we have is that we wanna give you a lot of stuff to play within the sandbox, but we don't wanna give you necessarily every single thing and there's a number of reasons. One, the deployment time and the cost and things like that would go up if we keep adding everything in the kitchen sink. And we also wanna make sure that you have room to explore and start to play around and learn. And so it's kind of a fine line between what we include and what we don't include, but we definitely will include all of the major features that Azure Arc rolls out as part of its roadmap. We'll include that as part of Arc Box, key vaults one example that we wanna include in the near term. No, this sounds great. I like the part where you said like, okay, I don't wanna include that, not everyone needs to deploy everything, right? Maybe I just wanna select like I need, for example, servers and Kubernetes, but I don't need the data services part. And then obviously there's more stuff coming. I like that you actually built this like I can actually select what I want and then only deploy this because this will also help me save some costs and some of my in my Azure subscription, right? So now this is great. And I'm sure there's a lot of viewers now wanna figure out, okay, where can I learn more? How can I start with the Azure Arc Jumpstart Arc Box? So Dale, where do people go? Yeah, good question. So since the jumpstart is part, the Azure Arc Box is part of the Jumpstart project, you can get to it just from the Azure Arc Jumpstart page. And I know there'll be a link here on the screen. So that's pretty much where you need to go. You'll go to the Azure Arc Jumpstart page. There'll be a section for the Jumpstart Arc Box. And from there you can have, you'll have all the deployment instructions. You'll have a link to the deploy to Azure button, which will take you right to the portal and let you enter your parameters in and you're off to the races. And of course, if you wanna get the actual code itself, you can go right to the GitHub repository, clone the repository and see all the code. It's all an open source project. I'll also mention we are more than welcome to have suggestions or issues or anything like that. You can submit those issues directly on GitHub and we'll work with you to make sure that those either get resolved or we figure out a way to possibly roll that into the roadmap in the future. This is awesome. Thank you very much, Dale, for being today's guest in the Azure Unblocked video series. And for you, everyone watching, if you enjoyed the video, please give it a like and subscribe to the channel and join us on itobstock.com.