maanantai 5. maaliskuuta 2012

Sovellusjakelun ABC

Nykyään puhutaan vaikka mistä pilvistä ja tableteista, sekä siitä miten nämä muuttavat IT kenttää. Tottahan tuo onkin, työpaikkani viestintäpalvelut ja työasemanhallintajärjestelmät siirtyivät äskettäin pilveen. Koti PC alkaa pölyttyä sillä suurin osa surffailustani tapahtuu lehtiö-PC:llä (<- Samsungin suomennos tabletista:)). Kaikenhuipuksi olen tästä kaikesta tyytyväinen. Aamusella housujani ei polta puhiseva ”akkuni on vähissä” tiiliskivi, vaan kevyt lehtiö-PC näyttää minulle uusimmat uutiset. Työkoneeni saa päivitykset ja ympäristössä jaellut sovellukset, olin missä päin internetiä tahansa. Konttorilla käynti ylläpidollisista syistä ei ole enää tarpeen. Yksi asia on kuitenkin niin kuin ennenkin: laitteisiin pitää asentaa edelleen sovelluksia. Tablettien ja älypuhelinten myötä on tullut sovelluskehittäjille uusi haaste: pitää miettiä miten tämän sovelluksen voisi tarjota myös selainpohjaisena ja sitten vielä erillisenä IOS ja Android versiona. Osa ei yksinkertaisesti taivu näille alustoille, tällöin IT osastot luovat citrixillä tai jollakin vastaavalla oman pilvensä, josta sitten suoritetaan perinteisiä työpöytäsovelluksia näille uusille päätelaitteille.

Unohdetaan natiivit selain ja tabletti sovellukset. Pureudutaan Windows-työpöytä sovelluksien jakeluun nykypäivän tekniikoilla. Ennen sovellusten jakelua tekniikalla kuin tekniikalla pitää sovelluksien toimivuus testata ja muokata asetukset halutuiksi. Toisin sanoen sovellukset pitää tuotteistaa. Tietenkin voidaan säästää muutama euro ja vaan laittaa sovellus jakeluun. Hyvällä onnella asennus onnistuu ilman kummempia sähläämisiä ja ei rikota aiemmin asennettuja sovelluksia. Sitten lähetetään työntekijöille postia ”näin aktivoitte sovelluksen ja lisäksi väännätte vivut näin, niin voitte tehdä työtänne”. Tuskin tämä ratkaisu aiheuttaa yhtäkään käyttäjävirheestä johtuvaa ongelmatilannetta (eihän?). Tuotteistamatta jättäminen tarkoittaa myös että ohjelman poistoa ja päivittämistä mietitään vasta kun se on ajankohtaista. Kuulostaako tutulta: ”Ei tätä voi tehdä kun meillä on 1000 asennusta kentällä joissa ei otettu tätä huomioon”. Toisin sanoen säästetään aikaa ja vaivaa pyörittämällä askelkuviot valmiiksi eli tuotteistamalla sovellukset.

Sovellus kuntoon jakelua varten

Miten sovelluksia sitten tuotteistetaan? Tuotteistaminen sisältää erinäisiä vaiheita testaamista ja asennuksen määrittelyä. Käytännössä sovellus laitetaan kulkeutumaan halutussa tilassa päätelaitteelle. Oleellinen asia hommassa on valita tapa/tekniikka jolla tuotteistettu sovellus laitetaan nättiin pakettiin jakelua varten. Nykypäivänä sovellustentuotteistaminen jaetaan kahteen pääryhmään:
  • Perinteiset sovellukset.
    • Sovellus asennettaan laitteeseen käyttäen asennustekniikkaa. MSI teknologia on vallannut perinteisen sovelluskentän ja tällä hetkellä ainoa järkevä tapa toteuttaa perinteisten sovellustenasennus ja tuotteistaminen.
  • Virtualisoidut sovellukset.
    • Sovellukset ovat samoja kuin perinteiset, mutta niiden ympärille luodaan virtuaalinen ympäristö, jossa sovelluksella on esimerkiksi oma rekisteri ja asetustiedostonsa. Valikoima sovellusvirtualisoinnissa on vielä laaja, suosituimmat teknologiat ovat App-V, XenApp, SWV ja ThinApp.
Nyt sovellustuotteistaminen on hansikkaassa, toisin sanoen eväät onnistuneeseen sovellusjakeluun olemassa.

Jakelu

Olemme valmiita siirtymään eri tapoihin jaella sovelluksia. Sovellusten jakelukin voidaan jakaa kahteen päähaaraan.
  • Päätelaitejakelu
    • Sovellukset viedään päätelaitteelle ja asennetaan perinteisesti tai suoritetaan virtuaalisena.
  • Esitysjakelu
    • Sovellus suoritetaan keskuskoneella ja päätelaitteelle näytetään kokonainen työpöytä tai sitten vain ohjelmanikkuna.
Päätelaitejakelu

Päätelaitteelle jakelu on yksittäisestä asennuksesta aina monimutkaiseen tuhansien koneiden keskitettyyn jakeluun. Yhdistävänä tekijänä eri teknologioiden välillä voi pitää että sovellus käyttää päätelaitteen resursseja.
 Eniten käytetty tapa suorittaa päätelaitejakelua on jakelujärjestelmät (SCCM, Altiris, yms), jotka tavalla tai toisella käskyttävät päätelaitetta ja suorittavat sovelluksen asennuksen. Oikein tuotteistettu sovellus tekee tässä tapauksessa automatisoidusti sen mitä me kaikki teemme koti PC:llä ja valitettavasti myös joissakin työympäristöissä manuaalisesti.
 Toinen tapa jota käytetään (varsinkin sovellusvirtualisoinnissa) on striimaaminen. Tällöin sovellusta ei runtata joka paikkaan, vaan jakelu tapahtuu tarpeen mukaan. Käyttäjät saavat työpöydälleen pikakuvakkeen taikka valitsevat portaalista itselleen sovelluksen, jonka jälkeen sovellus käynnistetään. Käyttäjä tekee siis valinnan tarpeestaan, jonka jälkeen sovellus tuodaan päätelaitteelle niiltä osin jota sitä tarvitaan. Striimaaminen soveltuu erityisesti käyttäjäkohtaiseen jakeluun.
 Kolmas tapa on tuoda päätelaitteella virtuaalikone jonka sovelluksia voidaan käyttää. Tekniikan tarkoitus on lähinnä taklata tilannetta kun sovellus ei toimi käytössä olevalla alustalla. Monipuolisin tällaisista tuotteista on MED-V. Windows 7 lisenssin omistajilla on oikeus käyttää XP Mode ohjelmaa, joka mahdollistaa virtuaalikoneen ohjelmien tuonnin loppukäyttäjän työpöydälle samoin kuin MED-V:ssä. XP mode ei kuitenkaan sisällä keskitettyä hallintaa, kuitenkin XP modea voi muokata ja jaella millä tahansa jakelujärjestelmällä.

Esitysjakelu

Esitysjakelussa sovellus asennetaan keskuskoneelle johon käyttäjät ottavat sitten yhteyttä eri tekniikoilla (RDS, Citrix). Etuna on että päätelaitteen resursseja ei käytetä sovelluksen suorittamiseen, eikä alustan tarvitse olla Windows. Haasteena on kuinka ohjelma ja päätelaite toimivat yhteen, lisäksi aktiivinen yhteys palveluun on pakollinen. Miksi tällaista tekniikkaa halutaan sitten käyttää kun käyttäjäkokemuksessa joudutaan tekemään kompromisseja?
  • Tieto pysyy keskuskoneella. Päätelaitteelta välitetään näppäimistön ja hiiren painallukset, päätelaitteelle lähetetään kuva mitä keskuskoneella tapahtuu.
  • Etäkäyttö: Esitysjakelu tuotteissa on kehittyneet tekniikat palveluun yhdistämiseen ulkoverkosta. Esimerkiksi sovellus X käyttää tietokantapalvelin Y:tä. Sovellus X:ää pitää pystyä käyttämään mistä vaan. Yhteyden salliminen tietokantapalvelimeen ei kuulosta hirveän hyvälle.
  • Sovelluksia pitää pystyä suorittamaan vaihtoehtoisilla alustoilla (Mac, android, linux, yms)
Esitysjakelussa sovelluksia ei asenneta monesti usealle laitteelle, silti tuotteistaminen tässäkin on hyvin tärkeää.
  • Resurssien hyödyntäminen. Tuotteistamalla varmistetaan että sovellukset toimivat ristiriidoitta keskuskoneella -> yhdellä koneella voidaan suorittaa useita sovelluksia -> ei hukkaan heitettyä tehoa.
  • VDI ratkaisuissa luodaan uusia työasemia dynaamisesti, tuotteistetut sovellukset nopeuttavat huomattavasti uuden VDI koneen luontia. Luonnollisesti myös uuden keskuskoneen käyttöönotto on huomattavasti nopeampaa tuotteistetuilla sovelluksilla.
  • Tuotteistetun sovelluksen asennus, päivitys ja poisto on valmiiksi testattu ja mietitty -> keskuskoneeseen tehtävät muutokset eivät siis tällöin ole hyppy tuntemattomaan.
Vinkkinä esitysjakeluun liittyen: RDS callit sisältävät oikeuden käyttää App-V:ta RDS palvelimilla. Tällöin sovellustenvirtualisointi ei vaadi lisähankintoja kun perinteinen RDS ympäristö on jo olemassa.  

Yhteenveto

Pintaraapaisu sovellustenjakelusta nykypäivän tekniikoilla on melko lailla kasassa. Kuten tuli huomattua jokaisella tekniikalla on vahvuutensa ja tarkoituksensa. Varmasti eriäviä mielipiteitä suuntaan tai toiseen löytyy. Mikäli sinulla on näkemystä suuntaan tai toiseen olisi mukava kuulla siitä. Muutenkin keskustelu eri jakelutekniikoista kokonaisuutena olisi tervetullutta. Nykyään jokainen tuntuu liputtavan tietyn ratkaisun puolesta, joka ratkaisee kaikki ongelmat.

Ei kommentteja:

Lähetä kommentti