![The .NET on AWS Show, Featuring Ralph Flora!](https://assets.community.aws/a/2dhKSUFulH3KlG25y4rhP0GJfaN/Scree.webp)
The .NET on AWS Show, Featuring Ralph Flora!
In this episode we are joined by Senior AWS Engineer, Ralph Flora to talk about the AWS Toolkit!
Brandon Minnick
Amazon Employee
Published Mar 14, 2024
Last Modified Mar 15, 2024
Continue to The .NET on AWS Show, Featuring James Eastham!
![The .NET on AWS Podcast](https://assets.community.aws/a/2dhKZmD4RXw2cBuREDWju4PfIKr/Scre.webp)
Loading...
Brandon Minnick 1:10
Good morning. Good afternoon. Good evening. Welcome back to another dotnet on AWS show. My name is Brandon Minnick. I'm your host this week along with James Easton. James, welcome to the show.
James Eastham 1:23
Thank you for having me. I was here with Francois a few weeks ago. And yeah, excited to be with you today.
Brandon Minnick 1:30
Yeah. For those who don't know, James is a co host filling in for Francoise, who's out on well deserved much needed PTO. This week. And James, for folks who may or may have missed that episode. And if you did, go back and watch it. But who are you? What do you do?
James Eastham 1:49
Yeah. So I'm James Eastham. I actually work here at AWS in the professional services part of AWS. So I'm a consultant out with the customers of AWS actually helping them build things, which is really cool. But I kind of refer to it as like, by day. I'm a process consultant. And by night, I have a dotnet developer through and through, I do a lot of things with serverless. Particular, that's my particular area of interest. So anything to do with lambda or any of the other serverless AWS services, then that's probably where you will find me tweeting YouTubing, LinkedIn, Ng, Inc, etc. Yeah, no interest.
Brandon Minnick 2:27
No, it's great. And yeah, and if you don't already follow James, make sure to check them out. You can find them at power. Jas. If you've ever seen cold start numbers for serverless around dotnet. It probably came from James so you'll you'll get a lot of good information. Your James's YouTube videos are top notch for learning dotnet on AWS stuffs, especially around serverless. So yeah, thank you so much. I've, I've used it, I appreciate it. So we we always open the show with announcements, things are coming up on AWS before we bring in our super special guests this week. And so James, I'll go first, there's a big announcement this week for dotnet developers or last week, I should say. Microsoft finally announced dotnet comp dotnet. conf is happening, it's in November, it's November 14 to 16th. And if you've been a dotnet developer for a while, you might already know, this is when we get the new version of dotnet. So every year, we get the latest release of dotnet, which we have done at eight coming up this year. And Microsoft debuts it at dotnet. conf which they host and they bring on they tell you all the cool things that are in dotnet. Eight, that bring up people to show you cool things you can do with dotnet eight. So put it on your calendars, I always make sure to block off those dates. It's November 14 to the 16th. For dotnet. Cough don't want to miss it. It's one of the best parts about being a software developers when you get when you get free bits.
James Eastham 4:07
We really get off during this week. So I just didn't miss that announcement. And I know it's always in November sometime, isn't it? So I'm gonna go straight away after we're done here and blocked out in my calendar right away because it's a cool company.
Brandon Minnick 4:18
Yeah, yeah. And they're they're also looking for community speakers too. So if anybody out there wants to submit a talk beyond dotnet cough I've done in the past. It's really cool. Highly recommend it. You can check out the blog post that I'll post here in our in our chat. But, James, what's what's new with you what announcements you have this week. Yeah,
James Eastham 4:41
I am going to bring the serverless love today. And a shout out to an AWS community builder. So it's a gentleman called Lars Jakobson. And he has built this super awesome CLI called sum plus, so if people aren't familiar, there's a A whole toolkit we have in AWS called the serverless application model or some, aside from having a really cute mascot. It's a CLI for doing lots of things with your serverless applications. And it's awesome. Now, Lars has extended that with a bunch of additional features, and one of which that he has launched tweeted about past malware this week is local debugging support, or lambda functions running in the cloud. So what that means is that you could run it. Yeah, exactly. So you can run a CLI command, local, it some, some p is the CLI, some local, get that up and running. And then you can hit f5 In rider or VS code, or Visual Studio, or whatever it is you're using, set up your debugger hit your lambda function in the cloud. So that might be API gateway, it your lambda function, and you can step through the code locally, in your IDE, that was very much still in preview, I'm sure realize what might be promoted, it is very much in Preview when he's looking people to look at it. It's a super cool experience. And one of the really cool things is when you're debugging the code locally, it uses the same permissions that a lambda function would have in the cloud. So it is it is like you are running the function in the cloud, but it's running from your machine. Really cool. CLI. I don't think you've got the link. I think I sent the link if you want to. If you want to post that in the chat, if you haven't already. Sure. So yeah, if you're doing things with dotnet, and I will pop it I'll pop it in the chat and share it in a few minutes. Yeah, if you're doing things for serverless, and dotnet. Or if you're not, if you've tried it and got stuck with that development debugging experience, then that CLI is super cool that light is producing, I'd highly recommend checking that out.
Brandon Minnick 6:49
Yeah, I'm super impressed. I don't know if you know the answer this. But my first question is just how do they do that?
James Eastham 6:57
Ah, yes, so I've had this. So what it actually does, so you could never, you can never really do this in a production environment. But what the CLI actually does, it replaces your lambda function running in the cloud with a different lambda function, completely different lambda function. And then it sets up our MQ TT connection between your local machine and this lambda function running in the cloud. So the request comes into API gateway triggers your lambda function, which then isn't your lambda function is in your dotnet code. It's this custom code that the CLI has added, which pings the request down this MQ ZD pipe that hits your local CLI. You step through the code, the response goes back, the response goes back up the mpct, pipe back into the lambda function, and the response gets returned to the caller. So yeah, you couldn't really do it in a production environment. But it's super cool. It uses another AWS service called IoT Core, which provides MQ TT at scale. So yeah, it's really cool. I've used it. I've tried it. I wrote the instructions for Ryder and Visual Studio of how to set it up. So if it doesn't work for rad or Visual Studio, please don't shout at Lars come and shout at me, because yeah, it's a really cool CLI. We're debugging lumber in that, like, that makes sense.
Brandon Minnick 8:15
Yeah. No, it's incredible. Because, yeah, it's oh, wait, that's what always happens. Anytime we're working with anything in the cloud, really, where it works fine on our machine, then we publish the code to the cloud. And all of a sudden, it's not working. And, and yeah, like, how do you? How do you debug it? How do you step through your code? How do you see if is it even your code? I was, I was just fighting that this weekend. I've got a couple apps in the App Store. For those who don't know, I'm a I'm a mobile app developer. So I do it all in C Sharp using Xamarin. A dotnet, Maui. And yeah, just I hadn't updated the apps in a while. So I was going through and I had to fix something in my serverless back end. And yeah, it was just like, Okay, well, do I, I'll put in some log statements. And I'll look at the logs. And I'll see if I can figure it out. But yeah, everything's so much nicer with a debugger. Just like just step through the code and see that we see what the variables values are. So incredible. Well, thanks so much, James. Thanks.
James Eastham 9:21
Yeah, absolutely. It fits really nice. He's working on whenever I talk about testing, dotnet and serverless. The common line that always gets rolled out is like unit tests locally tests everything else in the cloud. And that can get a bit tricky sometimes, because then it's in the cloud. And like you say, you need like tracing or log statements or all this stuff. Whereas now you've got that in between you put it in the cloud and get actual cloud resources, but that also have that semi familiar debugger experience. So yeah,
Brandon Minnick 9:46
yeah, that's exactly I was thinking like, you can test it out before before pushing it to production. But then also, yeah, even if you have something in production, you could spin up a another one A developer environment QA environment and and use this in there. Wow. Well, I could spend all day talking about that. But we have a very special guest today. We've hinted at the AWS toolkit already. He works on the AWS Toolkit team, specifically for dotnet in Visual Studio, which is why we wanted to have him on the show today, and we're so excited. Please help me. Welcome Ralph. Ralph Lauren, welcome to the show.
Ralph Flora 10:29
Hey, guys, good to be here and talk about the toolkits, particularly the Visual Studio Toolkit, but, you know, we do have a host of other toolkits for Visual Studio code and JetBrains to use on writer. So there are those as well, depending on what your IDE is of choice.
Brandon Minnick 10:46
Love it. Sure. Yeah. But before we before we dive too deep into all the toolkit awesomeness you got for us today, Ralph, for those of you who haven't met you before, who are you? What do you do?
Ralph Flora 10:58
Sure. Well, I'm Ralph Lauren, we already introduced that. I've been at AWS. Actually, the end of this month will be 10 years, I've had quite a run for various services. And quite honestly, early in my career, I did dotnet exclusively from you know, early 2000s on it so that 2013 started getting AWS and then suddenly, everything changed, working on services and kind of moved out of the dotnet world for a while, build some services. And then, about a year and a half ago, I decided, hey, I'm kind of a little bit interested in a kind of doing something different, maybe going back to dotnet. And also maybe doing something different than services, because I've been doing that for a few years. And so I joined the toolkits team, and start working on the Visual Studio Toolkit.
Brandon Minnick 11:50
Love it. And so you mentioned you've been at Amazon for 10 years now, which I heard a joke the other day, somebody almost equated to dog years. So that's like 90 years at Amazon equivalent. But, uh, but if we go way back, how did you first get into C sharp and dotnet?
Ralph Flora 12:11
Sure. It was actually back when I was an undergrad I was I was working at a business that was building out a system in ASP. And at that point, dotnet, one was coming out. And we were having some challenges organizing the, the, the application we were building, just kind of due to ASP and some of the limitations add. So we kind of adopted ASP dotnet, as let's try it and see situation. And even even in the first version, that was it was much more effective at putting the application together. So that's kind of when I got started was when it first came out. I was like, Hey, this is this, this might work for us. And it did. And then from there, I did some more ASP NET. And then I started to work at a company that was doing a desktop application for internal use for their employees. But that's when I first got into WPF. It came out around that time the application had started in wind forms. And then with WPF came out it was kind of go old, you new worlds take on with being able to kind of meet those requirements that customers were asking for for the UI. Because while WinForms was great, it had some limitations at times that you know, customers would ask for something and you couldn't really achieve what they wanted. Without a significant amount of work that may not have been worth it. Oddly enough, from WPF, I did a second application there that needed to be web based. And that was around the time Silverlight came out. So we thought we would leverage the skill sets of the engineers at the time in WPF. To move over Silverlight. I think we can all know how that that have that went down. But the Silverlight app did did what it was supposed to. And it wasn't necessarily going to be a long lived application either. So the fact that it survived as long as Silverlight did was great. From there, I went back to the ASP NET world and around that time Xamarin was just kind of coming into its own as far as getting UIs working on on mobile, particularly iOS. So that was really kind of the last thing I worked on before I came to AWS and then I've kind of been away from dotnet for a 10 year period. So it's it's a very different landscape now for dotnet. And more interesting with the Visual Studio Toolkit where I primarily spend my time it's it's kind of a time capsule technologies you use to write Visual Studio extension. You know, there's there's a long history there. And some of there's even you know, old C code in there that you don't expect to interact with but Yeah, there's a lot of technologies that are kind of legacy that you still use to write extensions. So it's kind of having to leverage the breadth of knowledge and experience I've had with dotnet the whole time to be able to, to work with it.
Brandon Minnick 15:15
Wow, that's incredible. And, and for some folks who might not know this, you mentioned you were doing ASP. But I assume that's before ASP dotnet, right?
Ralph Flora 15:29
Oh, yeah, this was the old ran on IIS application server pages, like extension they had for IIS. It was VB script, basically, that you use to generate HTML pages. I don't know if you've ever seen it, work on it anymore. But it was how far we've come. Right. And that's kind of why ASP NET was like a huge boost in productivity on that project was because the organization of those pages, if you were not really super careful about how you put your application together, you could get out of hand very quickly. So it's just like scripting top to bottom. You had little control over the flow. And communication between components and things like that it was was tricky. And speaking of components, you would then potentially have to write like in VB six com components that ASP will communicate with and it was it was a mishmash of technologies that people achieve some cool stuff in the late 90s. With but I was glad to leave it behind and start on dotnet when that came out.
Brandon Minnick 16:37
Yeah, that's It's so wild to think about that going way back. Because yeah, nowadays, if somebody tells me that they're still supporting, let's say ASP dotnet, but for dotnet framework, it's like, oh, that's that's such old technology. And that must be so painful. But yeah, I'm sure there's still some OG ASP apps still floating around there before. ASP dotnet days. Oh, incredible. Hope. So. You've mentioned the toolkit a couple of times that you work on the team that we have support for Visual Studio, Visual Studio Code JetBrains. Rider, but what what is the toolkit?
Ralph Flora 17:21
So the toolkit is kind of a place where developers kind of meet AWS from the development standpoint. You know, as as hopefully, some of the listeners have worked with AWS and understand kind of how you work, a large majority of customers interact with AWS via the console, web console, you go in, and it's very much kind of a CRUD like interaction. And it's okay, it you know, you can get everything you need done that way. Or you might use the CLI, for example, a lot of what customers do that, particularly if they're fans of scripting, versus going in and manage things by hand. But the toolkits kind of give our customers an alternate method of being able to, you know, meet that part of AWS, they're going to be working with right there in their IDE, and not necessarily have to jump out of their IDE, and go work on something elsewhere, you know, to get resources set up, or whatever they might be doing, or kind of like we're talking about debugging on lambdas. Earlier, just checking configuration settings, you'd kind of do that without having to actually like get up and leave your IDE and come back. So you helps you stay kind of in place and working where you were at, to be achieve what you want. The other thing that toolkits do is some of the more popular services, they kind of offer workflows that you might use as a developer that don't necessarily exist in the console themselves, are really popular function as far as workflows, go of the toolkits is being able to deploy software. So you know, as a customer, you might be writing code all day. But eventually, that software has to hit somewhere on a EC two instance, or an A lambda, or maybe in an ECS container or something, you have to get it out there. And so we have deployment experiences that customers can go through and deploy to these various targets within AWS. And basically, it just takes your solution and your projects Bumbles them and deploys them out. Obviously, you have control over the configuration and what settings you might want, as you're deploying. But, you know, it basically gives you a very easy way of getting your code out there and running very quickly to be sure it's running and working properly and see it running in the cloud. I don't know if you've ever done this by hand. For example, James mentioned Sam, there's there's a few variations of Sam that have existed over the years. But you know, you might have to go out to a CLI and do some manual bundling of things yourself to get that deployed. Or if you're really white knuckling it, you may go to the console and just do the upload directly. Then not recommending these are ways to do this. But that was how people might have deployed in the past where this the toolkits, you get this experience where you can actually do the deployment through the toolkit. And a really big one that we had come up last year, as a feature we released was called publish to AWS and we previously had for Visual Studio Toolkit, ways you could deploy to lamda, and Beanstalk, and ECS, and fargate. But they were kind of older experiences, and they were more designed for the more or less, just get it out there and working kind of kind of crowd. Whereas now the published AWS is more of a curated kind of process where maybe you don't know this is your first time deploying to AWS, you don't kind of know what to expect, or what your options are, it kind of handhold you through it without being obtrusive, it's not like, you know, slowing you down, necessarily, you can just say, I'll take the defaults and go. But it really kind of gives you a really nice experience of being able to walk through and see what your options are, and figure out what you want to do. And then if you decide, you know, hey, I deployed that, and it's not really what I want. And you can always bounce back and just kind of tweak some of the numbers and settings and do it again, until you get what you want. So that's been a really popular feature for customers is that deployment process?
James Eastham 21:19
Am I right in thinking that that feature also spits out some kind of like config file, right, that you could then use as part of a CI CD pipeline? Is that is that the same feature that I'm thinking of? Or is that the deploy the deployment deploy tool?
Ralph Flora 21:33
It is the deployed tool, it uses that AWS dotnet deploy tool. And if you might have seen the GitHub project for that, it does use that under the covers. So technically, you could go out and use whatever features that has beyond it. We don't necessarily push customers towards going out and doing something separately. If they've been doing it in the toolkit, we tend to keep them in the toolkit. But yeah, you could you could use that tool underlying tool if you wanted to as well and basically achieve the same thing. The tool I don't know if you've used it it's kind of cool I get it we'll walk you through through a regular you know, STD std out kind of terminal interface, but it walks you through, what do you want to do? And then it starts asking you questions, and you can respond to it that you're not left searching, you know, for 500 different arguments, you have to put on the command line and figure out how you're going to deploy this thing. It does it for you.
James Eastham 22:30
Yeah, I will tell you that whenever whenever I look at these toolkits, and I did the Visual Studio toolkits, awesome. I think the first time I ever deployed a lambda function, I did that through the toolkit, but I always look at like, what's the off ramp? Like? How many developers had hopefully, few listeners who were like deploying to production, right click from Visual Studio? Because I know, that's certainly a twitchy experience. So is there an off ramp? Like, is there a is there a way listeners could go from, you know, right, click Publish to address and then take that to a to a CI CD pipeline, for example.
Ralph Flora 23:03
Not necessarily something that they would have in there right now to do so. That is kind of a space we're looking at, though, because, you know, internally within Amazon, and AWS, we're really interested in having that kind of configuration as code deployment as code experience. And we would like our customers to do that as well, for the same benefits that we see is because you have everything always recorded, and you know what went out every time there's a history of it, and you can follow it. And it's repeatable. You don't have a human following a script, and humans can go off script. So that is kind of a space we're looking into improving upon as well with the deployments is, how can we take where the developers have gotten on board with deployments within the toolkit, and then actually make it more repeatable and kind of take the human out of the equation to make it easier on them and just make it more safe in general?
Brandon Minnick 23:58
Yeah, it's, it's such an important point, because, yeah, well, what I always hear is don't don't right, click publish, like, there was there used to be a saying, friends, don't let friends right click publish. But, but for being honest, we all do it. And it's typically the the first time we deploy will always well, this IO is just right, click publish. Because yeah, there's just to do toolkit makes it so easy to do so. And you don't have to. Yeah, like you're saying earlier? Well, if you don't have to open another window, you don't have to go to your browser. You can just do everything from right in Visual Studio. And what I found that workflow is so is the fastest and easiest for me. So I'll just publish in Visual Studio using the toolkit. And then yeah, once once we get this thing up and running once we push it to production, whatever we're working on. Certainly that's where Yeah, we got to have our CI CD pipeline like James was saying and exportable to everything from the command line. But yeah, to get up and running. I'm Visual Studio Toolkit. AWS toolkit for Visual Studio. First, all the way, do you? Do you see a lot of that Ralph, from other customers when you speak to him about the toolkit?
Ralph Flora 25:22
We do. And as you said, like friends, don't let friends publish that way. It also says something when that's one of our biggest, most popular features is to be able to publish that way. So people do it for various reasons. And then there's different sized customers to write, you know, if you're a smaller customer, and you have a smaller system, you, you might be comfortable with that approach, and you might be able to do it successfully. Whereas if maybe you're a larger customer, and you have more controls over your deployment process, that that may not be allowed, you may not have permissions to even do that. And that is kind of where you crossed the line, and you start looking at things like code, pipeline, and code build and other options. And a lot of customers, you know, in dotnet, they're gonna use GitHub features as well to do their kind of builds versus maybe what's what's available on AWS. But we do have all those options. As well as we, I kinda want to bring this up, there's, you may be aware of a product that was released recently called Code catalyst, that was a really cool kind of experience for individual developers to be able to come in and build on AWS without having to kind of do all the things that are required to set up that maybe a larger enterprise might do like, you know, go get your account set up and you know, your payments squared away, and then figure out like, what all kind of resources and budget for it and all that it kind of lets you get started more quickly. And the other toolkits actually have some very advanced cool integrations with code catalyst, where you can launch and manage development environment and build with an IDE on a remote system. So maybe you need more horsepower to build, or maybe you're just working in a company where they don't want you running on your local laptop, or you know, the various reasons, but you can basically just launch into a cloud based compute and start building on your IDE. Unfortunately, for the Visual Studio Toolkit, Visual Studio doesn't work in a remote fashion that way. So we aren't able to provide that same kind of experience. But for code catalysts, we've we've kind of made some inroads where we can and so one of the places for the Visual Studio Toolkit, for example would be, you can connect to a code catalyst, Git repo, and it goes through the Git provider just like you would for GitHub or Azure, or any of those others. And it basically brings your code right into the toolkit for you. So, I kinda want to bring up code catalyst is because that was a cool new feature that came out, and I'm not sure how many customers are aware of it yet. And they might want to check it out just because it is kind of that full development experience. And whether you're using Visual Studio writer or Visual Studio code, you'll you'll have an experience with code catalyst.
Brandon Minnick 28:16
Yeah, very cool. I didn't know that myself. So. So when you're saying the eight of us toolkit can just connect right to our code catalyst. Our code encode catalyst, is that how's that working is that just get underneath the hood doing? Git pulls and merges and commits
Ralph Flora 28:42
it is for Visual Studio, it literally is Git, if you've ever been in Visual Studio and click the Get menu and clone a repo, that whole process that's, that's what we're able to do today for code catalyst. In Visual Studio. However, the other toolkits writer and Visual Studio code do have that immersive experience where you can have that online Cloud IDE that you can build from. So if you're building something insanely large, and your laptop is, you know, the fans are running full tilt, and you just can't really get the productivity you need, you always have that option with those. But as code catalyst is evolving, and we'll see more and more out of it, as you know, this year and in the next year, there are other features that kind of make it that full development experience. One of the more interesting ones coming up for me, I think, at least would be kind of like the issues and task management that's coming up with it. And that's probably an area that we would build in support as well so that when you're in your IDE, you can actually interact with your issues and tasks rather than once again, having to hop out and go deal with a separate website or something of that nature.
Brandon Minnick 29:46
Yeah, I love it. So, you know, nowadays it seems like the whole world just wants to talk about artificial intelligence and machine learning models and things like Got a chat GPT or code whisper? What's What's the visual two? What's the AWS toolkits plan for bringing these in like, so. For those who don't know, AWS has code whisper, which is our, this AI helper, to help you help you write your code. And I know for me, if that was there in Visual Studio, writing my code for me alongside, it'd be super, super powerful. But I don't think it's there yet, isn't there yet.
Ralph Flora 30:37
It is currently not yet in Visual Studio. And as you know, generative AI has been super huge, obviously, throughout the industry. And the same within AWS, it's, you know, a very big up and comer and kind of a driver of what we're working on. And as you mentioned, code Whisperer is kind of a big part of that, at least from a developer standpoint, and the coders out there that what they would be interested in. And you could experiment with it today. But yeah, we don't have it built into the toolkit just yet. So I would say this is a keep an eye on this space kind of thing. Because as, as Amazon is kind of rolling generative AI out into a lot of different products, you can expect to see it, you know, in the toolkits eventually as well. And particularly the other toolkits, too, so not just the Visual Studio, but if you're a developer using those other IDs, you can look there as well. And, and you will have that code whisper experience. Basically type your code, you'll get suggestions, and you can kind of tab your way through it and write code, hopefully mostly correct code, right? It gets better all correct. Good.
Brandon Minnick 31:45
Right. Feels like one of those things is like, okay, but but not to correct. Like, I still, I still want to have a job. Yeah, right. Yeah. Don't write all my code for me. But yeah, I will say like, for things for things you don't want to do, or maybe don't want to read the docs, for which, if I'm being honest, for me, that's a lot of things like, wow, I'll just figure it out. I need to read documentation on it. Until I can't get it working. And then I go back and read the docs. But yeah, that's where I feel the biggest value is gonna come from, from tools like code whisper is, yep. Let's say I don't know anything about ASP, dotnet core, and I spit up a new project, and I start editing some of the code and if it just tells me how to do it, or if I ask it, like, hey, how do I handle a authentication token? And it just writes that code for me? Great. Cuz yeah, now I don't have to dig into Stack Overflow, I don't have to start asking Google how to do it, I have to find a random blog post by James that shows me how
James Eastham 32:53
is a perfect use case for this. I can never I can never, ever, ever remember how to convert a memory stream to a string and a string into a memory stream. It never, never has it? Never, we're never gonna remember it. And it's just so we just just have to do that in my IDE and not have to remember it and go find in the same StackOverflow article, every time there's a value in stuff like this, I should really just bookmark it. Give it my bookmark toolbar. Here it is go through it every time. So yeah, I completely agree about that. Stuff like that, where you just be super handy to have this little helper with me. Just remember.
Brandon Minnick 33:26
Yeah. Aaron, in the comments, saying, like, don't read the docs from Isaiah, when I was a kid tried to assemble a toy. Yeah, I broke the toy. I had so many extra pieces. So yeah, that's, that's gonna happen. But what if you had somebody to assemble that toy for you? Yeah, I've started using services like that for also things I just don't want to do, like unit tests are. As good developers, we all write our unit tests. But nowadays, she's like, Yeah, what if somebody just did that for me?
Ralph Flora 34:05
Another great space for it would be AWS has like over 200 services. Now, I think I've lost count, honestly. There's no way you're going to master all of those and know all of those, but being able to kind of get the fundamental code to interact, because they all have unique API's. And as you pointed out, you have to go read the docs for everyone. Just having being able to generate how to interact with all this various services you might encounter would be, I think, a huge win. Because you don't have to go figure out like, I'm gonna go spend a few hours and figure out how I need to work with this service. If you just kind of give me some code, and I can edit it from there, that would be great.
James Eastham 34:41
Although I use GPT, for something for a personal project recently. And I kind of wanted to be a service it wasn't it just completely made up an API. So we followed the same pattern like vertical vertical, insert your region here that is completely made up this API call. I was okay, so maybe we're safe for the minute like he's ever Under just not quite correct, you know?
Brandon Minnick 35:04
Yeah, like when I, I use chat up to writes unit tests. There were like the idea was there, you know, I could tell what it was going for. But yeah, certainly, the code wasn't something you can just plug it in compile, and especially around the doing like task based stuff. They sync it away that that really just broke. Broke the brain of of jet GBT. So. So James, we've got, we got Ralph on the show, I was at Ralph works on the AWS toolkit. What would you say your your favorite feature of the toolkit is?
James Eastham 35:44
Ooh, good question. I think one thing, I use it for a lot. And, and I will confess, I'm mostly a writer, person. But when I do use Visual Studio, it's having options in terms of the Getting Started Experience. So obviously, I do a lot of work with lambda, as I've talked about, and to I've got an existing project right into the solution. And I'm already doing things with lambda, I can go File, New Project, and there are a whole bunch of different Getting Started templates for how to do things. And they're all packaged with the toolkit, this whole great getting started experience to be found there.
Ralph Flora 36:21
Yeah, yeah, just the same way you would go create any project in Visual Studio, you know, file and you and then you can pick, there's even in fact, when you are filtering out, you can pick AWS as one of your options from your targets. And then you get all the AWS templates that you might want to use. As you pointed out, there's quite a few for lambda. There's a few for CloudFormation, and a few others as well. But yeah, those get you started pretty quick on how should I lay out my project? What sorts of files should I have? And it's definitely helpful for customers, rather than having to kind of take a stock off the shelf, or maybe even empty project that Visual Studio and try to figure out like, how do I build all this up to make this work?
James Eastham 37:03
Yeah, and I really liked about the all of the Visual Studio templates, I've used at least all have examples of unit tests as well, again, that with the lambda projects, but you get this whole, your source folder, you get your tests folder, you've got the lambda function with whatever of the options, you picked it, the unit test project references it, and there's some unit tests like that whole experience, coupled them with the rack, click publish, as far as getting started experience scores, you know, your hello world. Wonderful. I'm just wondering if you will, it. It's great to get started.
Ralph Flora 37:35
And the toolkit kind of even goes beyond that with the built in project templates that might be a Visual Studio. So like maybe you make an ASP NET project. And then you're like, Well, where do I want to host this? And how do I want to deploy it, that's, that kind of goes back into the publishing that we talked about, like, you can just take that ASP NET project that you built, you know, standard default off the shelf, ASP NET solution and project and just deploy it. And you can put it onto a Linux host, or whatever you want to do. And so you kind of the toolkit ties into some of those existing features that are already in Visual Studio as well. And you do get, you know, more usage out of the whole breadth of templates that you have that come with Visual Studio, not just the AWS ones, but you know, you can use AWS with some of the previously existing templates as well to do cool stuff like deployments or whatever you might want to be doing.
Brandon Minnick 38:25
Yeah, yeah, super, super helpful stuff. And yeah, it's something else i i also recommend to James is not to go on too much of a tangent, but I feel like the ATMs toolkit is kind of like one of the best kept secrets about AWS, certainly for dotnet developers, but for everybody, since everybody can benefit from this. And yeah, I always feel like when I bring it up, or when I mentioned it, we're like, oh, wow, that's so cool. I didn't even know this existed. So I love that we're helping to get the word out. Because yeah, the the toolkit is so it just makes it makes life so much easier as a dotnet developer, as somebody who's familiar with Visual Studio as somebody who's hosting all their stuff in AWS. Yeah, you can just, you can just do it all from the IDE. So rough, I'm curious, what what are the are two as much to the extent is, as you can share, what's the upcoming roadmap look like for for the AWS toolkit?
Ralph Flora 39:31
Um, welcome, as we talked about, there's those you know, everybody wants to do generative AI so that that will certainly be the roadmap. There are features, we don't generally like to talk about new features coming up until they've been announced. So they're already features. The one thing that would that I would say to customers in general, though, is reinvent comes up every year. And reinvent is the big AWS conference at the end of the year where all new services are announced. All the big features on services. And so if you've, if you've ever been, you know what I'm talking about, if not, it's it's the biggest conference all year for AWS and it happens in late November, early December timeframe. And that's, that's usually whenever you kind of see the roadmaps, where the rubber meets the road for the roadmap there, because that's when a lot of launches come out for the year. Plus, you also get a lot of detail on what might be coming out in the next year. And you might see previews of things that reinvent so that would be a place I would say, always keep an eye on for people that want to see what's coming out. And that also includes things like you know, that are tangentially related to the toolkit like code, whisper catalyst and the other code tools that interviewers have. Because as as those features come out, you can pretty much bet that the toolkits will start tying into those features as well. And you'll have those available within your toolkit within your IDE and not necessarily have to jump out to a CLI and learn it or jump out to a console. But yeah, so that's unfortunately, really all I can talk about at the moment. But I can say it's an eye on reinvent, because that's the biggest time of year to find, find out what's coming and what new features are coming out.
James Eastham 41:14
Right are pre invented as well as it seems to be popular becoming a thing is late September, October started November, it seems to be pre invented. These were these things started you remember last year there was there was a couple of things that were announced before reinvent that were huge. And unlike what is coming at reinvent if yes pre med, or No, exactly. This is coming in pre event what is coming up, remember? So yeah, yeah. That's the place to keep an eye on.
Brandon Minnick 41:41
I like that. Because Because yeah, re event is just huge. I got to go for the first time last year, I just recently joined AWS in late September. So I wasn't, I wasn't here long enough to necessarily get even get a ticket. But I managers still like you. You got to come you just got to come see this is like don't tell anybody but he let me borrow his badge. So I could sneak in and check it all out. But yeah, I, I speak at a lot of conferences. It's kind of part of the job, I'll get invited to give talks at conferences around the world but reinvents the biggest conference I've been to, by an order of magnitude. It's just, it's giant, it feels like it takes over the entire city of Las Vegas, like spanning all these different conference centers at the different hotels feels like everybody's just there for reinvent, so highly recommend it to anybody who hasn't been go check it out. It'll blow your mind.
James Eastham 42:47
I think what they did for me last year, like share the scale of it, but then the up Thursday night after party, and Martin Garrix is headlining the after party. You just think what what this is? Like? So yeah,
Brandon Minnick 43:06
yeah, that party was crazy. I've also snuck into that last year. Like this year, I'll actually I'll have a ticket. But But no, I love that, Ralph. I love the little a little bit of a tease. So stay tuned for for reinvent for the upcoming announcements. And yeah, we'll have to have you back on the show after to show off, show off some of the things. Can you talk about what what you're working on now what we're working on today? If that's if that's not a new feature coming at reinvent, of course.
Ralph Flora 43:40
Sure. Yeah, actually what I'm working on today, I'm literally kind of just finishing up a project right now. So hopefully it should be available in the next few weeks. And it's kind of one of the areas we wanted to prove on the toolkits was kind of customer interaction in the user experience. For example, the Visual Studio Toolkit has been around for quite a number of years, I'm not quite sure that it was written in 2008. But I think the first version of Visual Studio is supported was 2008. That was that was long before my time even at Amazon. So it's it's it's, you know, it's had a good long run, but in that time, you know, it's it's as, as new features are added, there's, you know, older features, they kind of don't change that much. That's your typical software, right? And so we're kind of looking at some areas of, you know, where can we improve that user experience with the toolkit so that users are more happy with it. And one of the areas that we're working on right now is kind of that getting started experience like when you first load and started toolkit, like, I don't know about you, but like when I install an extension and try to use an extension, if there's not some kind of immediate gratitude, like within the first minute or so, or I can't find where In the IDE, the extension even pops it up, like, Where does this thing live? I usually give up and just uninstall it. And I'm not going to bother with it at that point. Because you know, it needs to make your life easier not not a challenge just to figure out how to use the toolkit. So that's kind of when the areas that we're working on is like, what can we do whatever customers first come into the toolkit, particularly customers that may be new to AWS as well. So not only are they having the hurdle of like, how do I get this toolkit to work? But what am I even going to do with it? What does AWS do for me? So we're kind of looking at spaces where we can improve that user experience. One of the areas though, that users have problems with is getting their credential setup. I don't know if you've ever tried to figure out like all the different possible options AWS has for credentials and getting signed in. But it keeps expanding, like maybe where like I am identity center came out recently as kind of a rebranded, revamps, new way of handling SSO. And then, with CO catalyst, there's kind of a single sign on option there called Database Builder ID that's that, that whole thing where like, you can come to AWS and you don't even need an account. And you can just start building stuff and using resources. So with all these different kinds of credentials and ways of managing them, it's it can be really tricky and a daunting task for customers to figure out like, what am I even doing here? How to don't even get logged in to start working? So we're working in that space on like, how can we get you started more quickly? Like you, you probably have gotten credentials from an admin or it's in an email to you or something like if you know how to get logged in to some degree, but how do you get you know, from that email and into the toolkit and started right away. So look for some new user experience around getting started with the toolkit. That's, that's, that's kind of the project I'm working on right now that's wrapping up. And with that, I kind of alluded to it before that, like Visual Studio is kind of the SDK has a legacy of, of, you know, older technologies, whenever you're building extensions. So WPF is one that you would use in there. And I don't think many people actually use WPF these days, but like, you know, things like, Maori, I guess, have roots in it. And you might be familiar with it from that standpoint. But there's been some kind of like interesting, solving problems that, you know, for technology that's been around since I think it came out in 2006. Maybe, with Windows Vista, I'm trying to remember, this has been a while. You know, it was a pretty solid technology then. And it's held up pretty well over the years. But like, there's been some interesting problem solving that, you know, even after a good 20 years, almost, it's been out that you're you're still solving. But that kind of makes it fun working the toolkit too, because you're you're you're not necessarily working on the same product. Well, let me say not in the toolkit, because customers use the toolkit, they don't have to worry about all this. This is this is all shielded from them. This is just building the toolkit as an extension of Visual Studio extension. You know, you kind of have these interesting problems you're solving that have been solved at some point in the past, sure. But they're kind of different than what most customers are solving today. So it's an interesting challenge working on the toolkit from that standpoint, or working on an extension in Visual Studio from that standpoint. But yeah, be looking for those kinds of user experience improvements coming out. And also be looking for, you know, this kind of generative AI features coming out. In, you know, over time.
Brandon Minnick 48:48
Yeah, yeah, I'm excited cuz. Oh, go ahead. Okay.
James Eastham 48:54
That's something I'm really curious about, like, yeah, the gender aspect could be interesting. But I guess what I'm curious about is, is there a feature of the toolkit, rather, that maybe is used less than other features, maybe a hidden feature that not many people know about that you think is really cool, that will be interesting, but maybe doesn't get the quite the same? From two centers like to publish to AWS, for example.
Ralph Flora 49:19
There's there is kind of a cool feature I think from it's mostly a feature, but maybe an area where this toolkit can help you out. Back when I started AWS 10 years ago, EC two was kind of the big way you had compute, you know, that's if you wanted to compute in the cloud, you had an instance. And since that time, you know now we have quite a quite a number of services that get you compute you lambda. As you mentioned, James here, we like lambda ECS and fargate to get you those container based compute services. So a lot of customers there's even one called beanstalk that a lot of customers use I forget to mention this from time to time, but it's kind of having like, you know, you want to just get a website up Lloyd and you don't want to worry too much about all the various resources and stuff you need to set up. Bienstock does that pretty well for you like, it sets up what you need. So a lot of the customers use those features. But I think the cool thing is there are easy two features within the toolkit, that customers that want to work on AC two, as a computer can still get to work very effectively with AC two with. So it's kind of a cool thing that I think gets forgotten about with all the new types of compute that people are focused on. But if you're still building on AC two, and it's still a very valid use case, and a lot of a lot of ways, then you you still have those features there for you. It wasn't like a forgotten thing, it wasn't removed from the toolkit or anything of that nature, like, you still have all the compute options you had in the past, and they they're still functional for you. So I think that's probably what the cool things is, you can regardless of what you're working on, you can still kind of get back to the older computers and still have a functional like, you know, experience working with it. So sometimes people you know, I'm sure you've worked on projects where you got a technology and you're like, Oh, God nobody made me supports anymore, or there was never great support for the first place. He's had to use it. So, you know, having those nice extra features still there and supporting you. Is it always a good feeling?
James Eastham 51:22
Yeah, I think that's super important. Like likes as much as I am, you know, I love service of lambda. But yet, there's still a whole raft of people out there, one of which was me before I joined us who's still deploying things to servers and managing instances and things like that. So I think that's really, really, really cool. Call out. Still got all these options in the toolkit in your IDE to be able to work with some of these. Right? Like I said, the right word. We call it legacy. Yeah, I don't know all the ways of deploying applications. Let's say that.
Ralph Flora 51:52
I mean, there's there's still new instance types coming out every year. Yeah, it's still a very viable and great option to go with, depending on what you're doing.
Brandon Minnick 52:03
Oh, yeah. And especially if you have things on prem already. And these books, we think of as legacy services, since we've been in the cloud for for years now. Personally, yeah, if you're coming from, I had a server in a data center at my place. What's the easiest first step to get that into the cloud? Yeah, easy to spin up, just spin up a server. Now, that server instead of living, you know, behind the wall, and your data centers, just down the street, and a cloud data center. But yeah, I would certainly push if I was working at a company like that, you know, alright, let's get let's get in the cloud, you know, for liability, disaster recovery, that'll make things easier. But yeah, maybe maybe someday we split this up in. There we go microservices. serverless. But, but, yeah, you definitely have to have have those onboarding paths. And that's so cool route that everything's still supported. And so I'm curious, does the Toolkit team have a policy on on support like that? So like, for example, if if technology gets deprecated? And let's say, Well, I would I wouldn't even say I say let's, let's say easy to goes away, but that's how rumors get started. But yeah, what is the ATO is toolkits policy on on that? Will it continue to support those services until those services no longer exist?
Ralph Flora 53:40
Yeah, and kind of take that to a bigger level, I'm only aware of one service at AWS that's ever actually been its database service. And that got replaced by Dynamo DB. So the service is never really go away. There was one called Cloud Search. I don't know if that was still around. But really, there's very few services that ever go away, they always have. They may not see innovations, if people are no longer adopting them, but they usually they're always there for customers to continue to rely upon. So even with the toolkit, you know, if you had a feature there, we wouldn't remove it. Unless there were there would have to be a really good reason, like, you know, maybe a security violation that was unfixable. I can't imagine what that would even be, but, you know, we're not going to take things away from you, particularly if you've already had them.
James Eastham 54:38
Oh, sorry. Go ahead. Just said I slightly different direction that with Visual Studio support, but does it support only Visual Studio? And, for example, like what version of Visual Studio
Brandon Minnick 54:49
2022. Yeah,
Ralph Flora 54:51
right. That was kind of where I was gonna go with the next Visual Studio. It tends to be the most recent version and the pro version that's supported. And some of this kind of depends on how long that version of Visual Studio itself is supported. Because if it's not supported, we can't really support an extension for it either. Because we would want to put you at risk. If you're not getting support from the underlying, hosting IDE. There are however, you know, if you are working on projects, or you may be working at a company where you have to use older versions of Visual Studio for some reason, there are still the old toolkits available for the prior versions, I believe back to 2013 is still available. It may go left, I haven't actually looked on the marketplace. Some of them, I think there's a couple that aren't actually on the marketplace. But if you go to the AWS Visual Studio Toolkit page, there's links out to all those prior versions, to be be aware of those, those versions have not been updated for a number of years, because they've been sunset, but the toolkit is still available. So if you do have to work on an older version of Visual Studio, you do have those toolkits available to you that can hopefully make your life easier if you're having to work with Visual Studio 2013. So that is an option. But yeah, typically, it's the most recent two. And we kind of do that too, because we want to keep kind of a high bar for the user experience and the features that we can take advantage of. So we try to keep as up to date as possible.
Brandon Minnick 56:24
Love it, and, and Ralph, we've only got a couple minutes left, time flew by. So Thanks for Thanks for joining us today. So for folks who want to get started with the toolkit, where should we? Where should they go? You shared this link with me before the show, we have github.com/aws/aws-toolkit-visual-studio? Is that the best place to start?
Ralph Flora 56:48
Actually, there's there's the actual AWS page, I can get that for you very quickly. Yeah, so there is the AWS page itself. And that's kind of the main landing page where you would want to come into for the Visual Studio Toolkit in general, like I said, that has the links out to the various older versions, if you wanted as links to the current version, although if you're going to get a current version, just go into your Visual Studio extensions, manager search AWS, and you'll see the toolkit pop right up and you can install it directly from the IDE. You don't need to go to the marketplace. But that website also has the links up to the docs. So there are the AWS, Doc's regenerative AI is not reading them to you yet, you can read them yourself. So those are some really good places to start with the toolkit. And also the first one, you had the GitHub link that was on there. If you encounter issues with the toolkit, we're very active on the issues list there as well. So, you know, should you run into problems, we can jump in and help and try to resolve what the issues might be?
Brandon Minnick 57:59
Good to know. Well, well, Ralph, for anybody who wants to stay in touch, stay tuned. Were can they find you online?
Ralph Flora 58:09
Well, you can find me on GitHub on floor Alpha. That's where I usually that's where I'm making my commits. Right now, the AWS toolkit for Visual Studio is not open source. But if you're curious about the other toolkits, and how they're built, the Visual Studio Code and the JetBrains. So writer, those are open source, and you can go check those out. And then I'm more of a lurker on Twitter than a poster. So you got Ralph on Twitter, I'm on there. But Mike did not post frequently. So you might find me on there. You might not.
Brandon Minnick 58:43
No worries. Well, thanks for coming on the show today, Ralph. Really appreciate it, James. Thanks for stepping in for Francoise. And thank you. Thank you for tuning in. And joining us for another episode of the dotnet on a day ratio. We'll be back in two weeks we stream Same time, same channel twice a month. Make sure to subscribe so you don't miss it. And we'll see you that
Continue to The .NET on AWS Show, Featuring James Eastham!
Any opinions in this post are those of the individual author and may not reflect the opinions of AWS.