Pilvi mitä, miksi ja miten We are stuck with technology when what we really want is just stuff that works. Douglas Adams Pekka Virtanen TTY/Ohjelmistoarkkitehtuurit 2010-10-07
Päivän menu Pilvilaskenta Pilviohjelmistot Miten pilveen? (IaaS) Miten pilveen? (PaaS) Keskustelua
Pilvilaskenta
Ongelma PK yritys Halu keskittyä omaan liiketoimintaan -IT on mahdollistava tekijä Tarvittavat palvelut -Yhteistyö: sähköposti, kalenteri, dokumenttien hallinta -Liiketoiminta: ERP, CRM Luotettavan IT-ympäristön ylläpito on kallista -Laitteet, päivitykset, varmennus -IT-tuki
Ongelma startup Tavoiteena on tehdä suosittu (internet-)palvelu Ennen rahoitusta ei mahdollista investoida Infrastruktuurikulut pitää olla suhteessä asiakasmääriin ja palvelun käyttöön Palvelun pitää pystyä nopeasti ja joustavasti skaalautumaan kysyntään Palvelunhallinta pitää olla automatisoitavissa
Ongelma U2 ja lippu.fi Normaali laskentaresurssitarve (palvelin + verkko) on x U2 keikkalippujen tullessa myyntiin 100000 ihmistä haluaa ostaa lipun samaan aikaan Resurssitarve 100-1000x Isoja keikkoja on harvakseltaan joten resursseja on käytössä on normaalisti 1-2x U2 lipunmyynnin alkamispäivänä pitäisi saada väliaikasesti laskentaresursseja
Ongelma suuri yritys Infrastruktuuritarpeet ovat suuret: -Palvelimet, ohjelmistot, tallennus, saatavuus -Vaatii tietokonesaleja, henkilökuntaa Ylläpito on kallista -Käyttöaste pitää olla korkea, vastinetta investoinneille Tarpeet muuttuvat -Infrastruktuurin pitää pystyä mukautumaan Tietoturvavaatimukset ei mahdollista ulkoistusta
Ratkaisu: pilvilaskenta* Laskennasta tehdään palvelu Ulkoistetaan ammattilaiselle -Voi olla myös oma IT-osasto Palvelu skaalautuu tarpeen mukaan Kustannukset perustuvat käyttöön * Englanniksi: Cloud Computing ** lähde: http://csrc.nist.gov/groups/sns/cloud-computing/
Määritelmä* 5 ominaispiirrettä 3 palvelumallia 4 käyttöönottomallia * lähde: http://csrc.nist.gov/groups/sns/cloud-computing/
Ominaispiirteet Tarpeeseen ja itsepalveluun perustuva provisiointi - Automatisoivissa Palvelujen käyttö verkon kautta standardikäytännöin - Asiakaslaitteena palvelin, tietokone, kännykkä, sulautettulaite,... Samalla fyysisellä infrastruktuurilla voidaan palvella useita asiakkaita ja sovelluksia - Kustannustehokkuus Laskentaresurssien nopea skaalutuminen - Joustavuus tilanteen mukaan Palvelua pitää pystyä mittaamaan - Palvelun käytön seuraaminen, hallinta ja raportointi
Palvelumallit Software as a Service (SaaS) - Ohjelmisto palveluna - Loppukäyttäjälle Platform as a Service (PaaS) - Ohjelmistokehitysalusta palveluna - Infrastruktuuri ja ohjelmistokehityspino - Ohjelmistokehittäjälle Infrastructure as a Service (IaaS) - Laskentaresurssit palveluna - Palvelimet, tallennus, verkkoyhteydet * Eng. subscription
Käyttöönottomallit Yksityinen pilvi -Palvelut vain omalle organisaatiolle Jaettu pilvi / Yhteisöpilvi -Palvelee useaa organisaatiota -Syy jakamiseen Julkinen pilvi -Palvelu avoinna kaikille (maksukykyisille) Hybridipilvi -Edellisten yhdistelmä
Pilviohjelmistot Software as a Service
Esimerkki: Google Apps Yrityksen perussovellukset -Sähköposti -Kalenteri -Dokumentit ja taulukot -Yhteistyö ja jakaminen Käyttö selaimen kautta API tarjolla Voidaan laajentaa kolmannen osapuolten ohjelmistoilla -Google Apps Marketplace
Esimerkki: Dropbox Tiedostojen synkronointi usean laitteen välillä Dropbox-hakemiston sisältö synkronoituu automaattisesti Mahdollisuus jakaa tiedostoja verkon kautta Asiakasohjelmistot -Selain -PC / Mac / Linux -Kännykät
Esimerkki: balancion.com Suomalainen palvelu raha-asioiden hallintaan Hakee tiedot asiakkaan verkkopankista -Huomio: suomalaiset pankit eivät tarjoaa rajapintoja pankkitietoihin Visualisoi tulot ja menot Työkaluja talouden suunnitteluun ja säästämiseen Käyttö selaimen kautta Ei API:a
Yhteistä Palvelusuuntautuneisuus Käyttö verkon kautta, usein selaimen Ei tarvetta asentaa tai ylläpitää ohjelmistoa API -Integroiminen ja yhdistäminen Hinnoittelu tilausperiaatteella, esim. 5 /kk
Arkkitehtuuri Loppukäyttäjän näkökulmasta verkkosovellus Arkkitehtuuri ja toteutustekniikat webbisovelluksista -Asiakas-palvelin, n-kerros Kännykkäpalvelut rajapinnan kautta -Esim. REST Palvelusuuntautuneisuus -Service-oriented architecture
Miten pilveen? Infrastructure as a Service
Palvelu v1 Acme Oy on kehittänyt palvelun Palvelua tarjotaan käyttäjille webbiselaimen kautta Palvelu on toteutettu LAMP-pinolla -Linux, Apache, MySQL, Python
Palvelu v1 Asiakas Sovellus Django Internet Python MySQL Apache Palvelin Linux
Palvelu v1 skaalautuvuus Palvelu on saanut hyvää mainetta ja suosio kasvaa Kun käyttäjämäärät ovat lisääntyneet niin palvelu on hidastunut Arkkitehtuuria muutetaan -Kuomaa tasaava palvelin -Useita tuotantopalvelimia
Palvelu v2 Internet
Palvelu v2 Laskentakapasiteetti skaalautuu palvelimien lukumäärällä - Kuormantasaus jakaa kyselyt palvelimille tasaisesti Uuden palvelimen lisääminen järjestelmään on hidasta - Palvelimen tilaus ja asennus - Verkkoinfrastruktuuri - Ohjelmistojen asennus Ylläpitovaiva kaikille palvelimille - Alusta: käyttöjärjestelmä ja kirjastot - Palvelun ohjelmistopäivitykset Viedään palvelu pilveen!
Palvelu pilveen Käytetään Amazon EC2:sta EC 2 on virtualisointiin perustuva IaaS Mahdollistaa Amazon Machine Image (AMI)-virtualikoneiden ajamisen Tarjoaa rajapinnat mm. virtuaalikoneiden käynnistämiseen ja pysäyttämiseen Palvelimista pitää tehdä AMI:t
Palvelu pilvessä v1 Amazon EC2 EC2 API Template AMI:t
Palvelu pilvessä v1 Laskentaresursseja on nyt helppo skaalata - Tarpeen mukaan käynnistetään tai sammutetaaan Palvelu AMI-instanssi Päivitykset pitää tehdä vain AMI:iin Tallennuksesta tulee pullonkaula Skaalautuvan tallenusjärjestelmän tekeminen on vaikeaa Otetaan käyttöön pilviratkaisu tallennukseen - Tiedostot Amazon S3 (Simple Storage Service) - Tietokanta Amazon SimpleDB
Palvelu pilvessä v2 Amazon EC2 EC2 API S3 & SimpleDB
Palvelu pilvessä v2 Laskentakapasiteetti skaalautuu Tallennuskapasiteetti skaalautuu Skaalaaminen vaatii manuaalista työtä -Pilvipalvelulta vaadittava dynaaminen joustavuus puuttuu
Palvelu pilvessä v3 Amazon EC2 EC2 API S3 & SimpleDB
Palvelu pilvessä v3 Laskentakapasiteetti skaalautuu Tallennuskapasiteetti skaalautuu Resurssien käyttöä säädetään automaattisesti tarpeen mukaan
Miten pilveen? Platform as a Service
Platform as a Service Pilviohjelmistokehitysalusta -Ohjelmistokehityspino (SDK) -Valmiit ratkaisut pilvisovellusten tekemiseen - Tallennus, tietokannat, tausta-ajo jne. Testaus, käyttöönotto ja seuranta -Sovelluksen lataaminen pilveen -Automaattinen skaalautuvuus ja kuormantasaus -Palvelunkäytön seuranta -Palvelun kuluttamien resurssien seuranta
Mitä PaaS on käytännössä 1/2 Amazon EC2 EC2 API S3 & SimpleDB
Mitä PaaS on käytännössä 2/2 Sovellus Sovellus PaaS API
Google App Engine PaaS Google infrastruktuurilla Ohjelmointikielet Java ja Python Olemassa olevia kirjastoja voi käyttää rajoituksin Google API:t käytössä - Käyttäjienhallinta - Tallennus, prosessointi Hyvät työkalut - Kehitys omalla koneella, helppo asentaa - Käyttöönotto Google App Enginellä Vähäisellä käytöllä ilmainen, helppo kokeilla Laskutus käytön mukaan http://code.google.com/appengine/
Windows Azure Platform Microsoftin PaaS Perustuu.NET kehykseen (Ohjelmointikielenä C# tai muut.net CLR kielet) Olemassa olevien Windows sovellusten vieminen pilveen osittain tai kokonaan SQL Azure tietokantaratkaisu Työkalut integroitu Visual Studioon (SDK) Käytettävissä Microsoftin tuotteiden pilviversiota - Sharepoint, Dynamics jne. Laskutus sopimuksen mukaan http://www.microsoft.com/windowsazure/
Yhteenveto
Pilvi On malli tuottaa IT-palveluja verkon kautta -Software as a Service (SaaS) -Platform as a Service (PaaS) -Infrastructure as a Service (IaaS) Mahdollistaa skaalautuvan IT-infrastruktuurin Mahdollistaa yritysten parantaa infrastruktuurinsa käyttöastetta Antaa keskittyä siihen mikä on oleellista Alentaa kynnystä uusille internet-palveluyrityksille
Esitys on pilvessä! http://goo.gl/elzy Palvelun tarjoaa Dropbox ja Google
Kiitos! Pekka Virtanen pekka.virtanen@vincit.fi