ݺߣ

ݺߣShare a Scribd company logo
Vincit Teatime 2015.2 - Aleksi Häkli: SaaSiin pa(i)nostusta
SaaSiin pa(i)nostusta
Teatime 2015
• 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
• 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?
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
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
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.
• 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
Travis - esimerkki yksikkötestien ajamisesta
• 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
Elastic Beanstalk - esimerkki Travis deplasta
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)
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
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
⳾ä?
KIITOS

More Related Content

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

  • 3. • 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
  • 4. • 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?
  • 5. 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
  • 6. 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
  • 7. 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.
  • 8. • 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
  • 9. Travis - esimerkki yksikkötestien ajamisesta
  • 10. • 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
  • 11. Elastic Beanstalk - esimerkki Travis deplasta
  • 12. 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)
  • 13. 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
  • 14. 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