Jeffrey Snover, Joey Aiello - psconf.eu 2019 Keynote

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] honey I'm Jeffrey Snover Microsoft technical fellow and I'm joined by Joey who's walking off the stage and we're gonna give you the state of the shell all right it's 2019 and guess what PowerShell has never been more important why is that and the answer is it's because the world runs on software now in 2011 Marc Andreessen wrote a very important paper he said that that paper is called software eats the world I recommend you find this paper and you read it it's a very short read but if you haven't read it let me give you the gist of it he basically makes two arguments argument number one software is eating traditional businesses and just say there's an existing business and a pure software play is competing against that business and winning okay so think about telecom Skype think about music iTunes Spotify bookstores being attacked by Amazon online software okay so number one argument is that traditional businesses are being attacked by software only plays the next argument he made was that for those businesses that will continue to have a physical product think about a car that they the value of that product will be increasingly the software component of that product so a car today has somewhere between 10 million and a hundred million lines of code okay the more expensive the car the more the value of that car is being delivered through software okay so whether it's cars defenses so the thing about the car right infotainment systems safety systems navigation systems these are software products delivered so two arguments one traditional businesses being attacked by software two businesses that continue to exist products that continue to exist and more the value of that product is software he said companies in every industry every industry need to assume a software revolution is coming now here's the latest data I have I should update this but here's the data I have as a 20-17 this is a list of the largest companies marked sorted by market capitalization the highlighted ones are those businesses whose primary value is delivered through software okay over half of the largest companies in the world are software companies is that amazing or what now also note that a number of those that I didn't highlight a substantial portion of their value is software but I chose to just highlight the ones whose core value is software now Marc Andreessen wrote that paper in 2011 this was the list of the top market top market capitalization companies in the world the highlighted ones are those whose value is primarily driven through software okay so in 2011 he says software's going to take over the world this is the way he looks at it okay a mere six years later over half of the largest companies are driven through software okay Microsoft acquired LinkedIn what that really means is we've got a very good bead on where jobs are and it turns out that the latest numbers show that there are more software jobs being offered in non technology companies than from technology companies so guess what software eats the world and it's going to be in every single company now that's all kind of cool and abstract but let me just give you an example of where you might see this okay so if you came to this conference is a good chance you flew you might have flown on Alaska Airlines or British Airways or any number of these and by the way this is kind of skewed towards Azure but it's sort of cloud in general and software in general those companies that I mentioned have a number of their systems Virgin Atlantic and and others have a lot of their customer-facing systems being driven by the cloud so if you show up at one of these lounges you'll log in and you'll be running software that's being driven off the cloud you might have flown here on a plane that was done by Boeing Boeing recently is moving a bunch of their IOT software to Azure they did a stress test of that with our event handling they ran I think it was 50 billion events through our event processing in a stress test worked very well except the next day they called with a complaint they said hey there's something wrong with your billing system our stress test of a couple of 50 billion events we got a bill for $56 so that can't be right we said yeah I know of course that can't be right we audited that turned out it was right they said yeah we said huh so so yay yay cloud know now that that Boeing plane might have had a rolls-royce engine rolls-royce engine is delivering fuel as a service a software service in the cloud compares fuel utilization and fuel efficiency across different flights by different operators and then conceived I'd suggestions as to how to operate the flight in a more fuel-efficient way because fuel is one of the most expensive parts of an airline you might when you get somewhere you might need some cash so you go to a cash register cloud on the way over you might have grabbed a cup of coffee now if you go to Starbucks and you use their mobile application that mobile application is running in our back-end is running in Azure they use machine learning algorithms on open source software so as yours not just windows it's open source Linux so they got a Linux spark cluster and they're using machine learning algorithms to tell where you are and where you're gonna pick up your order so they know when you're gonna arrive and then they meant they rework the work order for the barista set to provide you the freshest product available crazy stuff you might have taken uber if you take an uber the the driver logs in using a facial recognition machine learning of a service in Azure to make sure that that driver is who he says he is that driver might have gotten in a BMW I don't know this BMW Toyota etc their infotainment and and voice navigation systems are all running backed by Azure services the driver of that car might have saved fifteen percent or more using Geico Geico is an insurance manufacturer interesting thing about Geico is that they never would advertise during a large sporting event and the reason for that was that their back-end systems couldn't handle a burst load last year they moved to Azure and and for the Super Bowl they announced and they were able to deal with the surge the dynamic scaling of Azure and then when the event went over they scaled back down saving money this saw the guests that they got might have come from Chevron whether Chevron or others many of these people are using back-end systems in as you're in fact some of them are in fact Chevron is replacing their entire data center with an azure data center so the point I'm making here is that technology and software is permeating all industries all industries that means great opportunity for you okay so the world runs on software and the challenge with that is boy there's a lot of stuff out there right there's lots of opportunities right there's containers blockchain bots IOT micro services automation there's just a ton of things to figure out and use and as you do that there's a whole bunch of challenges right the business business is betting on you to tell them what are the safe bets what are they're not safe bets when do you do things like shits serve lists how do you move to DevOps which code should we use which cloud should we use whether I use SAS or past there's a ton of things where people are the key component between potential success with technology and actual success with successful implementations so [Applause] the challenge with this environment of incredible opportunity and incredible stuff is how do you manage it right how you keep that all in your head okay now PowerShell plays an important role in that and let me go back to our sacred vow when we started this we've had something we said hey listen we know your hair's on fire and the last thing you want to do is to stop and learn a new language and we made what we call the sacred vow we said stop learn this new language and if you do that learn PowerShell we will make you more valuable okay and so the idea here is that in a world that runs on software automation is absolutely critical absolutely critical now here's the reason here's the thing the world always has been is and always will be messy it has been messy because there's legacy systems that you never get rid of they're always there and even if today you say hey I finally get everything dialed in and it's clean and I know what to do there's innovation and with that innovation it breaks the rules and so it's always messy PowerShell can't fix that mess but we can do is we can make it a lot better okay so first we want to make PowerShell ubiquitous want to make it heterogeneous want to make it available and lots of hosts want to make it smaller and faster so that you can learn PowerShell learn to glue together the messy world to solve problems and then have the skill that you learn with PowerShell apply whether it's UNIX windows today or Linux tomorrow or a mixture of Windows and Linux whether it's in the cloud whether it's on-premise whether it's using hyper-v whether it's using VMware whether it's using AWS or with the great jackets thank you very much or Google Cloud or Azure the skills you have learned in PowerShell you can bring to bear to each of those environments right so we want to adapt PowerShell to the new technologies that are so important in the cloud things like rests and JSON server lists environments and we want to be able to allow you to participate right there's only so much that we see and there's only so many resources that we have to address the priorities that Microsoft has but you might have different priorities and you might have different needs so we want to make it open source so that you can participate in that to one always understand exactly how the product works you can go in and see the code itself like why did that happen and you can say hey that isn't meeting my needs why don't I change the code and then do a pull request and make the product better so at the end our sacred vow is all about making power is power Shell's here to make you successful now PowerShell is and always has been ahead of conventional wisdom so this phrase conventional wisdom is a particular story about that when I became a technical fellow that's the top of the individual contributor stack at Microsoft it's an executive level to say position and I got invited to such an Adela's extended staff and so the first thing he does is he welcomes all the new executives and he says you know welcome to the room you know congratulations your days of wining or over he said in this room we manufacture success he said now I want to be clear you know you have the resources that you have and you need to manufacture success with the resources we've allocated no whining no coming up to me saying oh I could be successful if I only had 400 more people so we've allocated the resources you have to be to manufacture success with he says now in order to succeed you're gonna have to do two things you have only two degrees of control number one is the culture and enthusiasm and energy you infuse into your team and it's resource allocation and here's where it got very interesting he says in order to succeed in this room you need to be a growing business you need to allocate your resources ahead of conventional wisdom if you're doing what everybody knows is the safe and easy and obvious play you will not generate the kind of growth we need to succeed as a company so you need to allocate your your resources ahead of conventional wisdom and he said I'll be and just be very clear with you when you do that you will be occasionally wrong and he said I will stick with you if you're wrong if you do two things one is that you're intellectually honest and by intellectually honest I mean you always have a plausible theory of success and number two is that you're constantly monitoring that theory and when it's no longer plausible you're making changes so just a really profound insight into a great way to run a company so the point I want to go back and highlight is this idea of investing ahead of conventional wisdom PowerShell has always been ahead of conventional wisdom so when I came to the company and I said hey you know Microsoft Windows we need a command-line interface that's the key to success and server this was very far ahead of conventional wisdom you might have heard the story about me getting demoted to work on this project I got demoted and took me five years to get my my level back we had executives you know kind of yelling at me saying exactly what part of effing Windows is confusing you there was definitely not obvious that a command-line interface in a Windows world was the right thing to do but it was the right thing to do now PowerShell version one when we shipped that in 2006 it was at least 20 times more powerful than command a taxi right yeah Richard command structure yet extensibility you know is at least 20 times more powerful now when I had a conversation with chef chef made a strong commitment to desired state configuration and when they made that decision I had a talk with the CEO and I said you know what made you feel comfortable making this big bat because he said you know well you know we're betting the company on desired state configuration I said what makes you comfortable doing that and he said I've looked at Microsoft and you guys often produce great technologies and then don't stick with it you come and then it gets dropped he says but with PowerShell it's been a story of consistent investment you had PowerShell version one great product at least 20 times more powerful than command XE but then what did you do you invested and you delivered PowerShell to and then you invested and delivered PowerShell 3 and then that we did 4 & 5 and he says that gave us the confidence that this was a product of continued investment and who something safe to bet my company on so at some point we stopped and we said hey let's look at where we are and let's look at where we need to be and this is when we again saw the future the future of the cloud the future of a heterogeneous environment and we invested in dotnet core and then PowerShell core this was a head of conventional wisdom a lot of people in our community maybe a lot of people in this room said what are you doing that makes no sense at all but we were ahead of conventional wisdom when we went down this path now as I mentioned PowerShell if you took a look at the original monad manifesto I broke it down into a number of categories right there was an automation model automation model a shalt management models remote scripting and a management console and then for each one version one like 20 times more powerful than command XE version 2 we continued to advance it we get script command lets you know more programming jobs eventing added remoting the key thing an interactive script editing with debugging version 3 huge edition you doing the dotnet compiling jobs run as constrained environments version 4 and version 5 so we continued to invest in this area now the reason I point this out is command I'd XE command that XE I think has not had a substantial Inc you know improvement made to it in at least 20 years and yet we continued to ship it in the box why is that the answer is it's continued to be used okay and a number of people still use it and so we continue to ship it Windows version sorry Windows PowerShell version one was over 20 times more powerful than command XE we continue to invest this is very extensible extremely extensible extremely powerful extremely capable and we are putting a coat of shellac we're sealing PowerShell version Windows PowerShell version 5 we continue to ship that in box and continue to support it as long as people use it but now we've started a new thing and that new thing is PowerShell core I think I switch to you yeah Thank You Geoffrey appreciate it so we're just gonna dive a little bit more into sir the future of PowerShell core why we why we chose these goals sort of how we've been doing along the way and accomplishing these goals and and what we need to do next to continue our path to success so as Geoffrey said a big part of our our roadmap here is ubiquity right PowerShell needs to be everywhere so this is is across the platforms across various hosting models different clouds different processor architectures really really getting it everywhere so that you guys have the ability to manage everything in this in this very heterogeneous hybrid world cloud readiness so this is all about sort of managing you know this transition from a very micro management approach to to managing your servers having these these individual machines that you treat as you know family members or as pets to this sort of cloud and services management world where you're building up resources you're scaling up and down very rapidly you're interfacing with REST API s that are very disparate and and maybe schematized in very different ways but it also means that we need to participate in these sort of new architectures for hosting models so serverless cloud docker containers containers in general etc etc and lastly you know I think we can all agree that the community is the lifeblood of PowerShell and that really it wouldn't be where it is today without all of you in this room and the people that extend throughout the powershell community across the world and so building that into the central design of powershell core and and the interaction model with which we engage with you guys it was really critical to to making sure that that parish shall continue to be successful going forward so one of the big aspects of ubiquity here is the operating system this is the list of operating systems that we currently support you know there's there's a lot of as jeffrey talked about there's a lot of we do in powershell that that tends to be ahead of conventional wisdom and sometimes that means making brave choices about how we treat down level windows management framework was a great example of this you know we fought very hard to make sure that as we upgraded the version of powershell in in new versions of windows and windows server that we continue to deliver that innovation to the machines that you weren't able to bring forward to new operating systems and we've continued that with with powershell core and making sure that we continue to support Windows 7 and 2008 r2 for the the extent of their lifespan I don't know if anybody saw but we just announced that we if you if you lift and shift your your windows 7 and to 808 our two VMs into Azure we're gonna support them for another two or three years that was a very recent announcement that that wasn't anticipated by a lot of folks but it put us in a very good position having PowerShell core already supporting those operating systems as as close as 20/20 felt when we when we first started this product obviously Mac OS you know this long tail of Linux distributions Alpine is a great example of a place where we've invested a little ahead this is a Linux operating system that's optimized for container runtimes it's very very small we've also been experimenting with arm 32 and arm 64 architectures across both Windows and Linux and we've had some really really awesome moments when folks show up saying you know it'd really be nice if I had some kind of PowerShell that I can run on on arm 64 and we say that's that's great we we have that just sitting right over here additionally all these different package formats you know we we support xcopy ability of powershell core that's actually one of my favorite features of partial core it's it's often overlooked is that really the ability to just drag and drop it into a fuller anywhere on your file system and execute it without having to reboot without having to update your version of.net soon we'll be updating PowerShell quarter throat in the Microsoft Store and we'll also be making it a dotnet global tool I'd actually hoped that that one which shipped by now we're very very close with some some internal uh bureaucracy but we also support snap packages which is you know a canonical the the folks that run a bun to their new sort of container based format for for installing packages docker packages as well and then powershell editor services which is the engine that drives vs code powershell we've we've sort of pushed that throughout our community and it's been supported now in Visual Studio code Visual Studio via the posh tools run by Adam Driscoll as your data studio which a new editor we put out for DBAs jetbrains IntelliJ and then vim eight slash neo vim and a lot of these have been done by the community but it really enables people regardless of your choice of editor to to build powershell modules and debug powershell scripts so real quickly I'm gonna show this awesome demo that sort of demonstrates you know how far this ubiquity has come so I've got a visual studio script here but we can't see anything it's Steve yeah it's the very dark theme right so let's get into the ISE theme here great let's make it a little bigger so this is a very simple PowerShell module without a manifest it does one thing it basically decides hey are my own windows or my on Linux and if I'm on Windows I say hey I'm on Windows check out my get computer info and if I'm on Linux it's going to run instead you name - a which doesn't give us quite an amount of information as get computer info but it will give us some information about the machine so here you can see I'm in Windows I'm running PowerShell I've actually updated all the way to PowerShell seven here so I'm running the latest preview dot one in PowerShell seven and I can go ahead and import module on this wsl demo and then I'm just gonna run get environment info very basic well this is why we tap complete yay so this is gonna run get computer info you'll see you know the string got emitted yep I'm on Windows look at me here's all this great stuff about my environment and I didn't run any of this Linux tough now when we build these scripts you know we want to make sure when we build modules that we know we're going to be executed across different environments we want to be able to easily test that those work on different platforms which is why we build CI systems that that have multiple operating systems that run every time we commit a PR into our version control in that sort of thing but sometimes it's kind of annoying to wait for all those PRS to run and and really we've been working really hard at Microsoft and making Windows a much more viable development platform for for cross-platform which is why we've introduced the windows subsystem for Linux that allows us to run a Linux environment right from within Windows so I'm gonna be showing this all week this is actually the new Windows terminal that we announced it build it's really awesome I've got this great drop-down here with all my possible shells and I can just click WSL and this is gonna give me a little linux tab and you'll see already I'm just running right here within Linux now I've gone ahead and set up another new feature of Visual Studio code called remote development and it basically allows me to run a small little headless server inside of this Linux environment that a visual studio code will automatically connect to and allow me to execute and host all of my extensions for Visual Studio code very seamlessly so I've got another instance right here of and I will go ahead and change the theme apologies it's another instance here of Visual Studio code insiders and you'll notice there's one difference other than the green icon for the insiders which is this WS cell bracket up here in the in the title bar so the way that I actually started this is I was sitting inside of a Linux machine this W a cell and all I had to do is run code insiders dot in the directory that I wanted to open up in in the visual studio code and it gave me this this visual studio code right here so the great thing about this is I'm already running PW sh dash preview I have access to the exact same file system here and I'm able to do the same import module of this w w cell demo so this is the exact same code that we had before and you know the great thing is that I can have these actually side by side and be doing developments in both of them and if I run my get environment info it's going to say hey I'm on Linux check out my thing I don't have yeah check out my you name - a so this is awesome like this this is what ubiquity looks like right like we have all the tools we need to build for all the platforms we might want to ship these PowerShell scripts and I didn't have to you know go outside of anything in Windows other than grabbing Visual Studio code in order to do this so really exciting times yeah let's get right back into it definitely check this thing out if you haven't already I it takes like 10 minutes to set up it's really really impressive so just going along with ubiquity here we've got a quick graph on our usage we're really happy about this we've had usage explode since our six 1ga over here we're up to almost 12 million starts right now I think we just pulled the main numbers last night they're at eleven point eight million one of the interesting things you'll note about this graph is that all of this growth is coming from Linux so you know we've we've finally achieved a little bit of growth here on the windows side these are our highest windows numbers yet after a few a few falters and and it's interesting actually to see how thin this Mac number is this can be a little bit misleading a lot of folks would look at this graph and say hey why do you support Mac it's probably a hassle it's it's kind of a strange platform from all these other Linux distros but the reality is that when we go to conferences we see you know probably half of the demos in the last couple conferences I've been to be delivered from a Mac OS machine and I think it's really important that you know while we might have some low numbers here being able to do the development on the machine of your choice is a really critical part of ubiquity as well and knowing how many of you have Mac books this is something where we're pretty firmly committed to but it's also great to see the windows numbers start to pop and we do believe after we ship PowerShell 7 that these numbers are gonna continue going up pretty significantly yeah yes these are monthly numbers yeah so just does definitely these are this is not we only had this many starts you know in the in the month of May so you know it's it's crazy that you know for a whole year here we were basically a rounding error in the graph when we were shipping alpha and beta so really this is you know showing us being ahead of conventional wisdom yet again when people said why the hell would I want to run PowerShell on Linux I've got bash are you crazy and and it's clear that there's a considerable chunk of people that are pretty happy with it their check out my time here I'm sure we're doing okay all right so cloud readiness we wanted to make sure the PowerShell core was ready for this world where everything was shifting off of on-prem and into the cloud we know that the world is messy as we've said hybrid cloud is critical part of our success and that's why we made sure at our launch that we said partnerships with AWS Google cloud platform and VMware who all support PowerShell core and some capacity in addition to Azure which which obviously we support through the AZ module we also knew though that it needed to be fast lightweight secure on all these platforms as people scale up to the cloud they need they need absolute guarantees that the platforms and end tools that they're using are bulletproof and that they're they're actually getting faster when when you're hosting them in these lightweight environments in the cloud or or on smaller devices on IOT or on the edge we also knew that we needed to make major improvements to interface with rest api's rest is really the language of the cloud it's the the sort of primitive that everything all these cloud services speak and in a lot of cases in most cases the the data that's being transmitted through those rest api is JSON based and so we knew we needed to catch up a little bit in terms of of how well we supported these industry standards we also invested and I think Garrett serac is in the room here there is over there figure the cowboy in in PowerShell for auto rest and I think he's given a presentation on this later in the week yup definitely check it out but basically this is the ability to take a swagger document which is the sort of specification definition of a REST API in JSON and auto generate powershell commandlets from that so really exciting stuff and really going to accelerate the ability to build out of these rest api's we've also made sure to give a second look to the way that we interface with CI and CV pipelines these are continuous integration continuous deployment for folks that are developing applications or for folks that are building infrastructure at very high scale and and need to make sure that they're running their unit tests and integration tests on a constant basis and a lot of this means again the ability to host in containers or in very small lightweight stateless environments and so we made sure that that in both interactive and hosted scenarios as your cloud shell as your functions as your pipelines third party CI platforms like app there and and you know dot Nets SDK docker containers which I'm gonna show in a sec that in all these cases PowerShell ran very quickly and and respected the sort of statelessness of these things so sorry I'm just gonna speed up just a little bit here this one's very very quick basically dotnet core ships a container for their SDK that contains no I rebooted because my thing crashed let's give it 30 seconds while I explain this so basically they ship an SDK container this isn't intended to run application workloads but rather is intended for CI CD development pipelines or even as a local interactive development tool and it contains all the tools that you need in order to do net development well we actually had the dotnet team reach out to us without us requesting this wasn't us pushing our tooling on them at all and they said a bunch of our customers would really like to write the same build test and deployment scripts in one language for these cross-platform net core applications that they're building so if I'm building a dotnet core application that runs on Windows Mac and Linux I really want to run runs run one script in my CI environment that builds that thing and runs my test suite and the obvious language of choice for many of their customers was PowerShell so they reached out to us about getting PowerShell core built into this SDK container and so I've already pulled this ahead of time but this is the command for grabbing it but basically you know if I'm in this CI or CD environment I now have the ability to bring this SDK container in and I just have PowerShell available to me right off the bat so this isn't no extra modification you just Forks straight from this container image and in addition to having dotnet and you'll see this is actually the latest dotnet 3.0 preview 5 you'll see this is 6 set to right now we're working on getting this updated to 7.0 preview 1 but but this really just shows that it's not just folks in this room that value PowerShell but folks that are are doing app development in entirely different ecosystems as well that that really want PowerShell to make their lives easier so talking a little bit about our third pillar here of powershell core the community great aspect of this is the powershell gallery which has absolutely exploded and downloads in the last couple months we're seeing about a hundred million downloads a month now of powershell modules there's over 4,000 modules and scripts raise your hand in the room to set a curiosity if you've published something the powershell gallery you are awesome thank you so much if you have not it's really easy to do and it's open to everyone and we encourage all of you if you've got some useful scripts that you think anyone on the planet might find useful publish them to the gallery in addition to the community aspect we've had you know obviously Microsoft but also VMware Google Amazon Dell HP Lenovo all use this is the official distribution platform for their powershell modules and we've recently made some updates to the powershell gallery to be more inclusive accessibility is a really big deal at Microsoft and and so we've we've done some work to make it make it better for screen readers as well as the color correction for various aspects of color impairment on github we've obviously fully open source PowerShell you guys have been engaging with us for a few years now on this we're holding very steady uh actually this is this is growing the number of PRS coming from the community is over 50% and we have about five to ten members that are heavy contributors many of whom are in this room I won't say by name because I'll leave someone out and I'll feel really bad but there are tons of people that are really working almost seemingly full time on PowerShell from from outside Microsoft and we actually in the last 30 days had almost 90 external contributors open PRS in PowerShell so you know there's both a very core set of people that are doing lots of work in this long tail of folks that are that are cleaning up bugs and and you know correcting the things for the scenarios that they need I said I wouldn't name people but we do have a couple repo maintainer x' folks that are actually have the ability to triage issues or commit code in these these repos and we were looking to increase this more over time but thanks to all these folks for the hard work that you do and making sure that these projects stay up to date and you know we're still working through our backlog of RFC's I've got Steve in the room here him and I have been working very hard to to bring the committee together more frequently Kenneth and Bruce are both here as well and they're able to attend these committee meetings from from Amazon and we've been working through this backlog of rfcs that is sort of built up over a little bit and if you attend some of these RFC sessions I know Steve's got one today I'm talking briefly on it with him as well and our PS course six to talk you know please please find more out about this process and how we build PowerShell so this is just something to contextualize real quick again over half the PRS are coming from the community but if you look here at the pull request comments you'll note that the vast majority these 56% Owens a vast majority but but a large majority of the pull request comments are coming from Microsoft so one of the things that we just want to point out is that while we love pull requests coming in from the community we do have to maintain a certain quality bar with PowerShell and so we do incur a cost of triaging these things and doing code reviews working back and forth with contributors to make sure that the the code that's being committed reaches the PowerShell quality bar and that is a cost for us so that is something that that trades off against our ability to build new features and and do the stuff that maybe the community is not as willing to chip in on but we continue to see the the majority of issues and issue comments be created by the community and we love it please keep that feedback coming we doing 25 I got some sand all right so opportunities to contribute like you're just getting started maybe I'm not a c-sharp person maybe I I'm just getting started with PowerShell there are opportunity opportunities for all of you to contribute to PowerShell regardless of your skill level if you're a big PowerShell script er we've got some standalone modules that are written in in PowerShell like PowerShell get the archive module there are a number of others that sit in our community repository if you're a DSC fan you know we've got a ton of these DSC resources out there a lot of those are maintained by community members and and even more of them get regular contributions from people outside Microsoft even if it's just a little bug fix you know there could be a little one-liner that's been bothering you for a while and you know you don't want to fix it on your local machine let the entire world enjoy that goodness for what you've corrected for and then in some cases it just means taking the stuff that you've already built and making it compatible with more of the ecosystems so that more folks are able to jump in we've just shipped some script analyzer rules I'm going to be touching on in the six two talk that make it a lot easier for you to find out whether or not your module is cross-platform or works across different editions of PowerShell give those shot and and you know make your stuff more ubiquitous if you're a new scripture or maybe you don't like to share your code or your company has a policy that doesn't allow you to put source code out there we've got a ton of documentation that could use some help we made a lot of progress I'm actually really proud in the last couple years of how far our documentation has come but we can always use help there and and we've got a great contributor guide that allows you to jump in and a long list of issues that have already been enumerated for for where you can help out as we said these RFC proposals these are basically specifications the detail you know new features that we're proposing possible alternative implementations of those features alternative designs and we encourage you highly if you care about the future development of PowerShell to come in and give us comments give us comments on those proposals so that we make sure you know we we build the features that that suit your needs the best in in PowerShell going forward you can also submit your own a number of folks in this room who's written in RFC in here awesome yeah so a lot of the folks in the front but a couple in the back keep building them you know we're working through these bottlenecks and a lot of these are gonna go into PowerShell seven and beyond and then of course if you're a c-sharp person we've got a ton of stuff to do for out there obviously PowerShell itself is a great place to contribute but script analyser editor services the ship's module you can also make your c-sharp modules cross-platform using PowerShell standard which is sort of our our edition of dotnet standard I won't go too far into that given the time but if you're interested in this just give me a pull me aside later after the talk and then if you're going outside the whole dotnet ecosystem you know I'm sure Tyler and the rest of the folks working on the vs code extension and PowerShell editor services would love some some help in typescript on the vs code extension so you know there are opportunities in the Parishad ecosystem even to to learn more languages beyond PowerShell and c-sharp so going quickly through the sort of history and future of powershell core when we when we first ship powershell core 6 as an alpha it was sort of an incubation we were figuring out our paths in open source and how we were going to sort of do this with six-oh six-one we got more linux ready we made some breaking changes that allowed us to be a little bit more cross-platform a little more agile as we went into 6 - this was a bit of a minor release we focused on stability we focused on our own automation to make sure that we could continue to ship faster and faster and then with 7 X 700 and going forward we recognized that that we need to deliver a lot of this innovation back into a sort of core competency of PowerShell which has been Windows traditionally and looking at the charts of how much you know folks are still managing Windows using using Windows PowerShell we we recognize that that you guys need these features too and so to that end and I apologize that that should have been upfront there we realize you know court hasn't really been able to fully replace Windows PowerShell so with 7 dot X this is sort of the mainstream culmination of our investments this is us taking all this work that we've done over the last 3 years which is you know as as agile as we now ship 3 years is still really three to five years as the the realistic sort of timeline for shipping a large platform like this and doing a reap lat but but this is the delivery with seven of our sacred valve four for heterogeneous environments for operating the cloud for living in this open source world and also managing windows in in the guest and an on-prem just like you'd expect out of windows powershell and of course this is all using the skills that you already have you know using PowerShell cores is not something where you got to go and learn a new language or throw out the knowledge that you have and with net core 3 we're going to bring even more of these api's and gooeys back including out grid view so that you can get a sense of or continue to leverage the modules and scripts that you've already built so I got to keep moving pretty fast a lot of this I'm gonna repeat it the six to talk definitely come by and check that out of here if you're interested but with net core three we get winforms WPF we're aiming for 90% module compatibility in these future versions of Windows our support life cycle is gonna snap to dot Nets and then yep are we got to go to QA yeah oh great one hour plus QA no QA we're just using our 15 for the excellent awesome alright I'll slow it down a little bit if I have extra time maybe we'll do five minutes QA all right sweet thank you so so our support lifecycle we're gonna snap to dotnet this basically means that whatever dotnet supports in their underlying you know runtime that we're Rijo stting powershell in that's ultimately we're gonna have the same same support dates same end of life at some point we know this thing's got to go into Windows we're working out how and when to do that we don't have an ETA it will not likely be the case that seven dot o is immediately gonna go into Windows as soon as we GA it it's going to be a process over time it's gonna show up likely as an optional feature up front that you're gonna have to install after installing Windows we're still working out the support structure and I don't know if many of you did anybody see the announcement on dotnet 5 yeah so so dotnet is basically doing what what we wanted to do which is or what we are which is dropping hoar from the product name they're sort of seeing dotnet 5s as the unification of their Dyna framework and dotnet core just like we do with powershell 7 and they're revving up the version number to really signal this unification the same way we are so this is why we decided to go with 7.0 instead of 6.3 this does not mean that we now feel comfortable making a large swath of breaking changes we do occasionally make breaking changes in PowerShell we're gonna speak more to that in the RFC and 6.2 talks but this is really about signaling a transformative shift in PowerShell and signaling how what we feel is the readiness of PowerShell core to to be adopted by Windows PowerShell customers and and really to bring our platform back on to one one single path so again dotnet 5 this unification they're dropping core from the name this is shipping at the end of 2020 so it's a little further off but the the goal here is to really fully at least in spirit replace dotnet framework it'll have better performance a smaller memory footprint there's a bunch of new Interop with with other languages so so they're adding adding bindings to Java Objective C Swift a lot of these are for mobile app development but but we're going to look at these features and sort of see if there's any opportunity for PowerShell to integrate that obviously better performance and has smaller memory footprints good for everybody but but we're gonna look into you know as dotnet v is is unraveled a little more how we can would leverage some of these these new features we will eventually move to this thing where it we're tracking with dotnet very closely but really stay tuned for for more info here as a lot is still unknown on our site as well so let's talk a little bit about Windows PowerShell and the ISC which I know is you know this was it 90% to be us that was the in the room here that's using that yep so it's obviously still very very important as Geoffrey said I don't foresee a world where Windows PowerShell goes away same goes for ISC we don't we don't have any plans to remove these things from the operating system as long as people are using them in their use the folks III tried very hard maybe three years ago to remove powershell 2.0 even as an optional feature inside of windows and it became very clear that that was sort of a non-starter a lot of stuff still depended on it is even as an optional feature so we went down the path of deprecation but but we still really don't have a removal plan there I can sort of four see the same thing happening with Windows PowerShell but again we're kind of coalescing on on the right thing to do here note that we have made some changes to Windows PowerShell so while we're not doing any new feature work there's no new command let's no new language features we have made some changes here and there for the sake of accessibility these are changes that we've also made in PowerShell core but that have been back ported to Windows PowerShell and additionally there's been some security fixes that we are committed to making servicing fixes fixes excuse me if we ever regress anything that's impactful what we're gonna go back and fix that but by and large we're trying to maintain the stability of this platform and really make sure that you guys can rely on it not changing so that your scripts and automations that you automation that you've built for Windows PowerShell continue to work many of you know about our user voice which is where we fielded feedback on Windows PowerShell for a number of years now unfortunately I've done and I take a lot of the blame here probably all i've not done a good job of triaging this thing and I recognize that it's become a little bit of a black hole for Windows PowerShell issues I check it once every couple months I look at the top top votes sort of skim through them make sure that we're not doing anything horrendous but but it's likely that this thing is going to go away at least read-only in the future and if you have any issues that are still relevant to PowerShell core PowerShell seven please root file them as github issues to make sure that we fixed that in the new platform going forward but but we are minimizing the the fixes and changes being made to Windows PowerShell we do not have plans to make core work against the is see as we are investing heavily in PowerShell editor services and Visual Studio code we recognize that a lot of folks love the IFC and again don't expect to rip it out really we want it to stay as close to - the way it works today as possible but we may make some changes for accessibility in the same way that we've we've made them for Windows PowerShell so I want to invite Jeffrey back up talk a little bit about QA here but PowerShell three more minutes yeah it's fine yeah so again kind of highlight that you know PowerShell is really all about you and I started this saying that you know it's 2019 and PowerShell has been never been more important and I talked about how software was building the world and how software people were so critical and automation was the critical pillar of this new world and so when you dial that all together and say what does that really mean the answer is its 2019 and you have never been more important so this is a great time to be in the industry it's a great time to learn PowerShell and it's a great time to up your skills in PowerShell so is it great to have you here so we've got a couple minutes for questions actually we don't because I'm grabbing the time thank you so much certainly we don't you want it did you want to speak to this [Music] you
Info
Channel: PowerShell Conference EU
Views: 693
Rating: 5 out of 5
Keywords: PowerShell, Core, psconf.eu, psconfeu, keynote, Jeffrey, Snover, Joey, Aiello
Id: XR5RJFuhqaw
Channel Id: undefined
Length: 51min 9sec (3069 seconds)
Published: Tue Jul 23 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.