Tuesday, March 13, 2007 10:10 PM
mikaeld
Få dina lokala "admin-dudes" att bli till sig i trasorna!
Ok, det är min blogg. Jag bestämmer! Engelska, tried it... Svenska rockar... Jag är tillbaka! :-)
Idag la jag sista touchen på min "Design For Operations" dragning. Skall köra den nästa vecka och jag är riktigt nöjd med resultatet... (självgoda Micke är här!!! :-)) Och jag ÄLSKAR ämnet! Mitt jobb består nästan till hälften av att debugga andra utvecklares kod och detta har fått mig att fundera på hur vi förbereder våra applikationer för drift... En enkel sanning:
"En bra app utvecklas under en relativt kort tid och används under en låååång!"
Hur förbereder vi för detta? Och hur tänker egentligen en såndär riktig "admin dude?" (tycker IT-pro låter lite krystat). De är rätt coola... De älskar t.ex... MMC... Awesome! Vi får kilometerlånga kärleksbrev från "Admin dudes" som förklarar hur mycket de älskar MMC... Inte cool WPF... Inte Direct-X med de coolaste shaderserna, utan MMC... Helt sjukt kallt! Och varför? MMC är konsistent (om man inte räknar med IIS7 :-)) och alla använder det redan dagligen! (IIS, DNS blablabla...). Ok, MMC innan 3.0 var inte en kul resa, men nu när det går att hosta .net forms och Vista/Longhorn "hottat" (kan man verkligen säga det om MMC?) upp det hela så är det en kakbit att använda och utveckla för. Hur många gör det utanför Redmond? 2%? Varför?
Jag blir sällan såld på admin grejjer... Men... PowerShell! I love you!!! Det underbara är att det är en kakbit att göra egna cmdlets till powershell (för övervakning och admin) och sedan piska fram en MMC app som använder sig av aktuella cmdlets genom några rader kod:
1: Pipeline pipe = runspace.CreatePipeline();
2: Command command = new Command("Get-DeurellCustomCmdlet"); 3: command.Parameters.Add(new CommandParameter("TheParam", "TheValue")); 4:
5: pipe.Commands.Add(command);
6: Collection<PSObject> results = pipe.Invoke();
Kan det bli mycket enklare? Stanna kvar! Detta är sjukt coolt... Vad vi kan göra nu är att implementera en "command-pattern" kompis i vår MMC app och låta denna spara alla utförda kommandon. Detta gör att vi kan "spela in" vilka cmdlet som körts under en viss period. Ett sjukt enkelt och coolt sätt att generera admin-macros (i form av PowerShell scripts) som alla admin dudes kan ta ut, smeta in i PowerShell, använda för att batcha en körning de "spelat in" i MMC och spela upp för alla datorer de önskar (så gör Windows Live Spaces med alla sina IIS:r). Coolt! Med lite mer jobb är det bara att göra en undo-funktionalitet i command implementationen så har man det oxo... Wicked! Såhär gör Exchange 12. Det rockar! Och alla "admin-dudes" blir till sig i trasorna...
Så gör som Exchange 12, DinnerNow.net och unge herr Deurell! Ta hand om era admin-dudes, låt de få sin MMC-njutning, bli smekta av PowerShells varma hand, bli varma i trasorna och leverera appar som faktiskt klappar Operations... Medhårs... Wicked...
I love you in the morning
When you're still hung over
I love you in the morning
When you're still strung out...