Hentry. Aiheen esittely. Arkkitehtuuri ja tuotantolinja

Samankaltaiset tiedostot
Tietokantojen hallinta

Selaimen kautta käytettävällä PaikkaOpin kartta-alustalla PaikkaOppi Mobiililla

Selvitysraportti. MySQL serverin asennus Windows ympäristöön

Googlen palvelut synkronoinnin apuna. Kampin palvelukeskus Jukka Hanhinen, Urho Karjalainen, Rene Tigerstedt, Pirjo Salo

LoCCaM Riistakamerasovellus. Dimag Ky dimag.fi

Suojaa yrityksesi aina ja kaikkialla. F-Secure PSB:n käyttöönotto-opas

Outlook ja Yritysportaali iphonelle

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro

1 (5) VUOKRALISENSSIN KÄYTTÖÖNOTTO JA PILVIPISTEET AUTODESK ACCOUNTISSA. Milloin vuokra-aika alkaa?

Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan

Kuluttajapalvelun rakentaminen. Omegawave Mikko Heilimo

Tähän ohjeeseen on koottu vanhemmille ja johtokunnalle ohjeet pilvipalveluiden käyttämiseen. Tämä ohje on osa koko Tenavakallion IT dokumenttia.

Autentikoivan lähtevän postin palvelimen asetukset

Outlookin konfigurointi. Huoltamosähköposti Sonerahosted

Pilvi mitä, miksi ja miten

Secure hubiin kirjautuminen

Päivitysohje Opus Dental

CLOUDBACKUP TSM varmistusohjelmiston asennus

SUOJAA YRITYKSESI AINA JA KAIKKIALLA. F-Secure PSB:n käyttöönotto-opas

TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO

Oma kartta Google Maps -palveluun

Pääkäyttäjän käyttöönotto-opas Microsoft Office 365:n käytön aloittaminen

Doodle-kalenteriohjelma


Articles... 3 Videon tallentaminen ipadista Flowboxiin... 4 Dokumentin lataaminen OneDrivesta Fronterin palautuskansioon...15

Nettikalenterin tilausohjeet

Gree Smart -sovelluksen (WiFi) asennus- ja käyttöohje: Hansol-sarjan ilmalämpöpumput WiFi-ominaisuuksilla

Written by Administrator Monday, 05 September :14 - Last Updated Thursday, 23 February :36

Sonera Microsoft Office 365 -palvelun käyttöönotto-opas pääkäyttäjälle. Microsoft Office 365:n käytön aloittaminen

Työsähköpostin sisällön siirto uuteen postijärjestelmään

EASY Tiedostopalvelin - mobiilin käyttöopas

Tilastokeskuksen rajapintapalveluiden käyttöönotto QGIS-ohjelmistossa

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:

Maestro Lappeenranta Mannerheiminkatu Lappeenranta. Maestro Helsinki Huopalahdentie Helsinki

Sisällysluettelo 4 ONGELMATILANTEIDEN RATKAISUT... 12

Mark Summary Form. Taitaja Skill Number 205 Skill Tietokoneet ja verkot. Competitor Name

Käyttöohje Planeetta Internet Oy

SQL Server 2008 asennus

Pääkäyttäjän käyttöönotto-opas Microsoft Office 365:n käytön aloittaminen

Käyttöoppaasi. F-SECURE PSB AND SERVER SECURITY

HAMINETTI WLAN LIITTYMÄN KÄYTTÖÖNOTTO-OHJE

Tämä ohje on tehty yhdistelmään libre + nightrider + xdrip ios + nightscout. Ohjetta voi soveltaa oman tarpeen mukaan.

Salasanojen hallinta. Salasanojen hallintaopas RESTAURANT ENTERPRISE SOLUTION

Ohje Hosted.fi SharePoint

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Visma Avendon asennusohje

Kuinka aloitat Instagramin käytön?

IBM BusinessConnect A new era of thinking. A new era of thinking. Metsä Group. Mobiiliarkkitehtuuri. Ari Linja IBM Corporation

Ohjeet käyttäjätilin rekisteröintiin ja varmennekortin liittämiseen HUS:n ulkopuoliselle ammattilaiselle

Webinaariin liittyminen Skype for

Liittyminen Sovelton Online-tapahtumaan Microsoft Lync Web App -selainlaajennuksella (Windows, MAC ja ipad)

Googlen pilvipalvelut tutuksi / Google Drive

Microsoft Online Portal. Järjestelmänvalvojan perusopas

Uutta Remote Support Platform 3.1 -versiossa

Apogee Portal X. - Web-pohjainen aineiston lähetys/hyväksyntäjärjestelmä -

Konesali ilman rajoja Kongressi A

HP ProBook 430 G5 kannettavien käyttöönotto

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Tekninen suunnitelma - StatbeatMOBILE

Outlook ja Yritysportaali Androidille

JOVISION IP-KAMERA Käyttöohje

Käytettäväksi QR-koodin lukulaitteen/lukijan kanssa yhteensopivien sovellusten kanssa

Ylläpitodokumentti. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Työpöytävirtualisointi

Visma Nova. Visma Nova ASP käyttö ja ohjeet

TimeEdit opiskelijan ohje TimeEdit-instructions for students from this link

Network Video Recorder. Pika-asennusohje

Sonera Yrityssähköposti. Outlook 2013 lataus ja asennus

Secure hubiin kirjautuminen

Maiju Mykkänen Susanna Sällinen

Googlen pilvipalvelut tutuksi / Google Drive

Webpalvelin muistitikulle - Ohje

ACCOUNTOR ICT Digitaalinen työympäristö Markkinatutkimus joulukuu 2018

Elisa Ring. Agentin opas. Elisa Oyj, PL 1, ELISA, Y-tunnus , Kotipaikka: Helsinki

Autodesk Account -ohje

Ohjeet S-ryhmän tuotetietoportaaliin

Näin saat 365 päivän ajalta Freshest Data sisältöä NavionicsWeb Store nettikaupasta

H9 Julkaiseminen webissä

Hyödynnä DPS- ja SA-setelit Azure hybridipilvi-palveluiden suunnittelussa ja testauksessa!

Web Services tietokantaohjelmoinnin perusteet

Testidatan generointi

Tero Mononen / Kumppanuuskampus

Sanomapavelinohjelmiston käyttöohje (Vanha versio RO)

Open Badge -osaamismerkit

Ceepos mobiilimaksaminen

Outlook ja Yritysportaali Androidille

Käyttäjäistunnon poistaminen Pervasive.SQL:stä

Ohjeistus uudesta tunnistuspalvelusta

TEHTÄVÄ 4: Microsoft Windows Deployment Services asennus ja hallinta

Kannettava tiedonsiirtolaite yksilötason LIVE paikannukseen! Pikakäyttöohje

Ensimmäisessä vaiheessa ladataan KGU tietokanta Hallitse tietokantoja toiminnon avulla.

Huom! Tunnuksesi pitää olla aktivoitu ennen tilin luomista ja sen yhteydessä näet sähköpostiosoitteesi tarkan muodon.

XML tehtävien työnkulku

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0

Office 365 palvelujen käyttöohje Sisällys

ClassPad fx-cp400 päivitys. + Manager for ClassPad II Subscription päivitys

Tämän ohjeen avulla pääset alkuun Elisa Toimisto 365 palvelun käyttöönotossa. Lisää ohjeita käyttöösi saat:

ILMOITUSSOVELLUS 4.1. Rahanpesun selvittelykeskus REKISTERÖINTIOHJE. SOVELLUS: 2014 UNODC, versio

Esimerkkinä - ilmainen blogi-julkaisujärjestelmä. WordPress:stä on myös palvelimelle asennettava versio (WordPress.

Exchange Online. Järjestelmänvalvojan perusopas

Transkriptio:

Hentry Aiheen esittely Hentry on kevyt ja helppokäyttöinen ajanhallintatyökalu pienille hajautetun hallinnan ketterille kehitystiimeille. Sen pää ominaisuutena on projektikohtainen tehtävien ajanhallinta ja -seuranta. Meneillään olevien projektien tehtävien eteneminen on helposti seurattavissa ja ketterien ohjelmistoprojektien vaatimat tehtävien lisäykset sekä resursoidut ajan muutokset on mahdollista tiimin jäsenille. Sovellus on toteutettu käytettäväksi selaimen välityksellä desktop ja mobiili päätteillä. Arkkitehtuuri ja tuotantolinja

Hentry on julkaistu Azuren WebApp alustalle. Azure App Service on PaaS ratkaisu Microsoftin Azure pilvipalvelualustassa. Sen vahvuus on helpossa resurssien hallinnassa sekä Microsoftin omien sekä muiden osapuolien SaaS ratkaisujen integroinnissa. App Service mahdollistaa automatisoidun palveluiden käyttöönoton ja hallinnan sekä dynaamisen palvelualustan resurssien käytön. Seuraavaksi käydään läpi App Servicen arkkitehtuurin oleellisimmat käsitteet. WebApp resurssiryhmä (resource group) on ns. looginen kontti Azuressa käytössä oleville resursseille. Sinne voidaan lisätä ja sieltä voidaan poistaa manuaalisesti tai automatisoidusti palvelu instansseja, tietokantoja tai muita resursseja. Resurssiryhmistä voi tehdä myös templaatteja, joiden avulla esim. Integraatiotesti ryhmän voi pystyttää yhdellä komennolla. App Service sovellus on ohjelman ajoalusta, joka tukee ASP.NET, Node.js, Java, PHP ja Pythonia. Ohjelmat pyörivät virtualisoidussa koneessa johon on myös mahdollista ajaa Windows PowerShell skriptejä. App Service instanssit mahdollistavat jatkuvan integroinnin ja jatkuvan julkaisun DevOps tuotantoketjun Visual Studio Team Services, Githubin tai Bitbucketin kautta. App Service instansseissa voidaan ajaa test ja staging ympäristöjä sekä suorittaa mikropalvelu arkkitehtuuria. App Service voidaan myös SaaS alustoihin ja se tukee natiivisti yli 50 erilaista palvelua. App Service Plan mahdollistuu ohjelmistoa pyörittävien virtualisoitujen ympäristöjen (VM) hallinnan. App Service Plan määrittää mihin regioniin (West US, East US, West EU jne ) palvelu julkaistaan, instanssien skaalautuvuuden, instanssien koon ja minkä hintatason (tier) instanssi on kyseessä. Deployment slotit mahdollistavat tuotantoon ajon vaiheistamisen (deployment staging) ja eri staging vaiheen helpon tuotantoon viemisen. App Service sovellukselle Azure antaa julkisen IP osoitteen, sekä mahdollisuuden Active Directory (AD) autentikointiin. Azure SQL Database ja loogiset palvelimet tarjoavat tietokannan DaaS ratkaisuna ja monen kannan ajamisen sekä automaattiset synkkaukset ja backupit. Storage Account sisältää App Service instanssien logit sekät niitä pyörittävien VM koneiden logit.

Opiskelija saa käyttöönsä ilmaisen hintatason (tier) App Service Planin App Service on yhdistetty Githubiin, Web App/APIin ja Common Data Servicen avulla ClearDB tietokantaan MVC 5 arkkitehtuuri Hentryssä Hentryssä on käytetty ADO.NET MVC 5 frameworkkia, sillä Azure Web App tukee suoraan vain sitä. Tämä mahdollistaa EF6:llä modelien luomisen suoraan tietokannan pohjalta ja database first kehitykset. View enginenä käytetään Razor 3:a. Sovellus toteutettiin alussa database first periaatteella, mutta lopulta se muuttui hybridiksi, kun ominaisuuksia lisättiin. Modulaariset elementit Hentry pyörii ilmaisen tason App Service Planilla, mutta jos alle laitettaisiin maksullinen tili ja luottokortti, jota on varaa vinguttaa palveluun tulisi kaksi erilaista tapaa skaalata palvelun komponentteja. Azuressa voi tehdä Automation tilin, jolle luodaan erilaisia Runbookkeja. Näitä automaatio ohjeistuksia voi yhdistää, vaikka tietyn tyyppisten virhetilojen tapahtuessa.

Ensimmäinen tapa on ylös skaalaaminen (scale up), jossa yksittäisten instanssien kokoa (muistin ja suorittimien määrä sekä VM koneen käytössä olevaa tallennustilaa) voidaan kasvattaa. Toinen vaihtoehto on ulos skaalaaminen (scale out), jossa rinnakkain ajettavien instanssien määrää kasvatetaan. Skaalaamisen voi tehdä manuaalisti tai automaattisesti luomalla kuormantasaus profiilin Azuren resurssiryhmään. Syötteet ja virheiden käsittely Syötteet tarkistetaan view tasolla javascriptillä ja EF:n toimesta controller tasolla. View tasolla käytetään RE:tä, joka estää virheelliset syötteet suoraan view tasolle ja antaa siitä palautteen käyttäjälle selaimessa. Jos RE:stä päästään läpi EF käy syötteen vielä uudestaan läpi, jonka jälkeen se päästetään tietokantaan. Istunnot Käyttäjänhallinta kulkee istuntojen kautta asiakkaan selaimessa. Istuntoa käytetään myös oikeiden modelejen näyttämiseen. Tietokanta Tietokantana on MySQL pohjainen ClearDB. Olisimme käyttäneet Azuren SQL tietokantaa, mutta se ei kuulu Azuren opiskelijakäyttäjien palveluihin. Emme käyttäneet ulkoista SQL kantaa, koska se ei olisi mahdollistanut Azuren DaaS palvelun käyttöä. Tämä käytännössä tarkoittaa sitä, että meidän kantamme on kahdennettu ja toisen kannan tuhoutuessa Web App jatkaa toisen kannan käyttöä ja samanaikaisesti taustalla nostaa uuden kahdennetun kannan pystyyn. Maksullisella Azure Service planilla tähän saa lisättyä kuormantasaus profiilin kautta ulos- ja ylös skaalautuvuuden.

Ylläpidettävyys Koska ohjelmamme on toteutettu kokonaan Microsoftin MVC 5 mallilla ja sovelluksen laajennukset (nugget paketit) ovat Microsoftin omia voidaan suurella todennäköisyydellä sanoa, että frameworkkia ja laajennuksia tullaan ylläpitämään vielä kauan. MVC 5:ssä käytetään Routing (reititys) teknologiaa http kyselyjen käsittelyssä, mikä käytännössä tarkoittaa, että reititys kutsuu ennalta määriteltyjä modeleita, joista view koostetaan. Reititystä voi tehdä koko sivun sisällölle tai yksittäisen osan sisällölle. Meidän sovelluksessa Header, footer ja muut kiinteät elementit eivät ole reititettyjä, vaan sivulta toiselle siirtyessä vain oleellinen sisältö käyttäjäpäässä ladataan. Tällöin vältytään turhalta saman sisällön uudelleen lataamiselta ja eri sivun osien modelit voidaan tehdä hyvin selkeiksi ja helposti ylläpidettäviksi kokonaisuuksiksi. Web Appeihin on myös säädetty seurattavia varoitusrajoja, joiden avulla voidaan varautua muistin, tietokantojen tai instannssien suorityskyvyn loppumiseen. Tietoturva Hentryn arkkitehtuuri on toteutettu Microsoftin suositteleman MVC 5 mallin mukaisesti, missä eri tasojen välillä käyttäjäsyötteet varmistetaan ja varmennetaan. Internettiin on auki (entrypoint) vain App Servicen julkinen osoite. Tietokannat ja App Service instanssit(+vm) ovat Azuren alustan sisällä. Muut erityisominaisuudet Palvelu on julkaistaan jatkuvan julkaisumallin (CD) ja jatkuvan integroinnin (CI) keinoin. Githubin master branch testataan ja läpi päästessään julkaistaan automaattisesti Azuren Wep Appiin.

Muut dokumentit Requirement specification (vaatimusmäärittely), tuotteen roadmap ja työajanseuranta löytyy projektin repositoriosta https://github.com/laurima/hentry/wiki.

Asennus- ja ylläpito-ohjeet Microsoft Azuren for Students tilin luonti Sinulla tulee olla 1. oma opiskelijatili JA 2. henk koht microsoft tili (gmail tilin voi linkata) HUOM kirjaudu ulos koulun sähköpostista, koska microsoftin palvelut muuten kirjautuvat sillä automaattisesti kaikkialle sisään. Käy rekisteröimässä oma henk koht microsoft tili microsoft imagineen ja vahvista, että olet opiskelija (linkkaa koulusähköposti samaan tiliin). Tämän jälkeen mene tänne https://catalog.imagine.microsoft.com/enus/catalog/product/99 ja varmista että kirjaudut omalla henk koht microsoft tilillä sisään, jonka jälkeen voit rekisteröidä Microsoft Azure for students tilin Tämän jälkeen voit mennä https://portal.azure.com/ ja kirjautua henk koht microsoft tilillä sisään. (Ja edelleen jos olet koulun spostissa kirjautuneena niin se kirjaa automaattisesti sillä sisään, jolloin kirjaudut azure portalista ja webaccessista pois ja sitten azure portaliin sisään omalla microsoft tilillä)

Web App ja ClearDB luonti 1. Kun olet kirjautunut sisään valitse navigointipalkista Resource Groups 2. Etsi Web App + MySQL

3. Nimeä sovellus ja luo uusi resurssiryhmä, jos et ole liittämässä sovellusta jo valmiiseen resurssiryhmään. Valitse kannaksi ClearDB, ellet käytä ulkoista tietokantaa (muuta vaihtoehdot on maksullusia)

4. Odota, että App Service, kanta ja muut resurssit luodaan 5. Kun sovelluksen alla lukee running sen kuvaketta voi kaksoisklikkaamalla pääsee katsomaan App Servicen tietoja.

6. Tässä näkymässä näyt App Servicen perustiedot. Pääset katsomaan kaikki resurssiryhmäsi resurssit navigointi valikon ylimmästä nappulasta All resources heti plus merkin alapuolella.

Github repositoriosta automaattisen deployaamisen lisäys instanssiin 1. Mene sen App Servicen perusnäkymään, johon haluat lisä automaattisen deployaamisen githubista ja valitse Deployment options -> Github

2. Syötä github tunnukset, joilla on hallinnointi oikeus repositorioon (omistaja tai contribuuttori). Azure luo automaattiset webhookit repositorioon.

3. Kun olet valinnut repositorion ja branchin muista painaa alhaalta ok. Samalla voit määrittää myös suorituskykytestejä kun uusi vversio branchista vedetään (Azure määrittää automaattisesti maksimiarvot, joilla opiskelijatilillä voi suorituskykytestejä tehdä)

4. Tämän jälkeen pitäisi githubista tulla automaattisesti deploymentti valitusta branchista

Käyttäjäoikeuksien jako ja hallinta Microsoft Azuressa voi jakaa käyttöoikeuksia resurssi ryhmille tai yksittäisille resursseille. Suositeltavaa on tietenkin antaa vain tarvittava määrä käyttöoikeuksia muille käyttäjille. Kaverilla täytyy olla kanssa henk koht microsoft ja azure tili, jolle oikeudet voidaan jakaa. Mene resurssiin, jolle haluat jakaa käyttäjäoikeuksia -> Access Contro (IAM) -> Add listan päältä -> Select role -> Add users -> Select -> Ok Tämän jälkeen kaverille tulee vahvistus. Jonka jälkeen hän kirjautuu omilla tunnuksillaan Azure portaliin ja löytää jaetyn resurssin All resources tabin alta.

Näkymä Azure Portalin Dashboardista, johon on otettu Web Appin ja tietokannan oleellisia parametrejä seurantaan