Pää pilvessä, kädet savessa

10.1.2011 14:59

Tämä artikkeli on osa ns. white paper -artikkelisarjaamme, jossa yhteistyötahot tuottavat sivuillemme tekniikkaan liittyviä artikkeleita. Tämän artikkelin on tilannut Microsoft.

Katso myös muut Microsoftin tilaamat artikkelit:

Pää pilvessä, kädet savessa 20 ensimmäiselle juttua kommentoivalle 30pv Azure-tunnukset. Lue tarkemmat ohjeet jutun lopusta. Cloud computing pohjaiset sovellusalustat eli tuttavallisemmin pilvialustat tarjoavat helpon tavan hankkia joustavaa kapasiteettia web-sivuston tai palvelun alle. Microsoft tarjoaa Windows Azure pilvialustaa, joka tukee .NET, PHP, Python, Ruby ja Java -pohjaista kehittämistä Visual Studiolla ja Eclipsellä. Tässä artikkelissa kerron, miten kehitystyössä pääsee alkuun.

Työkalujen hankkiminen

Windows Azurelle voi kehittää ja paketoida sovelluksia Visual Studio 2010:llä tai Eclipsellä. Paras paikka ladata tarvittavat työkalut on Windows Azure Get Started Now! -sivu. Sivulta pääset työkalujen lataussivulle, ensimmäisen testisovelluksen tutoriaaliin, Azure tilin hankintaohjeisiin ja ohjeisiin sovelluksen lataamiseen Azure ympäristöön. Jos haluat kehittää Azure-sovelluksia Visual Studion maksuttomalla versiolla, siihen käy Visual Web Developer 2010 Express.

Windows Azure SDK sisältää paikallisen pilviemulaattorin (development fabric), joka mahdollistaa Windows Azure sovellusten testaamisen paikallisesti omalla työasemalla. Emulaattori vaatii että koneella on käytössä IIS 7.0 ja ASP.NET, joiden aktivoinnista on tehty ohje.

Visual Studion jälkeen kannattaa ladata ja asentaa Visual Studion päälle Azure työkalut ja SDK, jotka on paketoitu yhdeksi paketiksi nimeltään Windows Azure Tools for Microsoft Visual Studio 1.3 (November 2010).

Kehitysympäristönä on suositeltavinta käyttää 64-bittistä Windows 7 käyttistä. Myös 32-bittistä versiota tai Vistaa ja Windows Server 2008 voi käyttää, mutta niihin on asennettava enemmän hotfix-korjauspaketteja. Windows Azuren käyttöjärjestelmäympäristö on yhteensopiva 64-bittisen Windows Server 2008 R2 käyttöjärjestelmän kanssa, joten Windows 7 64-bittinen versio minimoi mahdolliset yllätykset paikallisen emulaattorin ja oikean tuotantoympäristön välillä.

Yksinkertaisen testisovelluksen tekeminen

Windows Azure kehittäminen on tuettu Visual Studiossa suoraan valmiiden projektimallien kautta. Yksinkertainen, yhden web-sivun tarjoava ASP.NET sovellus syntyy seuraavasti:
  1. Käynnistä Visual Studio tai Visual Web Developer 2010 Express.
    Vinkki:Jos haluat testata sovellustasi development fabricin alla, on kehitystyökalu käynnistettävä pääkäyttäjän oikeuksin. Tämä onnistuu valitsemalla työkalun ikonin kontekstimenusta (oikea hiiren näppäin) 'Run as administrator'

  2. Valitse ylävalikosta File -> New ja edelleen Project. New Project -dialogi-ikkuna avautuu.

  3. Avaa New Project -dialogissa kohdassa Installed Templates olevasta puurakenteesta Visual C#. (Jos käytät Visual Studiota ja olet asentanut useita ohjelmointikieliä, Visual C# saattaa löytyä kohdan Other Languages alta.)

  4. Valitse Visual C# -projekteista Cloud.

  5. Kirjoita projektin nimeksi Name-kenttään "HelloCloud" ja klikkaa OK. New Windows Azure Project -dialogi avautuu.

  6. Tee New Windows Azure Project -dialogissa seuraavasti:
    1. Valitse ASP.NET Web Role
    2. Lisää valittu roolityyppi Windows Azure Project Solution listaan.
    3. Klikkaa OK
Kun sovelluspaketti on luotu, Visual Studio avaa automaattisesti oletus ASPX-sivun. Solution Explorer -paneelissa on nyt sovelluspaketin alla WebRole1 projekti. Toinen projekti, nimeltään HelloCloud, sisältää tiedon solutioniin kuuluvista roolityypeistä ja Windos Azure konfigurointitiedot. Oletuksena konfigurointitiedot ovat oikein paikallista testaamista varten.

Lisätietoa Windows Azuren roolityypeistä löytyy sivulta Using Roles in your Windows Azure Application.

Nyt voi muokata sovellusta haluamallasi tavalla. Lisää vaikkapa

-tagien väliin oletustekstin tilalle "Terve Pilvi!". Nyt olet valmis testaamaan sovellusta paikallisella pilviemulaattorilla.

Testaaminen paikallisesti

Valitse Visual Studion valikosta Debug -> Start Without debugging. Soveluspaketti käännetään ja linkitetään sekä paketoidaan Windows Azure emulaattoria varten. Emulaattori käynnistyy automaattisesti ja sovelluksen pitäisi nyt avautua selainikkunaan.



Emulaattorilla on kaksi käyttöliittymää, jotka löytyvät Windowsin tehtäväpalkista oheisen näköisen kuvakkeen alta. Käyttöliittymiä on kaksi, toinen laskentakapasiteetin simuloinnille ja toinen levytilapalvelujen simuloinnille.



Laskentakapasiteetin simulointi näyttää simuloitavan sovelluksen käynnistämät rooli-instanssit. Tässä tapauksessa soveluksella 'HelloCloud' on vain yksi instanssi roolityyppiä 'WebRole1'. Instansseista on tarkasteltavissa instanssin konsoli-ikkuna, johon tulostuu sovelluksen jäljitystietoa. Käyttöliittymällä voi myös pysäyttää sovelluksen. Sovellus pysähtyy tässä tapauksessa myös kun käyttöliittymän sulkee sulkemalla selaimen tai sen tabin.



Levytilapalvelujen simulaattorin käyttöliittymästä näkee eri palvelujen rajapintojen osoitteet. Palveluja voi pysäyttää tai käynnistää uudelleen.

Azure tilin hakkiminen

Sovelluksen ajaminen Windows Azuressa vaatii sovellustilin. Sovellustilin voi hankkia selaimella Windows Azure Buy Now- sivulta. Maksuttomia testitilejä on tarjolla kaksi: Introductory Special ja MSDN tilaajaetu.

Introductory Special tarjoaa maksutta kuukaudessa laskentakapasitteettia 25 käyttötuntia ja levytilaa 500 MT. Tietoliikennekapasiteettia tiliin kuuluu 500 MT sisään ja 500 MT ulospäin. Tarkempi erittely resursseista on täällä. Vaikka testitili on maksuton, maksuttoman käytön ylittävä kapasiteetti on normaalihintaista. Siksi testitilin avaamisessa tarvitaan luottokortti.



MSDN kehittäjätilauksen haltijat voivat aktivoida oman testitilinsä johon kuuluu kuukaudessa 750 käyttötuntia. Myös muita resursseja kuuluu pakettiin enemmän. Niistä on tarkempi esittely täällä (vaatii sisäänkirjautumisen MSDN-tilin avaimilla)

Sovelluksen ajaminen Windows Azure ympäristössä

Edellä tehdyn HelloCloud-sovelluspaketin voi tilin avaamisen jälkeen julkaista Windows Azure tilille. Julkaisutapoja on useita erilaisia riipuen halutusta automaatioasteesta ja käytettävästä työkalusta. Tässä esimerkissä teemme erikseen sovelluspaketin valmistelun ja varsinaisen Azure-ympäristöön lataamisen.

Sovelluspaketin valmistelu

  1. Valitse Visual Studion Build-valikosta Publish HelloCloud. Avautuu Deploy Windows Azure Project -ikkuna.

  2. Valitse Deploy Windows Azure Project -ikkunassa optio Create Service Package Only ja paina OK.

Sovelluspaketti käännetään, linkitetään ja paketoidaan. Lopuksi avautuu kansio, jossa on kaksi tiedostoa:
  • HelloCloud.cspkg sisältää käännetyn ja linkitetyn sovelluksen resursseineen.
  • ServiceConfiguration.cscfg sisältää sovelluksen palvelukuvauksen, jonka avulla Windows Azure tietää montako instanssia sovellus tarvitsee ja mitä resursseja se käyttää.

Jätä kansio auki tai laita sen polku talteen. Tarvitset kansion sisältöä seuraavassa vaiheessa kun lataamme sovelluksen Windows Azureen hallintaportaalin kautta.

Sovelluksen lataaminen Azureen

  1. Avaa selain ja kirjaudu Azure hallintaportaaliin osoitteessa: http://windows.azure.com/. Hallintaportaali on Silverlight-pohjainen.

    Vinkki Azure hallintaportaaliin kirjaudutaan Live ID tunnuksella. Jos käytät toisessa selainikkunassa eri Live ID tunnusta, kannattaa Internet Explorer käynnistää InPrivate-tilassa, niin voit kirjautua eri selainikkunoissa eri Live ID tunnuksin. Jos käytät muuta selainta, kokeile sen vastaavaa tilaa.

  2. Valitse hallintaportaalin vasemman reunan paneelista Hosted Services, Storage Accounts & CDN.

  3. Paneeliin avautuu Deployment Health -näkymä, joka kertoo sovellustilisi yleistilanteen. Jos tili on uusi, näkymä on enimmäkseen kuvan mukaisesti tyhjä.

  4. Klikkaa vasemman reunan paneelin yläosasta Hosted Services. Näkymään ilmestyy Azure sovellustilisi tiedot.

  5. Valitse yläreunan valintanauhasta New Hosted Service. Avautuu Create a new Hosted Service -dialogi.

  6. Valitse Create a new Hosted Service -dialogissa sovellustili, anna palvelulle looginen nimi ja alidomainin nimi. Palvelusi julkiseksi osoitteeksi tulee .cloudapp.net.
    Tärkeää Alidomainin nimen on oltava yksilöllinen kaikkien cloudapp.net domainissa varattujen alidomainien kesken. Käyttöliittymä tarkistaa nimen automaattisesti.

  7. Valitse Choose a Region -valintalistasta North Europe. Valinta määrää missä konekeskuksessa sovellustasi ajetaan. Voi valita minkä tahansa, mutta North Europe on verkkoteknisesti lähinnä Suomea.
    Vinkki Affinity group tarkoittaa loogista nimeä aina samaan konekeskukseen sijoitettaville palveluille ja sovelluksille. Näin voit määritellä helposti loogisen sijaintipaikan kokoelmalle sovelluksia. Näin keskenään viestivät sovelluksetja niiden levytila varataan samasta konekeskuksesta.

  8. Valitse Deployment options -kohdassa  Deploy to production environment. Valitse myös Start after successful deployment, niin sovellus käynnistyy automaattisesti latauksen jälkeen. Anna vielä nimi tuotantoonviennille kentässä Deployment name.
    Vinkki Sovelluksen voi ladata myös testiympäristöön (staging). Tässä esimerkissä käytämme tuotantoympäristöä koska sen osoite on selkeämi. Testiympäristön alidomainin nimenä käytetään pitkää, automaattisesti generoitua, yksilöllistä tunnistetta.

  9. Klikkaa kohdassa Package location nappia Browse Locally ja navigoi aikaisemmin avattuun kansioon johon sovellus paketointiin. Tuplaklikkaa HelloCloud.cspkg tiedostoa.

  10. Klikkaa kohdassa Configuration file nappia Browse Locally ja navigoi taas samaan kansioon. Tuplaklikkaa ServiceConfiguration.cscfg tiedostoa. Klikkaa lopuksi OK.
    Huomautus Saat varoituksen joka johtuu siitä että sovelluksella on vain yksi rooli-instanssi. Varoitus annetaan koska Azuren 99,95% palvelutaso ei ole voimassa yhdellä rooli-instanssilla.

Näet sovelluksen latauksen ja käynnistymisen etenemisen hallintaportaalissa. Lataus on valmis ja sovellus on käynnistynyt kun Deployment, Role ja Instance rivien tila on Ready.

Sovelluksen kokeilu ja resurssien vapauttaminen

Nyt sovellus on valmis testattavaksi:
  1. Klikkaa hallintaportaalin Hosted Services -näkymän listassa tuotantoonvientiä (deployment).

  2. Klikkaa Properties-paneelissa DNS name - kentässä olevaa osoitetta. Tämä avaa sovelluksen selaimeen. Käytät nyt sovellustasi Windows Azure alustalla.
    Varoitus Aina kun sovellus on ladattuna Azure ympäristöön, se kuluttaa resursseja. Myös pysaytetty sovellus (tila stopped) kuluttaa käyttötunteja. Kun olet testannut sovellustasi, pysäytä ja poista sovellus kohdan kome mukaisesti. Näin sovellustilin käyttötunnit eivät enää kulu.

  3. Pysäytä sovelluksesi klikkaamalla valintanauhalta Stop. Kun sovelluksen tila on Stopped, poista sovellus painamalla Delete. Vahvista poisto klikkaamalla Yes. Nyt sovellus ei enää käytä resursseja.
Jos haluat kokeilla kehittää jonkin sovelluksen Windows Azuren päälle, niin minulla on jaossa 20 ensimmäiselle 30pv Windows Azure kokeilutili. Miten tilin saa?

Jätä tämän artikkelin kommenttiin kuvaus siitä millaisen demosovelluksen aiot rakentaa ja lähetä lisäksi kopio kommentistasi osoitteeseen pasim@microsoft.com.

Saat paluupostissa 30pv Azure-tilin tunnukset.

Pasi Mäkinen

Microsoft Oy

Blogin kirjoittaja, kehittäjä- ja alustayksikön sovellusevankelista Pasi Mäkinen pitää Microsoftin asiakkaita ja kumppaneita tietoisena teknologiakehityksestä. Aikaisemmin Pasi johti Capgeminillä arkkitehtitiimiä. It-alasta hänellä on runsaan 20 vuoden kokemus.

Blogien  kirjoittajat löydät myös Facebookista





Jaa tämä


Kirjoita kommentti

Kommentoi uutista

Mikäli sinulla ei ole vielä AfterDawn-käyttäjätunnusta, syötä allaolevaan kaavakkeeseen toivomasi käyttäjätunnus sekä sähköpostiosoitteesi. Lähetämme sinulle jälkikäteen aktivointilinkin antamaasi sähköpostiosoitteeseen.

Mikäli sinulla on jo ennestään AfterDawn-käyttäjätunnus, kirjaudu sisään seuraavan välilehden kautta.

Kirjaudu sisään käyttäen AfterDawn -käyttäjätunnustasi tai sähköpostiosoitettasi.




Uutisarkisto