SlideShare a Scribd company logo
1 of 16
Download to read offline
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
Kysymyksiä?
KIITOS

More Related Content

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

Uusi MIF -kiertue. Kai Lehtonen: IT –infrastruktuurin uudistaminen IaaS –pilv...
Uusi MIF -kiertue. Kai Lehtonen: IT –infrastruktuurin uudistaminen IaaS –pilv...Uusi MIF -kiertue. Kai Lehtonen: IT –infrastruktuurin uudistaminen IaaS –pilv...
Uusi MIF -kiertue. Kai Lehtonen: IT –infrastruktuurin uudistaminen IaaS –pilv...Management Institute of Finland MIF
 
Talent Base: Mitä on Big Data - teknologianäkökulma Big Datan hallintaan
Talent Base: Mitä on Big Data - teknologianäkökulma Big Datan hallintaanTalent Base: Mitä on Big Data - teknologianäkökulma Big Datan hallintaan
Talent Base: Mitä on Big Data - teknologianäkökulma Big Datan hallintaanLoihde Advisory
 
AgileJKL Meetup 2016 - Antti Vartiainen
AgileJKL Meetup 2016 - Antti VartiainenAgileJKL Meetup 2016 - Antti Vartiainen
AgileJKL Meetup 2016 - Antti VartiainenDigia Plc
 
Sovellusmodernisoinnin webinaarisarja, osa 2: liiketoimintasovelluksen modern...
Sovellusmodernisoinnin webinaarisarja, osa 2: liiketoimintasovelluksen modern...Sovellusmodernisoinnin webinaarisarja, osa 2: liiketoimintasovelluksen modern...
Sovellusmodernisoinnin webinaarisarja, osa 2: liiketoimintasovelluksen modern...Karl Ots
 
WOA: Web APIt
WOA: Web APItWOA: Web APIt
WOA: Web APItExove
 
Dev ops atlassianway-final-2017-10
Dev ops atlassianway-final-2017-10Dev ops atlassianway-final-2017-10
Dev ops atlassianway-final-2017-10Ambientia
 
Sharepoint 2010 ylläpitäjät Webinaari
Sharepoint 2010 ylläpitäjät WebinaariSharepoint 2010 ylläpitäjät Webinaari
Sharepoint 2010 ylläpitäjät WebinaariSalcom Group
 
Palvelujen ohjelmointi
Palvelujen ohjelmointiPalvelujen ohjelmointi
Palvelujen ohjelmointiSovelto
 
Store App -kehityksen aloittaminen
Store App -kehityksen aloittaminenStore App -kehityksen aloittaminen
Store App -kehityksen aloittaminenSovelto
 
Vincit Teatime 2015 - Niko Kurtti: Case Shopify: SaaS:n testaaminen, mihin un...
Vincit Teatime 2015 - Niko Kurtti: Case Shopify: SaaS:n testaaminen, mihin un...Vincit Teatime 2015 - Niko Kurtti: Case Shopify: SaaS:n testaaminen, mihin un...
Vincit Teatime 2015 - Niko Kurtti: Case Shopify: SaaS:n testaaminen, mihin un...VincitOy
 
API Design: 7 kuolemansyntiä
API Design: 7 kuolemansyntiäAPI Design: 7 kuolemansyntiä
API Design: 7 kuolemansyntiäArto Santala
 
Legacy systeemin uusiminen
Legacy systeemin uusiminenLegacy systeemin uusiminen
Legacy systeemin uusiminenVesa Keskinen
 
KLehtomaa_HAMK_loppuseminaari_31.10.2013
KLehtomaa_HAMK_loppuseminaari_31.10.2013KLehtomaa_HAMK_loppuseminaari_31.10.2013
KLehtomaa_HAMK_loppuseminaari_31.10.2013Kari Lehtomaa
 
Big Data -esitys, Arcada ammattikorkeakoulu
Big Data -esitys, Arcada ammattikorkeakouluBig Data -esitys, Arcada ammattikorkeakoulu
Big Data -esitys, Arcada ammattikorkeakouluImmo Salo
 
Knowit helping CIOs in Quality - Kari Kakkonen
Knowit helping CIOs in Quality - Kari KakkonenKnowit helping CIOs in Quality - Kari Kakkonen
Knowit helping CIOs in Quality - Kari KakkonenKari Kakkonen
 
Knowit tietohallintojohtajan apuna - Kari Kakkonen - Knowit Oy
Knowit tietohallintojohtajan apuna - Kari Kakkonen - Knowit OyKnowit tietohallintojohtajan apuna - Kari Kakkonen - Knowit Oy
Knowit tietohallintojohtajan apuna - Kari Kakkonen - Knowit OyKnowit Oy
 
Oulu clojure-meetup-20181113
Oulu clojure-meetup-20181113Oulu clojure-meetup-20181113
Oulu clojure-meetup-20181113Tatu Tarvainen
 
Sovelto Channel -esittely
Sovelto Channel -esittelySovelto Channel -esittely
Sovelto Channel -esittelySovelto
 
Solita /dev/cloud kickstart
Solita /dev/cloud kickstartSolita /dev/cloud kickstart
Solita /dev/cloud kickstartArto Santala
 
Pragmatic Agile - Aamiaistilaisuus
Pragmatic Agile - AamiaistilaisuusPragmatic Agile - Aamiaistilaisuus
Pragmatic Agile - AamiaistilaisuusNitor
 

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

Uusi MIF -kiertue. Kai Lehtonen: IT –infrastruktuurin uudistaminen IaaS –pilv...
Uusi MIF -kiertue. Kai Lehtonen: IT –infrastruktuurin uudistaminen IaaS –pilv...Uusi MIF -kiertue. Kai Lehtonen: IT –infrastruktuurin uudistaminen IaaS –pilv...
Uusi MIF -kiertue. Kai Lehtonen: IT –infrastruktuurin uudistaminen IaaS –pilv...
 
Talent Base: Mitä on Big Data - teknologianäkökulma Big Datan hallintaan
Talent Base: Mitä on Big Data - teknologianäkökulma Big Datan hallintaanTalent Base: Mitä on Big Data - teknologianäkökulma Big Datan hallintaan
Talent Base: Mitä on Big Data - teknologianäkökulma Big Datan hallintaan
 
AgileJKL Meetup 2016 - Antti Vartiainen
AgileJKL Meetup 2016 - Antti VartiainenAgileJKL Meetup 2016 - Antti Vartiainen
AgileJKL Meetup 2016 - Antti Vartiainen
 
Sovellusmodernisoinnin webinaarisarja, osa 2: liiketoimintasovelluksen modern...
Sovellusmodernisoinnin webinaarisarja, osa 2: liiketoimintasovelluksen modern...Sovellusmodernisoinnin webinaarisarja, osa 2: liiketoimintasovelluksen modern...
Sovellusmodernisoinnin webinaarisarja, osa 2: liiketoimintasovelluksen modern...
 
WOA: Web APIt
WOA: Web APItWOA: Web APIt
WOA: Web APIt
 
Dev ops atlassianway-final-2017-10
Dev ops atlassianway-final-2017-10Dev ops atlassianway-final-2017-10
Dev ops atlassianway-final-2017-10
 
Sharepoint 2010 ylläpitäjät Webinaari
Sharepoint 2010 ylläpitäjät WebinaariSharepoint 2010 ylläpitäjät Webinaari
Sharepoint 2010 ylläpitäjät Webinaari
 
Palvelujen ohjelmointi
Palvelujen ohjelmointiPalvelujen ohjelmointi
Palvelujen ohjelmointi
 
Store App -kehityksen aloittaminen
Store App -kehityksen aloittaminenStore App -kehityksen aloittaminen
Store App -kehityksen aloittaminen
 
Vincit Teatime 2015 - Niko Kurtti: Case Shopify: SaaS:n testaaminen, mihin un...
Vincit Teatime 2015 - Niko Kurtti: Case Shopify: SaaS:n testaaminen, mihin un...Vincit Teatime 2015 - Niko Kurtti: Case Shopify: SaaS:n testaaminen, mihin un...
Vincit Teatime 2015 - Niko Kurtti: Case Shopify: SaaS:n testaaminen, mihin un...
 
API Design: 7 kuolemansyntiä
API Design: 7 kuolemansyntiäAPI Design: 7 kuolemansyntiä
API Design: 7 kuolemansyntiä
 
Legacy systeemin uusiminen
Legacy systeemin uusiminenLegacy systeemin uusiminen
Legacy systeemin uusiminen
 
KLehtomaa_HAMK_loppuseminaari_31.10.2013
KLehtomaa_HAMK_loppuseminaari_31.10.2013KLehtomaa_HAMK_loppuseminaari_31.10.2013
KLehtomaa_HAMK_loppuseminaari_31.10.2013
 
Big Data -esitys, Arcada ammattikorkeakoulu
Big Data -esitys, Arcada ammattikorkeakouluBig Data -esitys, Arcada ammattikorkeakoulu
Big Data -esitys, Arcada ammattikorkeakoulu
 
Knowit helping CIOs in Quality - Kari Kakkonen
Knowit helping CIOs in Quality - Kari KakkonenKnowit helping CIOs in Quality - Kari Kakkonen
Knowit helping CIOs in Quality - Kari Kakkonen
 
Knowit tietohallintojohtajan apuna - Kari Kakkonen - Knowit Oy
Knowit tietohallintojohtajan apuna - Kari Kakkonen - Knowit OyKnowit tietohallintojohtajan apuna - Kari Kakkonen - Knowit Oy
Knowit tietohallintojohtajan apuna - Kari Kakkonen - Knowit Oy
 
Oulu clojure-meetup-20181113
Oulu clojure-meetup-20181113Oulu clojure-meetup-20181113
Oulu clojure-meetup-20181113
 
Sovelto Channel -esittely
Sovelto Channel -esittelySovelto Channel -esittely
Sovelto Channel -esittely
 
Solita /dev/cloud kickstart
Solita /dev/cloud kickstartSolita /dev/cloud kickstart
Solita /dev/cloud kickstart
 
Pragmatic Agile - Aamiaistilaisuus
Pragmatic Agile - AamiaistilaisuusPragmatic Agile - Aamiaistilaisuus
Pragmatic Agile - Aamiaistilaisuus
 

More from VincitOy

Vincit Teatime 2015.2 - Niko Kurtti: SaaSiin pa(i)nostusta
Vincit Teatime 2015.2 - Niko Kurtti: SaaSiin pa(i)nostustaVincit Teatime 2015.2 - Niko Kurtti: SaaSiin pa(i)nostusta
Vincit Teatime 2015.2 - Niko Kurtti: SaaSiin pa(i)nostustaVincitOy
 
Vincit Teatime 2015.2 - Otto Kekäläinen: Don't be a git
Vincit Teatime 2015.2 - Otto Kekäläinen: Don't be a gitVincit Teatime 2015.2 - Otto Kekäläinen: Don't be a git
Vincit Teatime 2015.2 - Otto Kekäläinen: Don't be a gitVincitOy
 
Vincit ankkasarjakuva
Vincit ankkasarjakuvaVincit ankkasarjakuva
Vincit ankkasarjakuvaVincitOy
 
Tampere goes agile 2015
Tampere goes agile 2015Tampere goes agile 2015
Tampere goes agile 2015VincitOy
 
Digijytky kunnossapidossa 2015 - Simsotec
Digijytky kunnossapidossa 2015 - SimsotecDigijytky kunnossapidossa 2015 - Simsotec
Digijytky kunnossapidossa 2015 - SimsotecVincitOy
 
Digijytky kunnossapidossa 2015 - Oliotalo
Digijytky kunnossapidossa 2015 - OliotaloDigijytky kunnossapidossa 2015 - Oliotalo
Digijytky kunnossapidossa 2015 - OliotaloVincitOy
 
Itseohjautuvan organisaation muutos
Itseohjautuvan organisaation muutosItseohjautuvan organisaation muutos
Itseohjautuvan organisaation muutosVincitOy
 
Vincit markkinointi AMKE VIMMA 2.6.2015
Vincit markkinointi AMKE VIMMA 2.6.2015Vincit markkinointi AMKE VIMMA 2.6.2015
Vincit markkinointi AMKE VIMMA 2.6.2015VincitOy
 
Vincit Teatime 2015 - Case Käyttöauto: Google Glass
Vincit Teatime 2015 - Case Käyttöauto: Google GlassVincit Teatime 2015 - Case Käyttöauto: Google Glass
Vincit Teatime 2015 - Case Käyttöauto: Google GlassVincitOy
 
Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...
Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...
Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...VincitOy
 
Implementation of an intelligent car wash service - Vincit Teatime 2013
Implementation of an intelligent car wash service - Vincit Teatime 2013Implementation of an intelligent car wash service - Vincit Teatime 2013
Implementation of an intelligent car wash service - Vincit Teatime 2013VincitOy
 
Projektipäivät 2014: V-Käyrä & Apgar
Projektipäivät 2014: V-Käyrä & ApgarProjektipäivät 2014: V-Käyrä & Apgar
Projektipäivät 2014: V-Käyrä & ApgarVincitOy
 
Vincit V-Käyrä
Vincit V-KäyräVincit V-Käyrä
Vincit V-KäyräVincitOy
 
Need more speed! Pain of mobile app development. Case: Virittäjät
Need more speed! Pain of mobile app development. Case: VirittäjätNeed more speed! Pain of mobile app development. Case: Virittäjät
Need more speed! Pain of mobile app development. Case: VirittäjätVincitOy
 
Trello projektinhallinnan työkaluna
Trello projektinhallinnan työkalunaTrello projektinhallinnan työkaluna
Trello projektinhallinnan työkalunaVincitOy
 
Avaus - Vincit Teatime 2014
Avaus - Vincit Teatime 2014Avaus - Vincit Teatime 2014
Avaus - Vincit Teatime 2014VincitOy
 
Kannattaako graafikko pitää leivässä? - Vincit Teatime 2014
Kannattaako graafikko pitää leivässä? - Vincit Teatime 2014Kannattaako graafikko pitää leivässä? - Vincit Teatime 2014
Kannattaako graafikko pitää leivässä? - Vincit Teatime 2014VincitOy
 
Node.js – mikä ja miksi - Vincit Teatime 2014
Node.js – mikä ja miksi - Vincit Teatime 2014Node.js – mikä ja miksi - Vincit Teatime 2014
Node.js – mikä ja miksi - Vincit Teatime 2014VincitOy
 
Sekaisin mobiilista - Vincit Teatime 2014
Sekaisin mobiilista - Vincit Teatime 2014Sekaisin mobiilista - Vincit Teatime 2014
Sekaisin mobiilista - Vincit Teatime 2014VincitOy
 
Tampere Goes Agile 2013 - Managing a Clean Codebase
Tampere Goes Agile 2013 - Managing a Clean CodebaseTampere Goes Agile 2013 - Managing a Clean Codebase
Tampere Goes Agile 2013 - Managing a Clean CodebaseVincitOy
 

More from VincitOy (20)

Vincit Teatime 2015.2 - Niko Kurtti: SaaSiin pa(i)nostusta
Vincit Teatime 2015.2 - Niko Kurtti: SaaSiin pa(i)nostustaVincit Teatime 2015.2 - Niko Kurtti: SaaSiin pa(i)nostusta
Vincit Teatime 2015.2 - Niko Kurtti: SaaSiin pa(i)nostusta
 
Vincit Teatime 2015.2 - Otto Kekäläinen: Don't be a git
Vincit Teatime 2015.2 - Otto Kekäläinen: Don't be a gitVincit Teatime 2015.2 - Otto Kekäläinen: Don't be a git
Vincit Teatime 2015.2 - Otto Kekäläinen: Don't be a git
 
Vincit ankkasarjakuva
Vincit ankkasarjakuvaVincit ankkasarjakuva
Vincit ankkasarjakuva
 
Tampere goes agile 2015
Tampere goes agile 2015Tampere goes agile 2015
Tampere goes agile 2015
 
Digijytky kunnossapidossa 2015 - Simsotec
Digijytky kunnossapidossa 2015 - SimsotecDigijytky kunnossapidossa 2015 - Simsotec
Digijytky kunnossapidossa 2015 - Simsotec
 
Digijytky kunnossapidossa 2015 - Oliotalo
Digijytky kunnossapidossa 2015 - OliotaloDigijytky kunnossapidossa 2015 - Oliotalo
Digijytky kunnossapidossa 2015 - Oliotalo
 
Itseohjautuvan organisaation muutos
Itseohjautuvan organisaation muutosItseohjautuvan organisaation muutos
Itseohjautuvan organisaation muutos
 
Vincit markkinointi AMKE VIMMA 2.6.2015
Vincit markkinointi AMKE VIMMA 2.6.2015Vincit markkinointi AMKE VIMMA 2.6.2015
Vincit markkinointi AMKE VIMMA 2.6.2015
 
Vincit Teatime 2015 - Case Käyttöauto: Google Glass
Vincit Teatime 2015 - Case Käyttöauto: Google GlassVincit Teatime 2015 - Case Käyttöauto: Google Glass
Vincit Teatime 2015 - Case Käyttöauto: Google Glass
 
Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...
Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...
Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...
 
Implementation of an intelligent car wash service - Vincit Teatime 2013
Implementation of an intelligent car wash service - Vincit Teatime 2013Implementation of an intelligent car wash service - Vincit Teatime 2013
Implementation of an intelligent car wash service - Vincit Teatime 2013
 
Projektipäivät 2014: V-Käyrä & Apgar
Projektipäivät 2014: V-Käyrä & ApgarProjektipäivät 2014: V-Käyrä & Apgar
Projektipäivät 2014: V-Käyrä & Apgar
 
Vincit V-Käyrä
Vincit V-KäyräVincit V-Käyrä
Vincit V-Käyrä
 
Need more speed! Pain of mobile app development. Case: Virittäjät
Need more speed! Pain of mobile app development. Case: VirittäjätNeed more speed! Pain of mobile app development. Case: Virittäjät
Need more speed! Pain of mobile app development. Case: Virittäjät
 
Trello projektinhallinnan työkaluna
Trello projektinhallinnan työkalunaTrello projektinhallinnan työkaluna
Trello projektinhallinnan työkaluna
 
Avaus - Vincit Teatime 2014
Avaus - Vincit Teatime 2014Avaus - Vincit Teatime 2014
Avaus - Vincit Teatime 2014
 
Kannattaako graafikko pitää leivässä? - Vincit Teatime 2014
Kannattaako graafikko pitää leivässä? - Vincit Teatime 2014Kannattaako graafikko pitää leivässä? - Vincit Teatime 2014
Kannattaako graafikko pitää leivässä? - Vincit Teatime 2014
 
Node.js – mikä ja miksi - Vincit Teatime 2014
Node.js – mikä ja miksi - Vincit Teatime 2014Node.js – mikä ja miksi - Vincit Teatime 2014
Node.js – mikä ja miksi - Vincit Teatime 2014
 
Sekaisin mobiilista - Vincit Teatime 2014
Sekaisin mobiilista - Vincit Teatime 2014Sekaisin mobiilista - Vincit Teatime 2014
Sekaisin mobiilista - Vincit Teatime 2014
 
Tampere Goes Agile 2013 - Managing a Clean Codebase
Tampere Goes Agile 2013 - Managing a Clean CodebaseTampere Goes Agile 2013 - Managing a Clean Codebase
Tampere Goes Agile 2013 - Managing a Clean Codebase
 

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

  • 1.
  • 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