MATKALLA
PILVILINNOISSA
Jouni Heikniemi / @jouniheikniemi
Azure JKL 9.11.2017
CASE ILMEKARTTA
MUTTA ENTÄS SE ARKI?
Windows Server
IIS
Hardware
ASP.NET
MyApp
Selain
MyApp AJAX111!!!
HTTP
Load balancer (?)
Windows Server
SQL Server
Hardware
DB2DB1
Windows Server
Hardware
MyWindowsService
Sillä välin
Azuressa…
= 0,064 e/h
?
“
”
UNOHTAKAA SE JAVASCRIPT,
PILVI TEKI MEISTÄ OIKEITA FULL STACK -DEVAAJIA
Mitä rakas ylläpitäjäsi tekee vielä puolestasi?
Pyrkimys ketteryyteen, ”Mäkin voin tehdä sen”
Abstraktion poistamat
tehtävät
Sääntely, kontrollin tarve, hirviöratkaisut
KEHITTÄJÄNÄ SINÄ OLET EDELLÄ
• PaaS-pilveä kehitetään sinun tuottavuuttasi ja uudistumiskykyäsi ajatellen
• IT-ylläpitäjien työkaluja kehitetään legacy-tuotteita ja kontrollia varten
• Kummassa leirissä on mukavampaa?
GDPR
• … jossa saat kerrankin innovoida vapaasti
• … jossa ratkaisuja voi kokeilla vähällä kitkalla ja ottaa parhaat käyttöön
• … josta sinä kannat vastuun
GDPR
Kontrolloimattoman innovaation kaula
PILVIDEVAAJANA JOUDUT YLEENSÄ
VASTUUSEEN…
• Deployment-putkesta
• Operatiivisesta valvonnasta
• Tietokannan palomuureista
• Salaisuuksien hallinnasta
• Azure-resurssien käyttöoikeuksista
• Skaalautuvuuden hallinnasta
• Tietovarastoinnin turvallisuudesta
• Virtuaalikoneista 
• …
KUKAAN EI HALUA OSTAA KAIKKIA AZUREN PALVELUITA.
Asioita, joita yleensä
saat tehdä, jos vain
osaat (ja pysyt
työmääräarviossa)
Tutut ja turvalliset asiat
(VM, Storage, Web App,
SQL DB ym.)
Asioita, jotka täytyy
osata myydä asiakkaalle
KOLME PERUSOPPIA
• Koodaaminen ei riitä
• Opettele hallittavuutta, infraa ja politiikkaa
• Opettele visioimaan ja myymään
• Arkkitehtuurin korjaaminen on välttämätöntä
• Kannattaa aloittaa jo ennen pilveä
• Jossain vaiheessa Azuren joustavuutta kannattaa alkaa rajaamaan
• Enterprise Agreementit, tilaushallinta
• Käyttöpolitiikka, hallintamallit
HELPOSTI KÄYTTÖÖNOTETTAVIA TYÖKALUJA
APPLICATION INSIGHTS
• Azuren valmispalvelu sovellustelemetrian keräämiseen
• Plugataan käyttöön NuGet/NPM/tms. pakettina
• Lisäksi voit lähettää räätälöityä telemetriaa
APPLICATION INSIGHTS
• AI on hyvä ensiaskel Azuren käyttöön myös paikallisille sovelluksille
• Muutama hyvä valvontaoivallus auttaa AI:n myymisessä paljon :-)
AZURE RESOURCE MANAGER
AZURE RESOURCE MANAGER
Azure Service Management
Azure Resource Manager API
RP RPRP RP RP C-RP
Azure Resource Manager
Public Azure capacity Public Azure or Azure Stack
VIERAILEVA TÄHTI:
AZURE STACK
• Azure omaan saliin, 10/2017 alkaen
• Lenovo, HPE, Dell + muita tulossa
• Täydellisesti hallittu laatikko
• Kasvava osa Azuren palveluista saatavilla
• Rautainvestointi satoja tuhansia euroja, käyttö
minuuttiperusteista
ARM, PUBLIC CLOUD, AZURE STACK
• Oikein ARMia käyttämällä pystyt provisioimaan minkä tahansa ympäristön tyhjästä
koskematta juuri mihinkään itse
• Azure + ARM on rakennettu niin, että julkinen pilvi, erityispilvet ja Stack näyttävät
samalta
• Azure Stack on ”DevOps-platform paikalliseen ympäristöön”, ei mikään
virtualisointialusta
SALAISUUKSIA PILVESSÄ
• Missä pidät softasi salaisuuksia?
• Connection stringit, API-avaimet, …
• Versionhallinta on katastrofi, mutta sen kaikki tietävät
• Konfiguraatiotiedostot ovat ongelmallisia mm. backupin ja deploymentin kannalta
SALAISUUKSIA APP SERVICESSÄ
AZURE KEY VAULT
AZURE KEY VAULT
• Keskitetty varasto salaisuuksille
• Tunnistautuminen Azure AD –tunnuksilla
• Säilöö sekä salaisuuksia (nimi-arvo-
pareja) että sertifikaatteja
App Service
Web App
Azure ADKey Vault
Managed Service Account
GDPR
?
TOSIELÄMÄN AZURE-PROJEKTEJA
CASE: LENTOSIIVOUS
Eric Salard
CC-BY-SA
Siivous
Catering
Tankkaus
Matkatavaroiden
käsittely
Pysäköinti
Vesihuolto
Matkustajien ohjaus
Jäänesto Tarkastukset
…
Työnjohto
Kenttätiimi
Lentoyhtiöt
Työnjohtosovellus
1. ”AY2141 Oulusta
laskeutuu 5 min
myöhässä, portti 22”
2. ”Tiimi Mikko,
Tehkää AY2141:lle
A-siivous”
3. Tehtävä ilmestyy
tiimin työlistalle
4. Tiimi merkitsee
tehtävän aloitetuksi
ja lopetetuksi
5. Tieto koneen työn
etenemisestä
lentoyhtiöille 5. Tieto koneen
etenemisestä
työnjohdolle
Finavia
Tiedostot
Blob Storage
Tietokanta
SQL Azure
ASP.NET
Web
Role
Web
Role
MVC Web API SignalR
Finavia
CloudIntegrationWorker
Worker
Role
HTTP poll
Service Bus
Topic
(”EventBus”)
Selainsovellus SignalR
AngularJS
HTML,
JSON WebSockets,
JSON
HTTP/REST
Lentoyhtiöt
CASE: KOJAMON VERKKOKAUPPA
Kojamon liiketoimintajärjestelmät
ServiceStack, SOAP, REST, …
Azure Service Bus
Site-to-site VPN
Web API (ASP.NET Core)
Azure SQL DBCosmos DB
Key Vault Azure AD
Azure API Management
Blob Storage
Datansynkronointi (IaaS)
Application Insights
WEB APPEJA KORVAAMASSA
ERILAISET COMPUTE-TAVAT AZURESSA
Yleiskäyttöisen computen vaihtoehdot
Omistajan
vastuu
Keskeinen etu Suurimmat
ongelmat
Tuetut alustat Hybriditarina
Virtuaalikone Kaikki Täydellinen vapaus Ylläpidettävä
käyttöjärjestelmä
X64 Kyllä
App Service Sovellus Minimaalinen
vaiva
Suoritusympäristön
rajoitukset, kaikkea
työkuormaa ei saa
samaan instanssiin.
.NET, Java,
Node.js, PHP,
Python
Azure Stack
Functions Oma koodi Helppous, keveys,
halpuus
Työkalujen
keskeneräisyys
C#, F#, Node.js Kyllä
Container
Service
Kaikki paitsi
orkestrointi
DevOps-
mahdollisuudet,
suuri kuormatiheys
Preview, ei vielä
Windows, vaatii
Docker-mallin
Docker, jatkossa
Windows-kontit
Varauksella
Service Fabric Sovellus Resilienssi, skaala,
tiheys
Vain Windows,
preview, vaativa
toteutusmalli
Suoraan .NET,
mutta hostaa
”kaikkea”
Windowsilla
Kyllä, mutta
käyttäjä klusteroi
MIKÄ HIIVATIN SERVERLESS?
https://medium.com/statuscode/its-all-going-to-be-serverless-9e16fe721f36
SERVERLESSIN MÄÄRITELMÄ
1. Näkymätön infrastruktuuri – vain sinä ja tehtäväsi
2. Suorituspohjainen laskutus aikaveloituksen sijaan
SERVERLESSIN KOLME AALTOA
Functions
SERVERLESSIN KOLME AALTOA
Functions
Workflows
(Logic Apps)
SERVERLESSIN PERUSMUOTOJEN
ONGELMAT
• Funktiot ovat loistavia yksinkertaisiin, pieniin tehtäviin – miten käyttää niitä
olemassa olevan monoliitin hostaukseen?
• Workflowt ovat erinomaisia työnkulkujen mallintamiseen, erityisesti jos ne kestävät
pitkään – mutta…
• Miten mallinnat monimutkaista logiikkaa?
• Miten hallitset täsmällisiä ajoehtoja (delayt, rinnakkaisuus, lukitus jne.)?
• Kustannusten hallinta?
• Miten käytät näitä jatkuvasti pyörivän tehtävän suorittamiseen?
SERVERLESSIN KOLME AALTOA
Functions
Workflows
(Logic Apps)
Containers
MITÄ KONTIT SIIS OLIVATKAAN?
Käyttöjärjestelmä
MyApp.exe
MyApp.exe
MyApp.exe
SERVERLESSIN MÄÄRITELMÄ
1. Näkymätön infrastruktuuri – vain sinä ja tehtäväsi
2. Suorituspohjainen laskutus aikaveloituksen sijaan
OVATKO KONTIT SERVERLESS?
MyApp
Azure Container Registry
MyApp v1
MyApp v2
Azure Container
Instances
Azure Container
Service (ACS/AKS)
Service Fabric
App Service
Functions?
Image-
päivitykset
PIENI TIIVISTELMÄ
Asioita, joita yleensä
saat tehdä, jos vain
osaat (ja pysyt
työmääräarviossa)
Tutut ja turvalliset asiat
(VM, Storage, Web App,
SQL DB ym.)
Asioita, jotka täytyy
osata myydä asiakkaalle
TÄRPPILISTA
• Valtaosa ”hienoista” Azure-projekteista on oikeasti vain yhdistelmiä Azuren
peruspalveluista
• Jos haluat käyttää toimialakohtaisia palveluita, ne oppii kyllä – peruspalikoiden,
hallinnan ja valvonnan rakentaminen ovat niitä ”vaikeita yleistaitoja”
• Opettele nämä: Service Bus, Key Vault, Azure AD, hallinta (ARM ym.)
• Tutustu näihin: Serverless, kontit, oman toimialan erikoisuudet
• 700+ uutta ominaisuutta vuodessa?!
”Put aside the ranger and become who you were born to be.”
”A cloud generalist?”
KIITOS!
Jouni Heikniemi
Offbeat Solutions
@jouniheikniemi
jouni@offbeat.fi
ikkunastud.io
bit.ly/msgurut

Azure JKL Keynote 9.11.2017