 So hello and welcome to episode 7, the final episode in our third season of Rock to the Cloud. For the last time in this series, I just wanted to say a huge thank you for staying with us along the journey. As we say every week, we really do love spending the time with you to discuss all topics around Windows Server 2022 and Microsoft Hybrid Cloud Solutions. In each episode of From Rock to the Cloud, we're bringing some of the world's most foremost figures in Windows Server and Hybrid Cloud to help you get whatever you need or that you just want to know about it. If you have any questions about the episode, make sure you pop them in the comments window below. We'd love to hear from you, as always. So in today's episode, sorry, today's episode is all about developer container environments. And for the next 30 minutes, I'll be catching up with none other than Anthony Bartolo. Bartolo, let's go, I've got that right, Anthony, who I'll introduce in a moment. We also have our weekly random of acronyms that you guys can get involved with. So please do stick around and let us know if you're watching the show and get involved in the comments below again. So if you've been following the series, you will know that by now that we like to bring you the world's leading voices in Windows Server and Hybrid Cloud, today is no exception. On today's episode, we are joined by another very special guest to bring this series from Rock to the Cloud. I'd like to extend a very warm welcome to none other than Anthony Bartolo. Welcome, Anthony. How are you doing? Good yourself? I'm doing very well. Actually, the one great difference, if anybody's been watching this significantly over the last seven episodes, is that I'm in a different room. I'm wearing a jacket. So I'm in the office today, all ready for a bit of a team night out. So very much looking forward to that. How are you? Good, good. Well, for the last two and a half years, I've been living at work, right? So it's the whole aspect of being here a lot. I've been able to venture out to the office. Finally, the Microsoft Canada office is just gorgeous. And Seattle was able to get out there recently as well. But it's been a while since I've been into Reading. Well, Reading is pretty much a three-hour drive for me. But I'll leave that. Anyway, so can you please introduce yourself for the audience watching and tell us about what you do? So my name is Anthony Bartolo. As mentioned, I'm a principal cloud advocate here at Microsoft. My responsibility is on operations, but it surrounds more on the student level. How are students perceiving technology and services that Microsoft has to offer? And how are they adopting those services into their ideas and what they're trying to accomplish? You and I had a little bit of a conversation prior to this. You know, both of us don't come from developer backgrounds, but today's topic is very developer centric. So it's going to be an interesting conversation because it's all about enablement and how are we enabling developers, students, and then everybody is a developer. There is no delineation in terms of who can create ideas and who can create code. How are the tools being made available in a hybrid sense? How are the tools being made available in an inclusive sense? And how are the tools being made available so that IT pros are not tearing out their hair to say, how do I manage all this? How do I invoke this type of capability without losing information, without losing data and making it smoothly available to others to collaborate and share their ideas when they're architecting solutions? Fantastic. So I think with that wonderful introduction shall we jump into today's topic, which is all about developer container environments. So I've got a few questions for you, Anthony, as I do with all our guests every week. I think the first one is, as we discussed before, I'm hearing more and more people are leveraging coding in the cloud. What does that actually mean? This is the interesting thing in terms of what I've learned over the last year in working with students. They're the individuals that are going to come into the workforce and they're the future of the workforce as an organization and what they're going to support. A lot of the development that they're going through right now or the learning that they're going through right now is cloud-based from a perspective of even the tools themselves that they're creating their solutions on is in the cloud. You can share my desktop really quickly. I'm showcasing here one of the main training or upskilling solutions that we have for students as make code. And make code is a great solution that allows for block coding in regards to building out a solution. So here's an example here of a dance game. You've played games that you would have directional pad and you would have to jump on specific spots in specific beats. I am not coordinated at all, so I just lose at this game. But here's an actual recreation of building out this type of game in block coding. This makes it easy for students to grasp concepts on architecture of code and how to build this out. Even individuals like ourselves who are traditional operations individuals would be able to go through this and understand what is a loop? What is a variable? How are we assigning values to those variables? How are we incorporating this into an array? And then for the desired outcome of the actual application running as you can see, this is all browser based. And this is done purposely because this is a solution that's available worldwide. Oh, it's giving me a little bit of a dance song there for us. It's something that is available worldwide and over a plethora of different devices can students go through and learn this. So they're not limited that if they don't have a laptop, they don't have access to a computer. This is something where you can do on a smartphone. This is something that you can do on a tablet to have this enablement into upskilling. Once the students get familiar and comfortable with this type of coding, they can actually go through the endeavor of learning it, how to code this into JavaScript, how to code this into Python, again, all online. And when we're seeing the transition from high school to college, we're then seeing students take advantage of tools like VS Code.dev to really further their learning to really continue on. So I've gone from block coding. I really enjoyed coding in Python. From block coding to Python, I've translated transition to there. And then I started coding into Python. I have a CSS style sheet here, so it's not really Python. But I wanted to just explain the example of how the students are transitioning. And in the same scenario, they're still not running directly in Visual Studio Code. It's a whole enablement of coding in the cloud on an IDE that's inside of the browser to really share out your ideas. From here, this is where containers come into play, because this is still an open environment. So you still have to have specific parameters and attachments and add-ons made available to do certain things in terms of code in a containerized environment. Now you have this availability of having all your information made available in a JSON file in terms of the parameters of what's required to build out your solution. You need a specific flavor of Python. That's included. You need specific access to storage mechanisms inside the container. That's included. And it negates the need for you to go through and set up a computer, or set up an image on a computer, or set up an image inside of a virtual machine for students or for any developers for that matter to take advantage of. It's literally, you go through your code. It's available inside of the container. Anybody who is allowed access, we'll talk about that later, in terms of this container to make changes or to add functionality to this code. It really becomes powerful in that it comes a containerized service of the individual's code for people to collaborate on and make available to changes without worrying about what version of Python am I running? Do I have the proper extensions running? I can do this right out of the cloud. Great. Now, just before I submit on the next question, that game did remind me of clearly showing my age, a very simple version of something like Frogger, right? I used to play Frogger on my Atari 2600, so I'm right there with you. Indeed. I still play across the road today myself, anyway. But look, you may have mentioned containers there a few times, and we have a couple of other pieces of those, but I think the question would be, what aren't developer container environments? So developer container environments is that natural next step, right? It's the environment having all your parameters, all your needed extensions. So the example I'm sharing is that whole aspect inside of the container that says you have the appropriate Python version installed inside of your container. I don't have to load it on VS Code. It's already inside of my container. It knows this is what we're using for the coding language for our solution. And so anybody who's joining this container will automatically take advantage of that. And so there's uniformity in terms of, because there's multiple versions of Python, multiple aspects of it. And so having that uniformity makes it easier for people to contribute and collaborate to. The example that I showed in terms of VS Code, that's actually a container that's running directly on my machine. So this is a container that I've now implemented and I'm coding towards. And I can make that available in a sense of people connecting to my machine and doing their changes or doing their additions. The beauty of the containers, as you know, you can move it anywhere you want. I can move it on my machine or I can move it to the cloud if required for that type of access. And that same parameter in terms of the version of VS Code, the version of Python that I'm using or any additional attachments or extensions that are required, follow the container regardless of its on-prem or in cloud, making it a unique hybrid experience for developers to take advantage of. Got it. I think this could be, you know, kind of a question to touch on before, but why would you use a container environment over a virtual machine? The biggest thing is the, you know, in terms of containers, taking advantage of this headless image that allows for the best of use resources as required, right? In terms of a virtual machine, I have to spin up a specific image and I would have to load all my parameters into that image. Very similar, I can deploy an ARM template or a Bicep template and have all that capabilities incorporated into that as well. But the ability to have a headless image and use the best resources made possible to you is taking advantage of containers as an offering, which is that much better than a virtual machine. There is no additional overhead in terms of compute and CPU that's got to be aligned, costs a lot less as well. And then the ability to, a lot easier to move your resources as required from the container, from on-prem to in cloud without the header or the weight of the header that would be included in a virtual machine. Got it. So do you have any real-world examples that you could share? The biggest one right now that a lot of people are taking advantage of is the ability to take your IoT deployments. So instead of building directly on devices, we're seeing that the developer containers are being spun up on IoT devices or replicating an IoT device that captures, let's say temperature or a line of sight to traffic or what have you, building this inside of a container and then testing it in a virtual plane in terms of the response that this device would have. You've heard the term digital twinning. So the ability to have a virtualized plane of a solution architecture of a IoT deployment that would allow for, in respect to your virtualized developer container specifically for this IoT device, go through the functionality, go through the capability, ensure that the parameters are there in terms of what you're accomplishing. And then when it meets the needs in terms of the digital twin of what you would accomplish in that environment, you can then deploy two devices into real world and it would be the same because it's already been tested in a virtualized plane so you would have the same capabilities. The power of developer containers is that activity where I don't actually have to have a physical device or I don't have to have a physical deployment of the solution, doing it in the virtualized plane, allow for other developers to participate, having the parameters in terms of what is the coding language that's required, the extensions that are required specifically in this container. And then when the requirement to deploy, it's so easy to deploy to a real device on-prem or in cloud if required. Got it. And I suppose finally, generally we ask around four or five questions to each of our guests, but are there any security concerns in harnessing developer container environments? This is the beauty of the solution, right? In terms of the same practices that you have for security, if you're using Azure Active Directory authentication or identification solution or whatever third-party solutions that you're using, it's inclusive in terms of the developer container environment. This is something that, you know, IT would have to include into parameters of the JSON file specifically for the container to invoke that capability for security to identify the individuals that are accessing it if it's a requirement. But it's inherent to your existing policy or your existing procedures that are in play in spinning up the container to allow access to the data. Listen, Anthony, that was very insightful. Thank you very much. However, now is the time that we're going to move on to the part of our episode called the server acronym review. This is the fun part. Now look, like everyone involved in the tech world, I just love a long, confusing acronym that doesn't make any sense. And here at Microsoft, I can tell you the mind sometimes boggles. Indeed, we have a special website for all employees to use, which certainly in my world is six months into this business, serving gets lots of visits. But luckily for us, the producers have found a few server acronyms to show us. We're going to put ourselves on the spot, you and I, Anthony, and see if we can guess what they are. We'd also love you guys to put your thoughts in the comments section as always. Tell us what you think about these acronyms. Are they good fun? Are they not? Are you bored? Do we need to change the format maybe for our next series? But right now let's get our producers to fire up that first acronym and see where we go. BSLD. Now you're smiling, Anthony, and I can see, so that would suggest you know it's not already. I do not actually. All right. Something on device, I would imagine. I'll refrain from the BS at the beginning. So it looks like neither of us have... Oh, blue screen of death. Interesting. I've not seen that as an acronym. I know a blue screen of death, but I've not seen that as an acronym. I think everybody does a blue screen of death, right? So, number two, DBCC. Cracking again. You know, I'm on my ball head. I have no idea. Did bring name of cola? No, we're both database. Database. I have a feeling the DB was going to be database. He says that post the event. Yes, true. Indeed. We have a third one. Is that a film with somebody in Tahiti? I have no clue at all. Must operate environment regularly. I do hope to get some of the views out there. I've got a better understanding of the way. Oh, yeah. Microsoft online email routing address. Yeah. Far from it. Well, not far from interesting, but far from we've been able to get the answer. Before we wrap up. And quite frankly, ordinarily I take some notes, but I forgot my notepad today, Anthony. So if I could perhaps ask you to recap. Just a couple of points of what you discussed from the conversation today, please. The biggest thing is the use of developer container environments simplifies the ability for multiple developers to work on code. It allows for the availability of the parameters, what extensions, what coding language level, the version of the coding language to be all incorporated into that. So you don't have to load anything else on your machine. Gives you the availability if you are practicing DevOps, which a lot of people are, of course, and using GitHub as your repository to be able to spin up the code in cloud immediately to make any adjustments or changes or verifications in terms of solutions before they're being deployed. And it allows for that virtualized plane of development of solutions like scenarios like IoT. And there's a plethora of solutions are available. IoT is the one that I know the best in terms of previous shows that I've done with the rocks in the cloud. It's the availability of creating those solutions in a virtualized plane and then testing them in the same virtualized plane to ensure the compatibility and the response or the desired outcome from the solutions that you've deployed before actually deploying it into production. Excellent. Thank you so much, Anthony. It's been an absolute pleasure having you as our final guest on this series. And to all the viewers out there, thanks again so much for tuning into this episode of From Rock to the Cloud and for staying with us throughout the series. I hope it's been very insightful for you all. Let's see if we're going to get another series, I suppose, approved as we go through the rest of the year. But please don't forget to keep an eye out right here on docs.microsoft.com, LinkedIn, Microsoft Server Partner Club, and the IT Ops Talk channel on YouTube. And hopefully, we will see you again very soon for the next episode. As always, please do remember to drop your thoughts and comments below. And with that, we shall wrap up. Thank you very much. Once again, Anthony. And good bye. Well, actually, just before we go, Anthony, we need to do a little thumbs up for the thumbnail for the end of the... There we go. Now we can close off. Thank you so much, my friend. Take care. Have a great day. You too. Thank you. Cheers.