Windows, BASH ja pingviinid - Primend Windows, BASH ja pingviinid - Primend

Praegu, aprillis, on Antarktikas sügis ja jätkuvalt keskmisest soojem – pingviinidel on seepärast kahejalgseid külalisi tavapärasest rohkem. Seepärast nii mõnigi neist kahejalgsetest on olnud pikemalt väljaspool interneti leviala ja ei pruugi teada, et Windowsi peal töötab nüüd BASH. Tavaliselt jäetakse seejuures nimetamata, et funktsionaalsuse täisnimetus on tegelikult Bash on Ubuntu on Windows. Miks Microsoft järsku pingviine (Linuxi kaubamärgil on pingviin) armastab? Mida see täpsemalt tähendab ja kuhu Microsoft tüürib?

BASH on Windows

BASH on Windows

Kasutusharjumuste muutus nihutab tarkvara-arendajate fookust

Paljudele, kes kasutavad Windowsiga arvuteid, tuleb üllatusena, et Windows ei ole enam operatsioonisüsteemide turuliider. Jah, enamik laua-arvuteid (u 94%) tuleb tehasest jätkuvalt Windowsiga ning tänaseks moodustab uus Windows 10 pea veerand miljardit installatsiooni olles sellega populaarseim kasutuses olev Windows. Samal ajal müüdi ainuüksi 2015. aasta neljandas kvartalis 325 miljonit Linuxiga (Android) seadet ja 71 miljonit BSD-ga (iOS) seadet. Kui turuosa hinnata installatsioonide järgi, siis, on Windowsi turuosa (250/2=125 mln) umbes 32%. Kui aga võtta aluseks Windowsiga müüdud arvutite arv eelmise aasta neljandas kvartalis, on Windowsi turuosa vaid 18% – terve aasta peale müüdi vähem Windowsiga uusi seadmeid kui Androidiga (loe Linuxiga) seadmeid kõigest ühes kvartalis.

Pilt ei ole siiski nii must-valge, sest kes meist veel kasutab arvutit või telefoni? Mina ei kasuta!

Kasutan Google Drive’i isiklike dokumentide hoidmiseks, Office 365 teenuseid tööalaste kirjade ja kalendri haldamiseks, Facebooki sõpradega suhtlemiseks, Evernote’i märkmete tegemiseks ja Trellot ülesannete haldamiseks jne. Loomulikult on mul telefon ja arvuti ja teler ja külmkapp ja pesumasin. Kuid telefoni valimisel on kriteeriumiteks kui hea on telefoni kaamera ja kas saab juurde lisada mälukaarti piltidele. Ja arvutiks on siiani ThinkPad, sest minu jaoks on TouchPadi kasutamine aeglane ja kohmakas (isegi Maci peal). Tunnistan, et olen keskmisest erinev infotehnoloogia kasutaja, kuid teenuste kasutamiseks võimalike seadmete paljusus seob meid kõiki lõpuks lahti Windowsist, Androidist ja iOSist.

Operatsioonisüsteemide loojatele on põhiküsimus, millisele neist luuakse kõige enam uusi teenuseid.

Fookus on kiiresti arenevatel teenustel

Google ei teeni raha Androidi pealt otse, kuid teenib raha Play Store’i, Google Drive’i ja teiste teenuste pealt, mis Androidi integreeritud. Apple teenib küll raha iPhone’i riistvara pealt, kuid tõenäoliselt kordades rohkem App Store’i, iTunesi ja teiste teenuste pealt, mida inimesed kasutavad (ja seadmete müük on languses). Ka Microsofti strateegias on nüüd Windows pigem platvorm, mille peale kasulikke teenuseid arendada.

Android platvormi eelis telefonide tootjatele on, et operatsioonisüsteem on neile tasuta. Android platvormile arendajate probleem on, et Androidil on palju erinevaid kasutuses olevaid versioone, mille kõigiga peab rakenduste arendamisel arvestama. Apple’i seadmete osakaal turul on madal, kuid pea kõik seadmed kasutavad uusimat iOSi versiooni. Programmeerija vaatest on iOSi turusegmendi maht suurem kui mis tahes Androidi versiooni oma. Windows platvormile rakenduste arendaja võib mõelda, et turu maht on viis korda väiksem kui Android platvormil ja lisaks on platvorm tugevalt fragmenteerunud, kas on mõtet pingutada…

Esimene samm on Windows teenusena, et kõigil arvutikasutajatel oleks kogu aeg parim Windows ja arendaja jaoks kõige suurem ühtne sihtgrupp. Selle strateegilise avangu tegi Microsoft eelmise aasta 29. juulil, kuid millised on järgmised sammud?

Parim arendusplatvorm ja integreeritud teenused

Xamarini ostmine ja selle integreerimine Visual Studiosse on Microsoftilt arusaadav käik, kuna võimaldab Microsofti tarkvaraga luua rakendusi kõigile platvormidele. Sama moodi on arusaadav Azure platvormi arendamine Microsofti andmekeskusest ressurssi müümiseks. Office 365 teenused on samuti ülimalt populaarsed ja vähemalt praegu sisuliselt asendamatud. Ja Windows 10 teenusena platvormil on kohe integreeritud Microsofti teenused OneDrive, Office 365 ja Azure Active Directory. Kuidas aga veenda arendajaid looma rohkem Windowsi rakendusi ja eelistama Windowsit peamise platvormina teenuste loomiseks.

Paneme rakendused konteinerisse!

Kümme aastat tagasi ostis Microsoft tarkvaratootja Softricity ning integreeris selle tehnoloogia oma tootesse AppV. AppV võimaldab rakendusi paigaldada konteinerisse selliselt, et rakendus on operatsioonisüsteemist isoleeritud. Nii ei paigalda rakendus Windowsisse sinist ekraani põhjustavaid täiendusi ja rakenduse versiooni vahetamiseks on vaja vaid üks konteiner asendada teisega. Selliselt on konteineritesse pakitud kõik Office 365 tarkvarapaketid. Siiani küsis Microsoft AppV eest eraldi raha, kuid AppVst saab peagi Windows 10 lahutamatu osa. Kui AppV enam lisaraha ei nõua, peaks rakendustarkvarade arendajad hakkama nüüd innukamalt selliselt oma rakendusi pakendama ning müüma neid lihtsalt paigaldatavaid pakette Windows Store’i kaudu. Selle tulemusena hakkavad arvutis olevad tarkvarad ise uuenema nagu oled harjunud telefonis olevate tarkvarade ise uuenemisega.

Paneme teenused konteinerisse!

Pilveteenuste arendustsükkel on oluliselt kiirem kui traditsioonilistel teenustel. Kui varem võis olla rakenduse või teenuse eluiga aastaid, siis kaasaegseid veebiteenuseid uuendatakse isegi mitu korda päevas. Seni on taoliselt teenuseid arendanud suured teenusepakkujad nagu Facebook ja Google, kuid üha rohkem ettevõtteid liigub ka väikeste teenuste arendamisel kiiremale arendusmudelile.

Konteinerite tehnoloogia on uue Windows Serveri keskseid uuendusi. Ettevõtted arendavad uusi rakendusi veebiteenustena ja kui uue teenuse valmimise esimene eufooria on lahtunud, siis hakkavad tulema hallid juuksed teenuste ülalpidamise keerukuse pärast. Serverite virtualiseerimine eraldas operatsioonisüsteemi riistvarast ja lihtsustas sellega nii serverite kui riistvara uuendamist, hooldamist ja väljavahetamist. Konteinerid virtualiseerivad sama moodi serveri sees oleva rakenduse/teenuse. Serveri peal saab sama-aegselt hoida mitut rakenduse konteinerit ja uue rakenduse “installeerimine” on kaks käsku: “stop old” ja “start new”. Ja kui peaks uue tarkvaraga ilmnema mingi tõrge, siis tagasi liikumine on: “stop new” ja “start old”. Senine tarkvara uuendamise praktika, mis kõrvalt vaadetes on seisnenud “tunde kestvas küünte närimises”, peaks peagi olema ajalugu.

Joonis: Windows Serverite konteinerite tehnoloogia

Joonis: Windows Serverite konteinerite tehnoloogia

Windows on parim Linuxi rakenduste platvorm

Siit jõuamegi sujuvalt BASH’i juurde. Linuxi tööriistade rakendamine Windowsi peal ei ole uus püüdlus. Varasemad projektid nagu win-bash ja cygwin on selles osas suure töö ära teinud. Mõlema projekti nõrkuseks oli Microsofti poolse toe puudumine, mis takistas mõistlikult mugava ja kiire Unixi laadse töökeskkonna loomist. Kuid siis oli Microsofti strateegia keskmeks Windows. Nüüd, kus Microsofti strateegia keskmeks on pilveteenused, on kõik projektid, mis toovad rohkem rakendusi/teenuseid Windows platvormile, head. Ja mis võiks olla veel parem platvorm Linuxi rakenduste ja teenuste jooksutamiseks kui Windows! J

Amazoni andmekeskuste klientideks on start-up ettevõtted, kes üritavad luua suuri skaleeruvaid rakendusi miljonitele. Google’i klientideks on samuti suured teenusepakkujad (Spotify, Apple), kelle andmete analüüsimise tulemusena soovib Google reklaamiostjatele kasulikumaid kampaaniaid pakkuda (metadata, you know…). Microsofti serverplatvormide klientideks on suured ja väikesed ettevõtted/organisatsioonid.

Ettevõtted arendavad aeg ajalt ise mõne teenuse välja, millega soovitakse oma klientidele paremat teenust pakkuda. Taoliste teenuste sama-aegseid kasutajaid on tavaliselt mõnesajast mõne tuhandeni. Taolise teenuse jaoks tavaliselt ei võeta andmekeskuse klasterteenust, vaid paigaldatakse see olemasolevale serverile. Ka selle teenuse serverit ja rakendusi on vaja regulaarselt uuendada ning konteinerid on selleks sobiv tehnoloogia. Ja algselt Linuxile arendatud lahenduse võib vabalt juurutada Windowsi konteineris.

Jutu kokkuvõte: BASH tuleb Windowsile selle pärast, et Microsoft soovib teha Windowsi parimaks platvormiks, millele ettevõtted saavad juurutada uusi rakendusi ja teenuseid.