Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön...
-
Upload
digitalmikkeli -
Category
Business
-
view
95 -
download
2
description
Transcript of Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön...
![Page 1: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/1.jpg)
Sovelluskehittäjät ja data -kehittäjäyhteisön mahdollistaminen
Kalle Launiala, ProtonIT Oy
The Ball – The Information Ecosystem
[email protected], +358 44 5575665
![Page 2: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/2.jpg)
Esityksen rakenne
• Datan tarjoaminen käytettäväksi
• Sovelluskehityksen ”tekemisen rooli”• ... suhteessa datan jalostamiseen
• Datajalostamisen ja ”appsin” arkkitehtuurin yhdistäminen• Kuluttajan palveleminen, operointi, yksityinen data
• Pilvi-infran datan käsittelyn lyhyt matematiikka ja kustannukset• Oma konesali vs. Pilvi-infra
Erillinen sessio: ProtonIT Oy & Pallo-alusta ”yritysesittely”
![Page 3: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/3.jpg)
Datan tarjoaminen käytettäväksiPäätermi: Resursointia = ihmis + konekapasiteettia
![Page 4: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/4.jpg)
Agenda: Tuotetaan data saataville1. Tunnistetaan kiinnostava
raakadata
2. Tunnistetaan jalostus ja indeksointitarve
3. Resursoidaan (ihmis + laskentaresurssein) raakadatasta => datalähteitä
4. Resursoidaan datalähteiden tallennus
5. Resursoidaan datalähteiden palvelu ulospäin käyttäjille
6. Resursoidaan ”Miten käytät?” dokumentointi ja ylläpidetään se ajantasaisena
Raw Data Source A
Open Data Source X
Open Data Source Y
Open Data Source Z
Raw Data Source B
Data Refining, Processing,
Reformatting,Indexing...
How-To Documentationabout the usage;
Including SDK/API andData format usage, examples
![Page 5: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/5.jpg)
Agenda: Tuotetaan data saataville1. Tunnistetaan kiinnostava
raakadata
2. Tunnistetaan jalostus ja indeksointitarve
3. Resursoidaan (ihmis + laskentaresurssein) raakadatasta => datalähteitä
4. Resursoidaan datalähteiden tallennus
5. Resursoidaan datalähteiden palvelu ulospäin käyttäjille
6. Resursoidaan ”Miten käytät?” dokumentointi ja ylläpidetään se ajantasaisena
Raw Data Source A
Open Data Source X
Open Data Source Y
Open Data Source Z
Raw Data Source B
Data Refining, Processing,
Reformatting,Indexing...
How-To Documentationabout the usage;
Including SDK/API andData format usage, examples
![Page 6: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/6.jpg)
Sovelluskehittäjän rooliMitäs ne oikeastaan tarvitsevatkaan?
![Page 7: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/7.jpg)
Appsin kehitys: Koko tekeminen (vapaa järjestys)
Häkkäilystä => ajavaan appsiin/palveluun - konseptiin
1. Tunnistetaan käytettävät/tarvittavat datalähteet
2. Nykytapa/oma tapa: selvitetään (oman) teknologiapinon mahdollisuudet/rajoitteet
3. ”Opiskellaan” datalähteen käyttö omasta perspektiivistä (eli kohdat 1 & 2 kullekin lähteelle; SDK/API; formaatit)
4. Datan yhdistely: Indeksoidaan oman tarpeen mukaan – datan imuroidaan osittain omaan tietokantaan
5. Toteutetaan näkyvä ”Appsi”; web/mobiiliappsi – tai ylipäätään jotain näkyvää
Konseptista => loppukäyttäjän appsiksi
1. Yhdistetään avoin data käyttäjän yksityiseen dataan 1. esim. suosikit/kirjanmerkit
2. ... tai erittäin yksityiseen dataan: kalenteri, sijainti...
2. Tuotantoon?: Siistimistä häkkäyksestä tuotantotason appsiksi
3. Uudelleenkäyttö?: Laitetaan rakenteen talteen/pidetään GitHubissa itselle ja/tai yhteisölle
Open Data Source A
Open Data Source B
ApplicationCombined/Refined
Data
ApplicationUser Specific
Data
Web App Mobile App
Application Business Logic &Back-End Server
![Page 8: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/8.jpg)
Appsin kehitys: Koko tekeminen (vapaa järjestys)
Häkkäilystä => ajavaan appsiin/palveluun - konseptiin
1. Tunnistetaan käytettävät/tarvittavat datalähteet
2. Nykytapa/oma tapa: selvitetään (oman) teknologiapinon mahdollisuudet/rajoitteet
3. ”Opiskellaan” datalähteen käyttö omasta perspektiivistä (eli kohdat 1 & 2 kullekin lähteelle; SDK/API; formaatit)
4. Datan yhdistely: Indeksoidaan oman tarpeen mukaan – datan imuroidaan osittain omaan tietokantaan
5. Toteutetaan näkyvä ”Appsi”; web/mobiiliappsi – tai ylipäätään jotain näkyvää
Konseptista => loppukäyttäjän appsiksi
1. Yhdistetään avoin data käyttäjän yksityiseen dataan 1. esim. suosikit/kirjanmerkit
2. ... tai erittäin yksityiseen dataan: kalenteri, sijainti...
2. Tuotantoon?: Siistimistä häkkäyksestä tuotantotason appsiksi
3. Uudelleenkäyttö?: Laitetaan rakenteen talteen/pidetään GitHubissa itselle ja/tai yhteisölle
Open Data Source A
Open Data Source B
ApplicationCombined/Refined
Data
ApplicationUser Specific
Data
Web App Mobile App
Application Business Logic &Back-End Server
![Page 9: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/9.jpg)
Sovelluskehitys, operointi, liiketoimintaSovelluskehityksen arvo koko ketjun osana, operoinnin ja liiketoiminnan mahdollistamana...
![Page 10: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/10.jpg)
Appsit omissa siiloissaan, operointia ei käytännössä ole...
Raw Data Source A
Open Data Source X
Open Data Source Y
Open Data Source Z
Raw Data Source B
Data Refining, Processing,
Reformatting,Indexing...
Raw Data Source A
Open Data Source X
Open Data Source Y
Open Data Source Z
Raw Data Source B
Data Refining, Processing,
Reformatting,Indexing...
Raw Data Source A
Open Data Source X
Open Data Source Y
Open Data Source Z
Raw Data Source B
Data Refining, Processing,
Reformatting,Indexing...
Raw Data Source A
Open Data Source X
Open Data Source Y
Open Data Source Z
Raw Data Source B
Data Refining, Processing,
Reformatting,Indexing...
Open Data Source A
Open Data Source B
ApplicationCombined/Refined
Data
ApplicationUser Specific
Data
Web App Mobile App
Application Business Logic &Back-End Server
Open Data Source A
Open Data Source B
ApplicationCombined/Refined
Data
ApplicationUser Specific
Data
Web App Mobile App
Application Business Logic &Back-End Server
Open Data Source A
Open Data Source B
ApplicationCombined/Refined
Data
ApplicationUser Specific
Data
Web App Mobile App
Application Business Logic &Back-End Server
![Page 11: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/11.jpg)
Sovellustason yhdistettävät rakenteet
Datalähteiden käyttö
• Tiedostetaan, että kaikki pyrkivät tekemään samanlaista
• Kaikki joko tekevät samaa, tai pyrkivät siihen
• Yhteisön luontainen perusta
Yksityisen datan käyttötarve
• Vaatii hallittua (auditoitua) arkkitehtuuria
• Ei ole tiedostettu, että ongelma on yhteinen
• Kaikkien pitäisi tehdä samaa
Open Data Source A
Open Data Source B
ApplicationCombined/Refined
Data
ApplicationUser Specific
Data
Web App Mobile App
Application Business Logic &Back-End Server
Combination ofSource A & Source B
ApplicationCombined/Refined
Data
ApplicationUser Specific
Data
Web App Mobile App
Application Business Logic &Back-End Server
![Page 12: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/12.jpg)
Hyödyt: Yksittäiselle kehittäjälle
• Yhteisö-yhtenäiset rajapintarakenteet datalähteestä riippumatta
• Raakadatan jalostus on myös kehittäjien tekemää
• Resursointisäästö, kun yhteisö voi jakaa jalostustuotokset lähteinä
• Yhtenäistetty, läpinäkyvä ja luotettava yksityisen tiedon käsittely
Raw Data Source(s)
Open Data Source(s)
Data Refining, Processing,
Reformatting,Indexing...
How-To Documentationabout the usage;
Including SDK/API andData format usage, examples
ApplicationPublic, Structured
Open Data
ApplicationUser SpecificPrivate Data
Application Business Logic &Back-End Server
Web App Mobile App
![Page 13: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/13.jpg)
Sovelluskehitys ja operointi tukevat toisiaan => liiketoimintaa!
Raw Data Source(s)
Open Data Source(s)
Data Refining, Processing,
Reformatting,Indexing...
ApplicationStructuredOpen Data
ApplicationUser SpecificPrivate Data
Application Business Logic &Back-End Servers
Web App sMobile App s
Raw Data Source(s)
Raw Data Source(s)
Raw Data Source(s)
Raw Data Source(s)
Raw Data Source(s)
Open Data Source(s)
Open Data Source(s)
Open Data Source(s)
ApplicationStructuredOpen Data
ApplicationStructuredOpen Data
ApplicationStructuredOpen Data
ApplicationUser SpecificPrivate Data
ApplicationUser SpecificPrivate Data
ApplicationUser SpecificPrivate Data
The End User
![Page 14: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/14.jpg)
(Pilvi-)infra & kustannusRaakoja numeroita ja fyysisen maailman realismia...
![Page 15: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/15.jpg)
Tallennuksen & siirron kustannus – Microsoft Azuren listahinnoista
• Prosessointi: 0,056€/tunti (1,7 GB muistilla)• 42€/kk
• Storage / per TB / kk• Blob storage:
• 19 €/TB (Locally redundant) , 37 €/TB (GEO)
• File share: • 62 €/TB (Locally redundant), 78 €/TB (GEO)
• Transfer (datacenteristä ulos)• 93 €/TB• Sisään 0€, sisäinen liikenne 0€
![Page 16: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/16.jpg)
Skenaarioissa tarkoittaa Azuressa...
• 1 TB datan tallentaminen eli avaaminen = 444€/vuosi• 10 GB datan avaaminen = 4,3€/vuosi• Pilvi-storageen, joka skaalautuu 60MB/s PER-OBJEKTI• Yhteisö pääsee kiinni (myös) suoraan raakadataan
• Datan ”push” tarjoilu eteenpäin (laskennassa 20MB/s per siirtoon osallistuva CPU)• Samassa konesalissa 0,82€/TB• Konesalin ulkopuolelle 93,82€/TB
![Page 17: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/17.jpg)
Azure vs. ”Oma konesali”
• ”Omasta konesalista”• Teratavun palvelu 10 Gbit kaistaa pitkin = 1024 sekuntia = 17min• Kannattaako laskea ”per teratavu” skaalassa..?• ... Ja levyjärjestelmänkin pitäisi kyetä 1GB/s vauhtiin...
• 10 kilotavun JSON-siirto, 10k käyttäjälle = 100MB• Aikayksikkö? Datahaussa 10 kt on aika pientä appsin ajon aikana...• 20 KB, 50k käyttäjää = 10x = 1GB• Piikeissä ”per sekuntiskaala” jos käyttö yhtaikaista, esim. TV-shown
promoappsi...
• Millaisten tahojen liiketoimintaa eri mittakaavat ovat?• Sovelluskehittäjät ovat jo siellä pilvessä, ominkin luottokortein...
![Page 18: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/18.jpg)
Pilvi-pilvi infran reality-check
• Motiivi appsitason hallintaan tulee myös mobiilista
• LTE lupaukset 50Mbps per käyttäjä• ... Tukiaseman maksimi on mittakaavaa 150Mbps
• Tukiasemien väliset etäisyydet lasketaan kilometreissä
• Jos halutaan palvella enemmän, kuin ”3” käyttäjää...
• Sovellusten arkkitehtuurin liityttävä infraan• Operointi, laskutus kaistan/datan käytön mukaan...
![Page 19: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/19.jpg)
Datajalostamo -realismiaMicrosoft Azure, CloudStreet, Pallo... + palveluiden rakentajat
![Page 20: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/20.jpg)
Kalle Launiala / ProtonITThe Ball – The Information Ecosystem
... Eli kehittäjä-BIO, ne kriittiset rattaat koko hommassa...
![Page 21: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/21.jpg)
Mikroyritys-yhteistyön-pohja:Kalle Launiala BIO
• 1995- TKK/Tietotekniikka
• 1998- mukaan osakkaaksi Nolics Oy:hyn• Monialustakehitystä Win32/C++, OpenGL, Access,
Progress-tietokannat, Linux-yhteensopivuutta
• 2002-2005 Nolics.net ORM tuotteistus• Oma rooli paketin hiominen, kehittäjäesimerkit, usean
tietokannan tuki• Deep-rapid-dive .NET:iin alusta alkaen
• Epäilevä suhtautuminen ”välikoneisiin” alussa• ”Eikä tämä toimi edes Linuxilla”
![Page 22: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/22.jpg)
Mikroyritys-yhteistyön-pohja:Kalle Launiala BIO
• 2005- ProtonIT Oy• Microsoftin viimeisimmät välineet, Gold-kumppaniksi• Mm. edelläkävijänä Suomessa .NET 3.0 (WPF) • Oman mikroyrityksen tuotteistusta• Nokian Visual Studio / Symbian työkaluissa mukana
• 2009-2012 Tietokarhu/VERO sovellusarkkitehti• Oma kehittäjätehostustaso jalkautettuna normitiimiin• ADM (abstraction design methodology) syntyi 2010
• 2010-2013 Citrus Solutions Oy & ProtonIT yhteistyö• ADM:n jalostamista liiketoiminnaksi• Pallo-alustan toteutus kevät 2012 – elokuu 2012
![Page 23: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/23.jpg)
Pallon launcheja 2013-2014-
• 2013 TechDays – julkinen developer launch• HelloWorld, arkkitehdeille kohdennettuna
• 2013 syksy – italialaisen yliopiston gradu Pallosta
• Pilotointi koulujen kanssa ja yrityskentässä• CMS/julkaisu-alustana
• Jatkokehitystä Aalto-yliopiston kanssa
![Page 24: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/24.jpg)
ADM & Pallo ovat siis - avoimia
• ADM pohjateknologiana, täysin avoin menetelmä• Pohjautuu XML:ään ja Visual Studion koodigenerointiin
• Avoimen lähdekoodin versio olemassa
• Pallo = ADM + semanttiset kirjastot ja hallinta• Pallo on looginen alusta, täysin avoin
• Pallosta on toteutus Azureen
• WP, Android, Raspberry-Pi clientit
• Kaikki avointa koodia...
![Page 25: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/25.jpg)
Liiketoiminta-malli?”Konsultointi & koulutus” – ekosysteemikumppanien mahdollistaminen
Palloa ei voi omistaa, sitä voi vain hyödyntää – ja se tuottaa arvoa!
![Page 26: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/26.jpg)
What to do next?There is something already happening...
![Page 27: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/27.jpg)
”The Ball”Open Platform
• Designed for YOU OWN YOUR DATA• Enables information ecosystem
• Up and running with pilots• Businesses
• Schools
• Universities
• Developers / Hackers
• Open Source, for ANY use• Built in co-operation and open
collaboration• Anyone can run an instance
• In the cloud on Windows Azure• Massive scalability for whole
community-infrastructure
![Page 28: Datajalostamo-seminaari 5.6.2014: Sovelluskehittäjät ja data – kehittäjäyhteisön mahdollistaminen / Kalle Launiala, ProtonIT](https://reader034.fdocuments.net/reader034/viewer/2022052505/5563a966d8b42a79028b45a8/html5/thumbnails/28.jpg)
Identify YOUR role... And JOIN the community !