 Everyone, welcome back to theCUBE's coverage of DockerCon 2021. I'm John Furrier, your host of theCUBE. We're here with Amanda Silver, Corporate Vice President, Product Developer Division at Microsoft. Amanda, great to see you. You were on last year at DockerCon. Great to see you again. A full year later, we're remote. Thanks for coming on. I know you're super busy with build happening this week as well. Thanks for making the time to come on to theCUBE for DockerCon. Thank you so much for having me. Yeah, I'm joining you like many developers around the globe from my personal home office. Developers really didn't skip a beat during the pandemic. And again, it was not a good situation, but developers, as you talked about last year on the front lines, first responders to creating value. Quite frankly, looking back, you were pretty accurate in your prediction. Developers did have an impact this year. They did create the kind of change that really changed the game for people's lives, whether it was developing solutions from a medical standpoint, or even keeping systems running from call centers to making sure people got their goods or services and checks and kept sanity together. So, great prediction. Yeah, absolutely. I mean, I think developers get the MVP award for this year because at the end of the day, they are the digital first responders to the first responders. And the pivot that we've had to make over the past year in terms of supporting remote telehealth, supporting online retail, curbside pickup, all of these things were done through developers being the ones pushing the way forward. Remote learning, my kids are learning at home right behind me right now, so you might hear them during the interview. That's happening because developers made that happen. Mom, please stop hogging the band with honey. They've got a gigabit, stop it. Don't be streaming, my kids are old gaming. Anyway, hey, great to have you on and you had to get the great keynote exciting to see you guys continue the collaboration with Docker, with GitHub and Microsoft. A great combination. It's a one, two, three power punch of value. You guys are really kind of killing it. We heard from Scott and Dana's been on theCUBE. What's your thoughts on the partnership with the developer division team at Microsoft with Docker? What's it all about this year? What's the next level? Well, I mean, I think what's really awesome about this partnership is that we all have, we all are basically sharing a common mission. What we want to do is make sure that we're empowering developers, that we're focused on their productivity and that we're delivering value to them so they can do their job better so that they can help others. So that's really kind of what drives us day in, day out. And so what we focus on is developer productivity. And I think that's a lot of what Dana was talking about in her session. The developer division specifically, we really try to make sure that we're improving the state of the art for modern developers. So we want to make sure that every keystroke that they take, every mouse move that they make, it sounds like a song. But every one of those matter because we want to make sure that every developer is writing the code that only they can write. And in terms of the partnership and how that's going, my team and the Docker team have been collaborating a ton on things like Docker desktop and the Docker CLI tool integrations. And one of the things that we do is we think about pain points and various workflows. We want to make sure that we're shaving off the edges of all of the user experiences that developers have to go through to piece all of these applications together. So one of the big pain points that we had heard from developers is that signing into the Azure cloud and especially our sovereign's clouds was challenging. So we contributed back to Docker to actually make it easier to sign into these clouds. And so Docker developers can now use Docker desktop and the Docker CLI to actually change the Docker context so that it's Azure, so that it makes it a lot easier to connect. The other, oh, sorry, go ahead. No, I was just going to say I love the reference to the police song, every breath you take, every mouse moving you take, great, great line there. But I want to ask you while you're on this modern cloud discussion, what is, I mean, we have a lot of developers here at DockerCon. As you know, you guys know developers and your ecosystem has been core competency for Microsoft. KubeCon is a very operator-like, focused dev, this is a developer conference you guys have built. What is the state of the art for a modern cloud developer? Could you just share your thoughts because this comes up a lot, you know, what's the art, what's next gen, new guard, new guard, I mean, it's just legacy. What is the state of the art for a modern cloud developer? Fantastic question and extraordinarily relevant to this particular conference. You know, what I think about oftentimes is really what is the inner loop and the outer loop look like in terms of cycle times? Because at the end of the day, what matters is the time that it takes for you to make that code change, to be able to see it in your test environment and to be able to deploy it to production and have the confidence that it's delivering the feature set that you need it to and it's secure, it's reliable, it's performant. That's what a developer cares about at the end of the day. At the same time, we also need to make sure that we're growing our team to meet our demand, which means we're constantly onboarding new developers. And so what I take inspiration from are some of the tech elite who've been able to invest significant amounts in tuning their engineering systems. They've been able to make it so that, you know, a new developer can join a team in just a couple of minutes or less that they can actually make a code change, see that be reflected in their application in just a few seconds and deploy with confidence within hours. And so our goal is to actually be able to take that state of the art metric and democratize it, actually bring it to, you know, as many of our customers as we possibly can. You mentioned supply chain earlier and securing that. What are you guys doing with Docker and how to make that partnership better with registries? Is there any update there in terms of the container registry on Azure? Yeah. I mean, you know, we have definitely seen recent events and it's almost seems like never ending attacks that, you know, increasingly are getting more and more focused on developer watering holes is how we think about it. Kind of developers being a primary target for these, you know, malicious hackers. And so what it's more important than ever than every developer and Microsoft especially, you know, really take security extraordinarily seriously. Our engineers are working around the clock to make sure that we're responding to every security incident that we hear about and partnering with our customers to make sure that we're supporting them as well. One of the things that we announced earlier this week at Microsoft build is that we've actually taken GitHub actions and we've now integrated that into the Azure security center. And so what this means is that, you know, we can now do things like scan for vulnerabilities, look at things like, you know, who is logging in where things like that and actually have that be tracked in the Azure security center so that not just your developers get that notification but also your IT operations. In terms of the partnership with Docker, you know, this is actually an ongoing partnership to make sure that we can provide more guidance to developers to make sure that they are following best practices, like, you know, pulling from a private registry like Docker Hub or Azure Container Registry. And so I expect that, you know, as time goes on, we'll continue to do more in partnership in this space. Yeah, and that's going to give a lot of confidence. And actually productivity-wise is going to be a big help for developers. Great stuff, as always, good progress there. Moving the needle. Last time we spoke, we talked about tools and setting Azure as the Docker context. Do you have any tooling updates here at DockerCon this year that's notable? Yeah, I mean, I think, you know, there's one major thing that we've been working on which has a big dependency on Docker is GitHub code spaces. Now, one of the biggest pain points that developers have is setting up a new dev box which they often have to do when they're onboarding a new employee or when they're starting a new project or even if they're just kicking the tires on a new technology that they want to be able to evaluate. And sometimes creating a developer environment can actually take hours. And especially when you're trying to create a developer environment that matches somebody else's developer environment, that can take like a half a day. And you can spend all of your time just debugging the differences in environment variables, for example. Containers actually makes that much easier. So what you can do with this service is you can actually create a dev environment spun up in the cloud and you can access it in seconds and you get from there a working coding environment and a runtime environment. And this is repeatable via containers. So it means that there's no inadvertent differences introduced by each dev. And you might be interested to know that underneath this is actually using Docker files and Docker compose to orchestrate the dev bits and the runtime bits for a whole bunch of different stacks. And so this is something that we're actually working on in collaboration with the Docker team to have a common YAML format. And in fact, this week, we actually introduced a couple of app templates so that everybody can see this all in action. So if you check out aka.ms forward slash app template, you can see this in action yourself. You guys have always had such a strong developer community. And one of the things I love about cloud is it brings more agility as we always talk about. But when you start to see the enterprise grow into the direction it's going now, it's almost like the developer communities are merging. It's no longer about all the Linux folks here and the .NET folks there. You got windows, you got cloud. It's almost the solidification of everyone kind of coming together. And Visual Studio, for instance, last year, I think you were talking about that too, having the community be integrated into Docker compose, et cetera. How do you see this melting pot emerging? Because at the end of the day, you pick the language you love and you got DevOps, which is infrastructure as code. Does it matter? So give us your take on where we are with that whole progress of making that happen. Well, I mean, I definitely think that developer environments and kind of our approach to them don't need to be as dogmatic as they've been in the past. I really think that you can pick the right tool and language and developer stack for your team, for your experience, and you can be productive. And that's really our goal at Microsoft is to make sure that we have tools for every developer and every team so that they can build any app that they want to create. Even if that means that they're actually going to end up ultimately deploying that not to our cloud. They're going to end up deploying it to AWS or another competitive cloud. And so there's a lot of things that we've been doing to make that really much easier. We have integrated container tools in Visual Studio and Visual Studio Code and better CLI integrations, like with the Docker context that we had talked about a little bit earlier. We continue to try to kind of make it easier to build applications that are targeting containers. And then once you create those containers, it's much easier to take it to another environment. One of the examples of this kind of work is now that we have WSL and the Windows subsystem for Linux, this makes it a lot easier for developers who prefer a Windows operating system as their environment and maybe some tools like Visual Studio that run on Windows. But they can still target Linux as their production environment without any impedance mismatch. They can actually be as productive as they would be if they had a Linux box as their OS. You know, I noticed on this session, I have to call this out, I want to get your reaction to it. Interesting selection of Microsoft talks. The container-based development Visual Studio Code is one. That's where you're going to show some container action going on with Node and Visual Studio Code. And then you get the machine learning with Azure containers in the VS Code. Interesting how you got containers with VS and now you've got machine learning. What does that tell the world about where Microsoft's at? Because in a way, you've got the cutting edge container management on one side with the Docker integration. Now you've got the machine learning, which everyone's talking about, shifting left, more automation. Why are these sessions so important? Why should people attend and what's the bottom line? Well, like I said, like containers basically empower developer productivity. That's what creates the repeatable environments. That's what allows us to make sure that we're productive as soon as we possibly can be with any tech stack that we want to be able to target. And so that's kind of almost the ecosystem play. It's how every developer can contribute to the success of others. And we can amortize the kinds of work that we do to set up an environment. So that's what I would say about the container-based development that we're doing with both Visual Studio and Visual Studio Code. In terms of the machine learning development, the number of machine learning developers in the world is relatively small, but it's growing. And it's obviously a very important set of developers because to train a machine learning, to train an ML model, it actually requires a significant amount of compute resources. And so that's a perfect opportunity to bring in the research that are in a public cloud. What's actually really interesting about that particular developer stack is that it commonly runs on things like Python. And for those of you who have developed in Python, you know just how difficult it is to actually set up a Python environment with the right interpreter, with the right runtime, with the right libraries that can actually get going super quickly and you can be productive as a developer. And so it's actually one of the hardest, most challenging developer stacks to actually set up. And so this allows you to become a machine learning developer without having to spend all of your time just setting up the Python runtime environment. Yeah, it's a nice, nice little call out on Python. It's a double edged sword, you know, it's easy to sling code around on one hand when you start getting it working, then you got it, it gets complicated, it can get unwieldy. Great call out there on Python. But good, good, good project. Let me get your thoughts on this other tool that you guys are talking about, Project Tie. This is interesting because this is a trend that we're seeing a lot of conversations here on theCUBE about around too many control planes, too many services. You know, I no longer have that monolithic application, I've got micro applications and micro services. What the hell's going on with my services? Yeah, I mean, I think, you know, containers brought an incredible amount of productivity in terms of having, you know, repeatable environments, both for dev environments, which we talked about a lot on this interview already, but also obviously in production and test environments, super important. And with that, a lot of times comes the micro services architecture that we're also moving to. And the way that I view it is the micro services architecture is actually accompanied by, you know, businesses being more focused on the value that they can actually deliver to customers. And so they're trying to kind of create separations of concerns in terms of the different services that they're offering so that they can actually, you know, version and kind of, you know, agilely improve each of these services independently. But what happens when you start to have many micro services working together in a SaaS or in, you know, some kind of aggregate service environment or kind of application environment is it starts to get unwieldy. It's really hard to make it so that one micro service can actually address another micro service and they could pass information back and forth. And, you know, what used to be maybe easy if you were just building a client server application because, you know, within the server tier, all of your code was basically contained in the same runtime environment. That's no longer the case when every micro service is actually running inside of its own container. So the question is, how can we improve programmability by making it easier for one micro service that's being used in an application environment to be able to access another service and kind of all of that context. And so, you know, you want to be able to access the services, the API endpoints, the containers, the ingresses, everything make everything work together as though it felt just as easy as, you know, server application development. And so what this means as well is that you also oftentimes need to get all of these different containers running at the same time. And that can actually be a challenge in the developer and test loop as well. And so what Project Tie does is it improves the programmability and it actually allows you to just write a command like tie run so that you can actually instantiate all of these containers and get them up and running and basically deploy it and run your application in that environment and ultimately make the dev test in our loop much faster. Yeah, that's productivity gain right there, making it simpler to stand up. Great, great stuff. Let me ask you a question as we kind of wrap down here for the folks here at DockerCon. Are there any special things you'd like to talk about or developments you think are important for the developers here within this space? It's very dynamic, a lot of change happening in a good way. But sometimes it's hard to keep track of all the cool stuff happening. Can you take a minute to share your thoughts on what you think are the most important developments in this space that might be interesting to DockerCon attendees? I think the most important things are to recognize that developer environments are moving to containerized environments themselves so that they can be repeated, they can be shared, the work configuring them can be amortized across many developers. That's important thing number one. Important thing number two is it doesn't matter as much what operating system you're running as your Chrome desktop. What matters is ultimately the production environment that you're targeting. And so I think now we're in a world where all of those things can be mixed and matched together. And then I think the next thing is how can we actually improve microservices, programming development together so that it's easier to be able to target multiple microservices that are working in aggregate to create a single service experience or a single application. And how do we improve the programmability for that? You guys have been great supporters of Docker and the community and open source and software developers as they transform and become, quite frankly, the superheroes for the transformation which is refactoring businesses. So this has been a big thing. I'd love to get your thoughts on how this is all coming together inside Microsoft. You got your division, you got the developer division, you got GitHub, got Azure. And then just historically, and you brought this up last year, Army of an ecosystem of people who have been contributing and coding with Microsoft and the partners for many, many decades. What's the same key heart, Microsoft now? How's it all working? What's the new, I got LinkedIn, I forgot about LinkedIn but there's no yet developer model there yet but probably is soon. Yeah, I mean, I think that's a pretty broad question but in some ways, I think it's interesting to put it in the context of Microsoft's history. You know, when I think back to the beginning of my career, it was kind of a one stack shop. We, it was all about .NET. And of course we wanted .NET to be the best developer environment that it can possibly be. We still actually want that. We still want .NET to be the most productive developer environment we could possibly build. But at the same time, I think we have to recognize that not all developers are .NET developers and we wanna make sure that Azure is the most productive cloud for developers. And so to do that, we have to make sure that we're building fantastic tools and platforms to host Java applications, JavaScript applications, Node.js applications, Python applications, all of those things, you know, all of these developers in the world, we wanna make sure it can be productive on our tools and our platforms. And so, you know, I think that's really kind of the key of, you know, what you're speaking of. Because, you know, when I think about the partnership that I have with the GitHub team or with the Azure team or with the Azure machine learning team or the LinkedIn team, a lot of it actually comes down to helping empower developers improving their productivity, helping them, you know, find new developers to collaborate with, making sure that they can do that securely and confidently and they can basically respond to their customers as quickly as they possibly can. And when we think about partnering inside of Microsoft with folks like LinkedIn or, you know, Office as an example, a lot of our partnership with them actually comes down to improving their COGS efficiency. We build the developer tools that Office and LinkedIn are built on top of. And so, you know, every once in a while we will make an improvement that has, you know, 5% here, 3% there, and it turns into an incredible amount of impact in terms of operations costs for running these services. You know, it's interesting you mentioned it earlier. I think there's a time now we're living in a time where you don't have to be dogmatic anymore. You can pick what you like and go with it. Also, you also mentioned just now this idea of distributed applications and distributed computing, you know, distributed applications and microservices go really well together, especially with Docker. Can you share your thoughts on the framework that you guys released called Dapper? Yeah, yeah, we recently released Dapper. It's called DAPR, you can look it up on GitHub. And it's a programming model for a common microservices pattern, to common microservices patterns that make it really easy and automatic to create those kinds of microservices. So you can, you know, choose to work with your favorite state stores or databases or PubSub components and get things like cloud events for free. You can choose either HTTP or GRPC so that you can get mesh capabilities like service discovery and retries. And you can bring your own secret store and easily be able to call it from any environment variable. It's also like I was talking about earlier, multi-lingual. So you don't need to, you know, embrace .NET, for example, as your programming language to be able to benefit from Dapper. It actually supports many programming languages and Dapper itself is actually written in Go. And so, you know, all developers can benefit from something like Dapper to make it easier to create microservices applications. I made it always great to have you on, great update. Take a minute to give the update on what's going on with your division. I know you had the build conference this week. VS has got the new preview title we just talked about. What are the things you want to get the plug in for? Take a minute to get the plug in for what you're working on, your goals, your objectives, hiring, give us the update. Yeah, sure. I mean, you know, we built integrated container tools in Visual Studio and a Docker extension in Visual Studio Code and CLI extensions. And, you know, even in this most recent release of our Visual Studio product, Visual Studio 1610, we added some features to make it easier to use Docker compose better. So one of the examples of this is that you can actually have, oftentimes you need to be able to use multiple Docker compose files together so that you can actually configure various different container environments for a single application. But it's hard sometimes to create the right YAML file so that you can actually invoke it and invoke the container and the microservices that you need. And so what this allows you to do is to actually have just a menu of the different Docker compose files so that you can select the runtime and test environment that you need for the subset of the portion of the application that you're working on. At the end of the day, this is always about developer productivity. You know, like I said, every keystroke matters and we want to make sure that you as a developer can focus on the code that only you can write. Amanda Silva, corporate vice president product at developer division at Microsoft. Always great to see you and chat with you remotely. Soon we'll be back in real life with real events soon as we come out of the pandemic and thanks for sharing your insight and congratulations on all your success this year and congratulations on your announcements here at DockerCon. Thank you so much for having me. Okay, CUBE coverage for DockerCon 2021. I'm John Furrier, your host of theCUBE. Thanks for watching.