vincit teatime 2015.2 - aleksi häkli: saasiin pa(i)nostusta

16

Upload: vincitoy

Post on 12-Feb-2017

499 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Vincit Teatime 2015.2 - Aleksi Häkli: SaaSiin pa(i)nostusta
Page 2: Vincit Teatime 2015.2 - Aleksi Häkli: SaaSiin pa(i)nostusta

SaaSiin pa(i)nostustaTeatime 2015

Page 3: Vincit Teatime 2015.2 - Aleksi Häkli: SaaSiin pa(i)nostusta

• Aiheena Software-as-a-Servicen yleiset hyödyt• Puhujana Aleksi Häkli, TTY, melkein-DI• Empiiristä kokemusta modernista (F)OSSista, web-

proggiksista ja palveluista• HTML5-projektit, CDN-palvelut• RESTful APIt, SOAlike servicet ym. Intternet-APIt• Palveluplättisten pystytys, ylläpito, paketointi• AWS-infrastruktuuri, WebScale™

Puhujasta ja aiheesta

Page 4: Vincit Teatime 2015.2 - Aleksi Häkli: SaaSiin pa(i)nostusta

• SaaS tarjoaa yleensä softapalveluja platformeina• Versiohallinta, buildit, testaus, jatkuvat palvelut, ...• GitHub vs. git, Travis vs. Jenkins, EBS vs. Apache

• Nopeuttaa setuppeja ja säästää aikaa sekä rahaa• Setuppaustyön deduplikointi• Helppous kehittäjille vs. sysadmin-taitovaatimukset• Hyvä käytettävyys selaimilla vs. SSH-avaimet ja CLI• Melko järkevät (HTTP) APIt ja kirjastot niiden käyttöön

Mitä ja miksi SaaS on?

Page 5: Vincit Teatime 2015.2 - Aleksi Häkli: SaaSiin pa(i)nostusta

Tyypillisiä ratkaisuja softatarpeisiin

• Git / SVN / Mercurial versiohallintaan• Tarvitsee usein erilliset palvelimet ja ylläpidon

• Jenkins / OBS buildipalveluita varten• Tarvitsee usein kymmeniä tunteja setuppausta ja paljon rautaa

• Apache / nginx boxit deploymentteja varten• Konffaus ja ylläpito työlästä mutatoituvissa setupeissa

• Selenium GRID E2E-testausta varten• Vaatii säännöllisiä vierailuja rautakauppaan

Page 6: Vincit Teatime 2015.2 - Aleksi Häkli: SaaSiin pa(i)nostusta

SaaS-vaihtoehtoja elämää helpottamaan

• GitHub versiohallintaan, katselmointeihin, projektin dokumentaatioon

• Travis buildeja ja yksikkötestejä varten• AWS ja Elastic Beanstalk palvelinympäristö(i)ksi• OpBeat monitorointiin ja virheentarkkailuun• Saucelabs integraatio- ja E2E-testaukseen• Vaihtoehtoja on paljon; osa loistavia, osa huonoja

Page 7: Vincit Teatime 2015.2 - Aleksi Häkli: SaaSiin pa(i)nostusta

GitHub - parempi kuin pelkkä Git?

• GitHub tarjoaa julkisia git-repoja web-käyttöliittymillä ja lisäpalveluilla• Pull requestit code reviewejä varten• Markdown-dokumentaatiot repositoryissa selattavina• Wikit projektidokumentaatiota varten• $projekti.github.io-sivut projektiesittelyjä varten• Monia integraatioita SaaS-palveluihin, paljon valmiita

git-hook-taikoja, hyvä dokumentaatio jne.

Page 8: Vincit Teatime 2015.2 - Aleksi Häkli: SaaSiin pa(i)nostusta

• Tarjoaa Helpon™ käyttöliittymän ja konffiformaatin stereotyyppisiin softabuildeihin

• Tarjoaa builder imageja erilaisille techeille• Node, Python, Java, C++, Ruby, ...

• Tarjoaa myös erilaisia deployment-vaihtoehtoja• Virallisesti tuettuina n. 30 deployment provideria• Epävirallisesti tuettuina vielä useampia

Travis - helpompia testejä ja buildeja

Page 9: Vincit Teatime 2015.2 - Aleksi Häkli: SaaSiin pa(i)nostusta

Travis - esimerkki yksikkötestien ajamisesta

Page 10: Vincit Teatime 2015.2 - Aleksi Häkli: SaaSiin pa(i)nostusta

• Hostausta servicenä erilaisille web-applikaatioille• NodeJS, Python, Java, Ruby, …• Apache / nginx valmiina virtuaalikoneissa• Konffataan polut ja env, saadaan takaisin URL• Tuettuna suoraan myös Amazon RDS, eli mm.

PostgreSQL, MySQL, Oracle, database-as-a-service• Helppo kytkeä Elasticachea, SESiä ym. AWS-infraa

Elastic Beanstalk

Page 11: Vincit Teatime 2015.2 - Aleksi Häkli: SaaSiin pa(i)nostusta

Elastic Beanstalk - esimerkki Travis deplasta

Page 12: Vincit Teatime 2015.2 - Aleksi Häkli: SaaSiin pa(i)nostusta

Oikeat hyödyt *aaSista

• Ei kertasitoutumista raudan ja softalisenssien ostoon - maksut usein pienissä erissä (tunti/kk)

• Aikaa ja miehiä* vapautuu ohjelmiston konffauksesta, ylläpidosta ja opiskelusta

• Keskittyminen tuotte(id)en tekoon ja myyntiin• Lähes kaikki lähteet väittävät SaaS-ratkaisujen

tuovan “competitive & price advantagea” (siistii)

* myös naisia vapautuu, mutta ikävä kyllä vain n. 3 kertaa harvemmin (lähde)

Page 13: Vincit Teatime 2015.2 - Aleksi Häkli: SaaSiin pa(i)nostusta

Oikeat haitat *aaSista

• Alustojen valinta on vaikeaa ja vaatii kokemusta• Alustat tykkäävät joskus naittaa devaajat itseensä• Devaajat eivät opi teknologioitaan niin syvällisesti• Joskus SaaS-alustoilla tai verkoilla downtimejä• Pitkäkestoisissa, raskaissa projekteissa hinnat

voivat olla suurempia kuin omassa ympäristössä• Luottokorttilaskujen perkaus ja kirjanpito

Page 14: Vincit Teatime 2015.2 - Aleksi Häkli: SaaSiin pa(i)nostusta

Milloin käyttää *aaSia?

• Projektin koko (aluksi) pieni (esim. < 100k€)• Ei 100% tarkkoja tuotantoympäristöjen speksejä• Halutaan helpottaa ylläpitoa ja ACL:ää projektissa• Halutaan koodi toimitukseen nopeammin

• CI / CD / E2E / user testing pipeline nopeutuu• Halutaan joustavaa kasvuvaraa ilman omiin

palvelimiin / saleihin / keskuksiin sitoutumista

Page 15: Vincit Teatime 2015.2 - Aleksi Häkli: SaaSiin pa(i)nostusta

Kysymyksiä?

Page 16: Vincit Teatime 2015.2 - Aleksi Häkli: SaaSiin pa(i)nostusta

KIITOS