130 likes | 268 Views
Sovelluskehitysympäristön virtualisoinnin tuomat edut ja haitat. Heikki Salokanto Valvoja: prof. Jukka Manner Ohjaaja: DI Pekka Pajuoja, TEKES 26.4.2009. Sisällys. Sovelluskehitysympäristö? Esimerkki: Tyypillinen tilanne organisaatiossa Ongelmat nykyisessä ympäristössä
E N D
Sovelluskehitysympäristön virtualisoinnin tuomat edut ja haitat Heikki Salokanto Valvoja: prof. Jukka Manner Ohjaaja: DI Pekka Pajuoja, TEKES 26.4.2009
Sisällys • Sovelluskehitysympäristö? • Esimerkki: Tyypillinen tilanne organisaatiossa • Ongelmat nykyisessä ympäristössä • Virtualisoinnin tuomat mahdollisuudet • Use-case: Sovellusten tuominen toimittajalta • Parannusehdotukset • Yhteenveto
Sovelluskehitysympäristö Yleisesti Ohjelmistoprojektissa kehitykseen, testaukseen ja tuotantoon käytettävälaitteisto- ja ohjelmistokokonaisuus Tämän työn puitteissa Keskitytään testaus- ja tuotantoympäristöjen virtualisointiin
Tyypillinen tilanne organisaatiossa Organisaatiolla useita tietojärjestelmiä Eri järjestelmillä eri toimittajat Sovellusten integraatiota muihin järjestelmiin ei pystytä testaamaan toimittajan omissa tiloissa Organisaatiolla ei riitä resursseja järjestää kaikille toimittajille omia sovellus-kehitysympäristöjä
Ongelmat nykyisessä ympäristössä(hardware) • Tarvitaan valtava määrä palvelimia eri järjestelmien testaukseen • Esim. yksinkertainen web-sovellus tarvitsee WWW-palvelimen, sovelluspalvelimen ja tietokannan • Tarvitaan tuotantoympäristö, hyväksymistestaus-ympäristö sekä integraatiotestausympäristö • Organisaatiossa 10 yhtä aikaa kehitettävää sovellusta • 3*3*10 = 90 palvelinta? • Palvelinkoneiden kokonaiskustannukset korkeat • Isoissa organisaatioissa uusien palvelimien hankkiminen ja ympäristöjen perustaminen hidasta
Ongelmat nykyisessä ympäristössä(software) • Ympäristöjen hallinta ja ylläpito tuottaa paljon töitä organisaation IT:lle • Tietyn ohjelmiston vaatimia resursseja vaikea arvioida etukäteen • Järjestelmien testaaminen vaikeaa • Kehitysympäristö ei vastaa testausympäristöä • Testiympristö ei vastaa tuotantoympäristöä • Sovellusten siirtäminen eri testausvaiheiden välillä työlästä(seuraava slide)
Virtualisoinnin tuomat mahdollisuudet • Resurssien käytön tehostaminen • Testiympäristöissä kuormitus vähäistä ja satunnaista keskimääräinen kuorma per palvelin hyvin pieni • Ympäristöjen hallinnan tehostaminen • Uuden ympäristön perustaminen alle tunnissa • Palvelimien hallinta keskitetysti • Täysin uudet mahdollisuudet • Snapshoteilla nopea palautuminen tilaan ennen jonkin asian testausta • Valmiiden palvelimien ja palvelinkokonaisuuksien siirtäminen sovellustoimittajalta asiakkaalle
Use-case: Sovellusten tuominen toimittajalta (1/3) Sovellustoimittaja Testausta Tuotanto
Use-case: Sovellusten tuominen toimittajalta (2/3)Hyödyt • Ei palvelimien konfigurointia asiakkaalla • Ajan (ts. kustannusten) säästäminen • Kehityksessä, testauksessa ja tuotannossa sama palvelinkonfiguraatio ei yhteensopivuusongelmia • Konfiguraatio todettu toimivaksi jo sovellustoimittajalla • OVF (Open Virtualization Format) sallii, että asiakkaalla ja toimittajalla hyvin erilaiset laitealustat
Use-case: Sovellusten tuominen toimittajalta (2/3)Ongelmat • Vaaditaan kuitenkin yhteensopivat virtuaaliympäristöt • Lisenssiongelmat • Tietoturvaongelmat • Toimittajan konfiguroimat palvelimet eivät noudata asiakkaan käytäntöjä • Suorituskykyongelmat • Virtuaalilevy-IO hidasta • Suorituskyky vaihtelee muiden koneiden kuormituksen mukaan
Parannusehdotukset • Asiakas tarjoaa toimittajalle palvelin-templatet • Palveinkonfiguraatio tällöin asiakkaan päätettävissä • Palvelimien ylläpito helpompaa, kun kaikki asennettu saman templaten pohjalta • Maksimoidaan siirrettävyys • Ei staattisia verkkokonfiguraatioita • Ei riippuvuuksia järjestelmän ulkopuolisiin palveluihin • Keskitetty käyttäjätunnistus • Vältetään lisenssiongelmat, esim.: • RHEL voidaan korvata CentOS:lla • Käytetään ohjelmistokehityksessä esim. Oraclen ja WebLogicin developer-lisenssejä
Yhteenveto • Virtualisoinnilla saavutetaan merkittäviä kustannussäästöjä kehitys- ja testauskäytössä • Uudet toimintatavat helpottavat sovelluskehitystä • Järjestelmän toimittaminen valmiina palvelinkokonaisuutena vähentää ongelmia käyttöönotossa ja nopeuttaa testausta • Asettaa kuitenkin vaatimuksia sekä asiakkaalle että toimittajalle