<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:g-custom="http://base.google.com/cns/1.0" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
  <channel>
    <title>Blogi</title>
    <link>https://www.webscale.fi</link>
    <description />
    <atom:link href="https://www.webscale.fi/feed/rss2" type="application/rss+xml" rel="self" />
    <item>
      <title>Asiakas edellä – Teemu Peräkylä osaksi Webscalea</title>
      <link>https://www.webscale.fi/blogi/asiakas-edella-teemu-perakyla-osaksi-webscalea</link>
      <description>Webscale sai marraskuussa 2025 vahvistusta tiiminsä, kun Teemu Peräkylä aloitti Sales Executive roolissa. Tutustu Teemuun ja lue hänen kokemuksistaan ensimmäisiltä kuukausilta Webscalella.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Rekrytointiprosessi vakuutti
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Webscale herätti Teemun kiinnostuksen jo rekrytointivaiheessa erityisesti osaavan organisaation ja sujuvien keskustelujen ansiosta. Prosessin aikana syntyi selkeä kuva tekemisestä ja siitä, millaiseen tiimiin hän olisi tulossa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Ensimmäiset kuukauden Webscalella ovat vastanneet odotuksia ja jopa ylittäneet ne. Teemun mukaan erityisen positiivista on ollut se, että rekrytointivaiheessa käydyt keskustelut ovat pitäneet paikkansa myös arjessa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Sovitut asiat näkyvät konkreettisesti tekemisessä, eikä kyse ole ollut vain rekrytointivaiheen aikana luodusta illuusiosta. Vastaanotto on ollut lämmin, ja omaa osaamista sekä näkemyksiä on ollut helppo tuoda esille heti alusta alkaen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Asiakkaan ymmärtäminen keskiössä
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Teemun työssä korostuu ennen kaikkea asiakkaan ymmärtäminen sekä yhteistyö. Hän ei näe rooliaan ainoastaan uusien asiakkuuksien avaamisena, vaan ennen kaikkea lisäarvon tuottamisena ja asiakkaiden auttamisena eteenpäin sekä asiakassuhteiden kehittämisenä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Käytännössä tämä tarkoittaa pilvipalveluiden ja asiantuntijatyön yhdistämistä asiakkaan tarpeisiin sopivaksi kokonaisuudeksi. Tavoitteena on tarjota ratkaisuja, jotka ovat sekä tietoturvallisia että aidosti liiketoimintaa tukevia.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Teemun mukaan keskeistä on asiakkaan tilanteen ymmärtäminen ja siihen oikean ratkaisun löytäminen. Häntä motivoi erityisesti se, että työssä näkee oman tekemisen vaikutuksen – se, kun ratkaisut toimivat käytännössä ja auttavat asiakasta kehittämään omaa toimintaansa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Lupaukset näkyvät käytännössä
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Ensimmäisten kuukausien aikana yksi asia on noussut erityisen vahvasti esiin: asiakaspalaute.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Teemun mukaan on poikkeuksellista, miten vahvasti asiakkaiden tyytyväisyys näkyy arjessa. Webscale toimii niin kuin lupaa, ja se heijastuu suoraan asiakaskokemukseen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Myös sisäinen tekeminen saa kiitosta. Webscalen keskustelukulttuuri on avoin, ja eri rooleissa työskentelevien asiantuntijoiden kanssa on helppo sparrata. Luottamus näkyy arjessa ja työnantaja tukee työssä onnistumisessa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Hyvä fiilis ja toimiva arki
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Työn vastapainoksi Teemu viettää aktiivista arkea liikunnan ja harrastusten parissa. Judosta on muodostunut tärkeä laji, jossa hän toimii juniorivalmentajana sekä treenaa myös itse aktiivisesti. Vuoden 2026 tavoitteena on sinisen vyön saavuttaminen. Arkea tasapainottavat perheen kanssa vietetty aika, ja Teemun voi löytää myös veneilemästä, maastopyöräilemästä ja talvisin harrastejääkiekkoilemasta. Lisäksi Teemu toimii aktiivisesti Loviisan kunnallispolitiikassa ja oman asuinalueensa kyläyhdistyksen puheenjohtajana.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Ensimmäisistä kuukausista Webscalella Teemulle on jäänyt ennen kaikkea hyvä kokonaisfiilis. Työvälineet ja puitteet ovat kunnossa niin toimistolla kuin etänäkin, mutta erityisesti yhteishenki on tehnyt vaikutuksen: tekemisessä on sopivaa rentoutta, avoimuutta ja halua kehittää asioita yhdessä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tervetuloa tiimiin!
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           On ollut mahtava saada Teemu osaksi työyhteisöämme. Yhteistyö Teemun  kanssa on sujuvaa ja mutkatonta, ja hän tarttuu asioihin oma-aloitteisesti hyvällä asenteella. Teemun kanssa on helppo tehdä töitä, ja hän on päässyt hyvin mukaan porukkaan heti alusta alkaen.
            &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           On hienoa saada lisää kokemusta ja hyvää fiilistä meidän porukkaan!
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-41-ffd14486.jpg" length="99106" type="image/jpeg" />
      <pubDate>Wed, 22 Apr 2026 06:32:22 GMT</pubDate>
      <guid>https://www.webscale.fi/blogi/asiakas-edella-teemu-perakyla-osaksi-webscalea</guid>
      <g-custom:tags type="string">Uutiset,Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-41-ffd14486.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-41-ffd14486.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Hyperscaler vai eurooppalainen pilvipalvelu?</title>
      <link>https://www.webscale.fi/blogi/hyperscaler-vai-eurooppalainen-pilvipalvelu</link>
      <description>Pilvipalveluiden valinta ei ole pelkkä tekninen tai kustannuksiin perustuva päätös. Digitaalinen suvereniteetti korostuu, kun organisaatiot pohtivat datan sijaintia ja hallintaa. Tekstissä vertailemme hyperscalereita ja eurooppalaisia pilvipalveluita sekä sitä, miksi paras ratkaisu löytyy usein näiden yhdistelmästä.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Pilvipalveluiden markkina on viimeisen vuosikymmenen aikana keskittynyt vahvasti muutamien suurten toimijoiden käsiin. Amazon Web Services (AWS), Microsoft Azure ja Google Cloud Platform (GCP) eli niin sanotut hyperscalerit, hallitsevat globaalisti merkittävää osaa pilvi-infrastruktuurista.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Samaan aikaan markkinoilla on myös useita pienempiä ja erikoistuneita toimijoita, jotka keskittyvät paikallisen markkinan tarpeisiin omalla infrastruktuurilla. Tällaisia toimijoita ovat esimerkiksi suomalainen
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           UpCloud
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ja ranskalainen
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Scaleway
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
           , jotka tuovat markkinaan vaihtoehdon erityisesti eurooppalaisille yrityksille.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mutta miten nämä vaihtoehdot oikeastaan eroavat toisistaan?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Hyperscalerien vahvuudet
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Hyperscalerit tarjoavat yrityksille useita merkittäviä etuja. Näihin lukeutuu pilvi-infrastruktuurin skaalautuvuus, nopeus, kustannustehokkuus sekä korkea käytettävyys. Suuren mittakaavan ratkaisujen etuja ovat lisäksi teknologian nopea kehitys mm. tekoälyyn (AI) ja dataan liittyvissä työkaluissa sekä prosesseissa. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Suurten pilvipalveluiden vahvuus on myös niiden globaali infrastruktuuri. Datakeskuksia on useilla mantereilla, mikä mahdollistaa palveluiden tarjoamisen lähellä loppukäyttäjiä. Hyperscalereilla on laajat ekosysteemit, joiden ympärille on syntynyt valtava määrä integraatioita, kumppaneita ja työkaluja. Moni ohjelmisto ja SaaS-palvelu rakennetaan suoraan näiden alustojen päälle.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Eurooppalaisen pilven merkitys
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Euroopassa keskustellaan yhä enemmän digitaalisesta suvereniteetista. Tällä tarkoitetaan sitä, että yritykset ja julkiset organisaatiot haluavat säilyttää paremman datan ja infrastruktuurin hallinnan. Viimeaikaisten geopoliittisten riskien takia eurooppalaisten palveluiden suosio on ollut kasvussa. Paikalliset pilvipalveluntarjoajat korostavat markkinoinnissa usein suvereniteettia, tietoturvaa ja GDPR-säädösten noudattamista.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Hyperscalerit ovat vastanneet tarpeeseen ottamalla entistä paremmin huomioon suvereniteettitarpeita ja tuomalla läpinäkyvyyttä toimintaansa. Monet niistä tarjoavat eurooppalaisia datakeskuksia sekä erilaisia compliance-ratkaisuja. Silti eurooppalaiset palveluntarjoajat voivat joissakin tilanteissa tarjota selkeämmän juridisen toimintaympäristön, datan hallinnan Euroopan sisällä sekä vaihtoehdon markkinoiden keskittymiselle muutamille suurille toimijoille.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Eurooppalaisia vaihtoehtoja
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           UpCloud
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            UpCloud on riippumaton ja johtava eurooppalainen pilvipalveluntarjoaja, joka on perustettu Suomessa vuonna 2011 ja toimii globaalisti neljällä mantereella. Yritys on panostanut tallennusteknologiaan ja tarjoaa niin sanottua MaxIOPS-tallennusta, joka on suunniteltu korkeaan suorituskykyyn.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Suuriin pilviympäristöihin verrattuna, UpCloudin vahvuutena on selkeä infrastruktuurimalli ja yksinkertaisempi hinnoittelu. Lisäksi eurooppalainen tausta voi olla monille organisaatioille tärkeä tekijä datanhallinnan näkökulmasta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Upcloudilla on yli 10 000 asiakasta eri toimialoilta, kuten julkiselta sektorilta, terveysalalta että finananssialalta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Scaleway
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Ranskalainen Scaleway on yksi Euroopan tunnetuimmista pilvipalveluntarjoajista ja sen palveluvalikoima on varsin laaja. Scaleway tarjoaa esimerkiksi hallittuja Kubernetes-ratkaisuja, object storagea, serverless-palveluita sekä GPU-infrastruktuuria tekoälysovelluksiin. Monipuoliset palvelut yhdistettynä eurooppalaisten lakien ja asetusten alla toimimiseen, tekee siitä vahvan vaihtoehdon globaaleille hyperscalereille.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Scalewaylla on yli 38 000 asiakasta monilta eri toimialoilta, ulottuen startupeista aina suuriin korporaatioihin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mikä on soveltuvin vaihtoehto?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Käytännössä valinta riippuu usein käyttötapauksesta. Hyperscaler sopii hyvin tilanteisiin, joissa tarvitaan erittäin laajaa palveluvalikoimaa, rakennetaan globaalia palvelua tai hyödynnetään paljon valmiita platform-palveluita.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Eurooppalaisen pilvipalvelun vahvuudet nousevat esille, kun infrastruktuuri halutaan pitää yksinkertaisena, kustannusten ennakoitavuus on tärkeää tai datan hallintaan liittyvät sääntelykysymykset korostuvat.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Pilvimarkkina ei ole enää yksiselitteinen. Monessa organisaatiossa ratkaisu ei ole joko tai. Yhä useammin käytetään monipilvistrategiaa, jossa eri pilviä hyödynnetään niiden vahvuuksien mukaan. Jokaisen yrityksen on tehtävä myös oma riskiarvio, miten esim. geopoliittiset riskit ja kilpailukyvyn ylläpitäminen suhteutuvat heidän nykyiseen sekä tulevaan toimintaympäristöön.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Lopulta pilvipalvelun valinnassa tärkeintä ei ole se, mikä palvelu on suurin, vaan se mikä sopii parhaiten omaan käyttötarkoitukseen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Webscale toimii AWS:n, Microsoft Azuren, Google Cloudin sekä eurooppalaisten pilvipalveluiden, kuten UpCloudin ja Scalewayn, kumppanina. Laaja kumppaniverkosto mahdollistaa sen, että lähestymme pilveä aina riippumattomasti asiakkaan näkökulmasta. Autamme valitsemaan, yhdistämään ja hyödyntämään eri pilvipalveluita niin, että ratkaisu tukee liiketoimintaa, kustannustehokkuutta ja tulevaisuuden tarpeita.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Teemu+Perakyla.jpg" alt="Teemu Peräkylä"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Teemu Peräkylä
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Sales Executive, Cloud Services
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Hyperscaler+vai+eurooppalainen+pilvipalvelu-.jpg" length="252261" type="image/jpeg" />
      <pubDate>Wed, 08 Apr 2026 08:44:13 GMT</pubDate>
      <guid>https://www.webscale.fi/blogi/hyperscaler-vai-eurooppalainen-pilvipalvelu</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Hyperscaler+vai+eurooppalainen+pilvipalvelu-.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Hyperscaler+vai+eurooppalainen+pilvipalvelu-.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>AWS European Sovereign Cloud</title>
      <link>https://www.webscale.fi/blogi/aws-european-sovereign-cloud</link>
      <description>AWS European Sovereign Cloud (EUSC) on nyt saatavilla ensimmäisellä regionilla. EUSC on erillinen kokonaisuus AWS:n tavallisesta commercial-pilvestä. Se on rakennettu tilanteisiin, joissa eurooppalainen regioni ei enää riitä, vaan vaatimukset koskevat myös palvelun operointia ja käyttöoikeuksia.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS European Sovereign Cloud (EUSC) on nyt saatavilla ensimmäisellä regionilla Brandenburgissa, Saksassa (eusc-de-east-1). EUSC on erillinen kokonaisuus AWS:n tavallisesta commercial-pilvestä. Se on rakennettu tilanteisiin, joissa pelkkä eurooppalaisen regionin käyttö ei enää riitä, vaan vaatimukset koskevat myös sitä, miten palvelua operoidaan ja kenellä on siihen pääsy. EUSC:ssä asiakasdata, mukaan lukien metadata, varmuuskopiot ja lokitiedot, säilytetään ja käsitellään Euroopassa. AWS mainitsee kuitenkin, että sisäisen järjestelmän metriikoita voidaan joissain tapauksissa lähettää Euroopan ulkopuolelle.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           European Sovereign Cloud on suunniteltu niin, että mitään kriittisiä riippuvuuksia ei ole Euroopan alueiden ulkopuolella. AWS:n mukaan EUSC pysyy toiminnassa myös tilanteessa, jossa transatlanttiset yhteydet katkeavat. Tämä korostaa sitä, että kyse ei ole pelkästään datan sijainnista, vaan myös palvelun jatkuvuudesta ja operointimallista äärimmäisissä poikkeustilanteissa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           EUSC:n tavoitteena on, että palvelua kehittävät ja operoivat yksinomaan EU-kansalaiset EU-alueella. Tämä koskee koko ketjua johdosta operointiin ja tukihenkilöstöön. Myös pääsy fyysiseen infrastruktuuriin ja loogisiin järjestelmiin on rajattu EUSC:n henkilöstölle, eikä AWS:n EU:n ulkopuolella työskentelevillä työntekijöillä ole niihin pääsyä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Palvelut ja käyttökokemus AWS European Sovereign Cloudissa
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Käyttökokemuksen kannalta AWS European Sovereign Cloud pyrkii olemaan mahdollisimman tuttu AWS:n käyttäjille. Perusajatus on sama: useita regioneita, joissa jokaisessa on useampi saatavuusalue (availability zone) sekä laaja valikoima palveluita. Ainakaan tätä kirjoittaessa European Sovereign Cloudin eusc-de-east-1 -regionissa ei ole vielä kaikkia samoja palveluita käytössä kuin muissa Euroopan regioneissa, mutta AWS tuo palveluita lisää ajan myötä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Koska EUSC on erillinen cloud partition, sitä varten täytyy luoda erilliset AWS-tilit. Identiteetin hallinta ja laskutus ovat myös erillään AWS:n tavallisesta commercial-pilvestä. Käytännössä resursseihin ei voi tehdä suoria viittauksia pilviosioiden välillä, joten esimerkiksi EUSC:n IAM-roolille ei voi myöntää oikeuksia yrityksen nykyisessä AWS-ympäristössä olevaan S3-säiliöön.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           European Sovereign Cloud vaihtoehtoa kannattaa arvioida silloin, kun organisaatiolla on tiukkoja dataan liittyviä vaatimuksia. Tällaisia tilanteita löytyy usein julkiselta sektorilta, kriittisen infrastruktuurin palveluista sekä vahvasti säännellyistä ympäristöistä, joissa hankinta- ja auditointivaatimukset eivät jousta. Monille organisaatioille tavalliset AWS:n regionit ja hyvällä arkkitehtuurilla toteutettu tietoturva ovat kuitenkin edelleen täysin perusteltu valinta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           CLOUD Act ja AWS European Sovereign Cloud
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Paperilla tämä kuulostaa hyvältä: tuttu AWS-ekosysteemi, mutta tiukemmat dataan liittyvät vaatimukset, jotka ovat tärkeitä osalle organisaatioista. Kriittiset äänet kuitenkin huomauttavat, että AWS on edelleen yhdysvaltalainen yritys, ja Yhdysvaltojen lainsäädäntö, kuten CLOUD Act, voi edelleen vaikuttaa EUSC:hen. CLOUD Act antaa Yhdysvaltojen viranomaisille valtuudet vaatia pilvipalveluntarjoajia luovuttamaan dataa riippumatta siitä, missä data fyysisesti sijaitsee. Jos yritys tai emoyhtiö on yhdysvaltalainen, se voi olla alttiina Yhdysvaltojen lainsäädännölle, vaikka data olisi tallennettu EUSC:hen. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           AWS on ilmaissut, että se aikoo noudattaa EU:n tietosuojalainsäädäntöä ja tarjota asiakkailleen turvallisen tavan säilyttää dataa Euroopan alueella. AWS on viestinyt myös, että se aikoo haastaa mahdolliset Yhdysvaltojen viranomaisten vaatimukset oikeudessa, mikäli ne ovat ristiriidassa EU:n tietosuojalainsäädännön kanssa. Käytännössä jää kuitenkin epäselväksi, miten tämä toimii todellisissa tilanteissa ja mitä hyötyä siitä lopulta on, varsinkin jos geopoliittiset jännitteet kasvavat ja päätöksiä joudutaan tekemään nopealla aikataululla. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Lopulta mikään yksittäinen pilvipalvelu ei poista organisaation omaa vastuuta arvioida dataan, lainsäädäntöön ja jatkuvuuteen liittyviä riskejä kokonaisuutena. Erilaisiin riskeihin varautuminen lisää usein kustannuksia, ja jokaisen organisaation on itse punnittava, millainen riskitaso on hyväksyttävä suhteessa liiketoiminnan tarpeisiin ja kilpailukykyyn. Täydellinen irtautuminen yhdysvaltalaisista pilvipalveluista voi joissain tapauksissa kasvattaa kustannuksia ja hidastaa palveluiden kehitystä, minkä vuoksi ratkaisuja on usein perusteltua tarkastella monipilvi- ja hybridipilvimallien kautta osana laajempaa riskien- ja jatkuvuudenhallinnan kokonaisuutta.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-22-a4f1a194-16c2aa0f.jpg" alt="Heikka Ma"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Heikki Ma
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Cloud Consultant, CloudOps Lead
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-9+%281%29.jpg" length="44839" type="image/jpeg" />
      <pubDate>Thu, 29 Jan 2026 07:24:53 GMT</pubDate>
      <guid>https://www.webscale.fi/blogi/aws-european-sovereign-cloud</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-9+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-9+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>AWS Lambda durable functions</title>
      <link>https://www.webscale.fi/blogi/aws-lambda-durable-functions</link>
      <description>AWS julkaisi joulukuussa 2025 uuden Lambda durable functions -ominaisuuden. Tämä tuo Lambdaan pitkäkestoisen ja monivaiheisen suoritusmallin, jossa työ voidaan pilkkoa hallittaviin osiin ja suorittaa jopa vuoden ajan.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS julkaisi joulukuussa 2025 Lambdaan uuden ominaisuuden nimeltä Lambda durable functions. Se tuo Lambdaan pitkäkestoisen ja monivaiheisen suoritusmallin, jossa työ voidaan pilkkoa hallittaviin osiin ja suorittaa jopa vuoden ajan. Tämä on merkittävä muutos, koska Lambda on perinteisesti ollut parhaimmillaan lyhyissä, nopeasti loppuun asti ajettavissa tehtävissä. Durable functions laajentaa Lambdan käyttötapauksia kohti pidempiä työnkulkuja, integraatioprosesseja ja monivaiheisia automaatioita.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Monessa järjestelmässä Lambda ei yleensä ole vain “yksi kutsu ja vastaus”-tyypinen funktio. Usein joudutaan rakentamaan logiikkaketju, jossa ensin haetaan dataa, validoidaan tilaa, kutsutaan ulkoisia palveluja, tehdään muutoksia, odotetaan jonkin muun prosessin valmistumista ja jatketaan vasta myöhemmin. Tällaisissa toteutuksissa on perinteisesti ollut kaksi tyypillistä ratkaisua: joko rakennetaan oma tilanhallinta käsin (esimerkiksi DynamoDB:n ja retry-logiikan avulla), tai otetaan käyttöön AWS Step Functions. Durable Functions tarjoaa tähän väliin luontevan vaihtoehdon: se mahdollistaa monivaiheisen logiikan toteuttamisen suoraan Lambda-funktiossa ilman erillistä orkestrointikerrosta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Durable functions perustuu mekanismiin, jossa suoritus jaetaan useisiin työvaiheisiin (step). Kun työvaihe valmistuu, sen tulos tallennetaan checkpoint-tyyppisesti talteen. Jos suoritus keskeytyy tai myöhemmässä työvaiheessa tapahtuu virhe, funktio voidaan käynnistää uudelleen “replay”-mallilla. Tällöin aiempia onnistuneita työvaiheita ei ajeta uudelleen, vaan palautetaan aiemmin tallennettu tulos ja suoritus jatkuu kohdasta ennen virhettä. Käytännössä tämä vähentää turhaa uudelleen ajoa ja tekee suorituksesta kustannustehokkaampaa erityisesti silloin, kun alun työvaiheet ovat hitaita tai sisältävät kalliita integraatiokutsuja.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Durable functions tuo mukanaan myös hyödyllisiä operaatioita kuten wait() ja WaitForCallback(). Näiden avulla suoritus voidaan jättää odottamaan ja jatkaa myöhemmin ilman, että Lambda jää roikkumaan ja laskuttamaan koko odotuksen ajan. Tämä on tärkeä parannus moniin käytännön skenaarioihin: välillä työnkulku joutuu odottamaan hyväksyntää, ulkoisia järjestelmiä tai jonossa etenevää prosessia. Aiemmin tällainen logiikka on usein vaatinut erillistä orkestrointia, mutta Durable Functions tuo odottamisen osaksi koodia.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Vaikka Durable Functions tekee monivaiheisen logiikan toteutuksesta helpompaa, koodia kirjoittaessa täytyy huomioida pari tärkeää asiaa: ulospäin vaikuttavat toimenpiteet ja tilanhallinta. Ulospäin vaikuttavia toimenpiteitä ovat esimerkiksi API-kutsut ja muut operaatiot, joilla on vaikutusta muihin järjestelmiin. Näitä ei kannata tehdä työvaiheiden ulkopuolella, koska replay-tilanteessa nämä koodit ajetaan uudelleen ja ulkopuolinen operaatio voi suoriutua toistamiseen, pahimmillaan seurauksena on kaksoisoperaatioita tai muuta epätoivottua käyttäytymistä. Tilanhallinnan osalta hyvä käytäntö on ottaa jokaisen työvaiheen tulos talteen muuttujaan ja viedä se eteenpäin seuraaville työvaiheille. Näin myöhempi logiikka voi hyödyntää aiemmin laskettuja arvoja turvallisesti myös replay-tilanteissa, ja koodi pysyy ennustettavana.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Checkpoint-tilan koko on vain 256 KB. Tämä on hyvä pitää mielessä, kun rakennetaan työvaiheita. Työvaiheiden tulokset kannattaa pitää kohtuullisen kokoisina. Jos työvaihe tuottaa ison datamassan, on usein parempi tallentaa se esimerkiksi S3:een ja välittää seuraaville työvaiheille vain viite, kuten objektin avain. Tällöin checkpointit pysyvät kevyenä ja työvaiheet keskittyvät tekemään yhden selkeän asian kerrallaan.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Kokonaisuutena AWS Lambda Durable Functions avaa kiinnostavan uuden tavan rakentaa workflow-tyyppistä logiikkaa. Se ei korvaa Step Functionsia kaikissa tilanteissa, mutta tarjoaa erinomaisen vaihtoehdon silloin, kun halutaan pitää kokonaisuus Lambda-funktion koodin sisällä ja samalla saada checkpointtien, retryjen ja wait-operaatioiden hyödyt. Lopputuloksena saadaan vähemmän turhaa työtä, parempi vikasietoisuus ja huomattavasti suoraviivaisempi toteuttamistapa moniin tuotannon automaatioihin ja monivaiheisiin prosesseihin. Tämä on erittäin hyödyllinen uusi työkalu, mitä en tiennyt tarvitsevani.
            &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-22-a4f1a194-16c2aa0f.jpg" alt="Heikka Ma"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Heikki Ma
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Cloud Consultant, CloudOps Lead
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/ai-generated-8988757_1920+%281%29.jpg" length="183363" type="image/jpeg" />
      <pubDate>Wed, 21 Jan 2026 07:04:59 GMT</pubDate>
      <guid>https://www.webscale.fi/blogi/aws-lambda-durable-functions</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/ai-generated-8988757_1920+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/ai-generated-8988757_1920+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>AI-agentti on-call tiimikaveriksi</title>
      <link>https://www.webscale.fi/blogi/ai-agentti</link>
      <description>AWS:n DevOps Agent on autonominen virtuaalinen on-call-tiimikaveri, joka tutkii häiriöt automaattisesti, kokoaa tilannekuvan useista järjestelmistä ja ehdottaa korjauksia keventäen SRE-tiimien kuormaa.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS julkaisi re:Invent 2025 -tapahtuman alussa uuden tuoteperheen, Frontier Agents. Ajatuksena on tuoda operatiiviseen tekemiseen autonomisia “AI-tiimikavereita”, jotka osaavat ratkoa kokonaisia ongelmia eivätkä vain yksittäisiä kysymyksiä. DevOps Agent on yksi näistä ensimmäisistä agenteista, ja se on selvästi suunnattu tuotantoympäristöjen operointiin ja operational excellenceen (OE).
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tyypillisesti business-kriittisillä sovelluksilla on SRE- ja/tai on-call-vastuu, jossa häiriötilanteessa pitää nopeasti tehdä useita asioita yhtä aikaa: paikantaa juurisyy (RCA), palauttaa palvelu käyttökuntoon, laatia korjausehdotus kehitystiimille ja pitää major-incident-management (MIM) -kanavat ajan tasalla. Pahimmassa tapauksessa aikaa kuluu jo pelkästään siihen, että ihminen kerää ja analysoi dataa eri järjestelmistä ja ylläpitää tilannekuvaa samalla kun ympäristö palaa. DevOps Agentin idea on tulla tähän väliin keventämään ihmisen kuormaa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           DevOps Agent toimii käytännössä virtuaalisena on-call-jäsenenä. Kun hälytys tulee, agentti pystyy käynnistämään tutkinnan automaattisesti tuettujen integraatioiden kautta, esimerkiksi WebSocket-triggerillä, webhookeilla tai manuaalisesti erillisestä DevOps Agent -web-sovelluksesta. Agentti lähtee autonomisesti tutkimaan hälytyksen syytä niillä työkaluilla ja oikeuksilla, jotka sille on Agent Spacessa annettu. Agentin tehtävänä on tuottaa raportti löydöksistä sekä konkreettinen korjaus-/mitigaatiosuunnitelma. Agentti tukee multi cloud- ja hybridi ympäristöjä, joten tutkinta voi hyödyntää dataa AWS:n ulkopuolisista työkaluista myös.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           DevOps Agent voidaan integroida erilaisiin telemetriapalveluihin, kuten Dynatrace, Datadog, New Relic, Splunk ja AWS CloudWatch. Lisäksi agentille voidaan sallia pääsy versiohallintaan, kuten GitHub ja GitLab, jotta se pystyy yhdistämään ongelmatilanteet viimeisimpiin koodi- ja deploy-muutoksiin. Built-in kommunikointikanavia ovat esimerkiksi Slack ja ServiceNow. Jos edellä mainitut integraatiot eivät riitä, käyttäjä voi tuoda oman työkalunsa agentille käyttöön MCP-protokollan kautta. Kaikki tämä konfiguroidaan Agent Spaceen, jossa määritellään agentille IAM-rooli, käytettävät työkalut sekä mahdollinen cross-account-pääsy eri AWS-tileihin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Vaikka agentti on autonominen, sen tarkoitus ei ole täysin korvata SRE:tä tai on-call-henkilöä. Ihmisen pitää edelleen varmistaa agentin löydökset ja tehdä itse muutokset. Agentti ei tee korjauksia tai koodimuutoksia puolestasi, vaan ehdottaa niitä. AWS suosittelee myös, että agentille annetaan read-only oikeudet eri järjestelmiin. Ajan myötä agentti oppii tuntemaan valvottavan sovelluksen ja tämän eri komponentit. Tämän tiedon avulla se kykenee antamaan ennakoivia ehdotuksia toimintavarmuuden parantamiseksi. Tuloksena on vähemmän tulipalojen sammuttelua ja enemmän järjestelmällistä luotettavuuden kehittämistä.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-22-a4f1a194-16c2aa0f.jpg" alt="Heikka Ma"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Heikki Ma
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Cloud Consultant, CloudOps Lead
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/ai-technology-microchip-background-digital-transformation-concept.jpg" length="175466" type="image/jpeg" />
      <pubDate>Mon, 08 Dec 2025 06:58:16 GMT</pubDate>
      <guid>https://www.webscale.fi/blogi/ai-agentti</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/ai-technology-microchip-background-digital-transformation-concept.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/ai-technology-microchip-background-digital-transformation-concept.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>AWS muutti Lambdan serverless-luonnetta</title>
      <link>https://www.webscale.fi/blogi/aws-muutti-lambdan-serverless-luonnetta</link>
      <description>AWS tuo uudenlaista joustavuutta palveluihin yhdistämällä serverless-mallin ja perinteisen instanssihallinnan. Uudistus hämärtää rajaa Lambdan ja EC2:n välillä, kun funktiot voidaan ajaa valituilla instanssityypeillä AWS:n edelleen hoitaessa skaalauksen ja ylläpidon.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Rehellisesti sanottuna en odottanut tällaista muutosta. Lambda on koko urani ajan ollut minulle synonyymi serverlessille: kirjoitat funktiot ja AWS hoitaa loput. Nyt AWS hämärtää tätä rajaa tuomalla Lambda Managed Instances -uudistuksen, jossa yhdistyy Lambdan serverless-kehitysmalli ja EC2-tason hallinta. Lambda funktion voi jatkossa halutessaan viedä EC2 instanssiin ajettavaksi. Käyttäjä valitsee itse, millä EC2-instanssityypeillä funktiot pyörivät, ja AWS huolehtii edelleen ylläpidosta, autoskaalauksesta ja kuormantasauksesta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Yksi näkyvimmistä vaikutuksista on cold start -tilanteiden väheneminen. Aiemmin Lambdan cold startit olivat arkipäivää etenkin harvoin kutsutuissa tai nopeasti skaalautuvissa funktioissa. Managed Instancesissa ympäristöt pysyvät lämpiminä käyttäjän määrittelemän minimikapasiteetin puitteissa, joten invokaatiot osuvat useammin valmiiseen ajo-ympäristöön ja latenssi tasoittuu.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Toinen iso muutos liittyy resurssien mitoitukseen. Klassisessa AWS-sertifikaattikokeen kysymyksessä on kysytty miten Lambdan vCPU:n määrää voidaan nostaa. Tähän vastaus on ollut, että muistia pitää lisätä jos haluaa lambdalle allokoida enemmän vCPU:ta. Tämä on johtunut siitä, että muisti ja vCPU skaalautuvat käsi kädessä. Nyt näin ei enää ole. Managed Instancesin myötä käyttäjä voi valita esimerkiksi CPU-optimoidun instanssityypin ja hallita vCPU:n ja muistin suhdetta selvästi joustavammin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Lambda on mielestäni aikaisemmin sopinut täydellisesti ympäristöön, jossa kuorman määrä on vaihtelevaa tai hyvin vähäistä. Kun kuorma on kasvanut, kustannussyistä on ollut järkevämpää siirtyä esimerkiksi ECS- tai EKS- ympäristöön. Tämän uudistuksen ansiosta käyttäjän ei välttämättä tarvitse tehdä tätä siirtoa vaikka kuorma kasvaisi. Käyttäjä voi pysyä Lambda-ympäristössä, hyödyntää EC2-tason kontrollia ja kustannusetuja. Lambda Managed Instanssiin on mahdollista hyödyntää mahdolliset EC2-alennukset kuten savings plans tai reserved instances sopimukset. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tämä uudistus muuttaa Lambdan rajoja: cold startit vähenevät ja resurssit ovat käyttäjien hallinnassa. Jos käyttäjä tykkää Lambdan käyttäjäkokemuksesta, hän voi pysyä Lambda-ympäristössä vaikka kuormat kasvavat eikä tarvitse pelätä laskun kasvavan. Tämä mahdollistaa enemmän liikkumavaraa ja joustavuutta. Tämä on iso askel eteenpäin Lambdan kehityksessä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
          AWS:n julkaisu:
          &#xD;
    &lt;a href="https://aws.amazon.com/blogs/aws/introducing-aws-lambda-managed-instances-serverless-simplicity-with-ec2-flexibility/"&gt;&#xD;
      
           Introducing AWS Lambda Managed Instances: Serverless simplicity with EC2 flexibility
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-22-a4f1a194-16c2aa0f.jpg" alt="Heikka Ma"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Heikki Ma
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Cloud Consultant, CloudOps Lead
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/scott-rodgerson-PSpf_XgOM5w-unsplash.jpg" length="187220" type="image/jpeg" />
      <pubDate>Thu, 04 Dec 2025 08:19:16 GMT</pubDate>
      <guid>https://www.webscale.fi/blogi/aws-muutti-lambdan-serverless-luonnetta</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/scott-rodgerson-PSpf_XgOM5w-unsplash.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/scott-rodgerson-PSpf_XgOM5w-unsplash.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Image build evolution in EC2</title>
      <link>https://www.webscale.fi/blogi/image-build-evolution-in-ec2</link>
      <description>Deploying software on EC2 instances nowadays feel like going backwards in time - most of the applications would be usually preferably deployed as Docker containers or serverless functions.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Deploying software on EC2 instances nowadays feel like going backwards in time - most of the applications would be usually preferably deployed as Docker containers or serverless functions. With containers and serverless we wouldn’t have to worry about the instance management but rather just on the application packaging as long as the use case fits the given limitations of the serverless platform or ECS/Kubernetes cluster.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Industrial use cases still more often than not involve running off the shelf software that has been built for physical servers running on-site. Building a cloud environment to run such software in this scenario led me recently back to using EC2 VMs.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           No snowflakes
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Setting up the environment started off experimentally, but regardless of how experimental system I am building, I’ll never again make the mistake of manually configuring snowflake virtual machines. Snowflake VMs is what you get when you configure the system manually to try out a system prototype, and due to hurry and too much work load, you fail to make the changes into version controlled code.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Downside of the snowflake VMs is that you cannot replicate them, and if you happen to lose one, you cannot rebuild it without a lot of experimenting and trying to remember which essential services are misbehaving without the configuration.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Security requirements also favor immutable infrastructure. Immutability in this case means that we never update the servers themselves. When we need to update something, the whole new machine image is created, released and pushed to production use as an immutable image that is used to launch new virtual machines. We will always exactly know how each VM version is configured because we have the image where we can check it.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Building immutable images also means that the virtual machines we run never need to have access to public internet, as they will never update themselves. They will only ever be replaced. Reality is that there will still be a break-glass SSH access to the servers, and this increases the risk of creating snowflakes in the VM fleet. To avoid this, we intend to both enforce a maximum lifetime of 30 days for the VMs as well as a best before date of 30 days after creation for the machine images. Once a snowflake VM is terminated, it will be replaced by a new VM without any of those modifications. This will at least reveal any temporary local hacks that were needed for fixing an instance.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Playbooks for configuration
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           To operate a VM fleet with immutable infrastructure properly we need to have automation for creating the images. The starting point towards enabling automation in AWS is writing the whole server configuration into an userdata script file.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           I very much prefer to avoid using bash scripts nowadays for full configuration setup, just because they are less modular and too easily become a mess of disjointed script pieces. For ages, my preferred solution for these cases has been Ansible. So in this case, I write my server configuration playbook for Ansible, copy it via S3 to new instances, and run them with the userdata bash script. This is different from how Ansible was originally used as a tool to update fleets of machines, but Ansible supports the local operation well.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Once we have a bash userdata scrip initiating Ansible playbook-based deployment, we already have a modular, version controlled Ansible playbook defining the system changes we want to be running, so we are pretty well off.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Automatic recovery
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Next thing to ensure is of course checking that the instances get properly recreated whenever a single VM dies. Whether it is tomorrow or two years from now, they will die.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Autoscaling group is the trusty AWS way of doing this, and the advantage of ASGs is that it supports the userdata scripts easily.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           In the legacy software case we usually have to also worry about the state of the system, and in this specific case even the MAC address was significant. This forces us to use a specific type of system, at least when I want to rely on autoscaling rather than have Lambda functions run more complex startup configurations.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           The system state was stored on disk, so we are mounting a persistent EBS data volume on the instance. This had to be done on startup, as ASG does not support mounting specific volumes. As there is only one Volume, I have the ASG running in “Exactly one”-configuration, meaning that the ASG will never spawn more than one instance at a time, and it will spawn exactly one instance if there are none in healthy state. The instance itself will use its own metadata to query AWS API for the correct EBS volume, and mount it on startup.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           There is also a requirement from licensing logic that the server must retain its MAC address - this is achieved by configuring the Exactly-one-ASG with a fixed network interface identifier. There is a failure condition where ASG tries to spawn a new instance immediately after the previous one is terminated, because the ENI is not released from the old one yet. I needed to ensure that the ASG will just keep retrying until it succeeds.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           One part of the automatic recovery is preparing for low probability but still likely events - in this case the most likely event is the loss of an EBS data volume. Our organization is using AWS Backup to create automatic backups of EBS Volumes, so it is enough to enable the backup by tagging the volume correctly. Now that the backups are getting created, we are good to go after documenting the recovery procedure in case of Volume failure. I chose to store the correct Volume ids in AWS Parameter Store from which the instances query the intended volume id and then attach the volume during startup.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           For backup purposes, we can also disable backing up any VMs, as they are immutable and will not have relevant changes that would have to be replicated. Only the data volume contains information worth backing up.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Reliability and speed with prebaked AMIs
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Installing the instance with userdata scripts is a reasonable solution for a first automation effort. Even if the security considerations would not require isolating the instances from public internet there are significant downsides to using that solution in a production environment directly, instead of using immutable images.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           First issue is the reliability of the build script: With the mindset that everything breaks all the time, we must assume that at some point in time the instances are in state that they cannot connect to package repositories, or other remote resources that they require for installation. Prebuilding a machine image solves this problem: The possible network failures will fail at build time and on a build instance, instead of causing a problem in end user-visible production servers.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Second issue is the time required to spin up a new server: If you start downloading updates and for example a 1GB application installation file, it will take a lot longer to get the new instance running. Assuming a moderately bad case of problems with instances, this would occur at a time where the whole redundant clusterful of instances go down at approximately same time, leading to a very long loss of service.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Starting a new instance from a prebaked AMI and only mounting an EBS volume takes about 30-120 seconds. Building a new instance from scratch on an empty OS-image takes anything from 5-20 minutes, depending on the amount of installation we wanted to build.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Third issue that may cause problems is that if you always build the instance upon starting it, you will have a cluster of unique instances which are each running the version of the OS that got installed at the startup time. When you instead build the AMI and use that AMI for all the instances, you will at least have identical base setup on all the instances.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           The simplest implementation for building the AMI was to just deploy the instance with build commands in the userdata script, and then using a local shell script to take a snapshot of that VM once it is completed. Fairly quick to do, low development effort, slightly ugly because it will be run on a developer machine or possibly a CI machine.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS tooling for building AMIs
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Running local scripts is not very suitable for a large team, and it is even less suitable for cases where the responsibility for operating this system will be handed over to an operations team at some point in the future. This is a reality that should be addressed in every project that is intended for production. Very often it gets overlooked if the schedule is tight and there is a pressure to deliver as many working features as possible.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Since our responsibility as developers is to build a clean, understandable and useful system to the people who will be maintaining it, I want to simplify running all pieces of the system into simple UIs that can be explicitly documented in the user manual.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS provides the EC2 Image Builder for this purpose. The build components are defined as YAML files, and you can define build, validate and test stages with those components. Ideally you build the AMI in a build stage, validate the recently built instance before creating the AMI and then launch a fresh instance from that AMI to run the test components on it. After this you should have a well tested image that can be deployed via the autoscaling group. Previously I would have used Terraform Packer for this use case, but Image Builder provides a decent UI in AWS console so that is my preferred choice for that reason.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           In this case we are using AWS CDK (Cloud Development Kit) to define our infrastructure as code, and there is a AWS-provided CDK library that supports the Image Builder pipeline creation.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           This lets us easily reference other resources that need to be passed into the build pipeline, such as IAM roles and network interfaces.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Once the AMI is built, the Image Builder also applies sharing and distribution settings to copy the AMI to multiple accounts and regions. This lets us build a single AMI, run functional tests on instances based off that AMI in dev and qa environments and only then deploy the new AMI to production.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Layered image creation
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           A benefit of using an AMI building pipeline is that we can also split the AMI creation between several responsibilities. The application developers should have to worry only about the working of the application, and any maintenance and security features required by corporate IT should come from corporate IT.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           In this case we must be compliant with the industry standard security practices, and one aspect of that is complying with the CIS benchmark. We can separate the concerns by creating the base AMI with CIS hardening, reporting and instrumentation, and only then using that base AMI for creating the application AMI.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           This same hardened base AMI can be used by other teams of the organization, and all application teams benefit from security improvements done on the base image.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Kuva+24.11.2025+klo+10.18.jpeg" alt="AWS Account: Image building"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Future development
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           With AMIs getting built automatically by Image Builder, using a layered approach with OS security updates being baked to the first image and application specific configuration on the second image on top of those, we are well off in terms of using infra as code to codify what gets done. The user manual can focus on just the simple tasks of triggering the build pipeline and monitoring the progress of deployments through dev-qa test stages and the deploying to production.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           There are still gaps in the automation pipeline that would speed things up and reduce the possibility of errors. Each step should publish their results into EventBridge event bus, and each dependent step should listen for relevant events that should trigger their own build or deployment step.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           One straightforward improvement to our system is to move from updating the generated AMI IDs in CDK configuration files to instead updating a SSM parameter store value with the new AMI ID and having the autoscaling group launch configurations refer to that parameter store key directly. This lets us avoid making IaC code changes when we want to do a routine update of the machine image to include latest security updates without actually touching the build configuration. To ensure that the whole instance cluster is using the same AMI, an instance refresh for the autoscaling groups needs to be triggered.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Looking back at the gradual improvement of the build pipeline, it’s easy to see that refactoring older implementations would improve the readability of the whole - for example there is still logic in bash scripts that could be done in Ansible playbooks. Essentially upgrading these components should be done at the latest when we touch those components next time: Developing the whole new abstraction layer is a large task to do, but once it has been done elsewhere in the system, it is a fairly small thing to adapt the old code to the new way of working.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Using reusable and modular solutions for the build pipeline we can also easily present these improvements to our other teams and to the development world as a whole.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Jukka+D.+%281%29.jpg" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Jukka Dahlbom
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Cloud Architect
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-5+%281%29+%282%29.jpg" length="148112" type="image/jpeg" />
      <pubDate>Mon, 24 Nov 2025 08:35:03 GMT</pubDate>
      <guid>https://www.webscale.fi/blogi/image-build-evolution-in-ec2</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-5+%281%29+%282%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-5+%281%29+%282%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Webscale Tukholmassa: Aurinkoa ja AWS-pilveä</title>
      <link>https://www.webscale.fi/blogi/webscale-aws-summit-2025</link>
      <description>Kesäkuun alussa suuntasimme aurinkoiseen Tukholmaan AWS:n järjestämään Partner Summitiin ja sitä seuranneeseen Summit -päätapahtumaan.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kesäkuun alussa suuntasimme aurinkoiseen Tukholmaan AWS:n järjestämään Partner Summitiin ja sitä seuranneeseen Summit -päätapahtumaan. Tiistain Partner Summittiin osallistuivat Miro ja Max ja keskiviikkona mukaan liittyivät Ville ja Janne. Matka yhdisti ajankohtaisia pilviteemoja, kiinnostavia kohtaamisia ja ripauksen Tukholman kesäfiilistä.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Partner Summit ja Summit -tapahtumat
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Partner Summitissa korostui, kuinka tärkeässä roolissa kumppanit ovat AWS:n strategiassa. Päivän aikana saimme kurkistuksen AWS:n suunnittelemaan European Sovereign Cloud -kokonaisuuteen, joka on kehitetty vastaamaan Euroopan turvallisuus- ja sääntelyvaatimuksia. Lisäksi AWS Marketplace nousi esiin satsauksien kohteena olevana kanavana, jonka avulla kumppanit voivat tuoda palveluitaan suoraan asiakkaiden ulottuville. Tapahtuma keräsi laajasti osallistujia Skandinaviasta ja Baltiasta. Oli kiinnostavaa kuulla, miten eri maissa ratkotaan samanlaisia haasteita ja kehitetään samansuuntaisia ratkaisuja.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Summit -päivän aikana AWS kertoi merkittävistä investoinneista muun muassa Ruotsin ja Saksan infrastruktuuriin sekä osaamisen kehittämisestä esimerkiksi re/Start-ohjelman kautta. Painotuksena oli, että pilvipalvelut eivät ole vain teknologiaa, vaan perusta kestävälle ja osallistavalle digitaaliselle kehitykselle.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Yksi päivän keskeisiä teemoja oli generatiivinen tekoäly. AWS panostaa voimakkaasti oman Bedrock-alustansa ympärille rakentuvaan GenAI-ekosysteemiin. Tämä tuo tarjolle välineitä, joiden avulla organisaatiot voivat rakentaa sekä hyödyntää tekoälyratkaisuja turvallisesti ja skaalautuvasti. Tekoäly ei ollut esillä vain teknologiana vaan myös merkittävänä liiketoimintamahdollisuutena erityisesti silloin, kun kokeiluvaiheesta siirrytään tuotantoon.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tapahtuma sai meidät pohtimaan, kuinka monella tavalla AWS-ympäristöön perehtynyt asiantuntija voi auttaa asiakkaitamme. Uusien teknologioiden hyödyntäminen vaatii usein rinnalle osaajaa, joka pystyy neuvomaan, avaamaan mahdollisuuksia ja auttamaan konkreettisessa käytäntöön viemisessä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Asiakastarinat keskiössä
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Esiin nousi myös kiinnostavia asiakastarinoita, kuten Novo Nordiskin kehittämä tutkijaportaali, joka mahdollistaa nopean ja hallitun pääsyn lääketieteelliseen dataan yliopistotutkijoille. Toinen mieleenpainuva esimerkki oli ruotsalainen start-up Lovable, joka rakentaa visuaalista ohjelmointiympäristöä käyttäjille ilman kooditaustaa. Molemmissa näkyi, kuinka laajasti AWS:n teknologiaa voidaan hyödyntää hyvin erilaisissa tarpeissa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Yksi pysäyttävimmistä puheenvuoroista kuultiin Ukrainan puolustusministeriön edustajalta. Hän kertoi, miten pilviratkaisut mahdollistivat hallinnon toimintakyvyn säilymisen sodan alkaessa. Pilvipalveluiden tuoma ketteryys ja kestävyys ovat kriisitilanteessa paljon enemmän kuin vain teknologisia etuja.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Teknologia mahdollistajana
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS:n palvelutarjonnan kulmakivi on ollut alusta lähtien tietoturva, jota tekoäly uudistaa vauhdilla. Tietoturvan puolella generatiivinen AI pääsee rooliin, kun tekoäly tuodaan AWS:n tietoturvapalveluihin mukaan. Pääsimme kuulemaan esimerkkejä, miten AWS Securityhubin tunnistamia tietoturvariskejä voidaan AI-työkalujen avulla käsitellä tuottaen automaattisia ratkaisumalleja tai tehostaa integraatioiden toimintaa uhkien käsittelyssä. Ruotsalainen Ikano-pankki esitteli heidän toimintamalliaan, jossa SecurityHubin keskitetystä tietoturvapalveluista tuotetaan integraatioiden avulla löydöksistä oleellisia tietoja asiantuntijoille.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Pilvipohjainen moderni sovellusarkkitehtuuri on monelta osin tapahtumavetoista (Event-driven) ja siksi monissa teknisissä breakout-sessioissa esiteltiin AWS:n palveluita ja näiden tuoreimpia ominaisuuksia event-driven-arkkitehtuurin saralla. Kun hyödynnetään erilaisten jono- ja tapahtumavälityspalveluiden (kuten AWS EventBridge) ominaisuuksia, pystytään tehokkaammin hallitsemaan yhä kasvavaa tapahtuma- ja tiedonvälitysmäärää.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Vihreys on vaihtunut turvaan ja hallintaan
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Aikaisemmilta vuosilta tutuista teemoista ns. vihreä IT (green IT) ei juuri näkynyt esityksissä tai messualueella. Ohi oli ajanut myös julkisen sektorin haasteisiin vastaaminen kustannusten hallinnassa ja niiden operointiin liittyvät ratkaisut. Näin AWS Summitin teemat noudattavat joissakin määrin isompia globaaleja virtauksia: Vihreys on vaihtunut turvaan ja hallintaan.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kokonaisuutena matka oli täynnä oivalluksia ja inspiraatiota. Palasimme kotiin väsyneinä mutta innostuneina ja uusia ajatuksia pursuavina. Kesän aikana ehtii varmasti jalostaa monia ideoita, joita tapahtumassa syntyi.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Max Niskanen
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ,
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Head of Sales
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Miro Nissilä,
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Sales Specialist
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Janne Lavila
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ,
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Lead Developer
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Ville Välimäki
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ,
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Cloud Architect
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/20250603_135549.jpg" length="286415" type="image/jpeg" />
      <pubDate>Wed, 18 Jun 2025 11:02:25 GMT</pubDate>
      <guid>https://www.webscale.fi/blogi/webscale-aws-summit-2025</guid>
      <g-custom:tags type="string">Teknologiat,Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/20250603_135549.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/20250603_135549.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Mitä jäi käteen Tech Days 2025 -tapahtumasta?</title>
      <link>https://www.webscale.fi/blogi/tech-days-2025</link>
      <description>Tech Days 2025 kokosi webscalerit yhteen kuvan kauniiseen Fiskarsiin. Tapahtuma tarjosi ajankohtaista asiaa tekoälystä tietoturvaan ja EU-pilvistä tietokantaohjattuun infraan – unohtamatta rentoa yhdessäoloa.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tech Days 2025 tarjosi meille paljon muutakin kuin Fiskarsin idyllistä maisemaa. Tapahtuma yhdisti ajankohtaiset esitykset, käytännön oppimista ja rennon yhdessäolon sopivassa tasapainossa. Mutta mitä tapahtumasta jäi erityisesti mieleen?
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tietokantaohjattua infraa ja EU-pilveä
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tekoälyä unohtamatta
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tietoturvaa yhdessä mallintaen
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Amazing Fiskars ja muita yhteisiä hetkiä
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Varpu.1+some.jpg" alt="Varpu Kekkonen"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Varpu Kekkonen
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           People and Organizational Development Lead
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/fiskars.jpg" length="583115" type="image/jpeg" />
      <pubDate>Thu, 12 Jun 2025 11:12:41 GMT</pubDate>
      <guid>https://www.webscale.fi/blogi/tech-days-2025</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/DSC02006+%281%29+Normaali.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/fiskars.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Viisi vinkkiä pilvikulujen hallintaan</title>
      <link>https://www.webscale.fi/blogi/pilvikulujen-hallinta</link>
      <description>Julkinen pilvi on tuonut mukanaan ennennäkemätöntä skaalautuvuutta, joustavuutta ja nopeutta, mutta pilven käyttöönoton seurauksena myös kulut saattavat karata pilviin. Julkisen pilven hyödyntäminen vaatii myös erilaista suhtautumista kuluihin, kun pääomaa ei tarvitse varata omaan laitteistoon.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Julkinen pilvi on tuonut mukanaan ennennäkemätöntä skaalautuvuutta, joustavuutta ja nopeutta, mutta pilven käyttöönoton seurauksena myös kulut saattavat karata pilviin. Julkisen pilven hyödyntäminen vaatii myös erilaista suhtautumista kuluihin, kun pääomaa ei tarvitse varata omaan laitteistoon ja sen ylläpitoon. Vaikka pilven käyttöönotto onnistuukin ilman suuria alkuinvestointeja, monimutkaisempi laskutuslogiikka saattaa kuitenkin paisuttaa kokonaiskustannuksia. Seuraavien käytännön vinkkien avulla pääset alkuun pilvikustannusten hallinnassa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           1.  Hyödynnä automaattista skaalautumista
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Yksi julkisen pilven keskeisimmistä hyödyistä on kyky skaalautua kuormituksen mukana. Oikein konfiguroidun automaattisen skaalautumisen avulla varmistut, että maksat vain käytetystä kapasiteetista. Esimerkiksi AWS Auto Scaling mahdollistaa resurssien kuten EC2 instanssien dynaamisen säädön kuorman perusteella. Automatisointi vähentää manuaalista työtä sekä pienentää riskejä ylikuormittumisesta ja ylimitoitetusta kapasiteetista.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           2. Sammuta käyttämättömät resurssit
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kehitys- ja testiympäristöt jäävät usein tarpeettomasti päälle iltaisin tai viikonloppuisin, jolloin kustannukset raksuttavat ilman liiketoiminnallisia hyötyjä. Ajastuksia ja automaatioita hyödyntämällä saat sammutettua turhat resurssit silloin, kun niitä ei käytetä. Esimerkiksi IaC -työkalujen kuten Terraformin avulla voit myös pystyttää ja purkaa ympäristöjä nopeasti tarpeen mukaan, jolloin niitä ei tarvitse pitää jatkuvasti käynnissä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           3. Sovella eri hinnoittelumalleja
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Pay-as-you-go laskutusmalli, jossa pilvestä maksetaan käytön mukaan, mahdollistaa pilvipalveluiden kokeilun matalalla kynnyksellä. Pilvialustat tarjoavat kuitenkin lukuisia joustavia hinnoitteluvaihtoehtoja ja säästöohjelmia erilaisiin käyttötarkoituksiin. Jos tietyt resurssit ovat jatkuvassa käytössä, sitoutumalla määräajaksi ja hyödyntämällä Reserved Instances hinnoittelumalleja voidaan saavuttaa jopa 70% kustannussäästöjä. Vastaavasti epäsäännöllisiin ja vähemmän kriittisiin tehtäviin kannattaa hyödyntää edullisempia spot-instansseja.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           4. Seuraa ja analysoi kustannuksia säännöllisesti
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Pilvikustannusten hallinta alkaa siitä, että ymmärrät mistä ja millaisia kustannuksia pilvestä syntyy. Kun ympäristö elää jatkuvasti ovat yllättävät lisäkustannukset väistämättömiä ilman reaaliaikaista seurantaa. Resurssien tagituksen ja luokittelumenetelmien avulla saat läpinäkyvyyttä siihen, mitkä tiimit ja sovellukset tuottavat mitäkin kuluja. Pilvialustat tarjoavat käyttöön myös omia kustannustenhallintatyökaluja, kuten AWS Cost Explorer tai Azure Cost Management, joita kannattaakin hyödyntää kustannusten seuraamisesta. Budjettien määrittäminen ja automatisoidut hälytykset auttavat tarttumaan poikkeukselliseen kulutukseen heti.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           5. Tee yhteistyötä jälleenmyyjän kanssa
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Pilvipalveluiden ostaminen on usein aloitettu helposti luottokortilla. Ympäristöjen kasvaessa ja resurssien lisääntyessä laskutus jää kuitenkin helposti myös tämän varaan. Kun pilvipalvelut hankitaan jälleenmyyjän kautta, avautuu mahdollisuus sekä parempiin ehtoihin, että suoraan kustannussäästöihin ja muihin etuihin. Laskutukseen saadaan myös selkeyttä, kun useampien tiimien tai yksiköiden kulut on mahdollista yhdistää yhteen laskuun.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Pilvikulut kuriin kumppanin avulla
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h2&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Pilvikulujen hallinta ei ole yksittäinen projekti, vaan jatkuva prosessi, joka vaatii näkyvyyttä, suunnitelmallisuutta ja oikeita työkaluja. Hyödyntämällä automaatiota, eri hinnoittelumalleja ja kumppaneita voit saada pilviympäristöstäsi irti täyden hyödyn, ilman että kustannukset karkaavat pilviin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Me Webscalella olemme erikoistuneet auttamaan asiakkaitamme pilviympäristöjen optimoinnissa sekä kustannustehokkuuden että hallittavuuden näkökulmasta. Jos pilvikulunne kaipaavat tarkempaa selvitystä, tai jos laskutus kulkee yhä luottokortin kautta,
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="/yhteystiedot"&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            ota yhteyttä, niin käydään tilanne yhdessä läpi.
           &#xD;
      &lt;/strong&gt;&#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            P.s. Pääset syventymään aiheeseen kuuntelemalla Pilvipilotit -podcast jakson
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="/podcast-kausi-2"&gt;&#xD;
      
           FinOpsista.
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/IMG_1876-e74baeb0.JPG" alt="Miro Nissilä Sales Specialist"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Miro Nissilä
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Sales Specialist
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-14+%281%29.jpg" length="161564" type="image/jpeg" />
      <pubDate>Wed, 23 Apr 2025 08:24:05 GMT</pubDate>
      <guid>https://www.webscale.fi/blogi/pilvikulujen-hallinta</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-14+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-14+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Ensituntuma SST-työkaluun</title>
      <link>https://www.webscale.fi/blogi/sst-tyokalu</link>
      <description>Pilvipulssi tuo ajankohtaiset uutiset julkipilvimarkkinoilta suoraan asiantuntijoiltamme. Tutustu SST-kehykseen, joka helpottaa full stack -sovellusten rakentamista omalle infrastruktuurille. Se tarjoaa selkeän ja abstraktoidun tavan määritellä koko sovelluksen rakenne.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Päätin tutustua SST-nimiseen työkaluun, joka herätti kiinnostukseni erityisesti sen lupausten ja modernin lähestymistavan vuoksi. Koska toimin työkseni AWS-pilviarkkitehtinä ja käytän IaC-työkaluja päivittäin, päätin kokeilla tätä ratkaisua puhtaasti mielenkiinnosta – ei siis asiakasprojektin tarpeesta, vaan halusta ymmärtää, mitä SST oikeasti tarjoaa ja missä sen vahvuudet tai rajoitteet piilevät.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mikä SST on – ja mitä uutta v3 tuo mukanaan?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           SST on kehys, joka helpottaa full stack -sovellusten rakentamista omalle infrastruktuurille. Se tarjoaa abstraktoidun tavan määritellä koko sovelluksen rakenteen – mukaan lukien sovelluksen backend, frontend, tietokannat, cron-jobit ja ulkoiset integraatiot – yhdellä TypeScript-tiedostolla (
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           sst.config.ts
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           ).
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           ​Alkujaan SST hyödynsi AWS CDK:ta ja CloudFormationia infrastruktuurin luomiseen. V3-versiossa tiimi kuitenkin päätti siirtyä käyttämään Pulumia ja Terraformin providereita. Tämä muutos tehtiin, koska CDK:n ja CloudFormationin käytössä ilmeni merkittäviä haasteita. Esimerkiksi CloudFormationin läpinäkymättömyys vaikeutti logiikan ja tilanhallinnan ymmärtämistä ja mukauttamista. Lisäksi AWS CDK pyrkii hallitsemaan omaa tilaansa CloudFormationin ohella, mikä voi johtaa ristiriitoihin ja hallinnan monimutkaistumiseen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Uusi Pulumi-pohjainen toteutus antaa SST:lle mahdollisuuden rakentaa infrastruktuuria suoraan ilman CloudFormation-kerrosta, ja samalla mahdollistaa Pulumin sekä Terraformin laajan ekosysteemin ja modulaarisuuden hyödyntämisen. Tämän koettiin parantavan kehittäjäkokemusta ja laajentavan työkalun käyttökelpoisuutta huomattavasti.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Havaintoja ja fiiliksiä työkalun kokeilun pohjalta
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           SST tekee infran luonnista yllättävän yksinkertaista. Työkalussa on paljon valmiita kokonaisuuksia perinteisen full stack -sovelluksen rakentamiseen. Esimerkiksi Next.JS -sovelluksen Lambdalla tai ECS-konteilla pystyi määrittelemään muutamalla rivillä koodia.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           SST käyttää oletusasetuksia monessa kohtaa, mikä nopeuttaa kehitystä huomattavasti. Näitä oletuksia voi säätää transform-ominaisuuden kautta, jolloin säilytetään helppous, mutta saadaan tarvittava joustavuus.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           SST tukee tällä hetkellä suoraan AWS:llä ja Cloudflarella toteutettuja sovelluksia, mutta koska taustalla toimii Pulumi, on käytettävissä yli 150 Terraform-pohjaista provideria. Näin ollen SST soveltuu myös monipalveluympäristöihin, joissa tarvitaan esimerkiksi Stripe-, Azure AD- tai Github-integraatioita.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Yksi SST:n vaikuttavimmista ominaisuuksista on Live Lambda Development. Tämä mahdollistaa Lambda-koodin ajamisen ja testaamisen paikallisesti, aivan kuin se toimisi AWS:n pilvessä. Kun sst dev on käynnissä, SST ohjaa Lambda-kutsut kehittäjän omalle koneelle, jolloin koodimuutokset näkyvät heti ilman uutta deployta. Kehityskokemus on huomattavasti ketterämpi verrattuna perinteiseen CDK:lla toteutettuun kehitykseen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Toinen yllättävän helppo asia oli bastion-instanssin luonti suljetun VPC-verkon sisään. SST hoitaa tämän yhdellä komponentilla ilman tarvetta manuaalisille EC2-konfiguraatioille tai monimutkaisille security group -asetuksille. Tämä on erityisen arvokasta, jos tarvitset tilapäistä pääsyä esimerkiksi tietokantaan staging-ympäristössä tai haluat pääsyn sisäverkkoon ilman VPN:ää.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS-komponenttien kattavuus: hyvä, mutta ei täydellinen
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           SST tarjoaa valmiita komponentteja keskeisimmille AWS-palveluille, mutta aivan kaikkea ei löydy suoraan. Yritin esimerkiksi luoda Lambda-funktion, joka olisi liitetty Load Balancerin listeneriksi, mutta tätä ei ollut suoraan mahdollista tehdä. Load Balancer näyttäisi olevan saatavilla osana toisia komponentteja, kuten ECS:ää, mutta suoraa tukea sen käytölle Lambdan kanssa ei löytynyt. Tämä on hyvä esimerkki siitä, missä kohtaa SST:n korkea abstraktiotaso voi kääntyä rajoitteeksi. Jos tarvitset tarkempaa kontrollia tai erityisiä AWS-komponentteja, joudut helposti tilanteeseen, jossa SST voi olla enemmän este kuin apu.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
      
           SST voi olla loistava työkalu silloin, kun rakennetaan nopeasti full stack -sovellusta, jossa tarvitaan frontend, backend, autentikointi ja tietokanta. Työkalu toimii erinomaisesti prototyyppien ja MVP-projektien kanssa, sekä sisäisten työkalujen rakentamisessa. Monimutkaisissa, erityisesti verkon eristämiseen, VPC-suunnitteluun ja matalan tason infrastruktuuriratkaisuihin liittyvissä tarpeissa turvautuisin edelleen muihin IaC-työkaluihin kuten Terraformiin.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Yhteenveto
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           SST tarjoaa modernin ja tehokkaan tavan rakentaa sovelluksia infrastruktuurin päälle. Sen kehittäjäystävällisyys, valmiit komponentit ja live-kehitysympäristö tekevät siitä todella kiinnostavan vaihtoehdon. SST on erityisesti suunniteltu kehittäjille, jotka haluavat nopeuttaa full stack -sovellusten kehitystä ilman, että jokainen infra kerros tarvitsee erillistä konfigurointia.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Omassa työssäni SST ei välttämättä korvaa perinteisiä IaC-työkaluja monimutkaisissa projekteissa, mutta se on ehdottomasti kokeilemisen arvoinen ja todennäköisesti tulee vielä vastaan esimerkiksi nopeissa integraatio projekteissa tai proof-of-concept-vaiheissa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-22-a4f1a194-16c2aa0f.jpg" alt="Heikka Ma"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Heikki Ma
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Cloud Consultant, CloudOps Lead
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Pilvipulssi---LinkedIn--281-29-3f60febf-5fa1a6ed.png" length="292446" type="image/png" />
      <pubDate>Thu, 17 Apr 2025 06:01:26 GMT</pubDate>
      <guid>https://www.webscale.fi/blogi/sst-tyokalu</guid>
      <g-custom:tags type="string">Pilvipulssi</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Pilvipulssi+-+Blogi+%281%29.png">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Pilvipulssi---LinkedIn--281-29-3f60febf-5fa1a6ed.png">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Vaihtoehdot Serverless Framework v4:lle</title>
      <link>https://www.webscale.fi/blogi/vaihtoehdot-serverless-framework-v4</link>
      <description>Pilvipulssi tuo ajankohtaiset uutiset julkipilvimarkkinoilta suoraan asiantuntijoiltamme. Serverless Framework v3 on elinkaarensa päässä ja organisaatiot joutuvat nyt pohtimaan päivittävätkö seuraavaan versioon vai siirtävätkö softat kokonaan toiseen työkaluun.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Serverless Framework on suosittu avoimen lähdekoodin työkalu, joka helpottaa serverless-sovellusten kehittämistä ja hallintaa pilviympäristöissä, kuten AWS:ssä. Vuoden 2024 lopussa Serverless Frameworkin v3 saavutti elinkaarensa päätepisteen, eikä siihen enää julkaista virallisia päivityksiä tai tietoturvakorjauksia. Uudemmassa v4 versiossa työkalu muuttui maksulliseksi organisaatioille, joiden liikevaihto on yli 2 miljoonaa dollaria vuodessa. Tämä muutos on saanut monet yritykset pohtimaan, miten jatkaa eteenpäin olemassa olevien serverless-sovellustensa kanssa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tässä kirjoituksessa tarkastelemme kolmea vaihtoehtoa Serverless Framework v4:lle: AWS Cloud Development Kit (CDK), AWS Serverless Application Model (SAM) ja OSS-Serverless. Käymme läpi niiden ominaisuuksia, vahvuuksia ja heikkouksia sekä pohdimme, mitä yritysten tulisi ottaa huomioon tehdessään päätöstä tähän liittyen. On myös syytä huomata, että näiden vaihtoehtojen lisäksi on olemassa muita työkaluja, jotka voivat soveltua yritysten tarpeisiin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS Cloud Development Kit (CDK)
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS CDK on AWS:n tarjoama IaC-työkalu, joka mahdollistaa resurssien hallinnan ohjelmointikielillä, kuten TypeScript, Python, Java, C# ja Go. Toisin kuin deklaratiivinen lähestymistapa, CDK tarjoaa dynaamisen ja joustavan tavan määritellä infrastruktuuri koodina.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Hyödyt:
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Ohjelmointikielipohjainen lähestymistapa, joka helpottaa kehittäjien työtä, sillä infrastruktuuria voidaan hallita tutuilla ohjelmointikielillä.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Laajennettavuus – yritykset voivat rakentaa ja jakaa omia konstruktioita, mikä helpottaa standardien luomista ja hyväksi todettujen ratkaisujen uudelleen käyttöä.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            AWS:n virallinen tuki, mikä takaa pitkäaikaisen tuen ja kehityksen sekä saumattomat integraatiot AWS-ekosysteemiin.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Huomioitavaa:
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Oppimiskynnys voi olla korkea, erityisesti tiimeille, jotka ovat tottuneet deklaratiiviseen infrastruktuurin määrittelyyn.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Monimutkaisuus kasvaa suurissa projekteissa, mikä vaatii tarkempaa suunnittelua ja ylläpitoa.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS Serverless Application Model (SAM)
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS SAM on AWS:n tarjoama työkalu, joka laajentaa CloudFormationia ja mahdollistaa serverless-sovellusten määrittelyn YAML- tai JSON-muotoisilla templateilla. Se on suunniteltu yksinkertaistamaan AWS Lambda -pohjaisten sovellusten hallintaa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Hyödyt:
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Helppokäyttöinen, erityisesti kehittäjille, jotka ovat jo tottuneet CloudFormationiin.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Integroitu AWS-ekosysteemi, mikä takaa yhteensopivuuden ja jatkuvan tuen uusille ominaisuuksille
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Lokaali testausmahdollisuus, jonka avulla kehittäjät voivat testata Lambda-funktioita omalla koneellaan ennen AWS-pilveen vientiä.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Huomioitavaa:
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Rajoitettu laajennettavuus verrattuna CDK:hon, mikä rajoittaa monimutkaisempien sovellusten toteutusta.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Vähemmän joustava, sillä deklaratiivinen konfigurointi on rajoitetumpaa kuin ohjelmointikielipohjainen lähestymistapa.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           OSS-Serverless
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           OSS-Serverless (https://github.com/oss-serverless/serverless) on avoimen lähdekoodin projekti. Yhteisön ylläpitämä fork Serverless Frameworkin versiosta 3, joka pyrkii tarjoamaan saman käyttökokemuksen ja toiminnallisuuden ilman kaupallisia lisenssirajoituksia.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Hyödyt:
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Ilmainen ja avointa lähdekoodia, mikä tekee siitä kustannustehokkaan vaihtoehdon erityisesti pienille yrityksille.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Tutut työkalut ja toimintamallit, mikä helpottaa siirtymää Serverless Framework v3:sta.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Huomioitavaa:
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Epävarmuus kehityksen jatkuvuudesta, sillä yhteisöpohjaisilla projekteilla ei ole AWS:n tai muiden kaupallisten toimijoiden tarjoamaa pitkäaikaista virallista tukea.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Rajoitettu tuki, koska asiakastukea ei ole saatavilla.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Yhteenveto
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Serverless Framework v3:n tuen päättyminen pakottaa yritykset arvioimaan uusia ratkaisuja serverless-sovellustensa hallintaan. Valinta riippuu pitkälti organisaation tarpeista ja resursseista. AWS CDK tarjoaa laajennettavan ja ohjelmointikielipohjaisen lähestymistavan, mutta sen käyttöönotto voi vaatia lisäresursseja ja oppimista. AWS SAM on selkeä ja helppokäyttöinen vaihtoehto, joka integroituu syvälle AWS-ekosysteemiin, mutta sen laajennettavuus on rajallisempi. OSS-Serverless puolestaan tarjoaa tutun käyttöympäristön ilman lisenssikustannuksia, mutta sen ylläpidon jatkuvuus on epävarmaa, koska se perustuu vapaaehtoiseen yhteisöön.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Lopullinen päätös tulisi tehdä yrityksen nykyisten työkalujen, osaamisen ja tulevaisuuden tarpeiden perusteella. Perusteellinen arviointi ja pitkän aikavälin strateginen suunnittelu auttavat valitsemaan ratkaisun, joka tukee organisaation kasvua ja kehitystä parhaalla mahdollisella tavalla.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-22-a4f1a194-16c2aa0f.jpg" alt="Heikka Ma"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Heikki Ma
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Cloud Consultant, CloudOps Lead
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Pilvipulssi---LinkedIn--281-29-3f60febf-5fa1a6ed.png" length="292446" type="image/png" />
      <pubDate>Thu, 20 Mar 2025 08:48:27 GMT</pubDate>
      <guid>https://www.webscale.fi/blogi/vaihtoehdot-serverless-framework-v4</guid>
      <g-custom:tags type="string">Pilvipulssi</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Pilvipulssi+-+Blogi+%281%29.png">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Pilvipulssi---LinkedIn--281-29-3f60febf-5fa1a6ed.png">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Neljä syytä laatia pilvistrategia</title>
      <link>https://www.webscale.fi/blogi/nelja-syyta-laatia-pilvistrategia</link>
      <description>Pilvipalvelut mahdollistavat niin nopeamman innovoinnin, resurssien tehokkaamman hallinnan kuin joustavammat liiketoimintamallitkin. Jotta pilven tarjoamat liiketoimintaedut pystytään hyödyntämään, tarvitaan pilven käyttöön kuitenkin suunnitelmallisuutta ja järjestelmällisyyttä.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Pilvipalveluiden tehokas hyödyntäminen on noussut kriittiseksi menestystekijäksi kilpailluissa
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           markkinoissa. Pilvipalvelut mahdollistavat niin nopeamman innovoinnin, resurssien tehokkaamman hallinnan kuin joustavammat liiketoimintamallitkin. Jotta pilven tarjoamat liiketoimintaedut pystytään hyödyntämään, tarvitaan pilven käyttöön kuitenkin suunnitelmallisuutta ja järjestelmällisyyttä. Toisin sanoen strateginen lähestymistapa pilvipalveluiden hyödyntämiseen mahdollistaa myös liiketoiminnallisten tavoitteiden täyttymisen.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Mitä pilvistrategia on?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Pilvistrategia ei ole pelkkä teknologinen valinta, vaan se toimii suuntaviivana pilvipalveluiden
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           käytölle suhteessa liiketoiminnan tavoitteisiin. Se on kokonaisvaltainen suunnitelma
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           pilviteknologian hyödyntämiseksi kattaen niin IT-infrastruktuurin, liiketoimintaprosessit kuin
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           henkilöstön osaamisen kehittämisen. Keskeisiä kysymyksiä pilvistrategiaa laatiessa ovat, mitkä sovellukset ja työkuormat siirretään pilveen, miten riskejä hallitaan ja miten pilvipalveluita hyödynnetään kilpailukyvyn parantamiseksi.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Pilvistrategia auttaa pitämään kustannukset kurissa
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Ilman strategiaa pilvipalveluiden tarjoamat liiketoiminnalliset hyödyt tuppaavat jäämään laihoiksi. Tavoitellut kustannussäästöt eivät ole löytäneet tietään laskulle saakka tai lift-and-shitft migraation tuloksena palvelut eivät skaalaudukaan odotetusti. Pilvistrategian auttaa varmistamaan, että pilvipalveluiden käyttöönotto tukee liiketoiminnan tavoitteita ja tuo aidosti arvoa. Huolellisesti laaditun pilvistrategian seurauksena saavutetaan esimerkiksi seuraavia liiketoimintaetuja:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           1. Kustannustehokkuus
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            – Oikein optimoidut pilvipalvelut vähentävät IT-infrastruktuurin
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           kustannuksia ja mahdollistavat resurssien tehokkaamman kohdentamisen. Keskiöön
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           nousevat mm. oikeiden laskutusmallien ja palveluiden valinta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           2. Joustavuus ja skaalautuvuus
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            – Pilviratkaisut mahdollistavat nopean reagoinnin
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           liiketoimintaympäristön muutoksiin ja tukevat yrityksen kasvua ilman suuria investointeja
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           laitteistoihin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           3. Innovaatioiden nopeampi kehitys
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            – Pilviympäristö mahdollistaa uusien sovellusten ja
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           palveluiden kokeilun ja kehittämisen ketterästi. Serverless-ratkaisut ja automaattiset CI/CD putket nopeuttavat kehityssyklejä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           4. Parempi tietoturva ja hallittavuus
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            – Pilvistrategian avulla voidaan varmistaa, että
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           tietoturva ja regulaatio huomioidaan asianmukaisesti. Keskitetyt hallintatyökalut, automaattiset päivitykset ja kehittyneet uhkatunnistusjärjestelmät parantavat turvallisuutta ja vähentävät manuaalisen ylläpidon tarvetta.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Huomioi nämä pilvistrategiaa laatiessa
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Onnistunut pilvistrategia edellyttää selkeää visiota ja suunnitelmallisuutta, jotta pilvipalveluiden käyttöönotto tukee yrityksen pitkäaikaisia tavoitteita ja mahdollistaa liiketoiminnan kestävän kehityksen. Pilvipalveluiden tulee tukea yrityksen strategisia päämääriä, joten pilvistrategian hahmottelukin on hyvä aloittaa liiketoimintatavoitteiden määrittelystä. Kaikkia työkuormia ei välttämättä ole kannattavaa siirtää pilveen, joten on tärkeää tunnistaa mitkä sovellukset ja prosessit hyötyvät eniten pilveen siirtymisestä. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Myös itse pilvimalleissa on eroavaisuuksia. Pilvimallin valinta vaikuttaa suoraan yrityksen operatiiviseen tehokkuuteen ja vaatimustenmukaisuuteen. Julkinen pilvi tarjoaa kustannustehokkuutta ja skaalautuvuutta, kun taas yksityinen pilvi voi olla parempi vaihtoehto silloin, kun tietoturva ja sääntely asettavat tiukempia vaatimuksia. Hybridiratkaisu yhdistää molempien mallien edut ja mahdollistaa joustavan infrastruktuurin rakentamisen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Pilvipalveluissa toimitaan jaetun vastuun mallilla, jossa palveluntarjoaja vastaa infrastruktuurin suojaamisesta, mutta asiakas huolehtii omien sovellustensa ja datansa turvallisuudesta. Tietoturvan huomioiminen nousee siis keskiöön pilvipalveluiden käytössä. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Onnistunut pilvisiirtymä vaatii vahvaa IT-hallintaa ja osaamista. Pilvipalveluiden hallinta vaatii selkeitä toimintamalleja, koulutusta ja jatkuvaa kehittämistä, jotta palveluiden käyttö on tehokasta ja turvallista. Ilman riittävää asiantuntemusta pilven hyödyt jäävät ulottumattomiin joka näkyy usein myös hintalapussakin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Pilvistrategia auttaa hahmottamaan omat kyvykkyydet
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Parhaimmillaan pilvi tarjoaa joustavan infrastruktuurin, joka mahdollistaa nopeat kehityssyklit sekä ketterän mukautumisen markkinoiden muutoksiin. Pilvellä ei kuitenkaan ole itseisarvoa, eikä sen käyttöönotto yksinään takaa menestystä. Tarvitaankin selkeää strategiaa, joka tukee liiketoiminnan tavoitteita ja varmistaa pilvipalveluiden hallitun hyödyntämisen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Pilvistrategia helpottaa myös hahmottamaan mihin osa-alueille saatetaan kaivata ulkopuolisen kumppanin apuja. Webscale on kokenut kumppani pilvipalveluiden parissa. Autamme asiakkaitamme joustavin kaupallisin mallein pilvimatkan jokaisessa vaiheessa,
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="/yhteystiedot"&gt;&#xD;
      
           ole yhteydessä ja keskustellaan lisää!
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/IMG_1876-e74baeb0.JPG" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Miro Nissilä
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Sales Specialist
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/shutterstock_1741174292.jpg" length="229495" type="image/jpeg" />
      <pubDate>Fri, 21 Feb 2025 06:52:58 GMT</pubDate>
      <guid>https://www.webscale.fi/blogi/nelja-syyta-laatia-pilvistrategia</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/shutterstock_1741174292.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/shutterstock_1741174292.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mikä on Amazon Cognito?</title>
      <link>https://www.webscale.fi/blogi/kysy-konsultilta-mika-on-amazon-cognito</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mikä on Amazon Cognito?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Mikä on Amazon Cognito?
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Amazon Cognito on AWS:n tarjoama palvelu turvalliseen ja skaalautuvaan asiakasidentiteetin- ja pääsynhallintaan (Customer Identity and Access Management, eli CIAM). Kehittäjät voivat käyttää Cognitoa helpottamaan autentikaation, auktorisoinnin ja käyttäjähallinnan lisäämistä sovelluksiin, jolloin käyttäjät voivat esimerkiksi kirjautua sovelluksiin sekä suorittaa sallittuja toimintoja. Cogniton tärkeimmät komponentit ovat User Pool ja Identity Pool.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           User Pool on on käyttäjähakemisto, eli se pitää sisällään käyttäjien tiedot (profiilit, attribuutit ja ryhmät). Käyttäjät voidaan rekisteröidä suoraan User Pooliin, jolloin User Pool toimii itsenäisenä Identity Providerina (IdP) näille käyttäjille, eli tällöin User Pool säilyttää ja verifioi identiteetit. Toinen vaihtoehto on käyttää federointia, jolloin käyttäjät kirjautuvat sisään sovellukseen kolmannen osapuolen IdP:tä, kuten Amazonin, Facebookin, Googlen, Applen tai muun yhteensopivan (SAML tai OpenID Connect) IdP:n avulla. Tällöin User Pool toimii sovelluksen ja kolmannen osapuolen IdP:n välissä. Käyttäjän onnistuneen sisäänkirjautumisen päätteeksi User Pool palauttaa JSON web tokenit, joita käytetään haluttuun toimintoon, kuten esimerkiksi tietojen hakemiseen backend-palvelusta. Kehittäjien ei tarvitse toteuttaa käyttöliittymiä itse, sillä Cognito myös tarjoaa valmiita toteutuksia, kuten esimerkiksi rekisteröityminen ja sisäänkirjautuminen. User Poolin toiminnallisuutta voi myös mukauttaa Lambda-funktioiden avulla (Lambda triggers). User Poolissa on myös useita erilaisia ominaisuuksia, kuten esimerkiksi monivaiheinen tunnistautuminen (MFA), konfiguroitavat salasanan vaatimukset, CAPTCHA-tuki, kirjautuminen ilman salasanaa sekä tuki AWS WAF -palomuurille.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Identity Pool puolestaan mahdollistaa käyttäjille pääsyn AWS-palveluihin, kuten esimerkiksi pääsyn S3-palveluun. Identity Pool antaa käyttäjälle väliaikaiset AWS-tunnukset, joita käytetään pyyntöjen tekemiseen sallittuihin AWS-palveluihin. Käyttäjän autentikaatio voidaan tehdä käyttämällä User Poolia tai muuta IdP:tä, kuten Amazon, Facebook, Google, Apple tai muuta yhteensopivaa (SAML tai OpenID Connect) IdP:tä. Halutessaan Identity Poolin voi konfiguroida palauttamaan väliaikaiset AWS-tunnukset myös anonyymeille käyttäjille, eli käyttäjille, jotka eivät ole kirjautuneet sisään sovellukseen. Identity Pool tarvitsee IAM-roolin väliaikaisia AWS-tunnuksia varten. IAM-roolin avulla määritellään mitä oikeuksia käyttäjällä on. Autentikoituneille ja anonyymeille käyttäjille voidaan määritellä eri IAM-roolit.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Cognitoa voidaan käyttää myös muiden AWS-palveluiden kanssa, kuten esimerkiksi API Gateway ja AppSync. AppSync-palvelun (GraphQL API) kanssa Cognitoa voidaan käyttää esimerkiksi siten, että käyttäjä kirjautuu sisään sovellukseen käyttäen Cognito User Poolia ja saa sieltä JWT-tokenin. Tätä tokenia käytetään AppSync-pyynnössä, ja AppSync voidaan konfiguroida siten, että tietyt operaatiot ovat sallittuja tietylle käyttäjäryhmälle. Tieto käyttäjän mahdollisista ryhmistä tulee User Poolista ja token sisältää kyseisen tiedon. Käyttäjä saa suorittaa operaation mikäli hän kuuluu sallittuun ryhmään, ja käyttäjälle palautetaan virhe mikäli token ei sisällä vaadittua ryhmää/tietoa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Jukka.U+%281%29.jpg" alt="Markus Nousiainen"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Jukka Ukkonen
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-4+%281%29.jpg" length="255041" type="image/jpeg" />
      <pubDate>Wed, 19 Feb 2025 07:16:01 GMT</pubDate>
      <guid>https://www.webscale.fi/blogi/kysy-konsultilta-mika-on-amazon-cognito</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-4+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-4+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>CloudFormation-palvelun uusi ominaisuus: AWS CloudFormation Hooks</title>
      <link>https://www.webscale.fi/blogi/aws-cloudformation-hooks</link>
      <description>Pilvipulssi tuo ajankohtaiset uutiset julkipilvimarkkinoilta suoraan asiantuntijoiltamme. Tutustu uuteen AWS CloudFormation Hooks -ominaisuuteen, joka auttaa varmistamaan, että infrastruktuurimuutokset noudattavat ennalta määriteltyjä sääntöjä ennen käyttöönottoa.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           CloudFormation-palvelun uusi ominaisuus: AWS CloudFormation Hooks
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS CloudFormation Hooks on CloudFormation-palvelun uusi ominaisuus, jolla voidaan tarkistaa, että kaikki infrastruktuuriin tehtävät muutokset noudattavat ennalta määriteltyjä sääntöjä, esimerkiksi, että kaikki resurssit on tägätty oikein.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Hookit ovat siis eräänlaisia portteja, joiden läpi jokaisen halutun muutokset tulee kulkea ennen niiden varsinaista toimeenpanoa. Jos kaikki on kunnossa, muutos pääsee jatkamaan matkaansa ja siitä tulee osa infrastruktuuria. Jos taas jokin ei täytä vaatimuksia, CloudFormation estää muutoksen. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Hookeja on kolmea tyyppiä:
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Guard Hook
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ,
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           AWS Lambda
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ja
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Custom Hook
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
           .
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Guard Hook hyödyntää CloudFormation Guard -sääntöjä ja varmistaa, että resurssit noudattavat niitä sääntöjä. CloudFormation Guard sääntöjä voi helposti määritellä itse. 
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            AWS Lambda mahdollistaa resurssien ohjelmallisen tarkistamisen ja helpon integroinnin muihin AWS-palveluihin. Lisäksi AWS Lambdan avulla Hookeja voi käyttää muuhunkin kuin vain resurssien tarkistamiseen.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Custom Hookin avulla voidaan luoda omia, räätälöityjä sääntöjä resursseille Java- tai Python-ohjelmointikielillä. AWS Lamdalla voi kuitenkin tehdä saman helpommin, joten Custom Hookit jäänevät hiljalleen pois käytöstä.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-22-a4f1a194-16c2aa0f.jpg" alt="Heikka Ma"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Heikki Ma
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Pilvipulssi---LinkedIn--281-29-3f60febf-5fa1a6ed.png" length="292446" type="image/png" />
      <pubDate>Thu, 13 Feb 2025 11:31:46 GMT</pubDate>
      <guid>https://www.webscale.fi/blogi/aws-cloudformation-hooks</guid>
      <g-custom:tags type="string">Pilvipulssi</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Pilvipulssi+-+Blogi+%281%29.png">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Pilvipulssi---LinkedIn--281-29-3f60febf-5fa1a6ed.png">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Webscale saavutti AWS DevOps Services Competencyn - mitä tämä tarkoittaa asiakkaillemme?</title>
      <link>https://www.webscale.fi/blogi/webscale-saavutti-aws-devops-services-competencyn-mita-tama-tarkoittaa-asiakkaillemme</link>
      <description>AWS DevOps Services Competency on merkittävä virstanpylväs yrityksellemme ja osoitus sitoutumisestamme korkealaatuisiin DevOps-palveluihin AWS-ympäristössä. Mutta mitä tämä tarkoittaa asiakkaillemme, ja miksi AWS Competency -ohjelma on tärkeä?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS DevOps Services Competency on merkittävä virstanpylväs yrityksellemme ja osoitus sitoutumisestamme korkealaatuisiin DevOps-palveluihin AWS-ympäristössä. Mutta mitä tämä tarkoittaa asiakkaillemme, ja miksi AWS Competency -ohjelma on tärkeä?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Mistä AWS Competency -ohjelmassa on kyse?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS Competency -ohjelman tarkoitus on auttaa asiakkaita löytämään AWS-kumppaniyrityksiä, jotka ovat erikoistuneet tiettyyn teknologiaan tai palvelumalliin. Competencyja on lukuisia erilaisia ja sellaisen saavuttaminen vaatii kumppanilta todistetusti korkeaa asiantuntemusta ja menestyksekkäitä asiakasratkaisuja Competencyn osa-alueilla.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mikä on AWS DevOps Services Competency?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS DevOps Services Competency myönnetään kumppaniyrityksille, jotka ovat osoittaneet syvällistä osaamista DevOps-käytäntöjen ja -työkalujen hyödyntämisessä AWS-alustalla. Tämä sisältää muun muassa:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Infrastruktuurin hallinnan (IaC) parhaiden käytäntöjen mukaisesti.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Pitkälle viedyn automaation ja CI/CD-putkien toteutuksen.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Monitoroinnin ja lokien hallinnan.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Tietoturvan ja standardien varmistamisen kaikissa DevOps-työn vaiheissa.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Työmenetelmät, prosessit ja dokumentaation.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            DevOps-kulttuurin ja roolien jalkauttaminen asiakasorganisaatioon.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kumppaniyritykselle asetetut vaatimukset ovat tiukat ja niiden täyttyminen varmistetaan ulkopuolisen auditoijan toimesta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Miten tämä hyödyttää asiakkaitamme?
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Webscale on tarjonnut jo yli kymmenen vuoden ajan laadukkaita asiantuntijapalveluita AWS-pilveen ja DevOps-käytäntöihin liittyen. AWS DevOps Services Competency on osoitus jatkuvasta panostuksestamme asiakkaidemme menestykseen ja todistaa, että palvelumme ja prosessimme täyttävät AWS:n asettamat korkeat standardit.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Valitsemalla Webscalen kumppanikseen, asiakas voi luottaa saavansa käyttöönsä todistetusti huipputason DevOps-osaamisen sekä vuosikymmenen verran kokemusta vaativista projekteissa, joissa viimeisin teknologia on onnistuneesti tuotu osaksi asiakasorganisaation palvelukehitystä ja kulttuuria.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Henri-2024-76b41732.jpg" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Henri Meltaus
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           CTO
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-41-ffd14486-b1f08c57.jpg" length="95938" type="image/jpeg" />
      <pubDate>Tue, 11 Feb 2025 06:51:51 GMT</pubDate>
      <guid>https://www.webscale.fi/blogi/webscale-saavutti-aws-devops-services-competencyn-mita-tama-tarkoittaa-asiakkaillemme</guid>
      <g-custom:tags type="string">Uutiset,Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-41-ffd14486-b1f08c57.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-41-ffd14486-b1f08c57.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mikä on Elastic Load Balancing (ELB) ja mihin sitä tarvitaan?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-mika-on-elastic-load-balancing-elb-ja-miksi-sita-tarvitaan</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mikä on Elastic Load Balancing (ELB) ja mihin sitä tarvitaan?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Mikä on Elastic Load Balancing (ELB) ja mihin sitä tarvitaan?
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Elastic Load Balancing (ELB) on AWS-palvelu, jonka ensisijainen tarkoitus on nimensä mukaisesti kuormanjako. ELB:n avulla voidaan jakaa verkosta tulevia pyyntöjä pyyntöjen käsittelijöille tasaisesti tai erilaisin painotuksin. Kuormanjaon kohteena voi olla esimerkiksi IP-osoitteet, EC2-instanssit tai konteissa ajettavat palvelut (ECS, Fargate). ELB on AWS:n ylläpitämä automaattisesti skaalautuva palvelu ja se toimii usealla maantieteellisesti hajautetulla Availability Zonella. Yhdistämällä ELB-kuormanjaon AWS Autoscalingin avulla automaattisesti skaalautuviin taustapalveluihin voidaan rakentaa järjestelmä, joka kestää huomattavaa kuormitusta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           AWS tarjoaa kaksi ELB-versiota, joista v2 sisältää kolme eri OSI-mallin kerroksilla toimivaa ja eri käyttötarkoituksiin soveltuvaa palvelua:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           V1:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Classic Load Balancer
            &#xD;
        &lt;br/&gt;&#xD;
        &lt;br/&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           V2:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Application Load Balancer (ALB)
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Network Load Balancer (NLB)
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Gateway Load Balancer (GWLB)
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Application Load Balancer toimii OSI-mallin application-tasolla ja sopii HTTP- ja HTTPS-liikenteen kuormanjakoon. Application-tasolla toimiminen antaa enemmän mahdollisuuksia kuormanjaon sääntöjen määrittelyyn kuin OSI-mallin alemmilla tasoilla toimittaessa. Kuormanjaossa voidaan hyödyntää esimerkiksi url-polkuja tai pyynnön header-tietoja. Pyyntöjä voidaan myös ohjata monipuolisemmin eri kohteisin kuin muilla ELB-tyypeillä: kuormaa voidaan ohjata eri domaineihin tai esimerkiksi AWS Lambda -funktioille. ALB mahdollistaa myös esimerkiksi liikenteen ohjauksen siten, että saman asiakkaan kutsut ohjautuvat aina samalle pyyntöjen käsittelijälle (sticky sessions). ALB:tä voidaan käyttää myös HTTPS-terminointiin, jolloin pyyntöjen käsittelijöiden ei tarvitse huolehtia liikenteen salauksesta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Network Load Balancer toimii OSI-mallin transport-tasolla. NLB tarjoaa matalimman latenssin ja se kestää eniten kuormitusta, eli se soveltuu äärimmäistä suorituskykyä vaativiin sovelluksiin. NLB:n avulla saadaan kuormanjako tehtyä läpinäkyvästi application-tason suhteen. Toisin kuin ALB:lle, NLB:lle on mahdollista antaa kiinteä IP-osoite ja alkuperäisen kutsujan IP-osoite välittyy kutsun käsittelijälle.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Gateway Load Balancer toimii OSI-mallin network-tasolla ja on suunniteltu verkkotason valvontaan, suojaukseen ja analysointiin käytettyjen virtuaalilaitteiden, kuten palomuurien, tunkeutumisen tunnistukseen ja estoon sekä verkkopakettien analysointiin käytettyjen palveluiden hallintaan ja skaalaamiseen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Classic load balancer on AWS:n alkuperäinen OSI-mallin transport-tasolla toimiva kuormanjakaja, joka on olemassa enää lähinnä taaksepäin yhteensopivuus syistä, eikä sitä ole syytä käyttää uusissa sovelluksissa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-23-89ff1d7f-48402e27.jpg" alt="Markus Nousiainen"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Markus Nousiainen
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale-8.2024-9+%281%29+%281%29.jpg" length="274551" type="image/jpeg" />
      <pubDate>Wed, 29 Jan 2025 08:52:08 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-mika-on-elastic-load-balancing-elb-ja-miksi-sita-tarvitaan</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale-8.2024-9+%281%29+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale-8.2024-9+%281%29+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Miten Kubernetesin avulla voidaan orkestroida kontteja?</title>
      <link>https://www.webscale.fi/blogi/kysy-konsultilta-miten-kubernetesin-avulla-voidaan-orkestroida-kontteja</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, miten Kubernetesin avulla voidaan orkestroida kontteja?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Miten Kubernetesin avulla voidaan orkestroida kontteja?
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kubernetes on avoimen lähdekoodin alusta, joka mahdollistaa konttien orkestroinnin automatisoidusti ja skaalautuvasti. Se ryhmittelee palvelimet klusteriksi, jossa ohjaustaso (control plane) hallitsee konttien sijoittelua (scheduler) ja kuormituksen tasapainotusta, kun taas solmut (nodes) suorittavat itse kontit. Kubernetes käyttää deklaratiivisia konfiguraatiotiedostoja, joiden avulla määritellään esimerkiksi konttien määrä, resurssivaatimukset ja sijoittelustrategiat. Skaalautuvuus hoidetaan automaattisesti kuormituksen perusteella, ja resurssien käyttö optimoidaan tehokkaasti.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Verkonhallinta mahdollistaa konttien välisen kommunikoinnin ja ulkoisen liikenteen hallinnan palvelu- ja ingress-abstraktioiden avulla. Kubernetes huolehtii myös virheistä käynnistämällä uudelleen kaatuneet kontit ja korvaamalla vialliset solmut. Tallennus hoituu pysyvien tallennusvolyymien (persistent volume, PV) sekä dynaamisten tallennusluokkien kautta esimerkiksi pilvipalvelutarjoajan tallennuspalveluun (esim. EBS AWS:ssä).
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Yhteenvetona Kubernetes yksinkertaistaa sovellusympäristöjen hallintaa tarjoamalla automatisoidut ratkaisut konttien käyttöönottoon, skaalaukseen, verkotukseen ja virheiden hallintaan, mikä tekee siitä erityisen hyödyllisen modernien pilvinatiivien sovellusten kehityksessä.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-18--281-29.jpg" alt="Markus Nousiainen"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kalle Soranko
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-cloud-laptop.jpg" length="197550" type="image/jpeg" />
      <pubDate>Tue, 14 Jan 2025 08:22:50 GMT</pubDate>
      <guid>https://www.webscale.fi/blogi/kysy-konsultilta-miten-kubernetesin-avulla-voidaan-orkestroida-kontteja</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-cloud-laptop.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-cloud-laptop.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Amazon CloudFrontilta suora yhteys sisäverkkoon</title>
      <link>https://www.webscale.fi/blogi/amazon-cloudfrontilta-suora-yhteys-sisaverkkoon</link>
      <description>Pilvipulssi tuo ajankohtaiset uutiset julkipilvimarkkinoilta suoraan asiantuntijoiltamme. Tutustu AWS CloudFrontin uuteen ominaisuuteen, joka mahdollistaa suoran yhteyden asiakkaiden sisäverkkoon (VPC).</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Amazon CloudFrontilta suora yhteys sisäverkkoon
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Amazon CloudFront on maailmanlaajuinen sisällönjakelupalvelu (CDN), jonka kautta voidaan jaella verkkosisältöä, kuten sovelluksia ja verkkosivustoja, nopeasti ja turvallisesti käyttäjille ympäri maailmaa. Se hyödyntää AWS:n globaalia verkkoa vähentääkseen latenssia ja parantaakseen suorituskykyä, samalla tarjoten kehittyneitä tietoturvaominaisuuksia.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           CloudFrontin lähteenä (origin) voidaan hyödyntää AWS:n muita palveluita kuten S3:a, josta voidaan jaella staattisia resursseja, kuten verkkosivustoja, kuvia ja videoita. Aiemmin asiakkaan virtuaalisesta verkosta (VPC) on voinut jakaa sisältöä CloudFrontin kautta vain, jos sisältö on ollut saatavissa internetiin esimerkiksi kuormanjakajan kautta tai suoraan palvelimelta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS julkaisi juuri ennen vuoden 2024 re:Invent-tapahtumaansa merkittävän parannuksen CloudFront-palveluun. Tästä lähtien CloudFrontin lähteenä voidaan käyttää myös sellaisia VPC-virtuaaliverkossa sijaitsevia resursseja, joita ei ole avattu internetiin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Uusi ominaisuus mahdollistaa yksinkertaisemman arkkitehtuurin, sillä sovellusta ei enää tarvitse tehdä internetiin näkyväksi vain CloudFrontin lähteeksi liittämistä varten. Arkkitehtuurista voidaan poistaa ylimääräiset verkkoresurssit, mikä pienentää myös kustannuksia. Lisäksi tietoturva paranee, koska kaikki liikenne CloudFrontin ja sovelluksen välillä kulkee sisäverkossa, mikä pienentää vihamielisen tahon hyödynnettävissä olevaa hyökkäyspinta-alaa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://aws.amazon.com/about-aws/whats-new/2024/11/amazon-cloudfront-vpc-origins/" target="_blank"&gt;&#xD;
      
           Linkki alkuperäiseen julkaisuun
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-22-a4f1a194-16c2aa0f.jpg" alt="Heikka Ma"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Heikki Ma
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Pilvipulssi---LinkedIn--281-29-3f60febf-5fa1a6ed.png" length="292446" type="image/png" />
      <pubDate>Wed, 18 Dec 2024 07:06:50 GMT</pubDate>
      <guid>https://www.webscale.fi/blogi/amazon-cloudfrontilta-suora-yhteys-sisaverkkoon</guid>
      <g-custom:tags type="string">Pilvipulssi</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Pilvipulssi+-+Blogi+%281%29.png">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Pilvipulssi---LinkedIn--281-29-3f60febf-5fa1a6ed.png">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Webscale Oy esittelee uuden yrityskohtaisen työehtosopimuksen: joustavuus ja työntekijöiden hyvinvointi etusijalla</title>
      <link>https://www.webscale.fi/blogi/uusi-yrityskohtainen-tyoehtosopimus</link>
      <description>Tutustu Webscalen yrityskohtaiseen työehtosopimukseen.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Työehtosopimukset ovat olennainen osa suomalaista työelämää, ja niiden rooli korostuu erityisesti IT-alan kaltaisella nopeasti kehittyvällä alalla. Olemme Webscalella pitkään pohtineet, miten voisimme kehittää työolojamme niin, että ne eivät vain täyttäisi lakisääteisiä vaatimuksia, vaan myös tukisivat kokonaisvaltaisesti työntekijöidemme hyvinvointia, ammatillista kasvua ja yrityksen menestystä parhaalla mahdollisella tavalla. Tämä johti meidät neuvottelemaan yrityskohtaisen työehtosopimuksen osana laajempaa tavoitettamme rakentaa entistä parempaa työpaikkaa. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Miksi yrityskohtainen TES?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Haluamme erottua markkinassa ja tarjota työntekijöillemme räätälöityjä, kilpailukykyisiä työehtoja. Yrityskohtainen TES mahdollistaa joustavuuden esimerkiksi työaikojen, etätyön ja palkkaneuvotteluiden osalta, mikä tukee työntekijöidemme jaksamista ja motivaatiota. Lisäksi se helpottaa sopimusehtojen tulkintaa ja parantaa sitoutumista tarjoamalla henkilöstöllemme mahdollisuuden vaikuttaa omaan työelämäänsä. Näin voimme varmistaa, että pysymme houkuttelevana työpaikkana alan huippuosaajille myös jatkossa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ”Yrityskohtainen TES tukee sekä työntekijöidemme hyvinvointia että liiketoimintamme kasvua. Sopimus tuo selkeyttä yhteisiin pelisääntöihin, mutta mahdollistaa samalla joustavuuden, joka on erityisen tärkeää nopeasti kehittyvällä IT-alalla. Se takaa, että työehdot pysyvät kilpailukykyisinä ja vastaavat työntekijöidemme tarpeita, samalla kun luomme edellytykset motivoivalle työympäristölle. Haluamme varmistaa, että Webscale on paitsi hyvä työpaikka, myös houkutteleva valinta alan parhaille osaajille.”
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           toteaa Webscalen toimitusjohtaja Tero Kauhanen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Työn ja vapaa-ajan tasapaino
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Uuden yrityskohtaisen TES:in myötä korostamme työntekijöiden hyvinvointia uudistamalla perhevapaat ja ottamalla käyttöön työaikapankin. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Palkalliset vanhempainvapaat kaikille vanhemmille – synnyttäville, ei-synnyttäville, adoptiovanhemmille sekä muulle lapsen hoitoon osallistuvalle henkilölle, jolle on luovutettu vanhempainvapaata – takaavat mahdollisuuden osallistua perhe-elämään tasa-arvoisesti ilman taloudellisia esteitä. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Työaikapankki tuo joustoa työntekijöiden arkeen, mahdollistaen ylimääräisten työtuntien hyödyntämisen vapaina tai erilaisten elämänvaiheiden tasapainottamiseen. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           "Työ ja vapaa-aika kulkevat meillä käsi kädessä. Palkalliset vanhempainvapaat ja työaikapankki ovat tapojamme tukea työntekijöidemme arkea ja varmistaa, että jokaisella on mahdollisuus tasapainoiseen elämään."
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            toteaa Varpu Kekkonen, People and Organizational Development Lead.
            &#xD;
        &lt;br/&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tasapuolisuus ja selkeys
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Webscale haluaa varmistaa, että työntekijöiden panos ja tarpeet huomioidaan oikeudenmukaisesti. Uusi työehtosopimus tuo selkeyttä mm. hälytys- ja varallaolokorvauksiin, jotta erityistilanteissa tehtävä työ saa asianmukaisen arvostuksen myös jatkossa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Lisäksi uusille työntekijöille tarjotaan mahdollisuus yhdistää palkalliset ja palkattomat lomat neljän viikon yhtäjaksoiseksi lomaksi, mikä helpottaa työsuhteen alkuvaihetta ja edistää sopeutumista. Nämä uudistukset tukevat työntekijöiden hyvinvointia ja vahvistavat Webscalen sitoutumista reiluun ja työntekijälähtöiseen toimintatapaan.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           “Työntekijöille paikallinen sopimus tarjoaa selkeän vuoropuhelualustan yrityksen ja työntekijöiden välille luoden yrityksen henkilöstöasioihin uudella tavalla sitoutumista ja kiinnostavuutta. Nyt neuvoteltu paikallinen sopimus antaa alkusysäyksen jatkuvalle prosessille, jolla TES-asiat ovat huomattavasti lähempänä työntekijää ja vaikuttamismahdollisuudet konkreettisemmat.”
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            linjaa Webscalen luottamushenkilö Ville Välimäki.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Selkeytetty palkkaus
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Uuden TES:in myötä Webscalen palkkaus perustuu selkeisiin periaatteisiin, joissa yhdistyvät tehtävän vaativuus, työntekijän pätevyys ja yrityksen määrittelemät muut palkkaperiaatteet. Vuosittaisista palkantarkistuksista neuvotellaan paikallisesti luottamushenkilön kanssa. Näillä tuodaan läpinäkyvyyttä ja joustavuutta korotusten jakamiseen. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           On selvää, että taloudelliset tulokset vaikuttavat palkkakehitykseen – mutta yhtä selvää on, että hyvä työ ansaitsee reilun palkitsemisen. Tämä on tasapaino, jonka haluamme säilyttää.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://irp.cdn-website.com/6a1f2ca5/files/uploaded/Webscale_TES_-_Online_version_-_2024-12-01-8a585200.pdf" target="_blank"&gt;&#xD;
      &lt;strong&gt;&#xD;
        
            Tervetuloa tutustumaan Webscalen yrityskohtaiseen työehtosopimukseen.
           &#xD;
      &lt;/strong&gt;&#xD;
    &lt;/a&gt;&#xD;
    &lt;strong&gt;&#xD;
      
            
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Varpu.1+some.jpg" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Varpu Kekkonen
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           People and Organizational Development Lead
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-8+%284%29.jpg" length="80706" type="image/jpeg" />
      <pubDate>Tue, 10 Dec 2024 09:33:10 GMT</pubDate>
      <guid>https://www.webscale.fi/blogi/uusi-yrityskohtainen-tyoehtosopimus</guid>
      <g-custom:tags type="string">Uutiset</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-8+%284%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-8+%284%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>AWS Console to Code - Generoi IaC-koodia hallintakonsolia käyttämällä</title>
      <link>https://www.webscale.fi/blogi/aws-console-to-code-generoi-iac-koodia-hallintakonsolia-kayttamalla</link>
      <description>Pilvipulssi tuo ajankohtaiset uutiset julkipilvimarkkinoilta suoraan asiantuntijoiltamme. Tutustu uuteen AWS Console to Code -ominaisuuteen, jolla voit generoida IaC-koodia hallintakonsolissa suorittamiesi toimintojen perusteella.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           AWS Console to Code - Generoi IaC-koodia hallintakonsolia käyttämällä
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS-konsolista löytyy nyt uusi ominaisuus nimeltä AWS Console to Code. Sen avulla käyttäjä voi antaa tekoälyn seurata konsolin kautta suorittamiaan toimintoja ja generoida sitten niiden pohjalta valmista CDK-koodia, CloudFormation-templateja tai komentoja komentorivikäyttöä ja skriptausta varten. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Pilvi-infran luonti konsolin kautta klikkailemalla on tietysti ollut jo pitkään ns. anti-pattern pilviarkkitehtien parissa, joten voisi kysyä onko Console to Code askel eteen- vai taaksepäin? Suunta on kuitenkin ehdottomasti oikea, sillä Console to Code auttaa pilvi-infran parissa työskenteleviä olemaan tehokkaampia työssään generoimalla viimeistelyä vaille valmista koodia. Tämä puolestaan vapauttaa aikaa keskittyä niihin enemmän ajattelua vaativiin tehtäviin, jotka yleisesti koetaan myös mielekkäämmiksi. Periaate on siis hyvin samankaltainen kuin monella muullakin generatiiviseen tekoälyyn perustuvalla työkalulla.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Erilaisten nopeiden kokeilujen ja proof-of-conceptien tekoon Console to Code on varmasti  hyödyllinen - varsinkin jos projektia halutaan jatkossa ylläpitää ja kehittää IaC-periaatteiden mukaan. Juuri projektin aloitukseen ja uusien resurssien luontiin tämä työkalu sopiikin parhaiten, sillä jo olemassa olevien resurssien muokkaus ei ole vielä täysin tuettu. Näin alkuun työkalun hyödyllisyyttä vähentää myös se, että tuettujen AWS-palveluiden lista on varsin vaatimaton, sisältäen vain EC2:n, VPC:n ja RDS:n. Niilläkin toki pääsee alkuun ja tuki varmasti laajenee jatkossa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Lue lisää aiheesta:
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://aws.amazon.com/about-aws/whats-new/2024/10/general-availability-console-to-code-generate-code/" target="_blank"&gt;&#xD;
      
           https://aws.amazon.com/about-aws/whats-new/2024/10/general-availability-console-to-code-generate-code/
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-22-a4f1a194-16c2aa0f.jpg" alt="Heikka Ma"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Heikki Ma
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Pilvipulssi---LinkedIn--281-29-3f60febf-5fa1a6ed.png" length="292446" type="image/png" />
      <pubDate>Wed, 20 Nov 2024 07:08:57 GMT</pubDate>
      <guid>https://www.webscale.fi/blogi/aws-console-to-code-generoi-iac-koodia-hallintakonsolia-kayttamalla</guid>
      <g-custom:tags type="string">Pilvipulssi</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Pilvipulssi+-+Blogi+%281%29.png">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Pilvipulssi---LinkedIn--281-29-3f60febf-5fa1a6ed.png">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>AWS S3 Conditional Writes - Lisää kontrollia S3-tallennukseen</title>
      <link>https://www.webscale.fi/blogi/aws-s3-conditional-writes-lisaa-kontrollia-s3-tallennukseen</link>
      <description>Pilvipulssi tuo ajankohtaiset uutiset julkipilvimarkkinoilta suoraan asiantuntijoiltamme. Tutustu uuteen AWS S3 Conditional Writes -ominaisuuteen, joka lisää kontrollia S3-tallennukseen.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS S3 Conditional Writes - Lisää kontrollia S3-tallennukseen
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Amazon S3 on AWS:n skaalautuva tallennuspalvelu pilvessä. Se tarjoaa suuren joukon ominaisuuksia, jotka mahdollistavat tiedon turvallisen säilyttämisen ja tehokkaan käsittelyn.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Hetki sitten julkaistun Conditional Writes -ominaisuuden myötä käyttäjät voivat asettaa ehtoja, joiden on täytyttävä, jotta tiedoston kirjoitus S3:een onnistuu. Tämä mahdollistaa tarkemman kontrollin tietojen päivityksille auttaen estämään ei-toivottuja muutoksia kuten olemassa olevien tiedostojen ylikirjoittamista vanhalla datalla. Ehdot voivat perustua muun muassa tiedoston metadataan, versionumeroon tai tageihin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Conditional Writes on erityisen hyödyllinen, kun hallinnoidaan tietovarastoja, joihin useat järjestelmät tai käyttäjät saattavat tehdä päivityksiä samanaikaisesti. Aikaisemmin tällainen logiikka on pitänyt rakentaa itse sovelluksen puolelle, mutta nyt sen voi jättää S3:n huoleksi.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Lue lisää aiheesta:
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://aws.amazon.com/about-aws/whats-new/2024/08/amazon-s3-conditional-writes/" target="_blank"&gt;&#xD;
      
           https://aws.amazon.com/about-aws/whats-new/2024/08/amazon-s3-conditional-writes/
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-22-a4f1a194-16c2aa0f.jpg" alt="Heikka Ma"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Heikki Ma
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Pilvipulssi---LinkedIn--281-29-3f60febf-5fa1a6ed.png" length="292446" type="image/png" />
      <pubDate>Wed, 23 Oct 2024 06:17:15 GMT</pubDate>
      <guid>https://www.webscale.fi/blogi/aws-s3-conditional-writes-lisaa-kontrollia-s3-tallennukseen</guid>
      <g-custom:tags type="string">Pilvipulssi</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Pilvipulssi+-+Blogi+%281%29.png">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Pilvipulssi---LinkedIn--281-29-3f60febf-5fa1a6ed.png">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mitkä ovat AWS Lambda-layerit?</title>
      <link>https://www.webscale.fi/blogi/kysy-konsultilta-mitka-ovat-aws-lambda-layerit</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mitkä ovat AWS Lambda-layerit?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mitkä ovat AWS Lambda-layerit?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS Lambda layer on resurssi, jonka avulla Lambda-funktiolle voidaan antaa riippuvuuksia, dataa tai konfiguraatiotiedostoja funktion oman deployment-paketin ulkopuolella. Lambda layer luodaan pakkaamalla tarvittavat tiedostot erilliseen zip-pakettiin ja luomalla siitä Lambda-layer -resurssi.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Lambda layerin selvä hyöty on siinä, että deployment-paketista tulee yksinkertaisempi ja pienempi, kun riippuvuudet on pakattu erilliseen pakettiin. Tällöin myös deployment-paketin luominen yksinkertaistuu kun riippuvuuksia ei tarvitse sisällyttää samaan pakettiin kuin itse funktiokoodia. Yhtä Lambda layer -resurssia voidaan käyttää monen Lambda-funktion kanssa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Lambda layerit mahdollistavat myös muiden kuin itse funktion toteuttamiseen käytetyn ohjelmointikielen kirjastojen käytön riippuvuuksina. Esimerkiksi komentorivityökalun pakkaaminen binäärimuodossa Lambda layeriin on mahdollista, jolloin kyseistä komentorivityökalua voidaan kutsua Lambda-funkion koodista.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Lambda layer liitetään Lambda-funktioon seuraavalla tavalla:
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           1. Luo Lambda layer zip-paketti, joka sisältää tarvittavat tiedostot
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           2. Luo Lambda layer-resurssi
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           3. Luo Lambda-funktio, johon haluat liittää Lambda layerin
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           4. Liitä Lambda layer-resurssi Lambda-funktioon
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           On hyvä tiedostaa, että Lambda layer-paketin maksimikoko on 50MB ja yksi Lambda-funktio voi käyttää maksimissaan viittä Lambda layeria. Lisäksi kun Lambda layeria päivitetään, niin layeristä luodaan uusi versio, joka täytyy liittää Lambda-funktioon erikseen.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-18--281-29.jpg" alt="Markus Nousiainen"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kalle Soranko
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-9+%281%29.jpg" length="44839" type="image/jpeg" />
      <pubDate>Thu, 17 Oct 2024 07:29:58 GMT</pubDate>
      <guid>https://www.webscale.fi/blogi/kysy-konsultilta-mitka-ovat-aws-lambda-layerit</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-9+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-9+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Webscale nousee uudelle tasolle AWS-kumppanina</title>
      <link>https://www.webscale.fi/blogi/webscale-nousee-uudelle-tasolle-aws-kumppanina</link>
      <description />
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Webscale on saavuttanut kaksi uutta AWS-kumppanuutta –
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS Well-Architected Partner
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ja
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS CloudFormation Delivery Partner
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           . Näiden kumppanuuksien ansiosta voimme auttaa asiakkaitamme entistäkin paremmin rakentamaan, kehittämään ja ylläpitämään AWS-ympäristöjään parhaiden käytäntöjen mukaisesti.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS Well-Architected Partner – varmistamme parhaat käytännöt
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS Well-Architected -kumppanuus mahdollistaa entistä laadukkaampien arviointien ja suositusten tarjoamisen asiakkaillemme heidän AWS-ratkaisujensa kehittämiseen. Well-Architected on malli, joka auttaa organisaatioita rakentamaan turvallisia, tehokkaita ja luotettavia pilviympäristöjä AWS:n parhaiden käytäntöjen mukaisesti. Sen avulla voidaan arvioida nykyisiä arkkitehtuuriratkaisuja, tunnistaa mahdolliset haasteet ja löytää kehityskohteita. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Well-Architected -katselmoinneilla varmistamme yhdessä asiakkaan kanssa, että sovellukset ja työkuormat toimivat pilvessä optimaalisesti ja turvallisesti. Kun tunnistamme kehityskohteita, asiakkaamme voivat myös hyödyntää AWS:n tarjoamaa rahoitusta parannusten toteuttamiseen. Palvelumme tekee arkkitehtuurin optimoinnista jatkuvaa ja joustavaa, pitäen pilviympäristön ajan tasalla ja toimintakykyisenä.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS CloudFormation Delivery Partner – pilvi-infra hallintaan
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Infrastructure as Code (IaC) eli pilvi-infrastruktuurin määrittely ja hallinta koodilla tekee työstä pilven parissa tehokkaampaa sekä mahdollistaa pitkälle viedyn automaation. IaC onkin aina ollut olennainen osa Webscalen työtä; oli kyse sitten kokonaan uuden palvelun toteuttamisesta tai olemassa olevien järjestelmien ylläpidosta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           IaC-työkaluja on useita, joista valitsemme asiakkaan tarpeisiin sopivimman vaihtoehdon. CloudFormation on AWS:n oma laajasti käytetty työkalu, johon perustuu myös useita muita korkeamman tason IaC-ratkaisuja, kuten AWS CDK ja Serverless Framework. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS CloudFormation Delivery -kumppanuuden myötä tarjoamme asiakkaillemme syvällistä asiantuntemusta infrastruktuurin hallintaan CloudFormationin avulla. Olemme valmiita auttamaan parhaiden IaC- ja DevOps-käytäntöjen tuomisessa osaksi jokapäiväistä toimintaa.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Yhdessä kohti parempaa pilveä
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Nämä uudet AWS-kumppanuudet vahvistavat kykyämme toimia asiakkaidemme luotettavana pilvikumppanina. Tarjoamme entistä laajemman palveluvalikoiman, jotta asiakkaidemme pilviympäristöt pysyvät suorituskykyisinä, turvallisina ja kustannustehokkaina.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Lue lisää
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="/palvelut/well-architected-framework-review-wafr"&gt;&#xD;
      
           Well-Architected Review -palvelustamme
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
           .
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Na-ytto-kuva+2024-10-10+kello+11.37.01.png" alt="CEO Tero Kauhanen"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Tero Kauhanen
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Toimitusjohtaja
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-14+Suuri.jpeg" length="92293" type="image/jpeg" />
      <pubDate>Thu, 10 Oct 2024 08:41:07 GMT</pubDate>
      <guid>https://www.webscale.fi/blogi/webscale-nousee-uudelle-tasolle-aws-kumppanina</guid>
      <g-custom:tags type="string" />
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-14+Suuri.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-14+Suuri.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Asiakkaidemme kiitokset lämmittävät – NPS-tuloksemme 100!</title>
      <link>https://www.webscale.fi/blogi/asiakkaidemme-kiitokset-lammittavat-nps-tuloksemme-100</link>
      <description>Asiakastyytyväisyys on jokaisen yrityksen menestyksen kulmakivi, ja meille Webscalella se on yksi tärkeimmistä toimintamme mittareista. Tänä vuonna toteuttamamme NPS-kysely osoitti jälleen, että panostuksemme osaamisen ja palveluiden kehittämiseen sekä luottamuksellisten asiakassuhteiden rakentamiseen kantavat hedelmää.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Asiakastyytyväisyys on jokaisen yrityksen menestyksen kulmakivi, ja meille Webscalella se on yksi tärkeimmistä toimintamme mittareista. Tänä vuonna toteuttamamme NPS-kysely osoitti jälleen, että panostuksemme osaamisen ja palveluiden kehittämiseen sekä luottamuksellisten asiakassuhteiden rakentamiseen kantavat hedelmää.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
      
           Tuloksemme – NPS 100 – ei ole pelkkä luku; se on osoitus siitä, että olemme onnistuneet tuottamaan asiakkaillemme todellista arvoa yhteistyökumppanina. Syksyn viileneviin päiviin tällaiset uutiset tuovat erityistä lämpöä ja iloa.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           NPS-tuloksesta tänä ja viime vuonna
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           NPS, eli Net Promoter Score, mittaa asiakkaiden halukkuutta suositella meitä yhteistyökumppanina. Asteikolla -100 ja +100 välillä 100 on korkein mahdollinen tulos ja upea osoitus asiakkaidemme tyytyväisyydestä.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Viime vuonna NPS-tuloksemme oli jo loistava: 95. Saimme tuolloin arvokkaita näkemyksiä siitä, mikä tekee yhteistyöstämme erinomaista ja missä voisimme vielä kehittyä. Olemme tarttuneet tähän palautteeseen ja tehneet määrätietoista työtä parantaaksemme palveluja ja toimintojamme entisestään.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mitä NPS 100 meille merkitsee?
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Olemme erittäin kiitollisia ja otettuja siitä, että asiakkaamme arvostavat yhteistyötämme ja kokevat sen hyödylliseksi. Vaikka tuloksemme on korkein mahdollinen, emme pysähdy tähän. Palautteiden avulla olemme jo tunnistaneet kehittämiskohteita, ja jatkamme työtämme palveluiden ja prosessiemme kehittämiseksi. Haluamme ansaita asiakkaidemme luottamuksen joka päivä, jokaisessa kohtaamisessa.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           NPS 100 on kunnianosoitus koko tiimillemme. Webscalella on sitoutunut ja asiantunteva porukka, joka tekee joka päivä parhaansa asiakkaidemme menestyksen eteen. Haluan kiittää koko henkilöstöämme upeasta työstä ja omistautumisesta tavoitteiden saavuttamiseksi!
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kiitos asiakkaillemme
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Suurin kiitos kuuluu asiakkaillemme. Olemme ylpeitä saadessamme tehdä yhteistyötä kanssanne, ja arvostamme suuresti luottamustanne ja palautettanne. Teidän ansiostanne meillä on mahdollisuus kehittyä ja kasvaa.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Syksy on täynnä uusia mahdollisuuksia, ja odotamme innolla tulevia kohtaamisia!
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/tero_kauhanen.png" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tero Kauhanen
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Toimitusjohtaja
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale-8.2024-5+%281%29+%281%29.jpg" length="273862" type="image/jpeg" />
      <pubDate>Fri, 04 Oct 2024 06:25:32 GMT</pubDate>
      <author>verkkosivut@webscale.fi (Tero Kauhanen)</author>
      <guid>https://www.webscale.fi/blogi/asiakkaidemme-kiitokset-lammittavat-nps-tuloksemme-100</guid>
      <g-custom:tags type="string">Uutiset</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale-8.2024-5+%281%29+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale-8.2024-5+%281%29+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>AWS CloudFormation IaC generatorin viimeisin päivitys tuo merkittävän parannuksen</title>
      <link>https://www.webscale.fi/blogi/pilvipulssi-aws-cloudformation-iac-generatorin-viimeisin-paivitys-tuo-merkittavan-parannuksen</link>
      <description>Pilvipulssi tuo ajankohtaiset uutiset julkipilvimarkkinoilta suoraan asiantuntijoiltamme. Tutustu AWS CloudFormation IaC generatorin viimeisimpään päivitykseen ja sen tuomiin merkittäviin parannuksiin.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS CloudFormation IaC generatorin viimeisin päivitys tuo merkittävän parannuksen
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS CloudFormation on palvelu, joka helpottaa infrastruktuurin hallintaa AWS-pilvessä. Se mahdollistaa resurssien, kuten virtuaalikoneiden, tietokantojen ja verkkokonfiguraation, hallinnan koodin avulla (Infrastructure-as-Code, IaC). IaC tekee pilviresurssien hallinnasta tehokasta ja toistettavaa sekä mahdollistaa siihen liittyvän työn automatisoinnin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Viimeisin päivitys tuo merkittävän parannuksen CloudFormation IaC -generaattoriin. Jatkossa käyttäjät saavat AWS-tilin skannauksen jälkeen visuaalisen yhteenvedon skannatuista resursseista ja niiden keskinäisistä riippuvuuksista. Tällainen esikatselu helpottaa valitsemaan oikeat resurssit mukaan generoitavaan CloudFormation-koodiin. Palvelun avulla generoitu koodi voidaan käyttää sellaisenaan tai muuttaa CDK-sovellukseksi.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           CloudFormation-koodin generointi olemassa olevista resursseita on erityisen hyödyllinen mikäli infrastruktuurin hallinnointi on aikaisemmin tehty käsin, mutta tahtotila olisi siirtyä käyttämään IaC:tä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Aiheesta lisää:
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://aws.amazon.com/about-aws/whats-new/2024/08/cloudformation-resource-discovery-template-review-iac-generator/" target="_blank"&gt;&#xD;
      
           https://aws.amazon.com/about-aws/whats-new/2024/08/cloudformation-resource-discovery-template-review-iac-generator/
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-22-a4f1a194-16c2aa0f.jpg" alt="Heikka Ma"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Heikki Ma
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Pilvipulssi---LinkedIn--281-29-3f60febf-5fa1a6ed.png" length="292446" type="image/png" />
      <pubDate>Fri, 27 Sep 2024 09:00:36 GMT</pubDate>
      <guid>https://www.webscale.fi/blogi/pilvipulssi-aws-cloudformation-iac-generatorin-viimeisin-paivitys-tuo-merkittavan-parannuksen</guid>
      <g-custom:tags type="string">Pilvipulssi</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Pilvipulssi+-+Blogi+%281%29.png">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Pilvipulssi---LinkedIn--281-29-3f60febf-5fa1a6ed.png">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mitä eroa on yksikkö- ja integraatiotestaamisella?</title>
      <link>https://www.webscale.fi/blogi/kysy-konsultilta-mita-eroa-on-yksikko-ja-integraatiotestaamisella</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mitä eroa yksikkö- ja integraatio testaamisella?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mitä eroa on yksikkö- ja integraatiotestaamisella?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Yksikkötesteillä testataan jonkin koodin osan toimintaa itsenäisesti. Yhden yksikkötestin tulisi kohdistua laajuudeltaan yksittäisen funktion tai luokan sisäiseen toimintaan. Yksikkötesteissä riippuvuudet sovelluksen muihin osiin, ulkopuolisiin sovelluksiin ja kirjastoihin pyritään minimoimaan. Testattavan yksikön vuorovaikutusta muiden osien kanssa voidaan testata korvaamalla oikea riippuvuuden kohde tynkä- tai sijaistoteutuksella (mock, stub, spy) joiden palauttamia arvoja voidaan kontrolloida ja joihin lähetettyjä kutsuja voidaan tarkastella. Yksikkö testien tulisi testata yksiköiden sisäinen logiikka kattavasti ja niiden tulisi olla helposti muutettavissa, jos logiikkaa joudutaan korjaamaan.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Integraatiotestaus on ohjelmiston osien yhteistoiminnan testaamista. Integraatiotestit voivat rajoittua esimerkiksi yhdellä palvelimella suoritettavan ohjelmiston testaamiseen siten että riippuvuudet palvelimen ulkopuolisiin järjestelmiin korvataan paikallisesti ajettavilla sijaistoteutuksilla tai tuotannossa eri palvelimilla ajettavien järjestelmän osien yhteistoiminnan testaamista siten että osia ajetaan omissa säiliöissään (container) yhdellä koneella. Integraatiotesteillä voidaan tarkoittaa myös usean fyysisesti eri palvelimilla tai jopa eri konesaleissa toimivien järjestelmien yhteistoiminnan testaamista tuotannon kaltaisessa ympäristössä. Perinteisissä konesaleissa ei välttämättä ole käytännöllistä ajaa testejä oikeassa palvelinympäristössä, mutta moderneissa pilviympäristöissä palveluiden käyttöönotto on usein niin nopeaa, että integraatiotestaamiseen voidaan pystyttää puhdas, tuotantoympäristöä vastaava testiympäristö, jossa testejä voidaan ajaa hallitusti siten että testaajalla on täysi hallinta järjestelmän komponenttien versioihin, parametreihin ja tilaan, esimerkiksi tietokantojen ja dokumenttivarastojen sisältöön. Integraatiotesteillä ei välttämättä ole mielekästä testata testattavien komponenttien sisäisen toiminnallisuuden jokaista yksityiskohtaa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Usein ohjelmistolle kirjoitetaan erilliset yksikkö- ja integraatiotestikokoelmat. Käytännön toteutuksissa yksikkö- ja integraatiotestisettien rajat eivät useinkaan ole yhtä selkeät kuin edellä. Varsinkin yksikkötestien joukossa on usein testejä joilla testataan myös hieman isompia kokonaisuuksia ja esimerkiksi usean eri funktion yhteistoimintaa yhdellä testillä. Integraatiotestit taas saattavat laajimmillaan alkaa muistuttaa end-to-end testejä, joilla nimensä mukaisesti tarkoitetaan koko järjestelmä kokonaisuuden testausta loppukäyttäjältä koko järjestelmän läpi (päästä-päähän).
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/WebScale.4.2024-23-89ff1d7f-48402e27.jpg" alt="Markus Nousiainen"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Markus Nousiainen
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-5+%281%29.jpg" length="148112" type="image/jpeg" />
      <pubDate>Thu, 19 Sep 2024 06:58:19 GMT</pubDate>
      <guid>https://www.webscale.fi/blogi/kysy-konsultilta-mita-eroa-on-yksikko-ja-integraatiotestaamisella</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-5+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-5+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Webscale TechDays ja AWS Summit - kuin kaksi marjaa?</title>
      <link>https://www.webscale.fi/webscale-techdays-ja-aws-summit-kuin-kaksi-marjaa</link>
      <description>Webscalen suosittu TechDays järjestettiin kolmannen kerran, käytännönläheistä asiaa teknisemmille kuulijoille. Mitä yhteistä sillä on AWS Summitin kanssa, vai onko mitään?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Toukokuun lopussa, aurinkoisena perjantaina, kokoontui Krapin Pajalle Tuusulaan noin 50 tiedonjanoista IT-alan ammattilaista. Luvassa oli kolmas laatuaan, erinomaista palautetta jo aiemmin saanut, Webscalen järjestämä TechDays. Kovaa ja pragmaattista asiaa pilvestä. Allekirjoittanut sai kunnian toimia tapahtuman juontajana. Juontajan suurin haaste oli houkutella ihmisiä sisätiloihin upeasta auringonpaisteesta useita kertoja päivän aikana.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Kesäkuun alussa, myös aurinkoisessa kelissä, Tukholmaan saapui ympäri Eurooppaa, ja pidemmältäkin, yli satakertainen määrä yhtä tiedonjanoisia pilven kuluttajia, tekijöitä ja muuten sen ympärillä pyöriviä. Kyseessä oli Tukholman AWS Summit. Kaksi webscaleria lensi heti maanantaiaamusta kuuntelemaan Partner Summit osuutta ja tiistaina sitten varsinaiseen päätapahtumaan.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Käytäntöä, hypeä ja GenAI:ta
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Vaikka aihepiiri molemmissa olikin ylätasolla sama, niin ero löytyi hypen määrästä. Ja GenAI:sta. Tukholmassa puitteet olivat hulppeat ja äänekkäät, Krapilla kauniit ja rauhalliset. Tukholmassa puhuttiin +80% GenAI:sta, Krapilla enemmänkin siitä mikä mahdollistaa sen, että yrityksen ympäristössä pystytään oikeasti pitkässä juoksussa hyödyntämään GenAI:ta, tai ylipäätään tekemään mitään kehitystä tehokkaasti, oikean suuntaisesti ja tietoturvallisesti. Liikuttiin siis huomattavasti maanläheisemmissä aiheissa hypen sijaan.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Aamupäivän esitykset
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            TechDaysin agendalla oli kuusi upeaa esitystä. Alkuun AWS:n Antti Kuosmanen kertoi AWS:n avainajatuksista,
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           frugality and innovation
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           , ja miten ne istuvat heidän jokapäiväiseen tekemiseen. Antti on loistava esiintyjä ja huumorilta ei voitu välttyä. Erinomainen ja herättelevä avaus päivään.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Seuraavaksi lauteille astui Webscalen Juho Rautio. Juho on tehnyt pitkään hommia Postilla ja hän kertoikin, miten olemme yhdessä Postin kanssa toteuttaneet niin kutsuttua Standard Infraa. Tällä hetkellä työn alla on jo versio 3.0 ja tavoitteena on saada se syksyllä tuotantoon. Standard infra tukee Postin lukuisia kehittäjätiimejä ja helpottaa tietenkin myös pilven ylläpitoa merkittävästi. Vaikka pakko myöntää, että varsinkin loppuosa esitystä alkoi mennä myyjältä kovaa ja korkealta ohi, niin henkilökohtaisesti pidin tätä mielenkiintoisimpana aiheena. Standardisoinnilla, niin pilven kuin monen muunkin asian,  saavutettavat edut ovat todella merkittäviä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Vielä ennen lounasta kuultiin Webscalen Jukka Ukkosen syväluotaava katsaus aiheesta
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Data Protection in Sovereign Cloud
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           . Jukka on lähes hypnoottista kuunnella. Ammattitaito ja kiinnostus aiheeseen huokuu koko esityksestä. Vaikka ei ehkä ole se kovin hypetysaihe, niin puhutaan äärimmäisen tärkeistä asioista, jotka jokaisen organisaation pitää ottaa huomioon. Kunkin itselleen sopivalla tasolla tietenkin, mikä olikin yksi esityksen kantavista teemoista. Ratkaisu haasteisiin ei ole automaattisesti kiristää ruuvia äärimmilleen, koska siinä käytännön tekeminen voi häiriintyä pahastikin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Vauhti kiihtyy iltapäivällä
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Iltapäivän avasi Postin Muhammad Hassan. Hänen aiheenaan oli
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Maximizing AWS Cost Efficiency
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           . Hassan käsitteli aihetta hyvin konkreettisesti ja kertoi käytännönläheisesti Postin tavoista toimia ja toteuttaa FinOpsia. Monet paikalla olleet yritykset kyselivätkin esityksen jälkeen vinkkejä ja ajatuksia omiin ympäristöihinsä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Seuraavaksi lavalle asteli Thomas Malmberg Mint Securitysta. Aiheena tietoturva. Jos olet pitänyt ko. aihetta tylsänä, pyydä Thomasta puhumaan tapahtumaasi ja muuta käsityksesi. Loistava esitys maustettuna loistavilla visuaaleilla piti yleisön otteeseen alusta loppuun. Esityksessä ei voitu välttää viittauksia Helsingin kaupungin tuoreisiin haasteisiin aiheesta. Samalla myös annettiin työkaluja, miten vastaava voisi välttää omassa yrityksessä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Päivän virallisen osuuden päätti Webscalen Jussi Lehtiniemi. Jussin aiheena oli pilven maturiteetti ja tyypilliset sudenkuopat, sekä tietenkin miten välttää, tai vähintään mitigoida niitä. Sinänsä aiheessa ei varmasti ole isoa mystiikkaa, mutta me kaikki IT-alalla työtä tekevät tiedämme, että näissä asioissa löytyy isompia ja pienempiä haasteita melkein jokaisesta yrityksestä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kiitokset ja yhteenveto
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Iso kiitos kaikille esiintyjille! Ja vielä erityiskiitos kaikille osallistujille. Juontajan hommia helpotti huomattavasti erinomaiset kysymykset yleisöstä. Esitysten jälkeen käytiin loistavia keskusteluja aiheista. Nämä keskustelut jatkuivat myös esitysten ulkopuolella, pienemmissä peer to peer ryhmissä. TechDays tarjoaa nimenomaan erinomaisen paikan jutella kollegoiden kanssa, eri yrityksistä, itselle tärkeistä aiheista.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Summa summarum, käytännönläheistä ja konkreettista asiaa pilven käytöstä ja kehittämisestä yrityksessä. Juuri sitä, mitä tarvitaan, jotta prosessit pyörivät, kehitys menee eteenpäin ja asiat toimivat ensi viikollakin. Tervetuloa siis ensi vuonna TechDaysiin kaikki tiedonnälkäiset, jotka haluavat päivittäiseen arkeen vinkkejä! Jos haluat kovaa hypeä ja ison maailman meininkiä, suosittelen AWS Summitteja. Toki mikään ei estä osallistumasta molempiin!
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           PS. Päivän päätteeksi nautittiin maittava illallinen ja viihteestä vastasi stand up -koomikko Aatu Raitala. Suomen kesäsää säilytti parhaat puolensa ja illallisen jälkeen päästiin nauttimaan kylmiä juomia Krapin kauniissa pihapiirissä. Olipa tänne asti mukaan uskaltautunut muutama asiakaskin webscalereiden lisäksi. Joten varaa ensi vuodeksi kalenteriisi myös iltabileet!
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Teemu-Kuusisto-nettisivut.jpg" alt="A man in a blue shirt is standing with his hands folded and smiling."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Teemu Kuusisto
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Sales Manager
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/IMG_1905--281-29.jpg" length="331942" type="image/jpeg" />
      <pubDate>Tue, 18 Jun 2024 07:15:21 GMT</pubDate>
      <guid>https://www.webscale.fi/webscale-techdays-ja-aws-summit-kuin-kaksi-marjaa</guid>
      <g-custom:tags type="string">Teknologiat,Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/IMG_1905+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/IMG_1905--281-29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Terraform vs. CDK</title>
      <link>https://www.webscale.fi/kysy-konsultilta-terraform-vs-cdk</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme miten Terraform ja CDK  eroavat toisistaan.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Terraform vs. CDK
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Terraform ja AWS Cloud Development Kit (CDK) ovat molemmat työkaluja, joilla voidaan määrittää infrastruktuuri koodina (Infrastructure as Code, IaC). Molemmilla työkaluilla kuvataan ympäristön haluttu tila ns. deklaratiivisesti ja työkalu pitää huolen, että haluttuun tilaan päästään. Tähän loppuivatkin yhtäläisyydet.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           CDK:ssa määritykset kirjoitetaan jollain yleisistä ohjelmointikielistä - esim. TypeScript, Python tai Java - ja käännetään lopulta CloudFormation-koodiksi. Ohjelmointikielen käyttö on usein kehittäjille ennestään tuttua ja se myös mahdollistaa tarvittaessa monimutkaisen logiikan rakentamisen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Terraformissa puolestaan käytetään HashiCorp Configuration Language:a (HCL), joka ei ole useimmille kehittäjille tuttu ja vaatii pientä opettelua. HCL ei ole varsinainen ohjelmointikieli, mutta se tukee tärkeimpiä rakenteita kuten loopit ja ehtolauseet. Nykyään Terraformin kanssa voi käyttää myös CDK for Terraformia (CDKTF), jossa Terraform-koodi tuotetaan samaan tapaan yleisillä ohjelmointikielillä kuin CDK:ssa CloudFormation-koodi.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Myös ympäristön provisiointi ja tilan hallinta eroavat Terraformin ja CDK:n välillä. Terraformin providerit kutsuvat suoraan rajapintoja (API) ja tallentavat tilan tilatiedostoon, joka yleensä on myös jossain pilvipalvelussa. Terraformiin löytyy providereita lähes kaikkiin pilvipalveluihin sekä monien muidenkin yleisten ohjelmistojen hallintaan.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           CDK:ta käytettäessä AWS CloudFormation vastaa resurssien provisioinnista sekä toimii samalla ympäristön tilatietona. Tämän takia CDK sopii käytettäväksi lähinnä vain AWS:n kanssa vaikka CloudFormationin laajennoksilla pystyykin joitain AWS:n ulkopuolisia palveluita hallitsemaan.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Lyhyesti voisi sanoa, että CDK on hyvä valinta, jos käytössä on AWS ja ympäristön - tai koko sovelluksen -  rakentaa sovelluskehittäjä. CDK on hyvä valinta myös silloin, jos ympäristö on pääasiassa AWS:ssä tai CloudFormation on ennestään tuttu. Muulloin valitsisin Terraformin tai CDK for Terraformin, koska ne tarjoavat laajemman tuen, nopeammat päivitykset uusille ominaisuuksille sekä suoremman vuorovaikutuksen hallittavan palvelun kanssa.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           p.s. HashiCorp muutti Terraformin lisenssiehtoja syksyllä 2023. Tämän seurauksena sen rinnalle on tullut avoimen lähdekoodin lisenssin OpenTofu, joka pyrkii pysymään ominaisuuksiltaan Terraformin tasalla.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Antti+some.jpg" alt="A man in a grey sweater is smiling with his arms crossed."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Antti Elonheimo
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale+konsultit.jpg" length="149909" type="image/jpeg" />
      <pubDate>Thu, 23 May 2024 05:44:13 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-terraform-vs-cdk</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale+konsultit.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale+konsultit.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mitä compiler tarkoittaa?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-mita-compiler-tarkoittaa</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mitä compiler tarkoittaa?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mitä compiler tarkoittaa?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Compiler (suom. kääntäjä) on tietokoneohjelma, jolla käännetään korkeamman tason ohjelmointikielellä (esim. Java / TypeScript) kirjoitettu tietokoneohjelma alemman tason kielelle (assembly, machine code, binääri). Eli sillä muunnetaan ohjelman lähdekoodi ihmisen ymmärtämästä muodosta muotoon, jonka tietokone ymmärtää ja pystyy suorittamaan. Kääntämisprosessiin kuuluu useita vaiheita, kuten sanasyntaksianalyysi, parsinta, semanttinen analyysi, optimointi ja koodin generointi.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Alla lyhyt kuvaus näistä vaiheista:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ol&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Sanasyntaksianalyysi: Tässä vaiheessa lähdekoodi jaetaan tokeneihin, kuten avainsanoihin, tunnisteisiin, operaattoreihin ja välimerkkeihin.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
             ﻿
            &#xD;
        &lt;/span&gt;&#xD;
        
            Parsinta: Kääntäjä analysoi koodin rakenteen ohjelmointikielen kieliopin sääntöjen mukaisesti. Tämä luo jäsentämispuiden tai abstraktien syntaksipuiden (AST), jotka edustavat koodin rakennetta.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Semanttinen analyysi: Tässä vaiheessa koodi tarkistetaan semanttisesti oikeelliseksi, kuten tyyppivirheet tai määrittelemättömät muuttujat. Se suorittaa myös tyyppipäätelmän ja varmistaa, että koodi noudattaa kielen sääntöjä.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Optimointi: Monet kääntäjät suorittavat erilaisia optimointeja parantaakseen generoidun koodin tehokkuutta, kuten vakioarvot, silmukoiden purkaminen ja kuolleen koodin eliminointi.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Koodin generointi: Viimeiseksi kääntäjä muuntaa koodin konekoodiksi tai tavukoodiksi suoritettavaksi kohdealustalla. Tämä saattaa sisältää korkean tason ohjeiden muuttamisen konekieliseksi tai suoraan konekoodiksi.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ol&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kun käännösvaihe on valmis, tuloksena olevaa suoritettavaa koodia voidaan ajaa kohdealustalla ilman alkuperäistä lähdekoodia tai itse kääntäjää. Tämä tekee kääntäjistä olennaisia työkaluja ohjelmistokehityksessä, koska ne mahdollistavat ohjelmoijille koodin kirjoittamisen helpommin luettavassa ja ylläpidettävässä muodossa saavuttaen silti tehokkaan suorituksen tietokoneella.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Juha-some--281-29-b460d30c.jpg" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Juha Mustajärvi
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Full Stack Developer
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-7-fa391a52.jpg" length="198789" type="image/jpeg" />
      <pubDate>Fri, 17 May 2024 04:45:17 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-mita-compiler-tarkoittaa</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-7-fa391a52.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-7-fa391a52.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mitkä ovat esitietovaatimukset AWS Cloud Development Kit (CDK) käyttöön?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-mitka-ovat-esitietovaatimukset-aws-cloud-development-kit-cdk-kayttoon</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mitkä ovat esitietovaatimukset AWS Cloud Development Kit (CDK) käyttöön?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mitkä ovat esitietovaatimukset AWS Cloud Development Kit (CDK) käyttöön?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS Cloud Development Kit (CDK) on Infrastructure as Code (IaC) -työkalu, joka mahdollistaa AWS-infrastruktuurin määrittämisen koodina. Koodista syntetisoidaan CloudFormation-template, joka lopulta viedään (deploy) pilviympäristöön. Kaiken voi tehdä CDK CLI -työkalulla ilman, että templatea tarvitsee edes vilkaista, joten vaikka CloudFormation-syntaksin tunteminen voi olla hyödyllistä, se ei ole CDK:n käytössä välttämätöntä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Jotta CDK:n kanssa pääsee alkuun, tarvitaan siis tietenkin ohjelmointikielen osaamista. CDK tukee useita ohjelmointikieliä: TypeScript, JavaScript, Python, Java, C# ja Go. TypeScript on kuitenkin CDK:n natiivikieli, joten sen käyttö on kaikkein luontevinta. Koska CDK:lla luodaan AWS-infraa, on syytä tuntea vähintään niiden AWS-infraresurssien luonteenpiirteitä, joita ollaan rakentamassa. CDK tarjoaa eri tasoisia rakennuspalikoita (kutsutaan CDK:ssa construct:eiksi) L1, L2 ja L3, joista L3-tasoon kuuluu kaikkein ylemmän tason valmiita AWS-pilviratkaisuja, jotka voivat koostua useista AWS-resursseista toistensa kanssa yhteen konfiguroituina. CDK:lla voi siis luoda L3:n avulla pilviratkaisun tietämättä tarkkaan mitä resursseja pellin alla syntyy ja lopulta päätyy pilveen. Syntyvistä resursseista on kuitenkin hyvä tietää jotakin tietoturvan ja kustannusten hallinnan tähden.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           CDK:sta on hyvä tuntea sen keskeisiä käsitteistä ainakin App ja Stack, jotka nekin ovat pohjimmiltaan constructeja. App on sovelluksen ylätason juurielementti, jonka alle kaikki muu rakennetaan. Stack on puolestaan constructi, jota käsitellään aina kokonaisuutena: se viedään pilveen kerralla, se päivitetään ja poistetaan myös kerralla. App voi siis sisältää useita stackeja, mutta koko App:ia ei tarvitse kerralla operoida; yhtä stackia pitää.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Yksi IaC-työkalujen, kuten CDK:n eduista on saada infrastruktuuri versionhallintaan. Näin ollen gitin ja jonkin git-pilviratkaisun, kuten GitHubin tuntemisesta on hyötyä CDK:ta aloittelevalle.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Kokonaisuutena CDK sisältää paljon enemmän konsepteja, kuin mitä tässä ehdimme käsitellä. Kunhan tarkkailet AWS-tilisi kustannuksia ja tietoturvaa, voit lähteä oppimaan CDK:sta lisää kokeilemalla.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Yksi asia vielä - vaikka CloudFormation-syntaksin tunteminen ei ollut CDK:ta käyttääkseen välttämätöntä, tutustuthan silti CloudFormation:iin AWS-konsolissa. Näet sieltä CDK:n pilveen viemät stackit ja infran kunhan olet sillä AWS-regionilla, johon CDK:lla olet infraa vienyt.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Pidä hauskaa CDK:n tutustumisen parissa!
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Johan-nettisivut+%281%29.jpg" alt="A man in a grey sweater is smiling for the camera"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Johan Stenroth
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-57+%281%29.jpg" length="198302" type="image/jpeg" />
      <pubDate>Mon, 13 May 2024 06:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-mitka-ovat-esitietovaatimukset-aws-cloud-development-kit-cdk-kayttoon</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-57+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-57+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Miten FinOps auttaa pilvikustannuksissa?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-miten-finops-auttaa-pilvikustannuksissa</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, miten FinOps auttaa pilvikustannuksissa?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Miten FinOps auttaa pilvikustannuksissa?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           FinOps, eli Financial Operations, on toimintamalli ja työskentelykulttuuri, jonka avulla yritykset voivat varmistaa, että ne saavat pilvipalveluista parhaan mahdollisen hyödyn. Keskeisimpiä FinOpsin tavoitteita ovat muun muassa:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Alentaa pilvikustannuksia optimoimalla pilvipalveluiden käyttöä.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Parantaa pilvipalveluiden suorituskykyä ja varmistaa, että ne tukevat liiketoiminnan tarpeita.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Lisätä läpinäkyvyyttä pilvikustannuksiin ja tehdä dataan perustuvia päätöksiä.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           FinOpsin onnistuminen edellyttää avointa kommunikaatiota ja yhteistyötä IT-osaston, taloushallinnon ja liiketoiminnan välillä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           FinOps on jatkuva prosessi, joka koostuu kolmesta päävaiheesta:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Inform (Tiedosta)
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Kerää tietoa pilvikulutukseesi ja -kustannuksiin liittyvistä tekijöistä.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Analysoi tietoa ja tunnista mahdolliset parannuskohteet.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Optimize (Optimoi)
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Määrittele tavoitteet pilvikustannusten hallinnalle ja luo periaatteet pilvipalveluiden käyttöön.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Toteuta muutoksia pilvipalveluiden käyttöön ja resurssien allokointiin.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Operate (Suorita / Hallinnoi)
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Seuraa pilvikulutustasi ja varmista, että tavoitteet saavutetaan.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Tee tarvittaessa muutoksia pilvipalveluiden käyttöön ja resurssien allokointiin.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Ps. Olemme käsitelleet FinOpsia myös meidän Pilvipilotit -podcastin tuoreella toisella tuotantokaudella. Vieraana AWS:n Data Champion Nordics, Sr. Solutions Architect Veli-Matti Ojala. Voit ottaa kyseisen jakson kuunteluun
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="/podcast-kausi-2"&gt;&#xD;
      
           tästä.
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Heka-nettisivut.jpg" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Heikki Ma
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-12+%281%29.jpg" length="210629" type="image/jpeg" />
      <pubDate>Fri, 03 May 2024 04:58:11 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-miten-finops-auttaa-pilvikustannuksissa</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-12+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-12+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mikä on AWS Landing Zone? (Miten AWS Control Tower liittyy Landing Zoneen?)</title>
      <link>https://www.webscale.fi/kysy-konsultilta-mika-on-aws-landing-zone-miten-aws-control-tower-liittyy-landing-zoneen</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mikä on AWS Landing Zone?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mikä on AWS Landing Zone? (Miten AWS Control Tower liittyy Landing Zoneen?)
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS Landing Zone on käsite, joka tarkoittaa hyvin suunniteltua, skaalautuvaa ja turvallista monitiliympäristöä isoille ja myös pienemmille organisaatioille, jotka operoivat useita AWS-tilejä. Landing Zonen rakentamiseen ei ole yhtä oikeaa tapaa vaan yleensä ratkaisu suunnitellaan organisaation tarpeiden mukaan. Yleensä Landing Zoneen kuuluvat vähintään seuraavat osa-alueet:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           - Sovellusten ja työkuormien hallinnollinen eriyttäminen (ajoympäristöt)
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Yksi AWS-tili / sovellus / ympäristö.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Least privilege -periaatteen noudattaminen tiimeille. Tiimillä on pääsyt vain niille AWS-tileille, joiden kanssa he työskentelevät.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           - Tietoturvakontrollien eriyttäminen
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Eri tileillä tai tiliryhmillä voi olla erilaiset tietoturvakontrollit, esimerkiksi tuotantotileille voi olla rajatummat oikeudet kun kehitysympäristön tileille.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Tietoturvariskien rajaaminen onnistuu helpoiten tilikohtaisella eriyttämisellä.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            AWS-tili on vahvasti eristetty muista AWS-tileistä automaattisesti.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           - Tietovarantojen eristäminen
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Sensitiivisten tietovarantojen eristäminen omalle AWS-tilille mahdollistaa vahvan kontrollin siihen kuka tietoihin pääsee käsiksi.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           - Laskutuksen kohdentaminen
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Isossa organisaatiossa AWS-laskutuksen kohdentaminen sovellus- tai ympäristökohtaisesti on tärkeää. Jos sovellus on omalla AWS-tilillään tämä on helpompaa.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            AWS Control Tower on AWS:n tarjoama managed service -ratkaisu Landing Zonen rakentamiseen. Control Tower luo AWS:n parhaiden käytäntöjen mukaisen Landing Zone -ympäristön, jossa perusasiat kuten tietoturvakontrollit ovat oletusarvoisesti kunnossa. Control Tower rakentaa monitiliympäristön AWS Organizations -palvelun päälle, joka mahdollistaa tilien jakamisen organisaatioyksikköihin tarpeen mukaan. Tämä mahdollistaa erilaisten policyjen ja AWS-resurssien automaattisen luonnin automaattisesti joko organisaation kaikille tileille tai valinnaisesti organisaatioyksiköille. Control Tower ottaa myös haluttaessa automaattisesti käyttöön muita AWS-organisaatioiden hallintaan käytettäviä tuotteita kuten Single Sign On -kirjautumisen IAM Identity Center -palvelun kautta. Tärkeät tietoturvaan liittyvät lokit ja hälytykset kerätään keskitetysti mm. CloudTrail, Config ja Guard Duty palveluista. Uusien AWS-tilien luonti ja perustason konfigurointi tapahtuu Control Tower Account Factory -toiminnallisuuden kautta. Tämä helpottaa tilien luontia, ja tilien luonti on myös automatisoitavissa Account Factoryn kautta.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Control Towerin käyttöönotto on suositeltavaa heti kun organisaatiolla on käytössään useampi AWS-tili, joita halutaan hallita keskitetysti.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Jussi-Lehtiniemi-1+nettisivut+%281%29.jpg" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Jussi Lehtiniemi
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Cloud Architect
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-31+%282%29.jpg" length="130531" type="image/jpeg" />
      <pubDate>Fri, 26 Apr 2024 05:38:53 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-mika-on-aws-landing-zone-miten-aws-control-tower-liittyy-landing-zoneen</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-31+%282%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-31+%282%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mitä on DevSecOps?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-mita-on-devsecops</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mitä on DevSecOps?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mitä on DevSecOps?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tietoturvan tulisi olla suuressa roolissa organisaatioissa, koska onnistuneella hyökkäyksellä voi olla tuntuvia vaikutuksia organisaation maineeseen ja toimintaan. On myös hyvä tiedostaa, ettei järjestelmä voi olla kovin laadukas, mikäli tietoturvaa ei ole huomioitu. Tällöin myös tuotantoympäristöön päätyy helposti vakaviakin tietoturvaongelmia. Tästä syystä tietoturvaan tulisi kiinnittää huomiota myös ohjelmistokehitysprosessissa, ja mieluiten mahdollisimman aikaisessa vaiheessa ohjelmistokehitysprosessia, sillä myöhään havaitut tietoturvaongelmat ovat monesti kalliimpia ja työläämpiä korjata sekä ne myös estävät/viivästyttävät julkaisuja.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Termi “DevSecOps” (Development, Security, Operations) tarkoittaa sitä, kun tietoturva tuodaan kokonaisvaltaisesti mukaan
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.webscale.fi/04/2023/kysy-konsultilta-mita-jokaisen-kannattaa-ymmartaa-devopsista" target="_blank"&gt;&#xD;
      
           DevOps:ia
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            noudattavaan ohjelmistokehitysprosessiin. Ideana on, että tietoturva on yhteinen vastuualue kaikkien ohjelmistokehitysprosessiin liittyvien tahojen kesken. Tämä edellyttää erillisen “security” tiimin siilon rikkomista, sillä erillinen “security” tiimi ei ole enää yksinomaan vastuussa tietoturvasta. DevSecOps ei itsessään tarkoita mitään nimenomaista prosessia, vaan tietoturvan huomioimista prosessin jokaisessa vaiheessa erilaisilla tarkoituksenmukaisilla tavoilla. Se siis on menetelmä ohjelmistokehitysprosessin parantamiseksi tietoturvan näkökulmasta. Käytännössä tämä tarkoittaa erilaisia toimintamalleja, työkaluja ja teknologioita joiden avulla tietoturvaa saadaan parannettua, kuten esimerkiksi estämään tehokkaammin erilaisten tietoturvaongelmien päätymistä tuotantojärjestelmään. Näin päästään tilanteeseen, jossa tietoturvaa aletaan toteuttaa aiemmassa vaiheessa ohjelmistokehitysprosessia verrattuna perinteiseen malliin, jossa tietoturvaan keskittyvä testaus tehdään vasta kehityksen jälkeen.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           DevOps:in käytäntöjen mukaisesti tietoturvaan liittyviä tehtäviä pyritään myös automatisoimaan. Esimerkiksi, kun turvallisuustestaus on automatisoitu ja osana CI/CD-putkea, niin erilaisia tietoturvaongelmia, kuten haavoittuvuuksia voidaan huomata aikaisessa vaiheessa prosessia. Lisäksi automatisointi myös estää tehokkaasti ettei tietoturvasta tule pullonkaulaa ja siten aiheuta viivästyksiä julkaisuille.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Yleisiä menetelmiä DevSecOps:in yhteydessä ovat esimerkiksi uhkamallinnus, tietoturvaan liittyvien käytäntöjen ja periaatteiden noudattaminen suunnittelun ja kehityksen yhteydessä, tietoturvaongelmien tunnistaminen ohjelmakoodista automaattisesti staattisen analyysin avulla (SAST), haavoittuvuuksien tunnistaminen järjestelmän riippuvuuksista (SCA), järjestelmän automaattinen turvallisuustestaus (DAST/IAST), arkaluontoisen tiedon skannaus, penetraatiotestaus ja informatiivinen lokitus. DevSecOps:iin liittyy myös jatkuva monitorointi hälytyksineen tietoturvan näkökulmasta, ja lisäksi toimintamalleja liittyen miten erilaisiin tietoturvatapahtumiin reagoidaan.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Eli DevSecOps ohjaa tiimejä suunnittelemaan ja kehittämään järjestelmää tietoturvallisella tavalla. Tietoturvan ei tulisi olla päälleliimattu osa ohjelmistokehitysprosessia, koska siten ei saavuteta kaikkia hyötyjä DevSecOps:ista. Tähän auttaa, että koko organisaatiossa toteutetaan tietoturvaa suunnitelmallisesti, jatkuvasti ja kokonaisvaltaisesti luoden ja parantaen organisaation sisäistä kulttuuria tietoturvaan liittyen. Tämä käsittää myös sen, että itse DevSecOps:ia noudattavaa ohelmistokehitysprosessia sekä käytettäviä menetelmiä parannetaan jatkuvasti. Näin päästään tilanteeseen, jossa kaikki ohjelmistokehitysprosessin osalliset tahot ovat paremmin tietoisia erilaisista tietoturvaan liittyvistä asioista. Ja ennen kaikkea he pystyvät toteuttamaan tietoturvaa entistäkin paremmin ottaen myös huomioon organisaation ja eri järjestelmien tarpeet ja vaatimukset.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Jukka.U+%281%29.jpg" alt="A man in a blue hoodie is standing with his arms crossed."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Jukka Ukkonen
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-11-a037df51.jpg" length="195760" type="image/jpeg" />
      <pubDate>Fri, 19 Apr 2024 05:10:50 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-mita-on-devsecops</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-11-a037df51.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-11-a037df51.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mikä on Serverless Framework?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-mika-on-serverless-framework</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mikä on Serverless Framework?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mikä on Serverless Framework?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Serverless Framework on nimensä mukaisesti ohjelmistokehys palvelittomien sovellusten kehittämiseen, joka kehitettiin alunperin AWS Lambdaa varten sen mullistaessa palvelittoman arkkitehtuurin suosion. Nykyään ohjelmistokehyksellä voidaan kehittää palvelittomia sovelluksia AWS:n lisäksin myös usealla muulla pilvialustalla tunnetuimpina esimerkiksi Google Cloud Platform ja Microsoft Azure.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Serverless Framework helpottaa ohjelmistokehittäjän työtä tarjoamalla helposti lähestyttävän konfiguraatiotiedoston YAML-syntaksilla minkä avulla voidaan määrittää lukuisia infraresursseja kuten AWS Lambda -funktiot ja niiden tarvitsemat tapahtumalähteet. Konfiguraatiotiedosto tukee myös CloudFormation-syntaksia, mikä mahdollistaa käytännössä melkein minkä tahansa AWS-resurssin luomisen. Helposti määriteltävien resurssien avulla kehittäjä pystyy keskittymään paremmin sovelluslogiikkaan ja koodiin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Serverless Framework mahdollistaa siis sovelluksen kokonaisvaltaisen kehityksen sisältäen sovelluskoodin ja infran. Lisäksi se tarjoaa työkalut molempien samanaikaiseen julkaisuun. Serverless Framework soveltuu erinomaisesti mikropalveluarkkitehtuuriin, mutta sitä voidaan käyttää myös isommissa projekteissa. Huonona puolena mainittakoon mahdolliset haasteet lokaalissa kehittämisessä ja testauksessa, mitkä saattavat olla haastavia pilviresurssien riippuvuuksien takia. Nykyään siihenkin ongelmaan löytyy kuitenkin usein valmiita liitännäisiä.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Mika-284006b6.png" alt="A man wearing a grey sweater is smiling for the camera."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mika Catani
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Cloud Solutions Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-4-6f3c47ea.jpg" length="254457" type="image/jpeg" />
      <pubDate>Fri, 12 Apr 2024 07:17:24 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-mika-on-serverless-framework</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-4-6f3c47ea.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-4-6f3c47ea.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mitä tarkoittaa kuluoptimointi pilviympäristössä?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-mita-tarkoittaa-kuluoptimointi-pilviymparistossa</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mitä tarkoittaa kuluoptimointi pilviympäristössä?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mitä tarkoittaa kuluoptimointi pilviympäristössä?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tarpeettoman korkeat ja hallitsemattomasti kasvavat pilvikulut ovat toistuva ongelma eri ympäristöissä. Eri palveluntarjoajat (Amazon Web Services, Azure, Google Cloud Platform) tarjoavat pääsääntöisesti tietoja läpinäkyvästi siitä, mitä asiat maksavat. Hankalaksi kulujen seuraamisesta tekee niiden jyvittyminen lukuisiin pienempiin menoeriin, ja mahdolliset palveluiden liitännäiskulut jotka eivät näy yksittäisen palvelun hintalapulla.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Pääsääntöisesti pilviresurssien pystyttäjä ei ole sama henkilö, joka maksaa ympäristön kulut. Yksittäisen tekijän insentiivinä valitettavan harvoin on miettiä perustettavista resursseista syntyviä välittömiä ja välillisiä kuluja, silloin kun tavaraa on tarkoitus saada kovaan ajoon. Eikä tekijällä välttämättä ole kokemusta ympäristön kulutuksen arvioinnista.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Muutamia yleisiä ongelmia:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           - Pilviresursseja pystytetään, mutta tarpeettomia resursseja ei poisteta. Vanhaa tavaraa jää olemaan, ja ilmaan jää leijumaan epävarmuus siitä mitkä niistä ovat enää välttämättömiä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           - Pilvialustan palveluita ei käytetä tavalla joka on kustannustehokasta ja keskitettyä. Joitakin resursseja provisioidaan tarpeettoman monta kertaa, vaikka vähemmälläkin pärjäisi oikein hyvin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           - Ongelmien lyhytnäköinen ratkominen. Ongelmat korjataan liian usein nopeasti, ei kunnolla.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Pilviympäristöä tulisi aina miettiä kokonaisuutena, jossa on hyödynnetty mahdollisuudet keskitettyjen palveluiden (esimerkiksi verkkoarkitehtuuri, sovelluksien yhteiset palvelut) käytössä turhien resurssien perustamisen estämiseksi. Hyvin mietitty ja suunniteltu alustakokonaisuus torjuu useimpia yllättäviin kuluihin liittyviä ongelmia. Suunnittelun huomiointi mahdollisimman aikaisessa vaiheessa vähentää kitkaa muutoksiin myöhemmin ja johtaa edullisempiin pilvikuluihin koko elinkaaren aikana. Orgaanisesti ilman riittävää koordinointia ja suunnitelmallisuutta syntyvä ympäristö taas ei.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mitä keinoja meillä on kulujen pitämiseen kurissa?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           - Pilvialustan budjettirajojen käyttö. Tyypillistä on, että käyttö ja kustannukset lisääntyvät käsi kädessä, mutta rajojen ylittämisen tulee herättää hieman pohdintaa siitä, onko kasvu ollut tarkoituksenmukaista.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           - Kulutuspoikkeaminen tunnustaminen automaattisilla työkaluilla ja silmämääräisesti. Säännöllinen seuranta ja pelkästään jo silmämääräisellä arvioinnilla on mahdollista tunnistaa tarpeettomia menoeriä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           - Hyvien tag -käytäntöjen luominen. Tagien käyttäminen ympäristön resurssien luokitteluun ja seurantaan mahdollistaa tehokkaampaa kuluerottelua ja auttaa hallinnassa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           - Ympäristöjen hallittu ja suunniteltu perustaminen. Tarkoituksenmukainen ympäristöjen käyttö ja perustaminen säästää kustannuksia pitkällä aikavälillä ja auttaa karsimaan tarpeettomien resurssien syntymistä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           - Vanhentuneiden resurssien ottaminen pois käytöstä ja siivoaminen aktiivisesti. Tontti on helpompi pitää siistissä hallinnassa, kun siellä on vähemmän tavaraa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           - Säästöohjelmien käyttö missä mahdollista.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           - Jatkuva kulujen muutoksen seuranta mahdollistaa ongelmien tunnistamisen aikaisessa vaiheessa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Osaavan silmäparin ja kumppanin hyödyntäminen ympäristön pitkäjänteisessä suunnittelussa vähentää tarpeettomia kuluja kaikkien vuosien aikana, joina ympäristö on käytössä. Vähänkään isommissa ympäristöissä pienikin määrä työtä voi säästää jopa tuhansia euroja kuukaudessa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/8d1087d0-b0a1-48f9-aaa6-c5e8cd9e577b.png" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Teemu Ala-Järvenpää
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Cloud Specialist
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-41-ffd14486.jpg" length="99106" type="image/jpeg" />
      <pubDate>Fri, 05 Apr 2024 04:41:17 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-mita-tarkoittaa-kuluoptimointi-pilviymparistossa</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-41-ffd14486.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-41-ffd14486.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Miten AWS Step Functions liittyy AWS Lambdaan?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-miten-aws-step-functions-liittyy-aws-lambdaan</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, miten AWS Step Functions liittyy AWS Lambdaan?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Miten AWS Step Functions liittyy AWS Lambdaan?
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS Step Functions tarjoaa visuaalisen työkalun hajautettujen järjestelmien integrointiin ja työnkulun orkestrointiin. Step Functions helpottaa löyhästi kytkettyjen järjestelmien toteuttamista tarjoamalla havainnollisen tavan sovittaa järjestelmät luotettavasti toisiinsa. Esimerkiksi viestin tuottajan ja kuluttajan ei tarvitse tuntea toisiansa eikä toistensa rajapintoja. Step Functions voi muokata viestin rakennetta ja huolehtia viestin luotettavasta perillemenosta suorittamalla virhetilanteissa mahdolliset uudelleenyritykset ja vaihtoehtoiset toiminnot.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Step Functions perustuu tilakonemalliin, jossa tiloihin voi liittyä tehtävien suorittamista, syötteen prosessointia sekä tilasiirtymälogiikkaa. Nämä kuvataan sisäisesti Amazon States Language -kuvauskielellä, joka on voidaan esittää JSON- tai YAML-formaatissa. AWS-konsolissa tilakone esitetään interaktiivisesti muokattavana tilakaaviona. Tilakoneen suorituksen etenemistä voi myös seurata suoraan tilakaaviosta ja historiasta voi hakea aiempia suorituksia tarkasteltavaksi.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Tilakonemalli tukee tehtävien peräkkäistä ja rinnakkaista suoritusta sekä ehdollista haarautumista ja tehtävien ajastusta. Virhetilanteiden toimintalogiikka voidaan määrittää jokaiseen tilaan yksilöllisesti.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           AWS Lambda -funktio on hyvin yleisesti käytetty tilakoneen tehtävätyyppi. Lambda-funktiolla voidaan toteuttaa kevyesti pieniä operaatioita, jotka käsittelevät tehtävän syötettä ja esimerkiksi kutsuvat integraatioon liittyviä rajapintoja. Lambda-funktiota kannattaa kuitenkin käyttää vain silloin kun tilakoneen kuvauskielen ilmaisuvoima ei riitä tarvittavan käyttäytymisen toteuttamiseen.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Lauri+%281%29.jpg" alt="A man wearing glasses and a brown sweater is standing with his arms crossed."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Lauri Siponen
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Cloud Architect
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-44+%281%29.jpg" length="160099" type="image/jpeg" />
      <pubDate>Fri, 22 Mar 2024 05:56:41 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-miten-aws-step-functions-liittyy-aws-lambdaan</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-44+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-44+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mitä tarkoittaa uudelleenkäytettävät CI/CD pipelinet/jobit?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-mita-tarkoittaa-uudelleenkaytettavat-ci-cd-pipelinet-jobit</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mitä tarkoittaa uudelleenkäytettävät CI/CD pipelinet/jobit?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mitä tarkoittaa uudelleenkäytettävät CI/CD pipelinet/jobit?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           CI/CD (continous integration/continous deployment) on menetelmä, jossa järjestelmän muutokset integroidaan ja julkaistaan automaattisesti. Tyypillisesti julkaisuprosessi koostuu muutosten testaamisesta ja katselmoinnista, sekä uuden version julkaisemisesta. CI/CD menetelmässä nämä vaiheet pyritään automatisoimaan mahdollisimman pitkälle, ja järjestelmästä riippuen tämä voidaan saavuttaa esimerkiksi uudelleenkäytettävillä julkaisuputkilla (pipeline) tai tehtävillä (job).
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           CI/CD menetelmän voi toteuttaa mm. tarkoitukseen rakennetulla järjestelmällä, kuten Jenkinsillä tai se voi olla osa versionhallintajärjestelmää, kuten GitHubissa. Yksinkertaisimmillaan julkaisuputki toteutetaan projektikohtaisesti, jolloin se toimii vain kyseisen projektin julkaisua varten. Tämä lähestymistapa voi olla riittävä, mutta projektikohtaisen lähestymistavan sijaan uudelleenkäytettävät julkaisuputket ja tehtävät tarjoavat tehokkaamman tavan automatisoida julkaisuprosessi.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Uudelleenkäytettävien julkaisuputkien/tehtävien hyötyjä ovat mm. testattavuus, yhdenmukaisuus ja ylläpidon helppous. Testien avulla huolehditaan julkaisuputken odotetunlaisesta toiminnasta ja ne toimivat osaltaan julkaisuputken dokumentaationa. Yhdenmukaisuuden avulla voidaan soveltaa yhdessä sovittuja parhaita käytäntöjä kaikkiin organisaation projekteihin. Julkaisuputken ylläpito helpottuu, kun päivitykset ja korjaukset voidaan toteuttaa keskitetysti. Parhaimmillaan CI/CD järjestelmä tarjoaa valmiita julkaisuputkia/tehtäviä, joiden myötä ylläpitovastuuta ja testausta voidaan ulkoistaa. Esimerkiksi GitHub tarjoaa
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://github.com/marketplace?type=actions" target="_blank"&gt;&#xD;
      
           markkinapaikan
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            , jossa kehittäjät voivat julkaista omia uudelleenkäytettäviä tehtäviä. Hyvä esimerkki uudelleenkäytettävästä tehtävästä on GitHub:n
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://github.com/marketplace/actions/checkout" target="_blank"&gt;&#xD;
      
           Checkout-action
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
           , jonka avulla kehittäjä pystyy lataamaan projektinsa lähdekoodin git-varastosta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Järjestelmästä ja projektista riippumatta uudelleenkäytettävien julkaisuputkien ja tehtävien merkitystä on vaikea ylikorostaa. Niitä hyödyntämällä voidaan vapauttaa kehittäjien aikaa julkaisuprosessin ylläpitämisestä ja kohdistaa se projektin kehittämiseen. Kannattaa tutustua omassa projektissa tapahtuviin prosesseihin ja pohtia, voisiko niistä tehdä automaattisia tai jopa uudelleenkäytettäviä julkaisuputkia ja tehtäviä.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Janne-nettisivut.jpg" alt="A man with a beard is standing with his arms crossed and smiling."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Janne Lavila
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Fullstack Developer
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-46-3c0d476e.jpg" length="145721" type="image/jpeg" />
      <pubDate>Fri, 15 Mar 2024 06:12:11 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-mita-tarkoittaa-uudelleenkaytettavat-ci-cd-pipelinet-jobit</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-46-3c0d476e.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-46-3c0d476e.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mitä tarkoittaa NoSQL?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-mita-tarkoittaa-nosql</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mitä tarkoittaa NoSQL?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mitä tarkoittaa NoSQL?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           NoSQL
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           SQL (Structured Query Language) on deklaratiivinen, standardoitu kyselykieli tietokantadatan käsittelyyn. NoSQL-termin merkitys on epämääräisempi. Se voi tarkoittaa ettei tietokanta tue SQL:ää ollenkaan (No SQL) - tai se voi tarkoittaa, ettei SQL-tuki ole ainoa tietokannan käytettävissä oleva kyselykieli (Not only SQL). NoSQL-kannat yleistyivät 2000-luvun ensimmäisen vuosikymmenen lopulla, jolloin tiedon varastoinnin hinnat laskivat voimakkaasti.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           NoSQL-kantojen ominaisuudet vaihtelevat, mutta yleisominaisuutena SQL-kannoista poiketen, NoSQL-kannat varastoivat dataa tyypillisesti kuitenkin muuten kuin taulukkomaisessa muodossa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           NoSQL-kannat ovat nopeita, joustavaskeemaisia, horisontaalisesti hyvin skaalautuvia, ja ne voivat parhaimmillaan olla kehittäjille paljon helpompia käyttää kuin tauluihin perustuvat SQL-kannat. Esimerkiksi key-value -kannat (yksi NoSQL-kantojen päätyypeistä) tarjoavat helposti lähestyttävän kantaratkaisun.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           CAP-teoreeman (Consistency, Availability, Partition tolerance) näkökulmasta useat NoSQL-kannat joustavat eheydessä (engl. consistency) samalla saatavutta (engl. availability) priorisoiden.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Sopivia käyttötapauksia NoSQL-kannoille ovat esimerkiksi:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ol&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Sovellukset, joissa käsitellään valtavia datamääriä
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Mikropalveluarkkitehtuuria noudattavat sovellukset ja datastriimaus
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Prototyyppien ja Proof of Concept (POC) -sovellusten nopea rakentaminen
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ol&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://db-engines.com/en/ranking" target="_blank"&gt;&#xD;
      
           DB-engines -sivuston
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            mittausten mukaan (tarkistettu tammikuussa 2024) maailman suosituimpia NoSQL-tietokantoja olivat MongoDB, Redis ja Elasticsearch. Kaikista tietokannoista suosituin NoSQL-kanta oli MongoDB viidennellä sijalla neljän perinteisen SQL-relaatiokanna jälkeen.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Väärinkäsityksiä
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Yleinen väärinkäsitys on, että relaatiodata sopii aina parhaimmin juuri relaatiokantaan. Sopivimman tietokannan valintaperusteisiin vaikuttaa useampi tekijä. Monet NoSQL-kannat tukevat relaatioita; ne vain tekevät sen eri tavoin, eikä dataa tarvitse hajauttaa eri tauluihin. Esimerkiksi JSON-muotoiseen dokumenttidatamalliin perustuvissa NoSQL-tietokannoissa relaatioita voidaan sisällyttää dataan sisäkkäisyyksien avulla.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Moni NoSQL-tietokanta tukee myös ACID-transaktioita, vaikka helposti ajatellaan ettei ominaisuus ole NoSQL-kannoissa saatavilla. ACID-transaktiotuki on saatavilla esimerkiksi AWS DynamoDB- ja MongoDB -kannoissa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           NoSQL-taulujen päätyyppejä
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           NoSQL-tietokantojen voidaan sanoa vakiintuneen neljäksi päätyypiksi.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           1) Dokumenttikantoihin, joihin talletetaan dokumenttityyppisiä tietueita, kuten JSON-rakenne. Esimerkiksi AWS DynamoDB ja MongoDB tukevat dokumenttidatamallia.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            2) Key-value -kantoihin, joissa tietueet nimensä mukaisesti ovat avain-arvo -pareja. Esimerkiksi Redis ja AWS DynamoDB ovat avain-arvo -kantoja.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           3) Wide-Column -kantoihin, joissa dataa varastoidaan taulukoihin, riveihin ja dynaamisiin sarakkeisiin. Apache Cassandra ja sen kanssa yhteensopiva AWS Keyspaces ovat Wide-Column -tietokantoja.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           4) sekä Graafikantoihin, jotka sopivat vahvasti verkottuneelle datalle, jossa varastoidaan sekä yhtymäkohtia (engl. node), että niiden välisiä kaaria (engl. edge). Kaaret voivat sisältää tietoa yhtymäkohtien välisistä suhteista, kuten ihmisten välisistä sukulaissuhteista tai kaupunkien välisistä kulkuyhteyksistä. Neo4j ja Amazon Neptune ovat esimerkkejä graafikannoista.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Johan-nettisivut+%281%29.jpg" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Johan Stenroth
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-57+%281%29.jpg" length="198302" type="image/jpeg" />
      <pubDate>Fri, 08 Mar 2024 06:06:09 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-mita-tarkoittaa-nosql</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-57+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-57+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Kannattaako AWS:ssä käyttää "encryption at rest" -asetusta ja miksi?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-kannattaako-aws-ssa-kayttaa-encryption-at-rest-asetusta-ja-miksi</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, kannattaako AWS:ssä käyttää "encryption at rest" -asetusta ja miksi?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kannattaako AWS:ssä käyttää "encryption at rest" -asetusta ja miksi?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            "Encryption at rest" -asetus liittyy datan salaamiseen levossa. Levossa oleva data tarkoittaa esimerkiksi tietokantaan tai kiintolevylle tallennettua dataa, jota ei käytetä aktiivisesti. Datan salaaminen itsessään tarkoittaa selkokielisen datan muuttamista salattuun muotoon (salatekstiksi) salausavainta ja -algoritmia käyttäen. Datan pystyy muuttamaan tästä salatusta muodosta takaisin selkokieliseen muotoon (eli purkamaan salauksen) vain salausavaimella.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Datan salaaminen levossa on yleinen tietoturvaan liittyvä vaatimus etenkin arkaluonteiselle datalle, koska levossa(kaan) oleva data ei ole turvassa. Hyökkääjä voi päästä käsiksi levossa olevaan dataan esimerkiksi pääsemällä käsiksi palvelimen kiintolevyyn ja sitä kautta sen sisältämään dataan. Hyökkääjän on paljon vaikeampi saada selkokielistä dataa, kun data on salattu kiintolevyllä. Myös eri vaatimukset esimerkiksi GDPR ja PCI DSS edellyttävät arkaluonteisen datan salaamista levossa. Tietoturvan kokonaisuuden kannalta käytössä tulisi olla myös muita suojausmenetelmiä kuin pelkästään datan salaaminen.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Monet AWS-palvelut salaavat dataa levossa joko oletusarvoisesti tai erillisten konfiguraatioiden avulla. Tällaisia palveluja ovat esimerkiksi RDS, DynamoDB, S3, EBS, EFS ja CloudWatch.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Salausavainten hallinta on myös suuressa roolissa datan salauksen kanssa. Salausavainten hallinnassa tulee ottaa huomioon esimerkiksi avainten säilytys, elinkaari/rotatointi ja salausavaimiin liittyvä käyttöoikeuksien hallinta. Tähän myös liittyy vahvasti identiteetin- ja pääsynhallinta (IAM), sillä käyttöoikeuksia esimerkiksi dataan ja salausavaimiin liittyen on hyvä hallita roolien avulla ja käyttöoikeuksien tulisi olla tarkasti rajattuja. Käyttöoikeuksiin liittyen on hyvä käytäntö, että roolilla olisi niin vähän käyttöoikeuksia kuin mahdollista ja niiden tulisi olla voimassa mahdollisimman lyhyt aika. AWS tarjoaa KMS (Key Management Service) ja CloudHSM -palvelut, joita voidaan käyttää avainten hallintaan. Lisäksi AWS IAM-palvelua käytetään identiteetin- ja pääsynhallintaan.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Näihin syihin perustuen suosittelen käyttämään "encryption at rest" -asetusta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Jukka.U+%281%29.jpg" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Jukka Ukkonen
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-34+%281%29.jpg" length="179390" type="image/jpeg" />
      <pubDate>Mon, 26 Feb 2024 09:10:49 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-kannattaako-aws-ssa-kayttaa-encryption-at-rest-asetusta-ja-miksi</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-34+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-34+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Miten ja missä Terraformia voidaan hyödyntää?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-miten-ja-missa-terraformia-voidaan-hyodyntaa</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, miten ja missä Terraformia voidaan hyödyntää?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Miten ja missä Terraformia voidaan hyödyntää?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           HashiCorpin Terraform on työkalu pilvi-infrastruktuurin määrittelemiseen. Terraform tukee useamman pilvialustan konfigurointia, valmiit työkalut tukevat laajalti ainakin AWS-, Azure ja GCP-resursseja ja periaatteessa näitä voi myös laajentaa omiin tarpeisiinsa, koska Terraform on julkaistu avoimena lähdekoodina rajatummalla Business Source Lisenssillä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Terraformin resurssit kuvataan yksinkertaisena koodina deklaratiivisesti, eli määritellään mikä on haluttu tavoitetila resursseille. Ajettaessa Terraform luo ja päivittää olemassa olevat resurssit vastaamaan tätä annettua tavoitetilaa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Terraform ja pilvialustaspesifiset vastaavat työkalut kuten AWS:n CloudFormation ovat kriittisiä työkaluja siihen, että pilvi-infrastruktuuri voidaan määritellä versioituina dokumentteina, joiden perusteella infrastruktuurista tulee hyvin määriteltyä, monistettavaa ja automatisoitavaa. Lähtökohtaisesti ajattelen, että mitään tuotannossa ajettavaa pilvi-infraa ei pitäisi tehdä ilman näitä Infra as Code (IaC) -työkaluja.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Terraform mahdollistaa myös organisaation käyttämien omien moduulien rakentamisen, jolloin organisaation kaikki tiimit voivat käyttää samalla tavalla rakennettua pilvi-infraa eikä kehitystiimien tarvitse jokaisen tehdä omaa ympäristöään. Moduulien myötä voidaan myös viedä keskitetysti uusia päivityksiä infraan ilman, että tiimien tarvitsee erikseen muuttaa mitään omassa konfiguraatiossaan.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Terraform puolustaa paikkaansa tilanteissa, joissa halutaan hallita useammassa pilvessä ajattavia palvelinympäristöjä. Se on aiemmin myös osoittautunut saavan hieman nopeammin uusia ominaisuuksia tiettyjen uusien palveluiden osalta kuin vaikka CloudFormation. Kääntöpuolena CloudFormationin kanssa AWS tarjoaa paljon palveluita, jotka tukevat CloudFormationin käyttöä ja sen tilan ylläpitoa. Terraformilla olevilla resursseilla ei ole AWS-pilvessä myöskään samanlaista stack-ryhmittelyä kuin CloudFormationilla luoduilla resursseilla.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Kaikissa näissä työkaluissa tulee vielä organisaatiotasolla käytettäessä vastaan se, että niiden lisäksi on tarpeen käyttää vielä uusia työkaluja, jotka mahdollistavat lukuisten tilien hallinnan ja kaikille tileille näiden resurssien luomisen keskitetysti. Nämä työkalut tuntuu olevan rakennettu tukemaan vain yhtä IAAS-työkalua kukin. Terraformille on ainakin TerraGrunt, CloudFormationille Sceptre ja vaikkapa Takomo.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Kaikkiaan nykyisessä pilvi-infran kehitysvaiheessa organisaatioiden pitäisi lähtökohtaisesti rakentaa kaikki infransa jollakin IaC-työkalulla, ja vain pääkäyttäjätunnusten luomisen ja 2FA-avainten hallinnan pitäisi olla manuaalinen prosessi. On hyödyllistä tarjota kehittäjille hiekkalaatikkoympäristöt, joissa pääsee kokeilemaan uusia palveluita ja tapoja käyttää resursseja, mutta kaikki hiekkalaatikkotilien ulkopuolella pitäisi rakentaa versionhallinnassa tallennettuina resurssitemplateina Terraformin kaltaisilla työkaluilla.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Ilman näitä työkaluja on nimittäin ylläpitäjillä edessä lukuisia päiviä hiusten repimistä, kun yritetään jäljittää jonkun aikaisemmin tekemiä manuaalisia muutoksia, ja ymmärtää miten ne liittyvät yhteen. Alkuun pääsy voi tuntua työläältä, mutta siinä jää voitolle työajan käytössä kun alun alkaen hyödyntää asiantuntijoiden osaamista.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Jukka.D.jpg" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Jukka Dahlbom
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Head Of Data Engineering
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-8+%281%29.jpg" length="184607" type="image/jpeg" />
      <pubDate>Fri, 09 Feb 2024 07:42:22 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-miten-ja-missa-terraformia-voidaan-hyodyntaa</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-8+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-8+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mihin tarvitaan VPC:tä?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-mihin-tarvitaan-vpc:ta</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mihin tarvitaan VPC:tä?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mihin tarvitaan VPC:tä?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           VPC tulee sanoista Virtual Private Cloud. Se on virtuaalinen, loogisesti eristetty pilviympäristön verkko. Amazonilla komponenttia sanotaan Amazon VPC:ksi - Microsoftin Azure-pilviympäristön vastaavaa verkkoresurssi on puolestaan Azure Virtual Network (VNet). 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           AWS VPC:t luodaan aina tietylle regionille, esimerkiksi Tukholman eu-north-1:lle. Samalla VPC:lle valitaan IP-osoiteavaruus, jota edelleen allokoidaan VPC:n sisäisille aliverkoille (engl. subnet). Aliverkon reititysasetukset määrittävät aliverkon tyypin. Esimerkiksi aliverkon sanotaan olevan julkinen, mikäli sillä on suora reititys Internet Gateway -verkkokomponentille.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           VPC:n aliverkkoihin voidaan asentaa verkkoliikennettä käyttäviä pilviresursseja, kuten Amazon Elastic Compute Cloud (EC2), Amazon Relational Database Service (RDS) tai AWS Lambda -funktio. Resurssien verkkoliikennöintimahdollisuudet on näin ollen tarkoituksella rajoitettu aliverkon ja siihen kytkettyjen verkkokomponenttien ominaisuuksiin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Tyypillinen VPC:n käyttöesimerkkitapaus on web-palvelin (esim. EC2), jonka halutaan pystyvän olemaan yhteydessä julkiseen internetiin sekä tietokantapalvelimeen (esim. RDS). Samaan aikaan kun tietokantapalvelimen tulee pystyä keskustelemaan web-palvelimelle, tietokantapalvelin ei tietoturvasyistä saa näkyä julkisessa internetissä. Tämä voidaan ratkaista VPC:n sisäisten julkisen ja yksityisen aliverkon ja niiden välisten reititysten avulla. Web-palvelin on julkisessa aliverkossa ja tietokantapalvelin yksityisessä aliverkossa. Molempien aliverkkojen reititystaulut rajoittavat ja sallivat niiden sisäistä verkkoliikennettä ja mahdollistavat tietoturvallisen verkkoratkaisun.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           VPC:n ja sen aliverkkojen yhteyksiä ja ominaisuuksia voidaan muokata myös useilla muilla verkkokomponenteilla käyttötarpeen mukaan. Komponenttien hinnoittelut ja kapasiteetit vaihtelevat, joten sopivimman ratkaisun saamiseksi Amazon VPC:n tunteminen on suureksi hyödyksi.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Johan-nettisivut+%281%29.jpg" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Johan Stenroth
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-29-82b3b593.jpg" length="250633" type="image/jpeg" />
      <pubDate>Fri, 02 Feb 2024 06:47:13 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-mihin-tarvitaan-vpc:ta</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-29-82b3b593.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-29-82b3b593.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Tyytyväiset työntekijät avaintekijänä menestyksessä - Webscalen työtyytyväisyyskyselyn tulokset</title>
      <link>https://www.webscale.fi/tyytyvaiset-tyontekijat-avaintekijana-menestyksessa-webscalen-tyotyytyvaisyyskyselyn-tulokset</link>
      <description>Vuoden 2023 loppupuolella teetimme henkilöstöllemme vuosittaisen työtyytyväisyyskyselyn. Kyselyn tulokset ovat erinomaiset ja työntekijämme vahvasti suosittelevat Webscalea työnantajana. Tutustu blogitekstissä Talent Acquisition Specialistimme Juho Sopasen johdolla tulokseen ja sen taustoihin.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Vuoden 2023 loppupuolella teetimme henkilöstölle vuosittaisen työtyytyväisyyskyselyn. Kyselyn lopussa pyysimme vastaajia arvioimaan asteikolla 0-10 (0 = erittäin epätodennäköisesti ja 10 = erittäin todennäköisesti) kuinka todennäköisesti he suosittelisivat Webscalea työpaikkana. Tämän kysymyksen pohjalta Webscalen suositteluindeksiksi eli eNPS-luvuksi omilta työntekijöiltämme tuli todella komea 88. Vuonna 2022 vastaava eNPS luku oli 76, joten vuoden aikana on tapahtunut hieno nousu jo ennestään hyvästä luvusta.  
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Tämä on vahva osoitus siitä, että Webscalessa tehdään oikeita asioita työhyvinvoinnin eteen. Samalla se heijastaa hyvin työyhteisömme vahvaa yhteenkuuluvuuden tunnetta ja henkilöstön tyytyväisyyttä.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Webscalereiden kommentteja
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Käydään seuraavaksi Webscalen työntekijöiden, eli tuttavallisemmin webscalereiden, antamia anonyymejä kommentteja läpi, miksi he vahvasti suosittelevat Webscalea työnantajana sekä erityisesti ajatuksia erinomaisen tuloksen taustalla.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           “Pidän siitä miten Webscalessa tehdään töitä, työkaverit on todella hyviä.”
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           “Webscale on hyvä työpaikka. Työkaverit on kovia ammattilaisia ja projektit pääsääntöisesti mielekkäitä.”
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           “Webscale on työpaikkana hyvin johdettu ja erittäin läpinäkyvä. Työtehtävät ovat haastavia ja mielenkiintoisia.”
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           “Työntekijöille annetaan tarpeeksi vapautta käyttää haluttuja teknologioita ja vastuuta projekteissa.”
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           “Työntekijöiden hyvinvoinnista huolehditaan ja yhteistä tekemistä järjestetään myös työn ulkopuolella.”
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Yhteensä saimme kyselyyn 25 vastausta 30:stä. Edellä mainitut kommentit ovat tietenkin Webcalelle ylpeyden aihe, jotka eivät varmasti ole sattumaa, vaan pitkäjänteisen työn tulos. Pyrin avaamaan seuraavassa osiossa asioita, jotka ovat erinomaisen työtyytyväisyyden taustalla.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Työtyytyväisyyden ylläpitäminen on jatkuvaa työtä
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Webscalen historia on tätä kirjoitettaessa reilun 10 vuoden mittainen. Kolmen devaajan perustamasta yrityksestä on tullut yli 30 henkeä työllistävä konsultointiyritys. Kantavana teemana koko historian ajan on ollut tehdä kannattavaa kasvua samalla huolehtien henkilöstön työtyytyväisyydestä. Yrityksen toiminta on aina perustunut tulorahoitukseen. Esimerkiksi rekrytointien osalta ollaan oltu hyvin tarkkoja sen suhteen, että uusille työntekijöille varmasti riittää töitä myös pidemmällä aikavälillä. Tämä on mahdollistanut sen, että muun muassa konsulttimme ovat hyvin työllistettyjä ja mahdollinen “penkkiaika”, eli projektien välinen aika, on ollut mahdollisimman pieni. Myös projektien laatuun kiinnitetään huomiota. Pyrimme huomioimaan työntekijöidemme toiveet työnkuvan osalta ja ennen kaikkea sen, että ne mahdollisimman hyvin vastaavat heidän vahvinta ydinosaamistaan. Useammissa vastauksissa nouseekin esiin esimerkiksi projektien mielekkyys, unohtamatta ympäristöä, jossa pääsee haastamaan itseään ja kehittymään.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Yrityksen kasvaessa on myös hallinnollista puolta vahvistettu merkittävästi, erityisesti parin viime vuoden aikana. Tämä tuo lisää “muskeleita” kasvun mahdollistamiseen jatkossakin ja myös siihen, että haastavassa markkinatilanteessa olemme pystyneet takamaan töiden riittävyyden jo olemassa olevalle henkilöstölle. Vaikka vuosien aikana hallintoa on vahvistettu ja henkilöstömäärä on kasvanut vauhdilla, on matala organisaatiohierarkia säilynyt. Työtyyväisyyskyselyssä webscalerit mainitsevat useasti rennon työilmapiirin ilman turhaa “pönötystä” sekä läpinäkyvän ja avoimen kulttuurin yhtenä suurimpana positiivisena asiana Webscalessa työskentelyssä. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Varmasti kaikki tiedostavat sen, että oman työnkuvan mielekkyys ja palkkaus ovat tärkeiden asioiden joukossa, jotta työssä viihdytään. Ei kuitenkaan tule vähätellä esimerkiksi työkavereiden ja työsuhde-etujen merkitystä tässä kokonaisuudessa. Mukavat kollegat ovatkin edellä mainitun avoimen ja rennon ilmapiirin ohella kenties se kaikkein eniten esiin nouseva asia, kun kysytään webscalereilta, miksi he viihtyvät niin hyvin. Tämä ei ole vain sanahelinää, vaan näkyy konkreettisesti siinä, että vietämme töiden ulkopuolella aikaa yhdessä muun muassa erilaisten afterwork -tapahtumien tai kerhotoiminnan muodossa. Vastauksissa myös tämä mahdollisuus nousi usein esiin positiivisena asiana. Tämän osalta suuri kiitos kuuluu toimistopäälliköllemme Sara Peltolalle, joka on pääosin vastuussa eri afterwork -tapahtumien ja vastaavien järjestämisestä, huomioiden toki mahdolliset toiveet. Sara kirjoittikin hyvän blogin yhteisöllisyydestämme, jonka voit lukea
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.webscale.fi/2023/12/yhteisollisyys-ei-vain-logo-hupparissa" target="_blank"&gt;&#xD;
      
           tästä.
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Kaiken kaikkiaan tästä on hyvä jatkaa työtyytyväisyyden kehittämistä edelleen. Henkilöstö on Webscalen tärkein voimavara ja käymme aktiivista vuoropuhelua henkilöstömme kanssa siitä, mitä voisimme tehdä paremmin ja kuuntelemme heidän toiveitaan tarkalla korvalla. 
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Töihin Webscaleen?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Me Webscalella uskomme, että työ on palkitsevaa silloin, kun sen tekijällä on sopivasti vastuuta ja vapautta. Mottomme on “parhaat keskittyvät olennaiseen” ja meille se tarkoittaa sitä, että asiantuntijamme ovat parhaimmillaan, kun saavat käyttää aikaansa heille merkityksellisiin tehtäviin. Asiakkaat saavat meiltä laadukasta palvelua ja, mikä tärkeintä, koemme tiiminä onnistumisia ja opimme yhdessä. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Kiinnostaisiko sinua liittyä tiimiimme? Lue lisää
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.webscale.fi/rekry" target="_blank"&gt;&#xD;
      
           rekrysivuiltamme
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
           . Kuulemme mielellämme tarinasi ja otamme selvää, olisimmeko me sinulle oikea työnantaja.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Juho+S-2.jpg" alt="A man in a black sweater and white shirt is smiling for the camera."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Juho Sopanen
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Talent Acquisition Specialist
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-20+%283%29.jpg" length="673597" type="image/jpeg" />
      <pubDate>Mon, 29 Jan 2024 08:52:58 GMT</pubDate>
      <guid>https://www.webscale.fi/tyytyvaiset-tyontekijat-avaintekijana-menestyksessa-webscalen-tyotyytyvaisyyskyselyn-tulokset</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-20+%283%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-20+%283%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mikä MFA on ja miksi sitä pitäisi käyttää?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-mika-mfa-on-ja-miksi-sita-pitaisi-kayttaa</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mikä MFA on ja miksi sitä pitäisi käyttää?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mikä MFA on ja miksi sitä pitäisi käyttää?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Multi-factor authentication (MFA) eli monivaiheinen tunnistautuminen parantaa merkittävästi verkkopalveluiden käyttäjien identiteettisuojaa verrattuna perinteiseen pelkällä käyttäjätunnuksella ja salasanalla tunnistautumiseen. Identiteettivarkaudessa verkkorikolliset voivat saada uhrin käyttäjätunnuksen ja salasanan haltuunsa esimerkiksi arvaamalla (sähköpostiosoite käyttäjätunnuksena), tietojenkalastelulla, sanakirjahyökkäyksellä tai kryptografisella murtamisella. Murtoyrityksen onnistumista edesauttaa lyhyt tai yksinkertainen salasana. Haitan laajuutta voi lisätä saman salasanan käyttäminen monessa palvelussa. Kun monivaiheinen tunnistautumista on käytössä, pelkällä käyttäjätunnuksella ja salasanalla ei vielä pääse kirjautumaan kohdejärjestelmään sisään. Lisätunnistautumismenetelmänä kirjautumisen yhteydessä voi olla esimerkiksi:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            kertakäyttöisen koodin välitys tekstiviestinä tai sähköpostitse
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            kertakäyttöisen koodin poiminta todennussovelluksesta tai todennuslaitteesta (suojausavain)
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            biometrinen tunnistautuminen sormenjäljellä tai kasvontunnistuksella
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Monivaiheiselle tunnistautumiselle rinnakkaisena todentamistekniikkana on yleistymässä avainkoodit (passkey), jossa matkapuhelimen tai työaseman käyttäjätili rekisteröidään verkkopalveluun julkisen avaimen salaustekniikkaa hyödyntäen. Tämä edellyttää tukea käyttöjärjestelmältä, selaimelta ja verkkosovellukselta. Kirjautumisen yhteydessä käyttäjä tyypillisesti todennetaan biometrisesti sormenjäljellä tai kasvontunnistuksella. Myös PIN-koodin käyttö voi joissain tapauksissa olla mahdollinen. Käyttöjärjestelmä suojaa Passkey-avaimen turvallisesti. Identiteettivarkaus ei onnistu tietojenkalastelulla koska mitään salasanoja ei ole.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Lisätietoa monivaiheisesta tunnistautumisesta löytyy esimerkiksi
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.kyberturvallisuuskeskus.fi/fi/ajankohtaista/ohjeet-ja-oppaat/monivaiheinen-tunnistautuminen-suojaa-kayttajatilejasi" target="_blank"&gt;&#xD;
      
           Traficomin sivulta.
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Lauri+%281%29.jpg" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Lauri Siponen
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Cloud Architect
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-44+%281%29.jpg" length="160099" type="image/jpeg" />
      <pubDate>Fri, 26 Jan 2024 05:59:25 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-mika-mfa-on-ja-miksi-sita-pitaisi-kayttaa</guid>
      <g-custom:tags type="string" />
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-44+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-44+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Milloin tarvitaan Edge Lambdaa?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-milloin-tarvitaan-edge-lambdaa</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, milloin tarvitaan Edge Lambdaa?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Milloin tarvitaan Edge Lambdaa?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Edge Lambda on AWS CloudFront ominaisuus, joka mahdollistaa serverless-laskennan reunapalveluissa (edge locations). Se rakentuu AWS Lambdan päälle, joka on jo suosittu AWS palvelu serverless-laskennan tarjoamiseen. Edge Lambda tuo tämän laskentatehon lähemmäksi loppukäyttäjiä ja -laitteita käyttämällä AWS:n reunapalvelun infrastruktuuria. Edge Lambda pystyy muokkaamaan käyttäjän lähettämää kutsua tai kohdejärjestelmän takaisin lähettämää vastausta riippuen missä kohtaa Edge Lambdan suorittaa. Tämä itsessään mahdollistaa monenlaisia ratkaisuja, joilla parantaa esimerkiksi käyttäjäkokemusta ja tietoturvaa. Edge Lambdassa on joitakin rajoituksia, jotka tulisi ottaa huomioon kun uutta ratkaisua suunnittelee. Nämä rajoitukset on listattu
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/edge-functions-restrictions.html" target="_blank"&gt;&#xD;
      
           AWSn omalla sivulla.
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Edge Lambdan voi suorittaa neljässä eri vaiheessa:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Ennen kuin kutsu saapuu CloudFront distribuutiolle* (Viewer Request)
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Ennen kuin kutsu lähetetään kohdejärjestelmään (Origin Request)
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Ennen kuin kohdejärjestelmän vastaus tallennetaan välimuistiin* (Origin Response)
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Ennen kuin CloudFront palauttaa vastauksen loppukäyttäjälle (Viewer Response)
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           *Edge Lambdan suorituksen tulos tallennetaan CloudFrontin välimuistiin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/pasted+image+0+%281%29-c73933ab.png" alt="A diagram of a viewer request and viewer response"/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Milloin tarvitset Edge Lambdaa?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Alhainen latenssi:
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Edge Lambdaa tarvitaan tilanteissa, joissa alhainen latenssi on kriittinen tekijä. Edge Lambdassa laskenta tapahtuu lähempänä käyttäjiä, mikä vähentää merkittävästi viivettä ja parantaa palveluiden suorituskykyä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Reunalaskennan (edge computing) hyödyntäminen:
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Esimerkiksi IoT-sovellukset, jotka vaativat reaaliaikaista päätöksentekoa ja nopeaa vuorovaikutusta laitteiden kanssa, voivat käyttää Edge Lambdaa suorittamaan tehtäviä lähellä laitteita.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Palveluiden hajauttaminen maantieteellisesti:
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kun palvelut on hajautettu maantieteellisesti, Edge Lambda auttaa varmistamaan, että jokainen käyttäjä saa parhaan mahdollisen käyttökokemuksen. Tämä on erityisen tärkeää organisaatioille, jotka toimivat globaalisti.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            AWS on koonnut Edge Lambdan yleisimpiä käyttötarkoituksia heidän
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://aws.amazon.com/lambda/edge/" target="_blank"&gt;&#xD;
      
           omaan blogiinsa.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Heikki+%281%29.jpg" alt="A man wearing a turtleneck sweater and glasses is smiling."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Heikki Ma
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale+konsultit.jpg" length="149909" type="image/jpeg" />
      <pubDate>Mon, 15 Jan 2024 08:50:30 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-milloin-tarvitaan-edge-lambdaa</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale+konsultit.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale+konsultit.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Vakaata kasvua ja katse vuoteen 2024</title>
      <link>https://www.webscale.fi/2024/01/vakaata-kasvua-ja-katse-vuoteen-2024</link>
      <description>Vuosi 2023 oli Webscalelle merkittävä, kun juhlistimme 10-vuotista taivalta. Saavutimme 20%:n kannattavan kasvun liikevaihdossa​​ ja henkilöstömäärämme kasvoi yli 10%:a.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tammikuun alussa on hyvä hetki hetkeksi pysähtyä ja arvioida viime vuoden saavutuksia ja oppeja. Tämän pohjalta voi innolla suunnitella ja rakentaa tätä vuotta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           10 vuoden merkkipaalu
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Vuosi 2023 oli Webscalelle merkittävä, kun juhlistimme 10-vuotista taivalta. Tämä merkkipaalu on osoitus kasvusta, joka alkoi kolmen perustajan pienestä tiimistä. On ollut hienoa nähdä, kuinka monet alkuvuosina solmitut asiakas-, yhteistyö- ja työsuhteet ovat vahvistuneet samalla, kun yhtiö on vuosi vuodelta kasvattanut toimintaansa kaikilla osa-alueilla. Kasvu on mahdollistanut tutustumisen sekä uusiin asiakkaisiin että työkavereihin. Ala on myös kehittynyt valtavasti viimeisen kymmenen vuoden aikana; pilviteknologiat, tekoäly ja koneoppiminen vaikuttavat lähes kaikkien yritysten toimintaan, tuoden mukanaan uusia innovaatioita ja tehokkuutta liiketoimintaprosesseihin. Samaan aikaan teknisiä ratkaisuja toteutetaan yhä paremmilla työkaluilla ja prosesseilla, joissa mm. automaatio ja datan hyödyntäminen korostuvat.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Vuoden aikana monet yritykset, myös it-alan yritykset, kertoivat kohdanneensa muutoksia ja haasteita liiketoiminnassaan. Tämä huomioiden olen ylpeä ja kiitollinen siitä, että olemme Webscalessa onnistuneet säilyttämään vakaan kasvun ja kehittämään toimintaamme. Positiiviseen kasvuun ovat merkittävästi vaikuttaneet vahvat ja pitkäaikaiset asiakassuhteemme sekä jatkuva halumme kehittyä. Uskomme, että asiakaslähtöisellä palveluiden kehittämisellä, teknologian hyödyntämisen sekä innovatiivisiin ratkaisuihin keskittymisen kautta, Webscale ja koko ala kykenee menestymään tänäkin vuonna.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kannattavaa ja vakaata kasvua laadusta tinkimättä
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Saavutimme viime vuonna 20%:n kannattavan kasvun liikevaihdossa​​ ja henkilöstömäärämme kasvoi yli 10%:a.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Asiakastyytyväisyytemme on säilynyt erittäin korkealla tasolla. Vuoden 2023 AWS Partner Networkin (APN) kumppanikyselyssä saavutimme vaikuttavan NPS (Net Promoter Score) -tuloksen 85, ja aiemmin samana keväänä toteutetussa laajemmassa kaikkia palveluitamme koskevassa asiakastyytyväisyyskyselyssä NPS-tulos oli vieläkin korkeampi, 92.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Yhteisöllisyys ja henkilöstön hyvinvointi
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Vuoden aikana henkilöstötyytyväisyytemme nousi NPS-lukemalla 76:sta 88:aan, mikä heijastaa työyhteisömme vahvaa yhteenkuuluvuuden tunnetta ja henkilöstön tyytyväisyyttä. Olemme sitoutuneet edistämään yhteisöllisyyttä ja työntekijöidemme hyvinvointia, ja tästä näet esimerkkejä blogissamme ja some-kanavillamme.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Vuonna 2023 otimme käyttöön NPS-kyselyn myös rekrytointiprosessimme onnistumisen arvioimiseksi. Rekrytoinnin NPS-lukumme on 64, mikä osoittaa, että suuri osa meille hakeneista tai muuta kautta rekrytointiprosessiimme osallistuneista ovat olleet erittäin tyytyväisiä toimintaamme. Saadut tulokset ovat vahvistaneet, että olemme oikealla tiellä rakentamassa positiivista ja palkitsevaa kokemusta sekä työnhakijoille että työntekijöillemme.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Palveluiden kehittämistä ja osaamisen syventämistä
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Vuoden 2023 aikana jatkuvien palveluidemme kehittäminen oli keskeisessä roolissa, mukaan lukien pilven hallinta- ja neuvonantajapalvelut. AWS:n virallisena konsultointi- ja jälleenmyyntikumppanina syvensimme asiantuntemustamme merkittävästi. Laajensimme teknologiatarjontaamme kattamaan myös muita pilvialustoja. Vuoden 2024 suunnitelmissamme on jatkaa tätä kasvua ja kehitystä, keskittyen laadukkaisiin ratkaisuihin ja asiakaskokemuksen parantamiseen entisestään.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Vaalipalvelut: Työkaluja demokratiaan
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Yrityksemme palvelutarjontaan kuuluu konsultointi- ja projektipalveluiden sekä jatkuvien palveluiden lisäksi vaalijärjestelmäpalvelut, jotka kattavat paitsi vaalikoneen – palvelumme näkyvimmän osan – myös vaalitulospalvelun ja ääntenlaskujärjestelmän. Vuonna 2023 eduskuntavaalit ja niihin liittyvät vaalikoneet olivat vaalitiimimme keskiössä. Lisäksi aloitimme uuden vaalikoneversion kehittämisen, joka on suunnattu yhdistyksille ja pienemmille mediataloille, ja jonka julkaisemme alkuvuodesta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Vuonna 2024 vaalipalvelumme, erityisesti presidentinvaalin ja EU-vaalien yhteydessä, keskittyvät tarjoamaan laadukkaita vaalikoneita, jotka tukevat avoimuutta ja osallistumista vaaliprosesseissa. Tavoitteenamme on osaltamme edistää demokratiaa luomalla ratkaisuja, jotka kannustavat kaikenikäisiä äänestäjiä osallistumaan aktiivisesti vaaleihin. Tämä sisältää yhdistysten edustajistovaaleista valtakunnallisiin suuriin vaaleihin ulottuvat prosessit. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Asiantuntijuuden ja oppimisen kehittäminen
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Vuonna 2023 panostimme asiantuntemuksemme jakamiseen ja kehittämiseen sekä tarjosimme myös mahdollisuuden tutustua paremmin työntekijöihimme. Näkyvimpiä kokonaisuuksia tähän liittyen olivat Webscale Tech Days, Pilvipilotit-podcast, Kysy konsultilta -blogisarja sekä Webscalen kaverikirja, joista kerron lyhyesti ohessa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Webscale Tech Days: Tulevaisuuden teknologiat ja verkostoituminen
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Viime vuoden toukokuussa järjestimme Webscale Tech Days -kutsuvierastapahtuman Tuusulassa, johon osallistui noin 50 alan ammattilaista. Tapahtuma tarjosi hienon mahdollisuuden perehtyä alan uusimpiin innovaatioihin ja verkostoitumiseen. Positiivisen palautteen innoittamana päätimme, että tänä vuonna avaamme ovet kaikille kiinnostuneille. Laita siis some-kanavamme seurantaan, sillä tiedotamme lähiaikoina tarkemmin tämän vuoden tapahtumasta!
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Pilvipilotit
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Lanseerasimme viime vuonna Pilvipilotit-podcastin, jossa keskustelemme pilviteknologian trendeistä ja haasteista erikokoisten yritysten näkökulmasta. Tämä on ollut arvokas kanava jakaa tietämystä ja kokemuksia laajemmalle yleisölle. Podcastin uudet jaksot ovat jo työn alla.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kysy konsultilta -blogisarja
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kysy konsultilta -blogisarjamme tarjoaa hyödyllistä tietoa pilvi-, ohjelmistokehitys- ja data-analytiikan saralla, auttaen ymmärtämään alan monimutkaisia ilmiöitä ja termejä paremmin. Sarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä niin, että kiireisempikin ehtii ne lukea työpäivän aikana.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kaverikirja
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Yrityksemme koostuu moninaisista persoonista, joilla on erilaiset taustat, mutta yhteinen intohimo teknologiaa kohtaan ja kyky tehdä sujuvaa yhteistyötä. Somessa julkaistava Kaverikirja-sarjamme tuo esille tämän monimuotoisuuden ja korostaa yhteisöllisyyttämme. Siinä webscalelaiset, tutummin webscalerit, kertovat itsestään ja toisistaan sekä jakavat harrastuksiaan ja kokemuksiaan. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS re:Invent 2023 ja alan tapahtumat
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Marras-joulukuun vaihteessa kolme konsulttiamme osallistui AWS re:Invent -konferenssiin Las Vegasissa. AWS re:Invent -tapahtuma on alan johtava konferenssi, joka tarjoaa kattavan katsauksen pilviteknologian uusimpiin suuntauksiin ja innovaatioihin. Tämän lisäksi olemme aktiivisesti osallistuneet meetupeihin, seminaareihin sekä AWS:n ja muiden teknologiakumppaneiden paikallisiin tapahtumiin Suomessa ja Pohjoismaissa. Panostuksemme sertifiointeihin ja jatkuvaan kouluttautumiseen ovat osa sitoutumistamme pysyä teknologian aallonharjalla, mikä näkyy suoraan asiakastyössämme ja palveluidemme laadussa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kohti tulevaa
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Iso kiitos koko henkilöstöllemme, asiakkaillemme ja yhteistyökumppaneillemme menneestä vuodesta. Yhteistyössä kanssanne olemme voineet kasvaa ja kehittyä. Odotamme innolla, mitä vuosi 2024 tuo tullessaan, ja jatkamme matkaamme yhdessä luoden kestäviä digitaalisia palveluita.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-2023-2024-4d9439d8.png" length="874214" type="image/png" />
      <pubDate>Mon, 08 Jan 2024 05:30:00 GMT</pubDate>
      <author>tero.kauhanen@webscale.fi (Tero Kauhanen)</author>
      <guid>https://www.webscale.fi/2024/01/vakaata-kasvua-ja-katse-vuoteen-2024</guid>
      <g-custom:tags type="string">Uutiset,Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-2023-2024.png">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-2023-2024-4d9439d8.png">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Miksi CDK-projekti tarvitsee yleensä bootstrapata?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-miksi-cdk-projekti-tarvitsee-yleensa-bootstrapata</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, miksi CDK-projekti tarvitsee yleensä bootstrapata?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Miksi CDK-projekti tarvitsee yleensä bootstrapata?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS Cloud Development Kit eli tuttavallisemmin CDK on AWS:n tarjoama framework resurssien ja infrastruktuurin provisiointiin useilla ohjelmointikielillä. Pellin alla CDK ajaa CloudFormationia ja toimii abstraktiokerroksena, jonka tarkoituksena on auttaa tekemään asioita hyvien käytäntöjen mukaisesti. Vaikka CDK abstraktoi joitakin kompastuskiviä piiloon, on syytä muistaa mahdollisuus kurkata mustan laatikon sisälle. CDK:lla provisioitavat resurssit syntyvät CloudFormation stackeina, joista näkee koodista generoidun CloudFormation templaten.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Matka koodista resurssiksi sisältää muitakin askelia, ja käytännössä kaikki ei-triviaalit CDK-projektit on tarpeen 'bootstrapata' mikä tarkoittaa CDK:n käyttämien riippuvuuksien ja resurssien luomista ympäristöön ennen itse sovelluksen resurssien pystyttämistä. Yksinkertaisimmillaan tämä tarkoittaa 'cdk bootstrap' komennon ajamista, joka perustaa ympäristöön 'CDKToolkit' nimisen CloudFormation-stackin näillä resursseilla.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Oletusasetuksillakin tehty bootstrap toimii testatessa, mutta templatea voi muokata haluamallaan tavalla ja ympäristön vaatimusten mukaan. Asioita ei tarvitse jättää maagisiksi, sillä käytössä olevan templaten näkee stackista, ja ennen luomista templatea voidaan tarkastella komentamalla 'cdk bootstrap --show-template'. Oletuksena esimerkiksi CloudFormationia ajetaan varsin laajoilla oikeuksilla, ja bootstrap-resursseille syntyvä tunniste ei ole erityisen kuvaava. Muita mahdollisesti mielenkiintoisia arvoja on useampi säädettäväksi.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           CDK on myös jatkuvasti kehittyvä työkalu, ja bootstrap-template kehittyy sen mukana. Aiemmin bootstrapattu ympäristö voi siis erota joiltakin osin myöhemmin bootstrapatusta ympäristöstä. Bootstrap-templaten sisällyttäminen versionhallintaan auttaa näiden eroavaisuuksien löytämisessä ja helpottaa päivittämistä eteenpäin. CDK-projektien kanssa työskennellessä on hyvä muistaa tarkastaa mahdolliset erot CDK v1 ja CDK v2 välillä. Esimerkiksi CDK v2 tukee ainoastaan modernia bootstrap-templatea, kun CDK v1 tukee sekä modernia että vanhempaa mallia.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Hyvin suunniteltu ja tarpeen mukainen bootstrappaus osana CDK-projektia mahdollistaa asioiden tekemisen hyvien infrastructure-as-code -käytäntöjen mukaisesti sekä toistettavien ja ennakoitavissa olevien ympäristöjen pystyttämisen uudelleen helposti nyt, tulevaisuudessa ja tekijästä riippumatta.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/8d1087d0-b0a1-48f9-aaa6-c5e8cd9e577b.png" alt="A black and white photo of a bald man wearing a black shirt."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Teemu Ala-Järvenpää
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Cloud Specialist
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-38-e57b29df.jpg" length="258544" type="image/jpeg" />
      <pubDate>Wed, 03 Jan 2024 08:38:02 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-miksi-cdk-projekti-tarvitsee-yleensa-bootstrapata</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-38-e57b29df.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-38-e57b29df.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>AWS re:Invent 2023 - Webscalerit Las Vegasissa</title>
      <link>https://www.webscale.fi/2023/12/webscalerit-las-vegasissa</link>
      <description>Kolme Webscalen konsulttia matkusti marras-joulukuun vaihteessa Las Vegasiin AWS re:invent konferenssiin. Lue blogista matkalla olleiden Heikin, Jussin ja Villen ajatuksia matkasta sekä heidän vinkkinsä kyseiseen tapahtumaan tulevaisuudessa osallistuville.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Marras-joulukuun vaihteessa kolme Webscalen konsulttia, Heikki, Jussi ja Ville, suuntasivat kohti Las Vegasia ja AWS re:Invent tapahtumaa. Odotukset ennen matkaa olivat korkealla, sillä koronavuodet olivat siirtäneet osallistumista tapahtumaan. Tämä oli kolmikkomme ensimmäinen matka AWS re:Inventiin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Matkaan lähdettiin lumisena lauantaina 25.11. ja edessä oli pitkä lentomatka Dallasin kautta Vegasiin. Matkasta tuli kirjaimellisesti pitkä ja erilaisten kommellusten jälkeen matka-aikaa kertyi lopulta 20 tuntia. Vaikka matka painoi pohkeissa, tunnelma perillä oli korkealla.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tunnelmat Las Vegasissa ennen konferenssin alkua
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS re:Invent tapahtuma alkoi vasta maanantaina 27.11., joten meillä oli sunnuntaina aikaa valmistautua tulevaan viikkoon. Majoituspaikkana toimi Palazzo resort, The Venetian, joka sijaitsi lähes tapahtumapaikan ytimessä. Huoneen ikkunasta aukesi näkymät Vegasin uusimman vetonaulan, The Spheren, suuntaan. Sunnuntain aikana kävimme hakemassa tapahtumapassit konferenssipaikalta. Tällöin viimeistään ymmärsimme, kuinka isosta tapahtumasta oli kyse. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Pääsimme tutustumaan Certified Loungeen, joka oli vain AWS-sertifioiduille henkilöille tarkoitettu oleskelutila. Kävimme myös kuuntelemassa “How to re:invent” -session, jossa jaettiin vinkkejä miten konferenssista saa eniten irti - tätä suosittelemme kaikille ensikertalaisille! Kävimme myös hakemassa reissun ensimmäiset AWS-swagit itsellemme.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Iltapäivällä vierailimme Mandalay Bay kasinolla sijaitsevassa Rec Centerissa. Tämä oli re:Inventin uusi viihdealue, joka oli järjestetty partnereiden voimin. Tarjolla oli pientä syötävää, jenkkifudista amerikkalaiseen tailgating -henkeen sekä lisäksi mm. erilaista urheiluun liittyvää aktiviteettia, pelejä, golf-simulaattoreita, F1-simulaattoria ja jalkapalloa.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS re:Invent -konferenssi
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Maanantaina alkoi itse konferenssi ja olimme varanneet etukäteen osaan sessioista paikat, joissa halusimme käydä. Tarjontaa oli runsaasti, joten jätimme tilaa myös extempore sessioille. Aiheina meitä kiinnostivat mm. FinOps ja tekoäly. Olimme onnistuneet varaamaan paikat hyvin näitä aiheita käsitteleviin sessioihin.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Tämän vuoden ehdottomasti suurin painopiste konferenssissa tuntui olevan tekoälyssä ja uusissa mahdollisuuksissa mitä tämä teknologia tarjoaa.
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Luento Falcon-kielimallin kehityksestä oli mielenkiintoinen. Lisäksi kävimme kuuntelemassa pari sessiota generatiivisesta AI:sta ja sen tuomista mahdollisuuksista.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Jokaisen aihepiirin ympärillä oli erityyppisiä istuntoja, joista osa oli vähemmän vuorovaikutteisempia kuin toiset ja myöskin niiden teknisyys vaihteli. Tarjolla oli muun muassa chalk talk- ja workshop-tyyppisiä sessioita. Chalk talk -sessiot olivat Q&amp;amp;A-tyyppisiä, joissa oli mahdollisuus kysellä haastavia kysymyksiä AWS-asiantuntijoilta. Asiantuntijat saattoivat hyödyntää piirtotaulua apuna vastauksissa. Workshop-tyyppisissä sessioissa ratkottiin oikeita AWS-aiheisia ongelmia asiantuntijoiden avustuksella.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Välittömästi tiistaiaamuna havaitsimme miten suosittuja re:Inventin keynote-sessiot ovat. Vajaa tunti ennen keynoten alkua (n. klo 7:45) jonotusaula oli jo täynnä.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Jos siis aikoo keynotea katsomaan, on oltava ajoissa.
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Onneksi keynotet myös live-striimataan Content Hub tiloihin ja löytyvät myös netistä. AWS:n CTO:n Werner Vogelsin keynote torstaiaamuna oli päästävä näkemään, tiedossa oli siis aikainen herätys. Herääminen myös kannatti, sillä Vogels ei pettänyt ja veti kovan shown hänelle ominaisella huumorilla höystettynä.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Keynoten aiheena tänä vuonna olivat modernit, kustannustietoiset ja kestävät arkkitehtuurit.
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Keynoteen liittyvä sivusto
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="http://thefrugalarchitect.com"&gt;&#xD;
      
           thefrugalarchitect.com
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            kannattaa käydä tsekkaamassa.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Uudet julkaisut tapahtumassa
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Konferenssin aikana AWS julkaisi monia uusia tuotteita sekä ominaisuuksia jo olemassa oleville tuotteille. Esimerkeiksi nostaisimme tähän AWS Graviton4 (uusi ARM64 sukupolvi) ja Amazon Q (generatiivinen AI avustaja).
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           AI-avustaja oli yksi mielenkiintoisimmista julkaisuista
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
           , mutta toki julkistuksen jälkeisen wow-efektin mentyä ohi tuntui kyllä aika loogiselta, että myös AWS julkaisee oman generative-AI avustajansa, sillä muilla kilpailijoilla sellainen alkaa jo ollakin. Joka tapauksessa Q:n mahdollisuuksia AWS-kehityksessä, operoinnissa yms. on pakko päästä testaamaan! Näiden lisäksi AWS julkaisi monta uutta ominaisuutta heidän AWS bedrock ja SageMaker palveluihin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Aurora Unlimited serverless-tietokanta oli yksi uusista julkaisuista. Tämä helpottaa massiivisten multi-region tietokantaclustereiden rakentamista serverless-filosofian mukaisesti. Hyvä ja odotettukin julkistus oli myös Elasticache välivarastopalvelun serverless-versio, joka poistaa serverless-mallia noudattavista sovellusarkkitehtuureista yhden viimeisistä "perinteisistä" VPC:tä vaativista komponenteista. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Opit konferenssista
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Koska olimme kaikki ensimmäistä kertaa re:Invent tapahtumassa, kaikki oli uutta ja ihmeellistä. Mukaan tarttui paljon oppia, miten tapahtumaan voisi valmistautua paremmin jatkossa, jos kyseiseen tapahtumaan tulee mentyä uudemman kerran.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Suosittelemme ilmoittautumaan etukäteen jo Suomessa sinua kiinnostaviin luentoihin.
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Emme kuitenkaan suosittele varaamaan kalenteria ihan täyteen, sillä tapahtumapaikalla on varsin pitkät siirtymät. Lisäksi uusia sessioita julkaistaan vielä re:Inventin jo alettua. 
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Konferenssissa on lisäksi Partner -tapahtumia. Näihin suosittelemme myöskin ilmoittautumaan etukäteen.
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Ne ovat oiva tapa verkostoitua ja tarjolla on ilmaista ruokaa sekä juomaa. Viimeisenä vinkkinä klassinen pukeutumisopas. Kannattaa varata riittävästi lämpimiä vaatteita. Vaikka konferenssipäivät kuluivat pääosin sisätiloissa, on siellä todella tehokas ilmastointi. Myös itse ulkoilma Nevadassa kyseiseen vuodenaikaan ei ole kovinkaan lämmin, lämpötilan ollessa noin 5-15 astetta. Vaatetuksen lisäksi kannattaa ottaa mukaan hyvät kengät, sillä kävelyä tulee todella paljon tapahtuma-alueen ollessa laajalla alueella. Meilläkin tuli jokaiselle kävelyä keskimäärin noin 15km/päivä, ilman, että kävimme juurikaan ulkona. 
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Las Vegas - Kaupunki täynnä huveja
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Meidän re:Invent reissu ei ollut kuitenkaan onneksi vain pelkkää konferenssia ja luentosessioita. Ehdimme myös vähän tutustua Vegasiin, kierrellä kasinoita ja testata yhden Gordon Ramsayn viidestä Vegasin ravintolasta. Tiistaina kävimme uudessa The Sphere teatterissa. Maailman suurin näyttö oli kyllä todella vaikuttava kokemus. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Tapahtumassa oli oiva mahdollisuus verkostoitua alan osaajien kanssa. Keskiviikkoiltana kävimme verkostoitumassa AWS EMEA-alueen beach partyissä, ja tietenkin koko konferenssin loppubilefestari re:Play käytiin tsekkaamassa torstai-iltana. Pääesiintyjä Major Lazer oli mahtava. Lisäksi oli mahdollista esimerkiksi osallistua peertalk-istuntoihin, joissa ideana oli tavata muita henkilöitä, joita kiinnosti sama aihe. Tutustuimme muihin ihmisiin myös AWS Certified -oleskelutilassa ja istunnoissa, joissa tehtiin tiimityötä.
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Lopputunnelmat
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Perjantaiaamuna tunnelmat olivat väsyneen lisäksi hieman haikeat. Mahtava re:Invent viikko oli nyt ohi. Aamulla olisi vielä ollut tarjolla muutamia sessiota, mutta aamupalaa lukuunottamatta, aikataulut eivät antaneet mahdollisuutta niihin osallistua. Aamupalan jälkeen suuntasimme lentokentälle, jossa heitimme hyvästit Heikille, joka oli palaamassa jo Suomeen. Jussin ja Villen matka jatkui kuitenkin autovuokraamolle ja kimppakyydillä kohti tulevaa lomaviikkoa Kalifornian rannikolla. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           AWS re:Invent oli kokonaisuudessaan erittäin hieno ja onnistunut kokemus. Opimme paljon uutta, vahvistimme omaa osaamistani ja inspiroiduimme uusista aiheista. Voimme ehdottomasti suositella kyseistä konferenssia kaikille aiheesta kiinnostuneille.
            &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Reissuterveisin,
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Heikki Ma
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Jussi Lehtiniemi
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Ville Välimäki
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/1701449097947.jpeg" length="48235" type="image/jpeg" />
      <pubDate>Thu, 28 Dec 2023 07:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2023/12/webscalerit-las-vegasissa</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Na-ytto-kuva+2023-12-20+kello+14.10.07.png">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/1701449097947.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Yhteisöllisyys - ei vain logo hupparissa</title>
      <link>https://www.webscale.fi/2023/12/yhteisollisyys-ei-vain-logo-hupparissa</link>
      <description>Yhteisöllisyyden merkitys työpaikoilla on korostunut erityisesti koronavuosien jälkeen. Mitä yhteisöllisyys tarkoittaa meidän työyhteisössämme ja mitä asioita teemme sen ylläpitämiseksi? Lue toimistopäällikkömme ajatuksia aiheeseen liittyen.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Yhteisöllisyyden merkitys työpaikoilla on korostunut erityisesti koronavuosien jälkeen. Työterveyslaitoksen tuoreessa
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.ttl.fi/ajankohtaista/tiedote/suomalaisten-tyohyvinvointi-jamahti-koronan-heikentamalle-tasolle" target="_blank"&gt;&#xD;
      
           tutkimuksessakin
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            todetaan, että työuupumuksen riski on kasvanut ja yksinäisyyden kokemukset ovat yleistyneet, erityisesti nuorilla työntekijöillä ja etätöissä olevilla miehillä.
            &#xD;
        &lt;br/&gt;&#xD;
        &lt;br/&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Yhteisöllisyyden kehittäminen ja ylläpitäminen on tärkeä osa omia työtehtäviäni toimistopäällikkönä. Pysähdyn usein miettimään, miten yhteisöllisyys meillä Webscalella näkyy ja mitkä asiat tekevät meistä yhteisöllisen työpaikan.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Webscalen työntekijät eli webscalerit tunnistaa helposti brändivaatteisiin ja -tuotteisiin painetutusta kruununmuotoisesta logosta. Rahalla hankitut tuotteet ovat tietysti mukava lisä, mutta nämä eivät itsessään ole avain sujuvaan yhtenäiseen tekemiseen ja toimimiseen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Webscalerit - keitä me olemme?
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/strong&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Työyhteisömme on insinööripainotteinen, mutta joukkoomme mahtuu monenlaisia persoonia ja jokaisella on tilaa olla oma itsensä. Ei ole väliä oletko sosiaalinen hassuttelija, hiljainen pohdiskelija, tai jotain tältä väliltä.
            &#xD;
        &lt;br/&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Suurimpina yhteisinä tekijöinä Webscalella koen työntekijöidemme korkean ammattitaidon, halun kehittää omaa osaamista sekä arvostuksen ja kunnioituksen toisiamme kohtaan. Yhteiset toimintatavat ja pelisäännöt asettavat meillä raamit työskentelylle ja tekemiselle.
             &#xD;
        &lt;br/&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Teemme töitä korkealla ammattiylpeydellä ja -taidoilla, ei sieltä missä rima on matalin. Erään kollegani sanat kuvaavat mielestäni erinomaisesti tekemistämme:
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           “jos asiaa ei halua tehdä kunnolla, tulee miettiä kannattaako sitä tehdä lainkaan”
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           .
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Etänä - kotona - toimistolla - aftereilla
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Yrjönkadun toimistosta tuli webscalereiden “kotipesä” muuton myötä syksyllä 2022. Halusimme säilyttää toimistomme sijainnin Helsingin ydinkeskustassa, jotta sinne olisi edelleen hyvät kulkuyhteydet kaikista ilmansuunnista.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Kuluneen vuoden aikana olemme mielestäni onnistuneet herättämään toimistoelämän ja yhteisen tekemisen jälleen henkiin, hiljaisempien koronavuosien jälkeen. Kannustamme työntekijöitämme osallistumaan yhteisiin tapahtumiin, elämäntilanteet huomioiden - pakko toimistolle tai tapahtumiin ei ole tulla, mutta mielellämme aina tapaamme toisiamme.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Toimistolla on ilahduttava kuunnella kollegoideni kuulumisia, osallistua ja seurata keskusteluita sisäisissä Slack -kanavissamme. Usein konsulttien väliset keskustelut ajautuvat itselleni niin sanottuun syvään päätyyn eli kovin tekniseen osaamiseen - olen kuitenkin oppinut sujuvaksi kuuntelijaksi. Tapaa, jolla he keskustelevat teknisistä ratkaisuista on mielenkiintoista seurata ja on mahtava huomata, kuinka he yhdessä löytävät ratkaisun käsissä olevaan haasteeseen.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Vuonna 2023 olemme päässeet järjestämään toimistolla kuukausittaiset Monthly -palaverit aamiaisen ja lounaan kera, jossa käymme läpi ajankohtaisia asioita talousluvuista projektikuulumisiin. Monthlyn yhteydessä järjestetään myös Tech Day -iltapäivä, jossa konsulttimme pääsevät kertomaan minkälaisia teknisiä ratkaisuita ovat tehneet eri asiakasprojekteissa ja jakamaan omaa osaamistaan. Toki etäyhteydet toimivat edelleen, joten työskentelypaikka ei määritä osallistumismahdollisuutta.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Myös Tuusulan Krapilla järjestetty Tech Days -konferenssi ja Webscalen 10 - vuotissyntymäpäivät ovat olleet mukavia hetkiä niin kollegoiden kuin asiakkaiden kanssa. Näiden lisäksi olemme käyneet ahkerasti pelaamassa yhdessä padelia, juhlineet pikkujouluja sekä viettäneet aikaa erilaisissa afterwork -tapahtumissa aina oopperanäytöksestä jääkiekkopeliin - mahtuihan tähän mukaan myös maaliskuinen viikonloppu Himoksella.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Innolla kohti vuotta 2024
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tuoreimman työtyväisyyskyselyn tulokset osoittavat, että Webscalella voidaan hyvin. Pyrimme kuitenkin jatkuvasti parantamaan toimintaamme ja jatkamme yhteisöllisyyden kehittämistä myös tulevana vuonna. Pääsemme varmasti järjestämään jälleen mielenkiintoisia tapahtumia sekä yhteistä tekemistä.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Etulyöntiasemana tehtävässä onnistumiselle, pidän avointa keskustelukulttuuriamme ja matalaa hierarkiaa, jolloin pystymme myös pienillä teoilla parantamaan viihtyvyyttä työyhteisössämme.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Haluan omasta puolestani kiittää jokaista työntekijää ja asiakasta - te teette minulle Webscalesta juuri sen oikean työpaikan, jossa minun on mukava työskennellä. Odotan innolla tulevaa vuotta 2024 kanssanne.
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Hyvää ja rentouttavaa joulua kaikille! ♥
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Sara-Peltola-2.2-some--281-29.jpg" alt="Sara Peltola"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Sara Peltola
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Toimistopäällikkö
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-brandikuva-2-some--281-29--281-29.jpg" length="213058" type="image/jpeg" />
      <pubDate>Thu, 21 Dec 2023 10:52:50 GMT</pubDate>
      <author>sara.peltola@webscale.fi (Sara Peltola)</author>
      <guid>https://www.webscale.fi/2023/12/yhteisollisyys-ei-vain-logo-hupparissa</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-brandikuva-2-some+%281%29+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-brandikuva-2-some--281-29--281-29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Mahdollisuus kasvaa ja kehittyä joustavassa työympäristössä - esittelyssä uusi webscaler Miro</title>
      <link>https://www.webscale.fi/2023/12/mahdollisuus-kasvaa-ja-kehittya-joustavassa-tyoymparistossa-esittelyssa-uusi-webscaler-miro</link>
      <description>Webscalen myyntitiimi jatkoi vahvistumistaan marraskuussa, kun Miro aloitti työt Junior Sales Specialistin roolissa. Miten alku on Webscalella sujunut? Lue Miron mietteet ja tule tutustumaan uusimpaan webscaleriin tarkemmin.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Marraskuussa Webscalen myyntitiimi jatkoi vahvistumistaan, kun Miro Nissilä aloitti työt Junior Sales Specialistina. Ensimmäisten viikkojen aikana Miro on päässyt perehdytyksen lisäksi jo konkreettiseen asiakastyöhön kiinni ja kertoo alun sujuneen kaikin puolin mukavissa merkeissä. Ensi vuoden osalta tavoitteet ovat selkeät.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Miron tie Webscalelle
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            “Koko ajan tuli tunne, että tietää missä mennään ilman epäselvyyksiä. Tuntui, että hakijaprofiiliini ja henkilökohtaiseen tilanteeseeni oltiin perehdytty hyvin. Avoimuus nousi myös hyvin esiin”,
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Miro totesi rekrytointiprosessista.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Keskustelujen jälkeen Miro päättikin tarttua haasteeseen ja hän on ehtinyt työskennellä nyt muutaman viikon ajan Webscalella. Miron työnkuvaan kuuluu myyntitehtävät erityisesti prosessin alkuvaiheen osalta eli potentiaalisten asiakkaiden prospektointi, kontaktointi ja yhteydenpito muun muassa puhelimen välityksellä. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Perehdytys on sujunut Miron mukaan hyvin. Hän kokee sen edenneen sopivassa tahdissa ilman turhaa kiirehtimistä, mutta myös käytännön työtä on tuotu hyvässä suhteessa mukaan pikkuhiljaa. Perehdytyksessä toimitusjohtaja Tero Kauhaselle on ollut suuri rooli ja myöskin myyntitiimistä Teemu Kuusisto ja Iiro Nousiainen ovat sparrailleet asioita. Ylipäätään ensiajatukset myyntitiimistä ovat positiiviset. Miro kokee pienen tiimin kommunikoinnin sujuvan hyvin ja esimerkiksi eri prosesseista pystytään sopimaan joustavasti. Parasta Webscalella työskentelyssä tähän asti Miro sanoo olleen muut webscalerit eli työporukka, johon hän koki pääsevänsä sisään heti ensimmäisestä päivästä lähtien. Myös pikkujouluja vietettiin heti ensimmäisen työviikon päätteeksi, jolloin Miro pääsi tutustumaan suurimpaan osaan porukkaa työajan ulkopuolellakin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Töiden lisäksi Mirolla ei ole hankaluuksia vapaa-ajalla keksiä tekemistä, sillä hän opiskelee parhaillaan samaan aikaan Turun Kauppakorkeakoulussa kolmatta vuotta tietojärjestelmätieteitä. Miro työskentelee Webscalella osa-aikaisesti opintojen ohessa ja pystyy joustavasti vaikuttamaan työskentelyaikoihin, -päiviin ja -paikkaan sen mukaan miten opinnot aikatauluttavat kalenteria. Alku on tämänkin osalta sujunut hyvin, sillä opintojen osalta syksy on ollut myös hieman rauhallisempaa. Töiden ja opintojen jälkeen jäävän ajan Miro tykkää viettää urheillen, muun muassa käymällä kuntosalilla ja pelaamalla padelia.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mahdollisuus kasvaa ja kehittyä
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kasvuyrityksenä Webscale haluaa tarjota kehittymismahdollisuuksia uran eri vaiheilla esim. kannustamalla alan sertifiointeihin. Yhtiö on keskittynyt rekrytoinnissaan kokeneempiin it-asiantuntijoihin, mutta mahdollisuuksien mukaan Webscale haluaa tarjota myös uran alkuvaiheessa oleville tilaisuuksia kasvaa ja kehittyä osana osaavaa tiimiä. Yhtenä tekijänä, joka houkutti Miroa jättämään hakemuksen, oli nimenomaan optio kasvaa ajan saatossa kenties ihan kokoaikaiseksi myyntitiimin jäseneksi ja kasvattaa vastuualuetta osaamisen karttuessa sekä opintotilanteen sen salliessa. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mahdollisuus kasvaa ja kehittyä tuli ilmi jo työpaikkailmoituksesta ja Miron mukaan haastattelujen aikana käytyjen keskustelujen jälkeen tämä näkemys vain vahvistui. Hän kokee nykyisen position sopivan loistavasti hänen tämän hetkiseen elämäntilanteeseen opintojen oheen. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Ensi vuoden osalta Miro odottaa, että saa opeteltua perinpohjaisesti Webscalen palvelutarjonnan sekä myynnin prosessit. Lisäksi luonnollisesti myös AWS:n syövereihin ja sen tarjoamiin myynnin mahdollisuuksiin on tarkoitus keskittyä. Opintojen osalta puolestaan Miro suunnittelee aloittavansa kandidaatin tutkielman kirjoittamisen ensi vuoden puolella.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Töihin Webscaleen?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Me Webscalella uskomme, että työ on palkitsevaa silloin, kun sen tekijällä on sopivasti vastuuta ja vapautta. Mottomme on “parhaat keskittyvät olennaiseen” ja meille se tarkoittaa sitä, että asiantuntijamme ovat parhaimmillaan, kun saavat käyttää aikaansa heille merkityksellisiin tehtäviin. Asiakkaat saavat meiltä laadukasta palvelua ja, mikä tärkeintä, koemme tiiminä onnistumisia ja opimme yhdessä. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Kiinnostaisiko sinua liittyä tiimiimme? Lue lisää
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.webscale.fi/rekry" target="_blank"&gt;&#xD;
      
           rekrysivuiltamme.
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Kuulemme mielellämme tarinasi ja otamme selvää, olisimmeko me sinulle oikea työnantaja.
            &#xD;
        &lt;br/&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-31-c672fdd3.jpg" length="130531" type="image/jpeg" />
      <pubDate>Mon, 18 Dec 2023 07:22:46 GMT</pubDate>
      <guid>https://www.webscale.fi/2023/12/mahdollisuus-kasvaa-ja-kehittya-joustavassa-tyoymparistossa-esittelyssa-uusi-webscaler-miro</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-31-c672fdd3.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-31-c672fdd3.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mitkä ovat AWS:n ja asiakkaan vastuut pilven tietoturvassa?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-mitka-ovat-aws:n-ja-asiakkaan-vastuut-pilven-tietoturvassa</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mitkä ovat AWS:n ja asiakkaan vastuut pilven tietoturvassa?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mitkä ovat AWS:n ja asiakkaan vastuut pilven tietoturvassa?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            AWS noudattaa tietoturvan yhteydessä
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://aws.amazon.com/compliance/shared-responsibility-model/" target="_blank"&gt;&#xD;
      
           jaetun vastuun mallia
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
           , joka määrittelee AWS:n ja asiakkaan vastuut tietoturvaan liittyen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           AWS:n vastuulla on huolehtia, että kaikkien AWS-palveluiden käyttämä infrastruktuuri sekä AWS:n tarjoamat palvelut ovat turvallisia. Tämä pitää sisällään AWS-palveluiden käyttämien ohjelmistojen, laitteistojen, verkkojen ja konesalien turvallisuuden. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Asiakkaan vastuulla on puolestaan huolehtia oman pilviympäristön turvallisuudesta. Tämä pitää sisällään montakin eri asiaa ja kokonaisuutta, kuten esimerkiksi AWS-tilin suojauksen, identiteetin ja pääsynhallinnan, käytettävien AWS-palveluiden ja verkkojen suojaamisen ja turvallisuuden, uhkien ja haavoittuvuuksien tunnistamisen, tietojen salauksen niin levyllä kuin verkkoliikenteessäkin, pilvi-infrastruktuurin määrittelemisen ohjelmallisesti (IaC) ja tietoturvaan liittyvien parhaiden käytänteiden noudattamisen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           AWS-palveluiden välillä on suuriakin eroja liittyen tietoturvan vastuuseen ja laajuuteen. Esimerkiksi EC2-palvelun kanssa asiakas vastaa laaja-alaisesti ylläpidosta ja turvallisesta konfiguroinnista, kuten esimerkiksi käyttöjärjestelmän ylläpidosta, instanssille asennetuista sovelluksista, datan salaamisesta sekä instanssin turvallisesta konfiguroinnista. Lambda-palvelun yhteydessä asiakkaan vastuut tietoturvaan liittyen ovat suppeammat. Asiakas varmistaa, että Lambdassa suoritettava koodi ja käytetyt kirjastot ovat turvallisia sekä huolehtii identiteetin ja pääsynhallinnasta. AWS puolestaan vastaa Lambda-palvelun taustalla olevan infrastruktuurin turvallisuudesta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            AWS tarjoaa erilaisia palveluita tietoturvaan liittyen. Näitä palveluita käytetään esimerkiksi tietoturvaan liittyvien ongelmien tunnistamiseen, uhkilta suojautumiseen, hyökkäysten havaitsemiseen ja reagointiin sekä palautumiseen hyökkäyksen jäljiltä. Tällaisia palveluita ovat esimerkiksi Inspector, Security Hub, IAM, Security group, Network Firewall, Shield, WAF, Macie, KMS, GuardDuty, Detective sekä Backup. Tietoturvaan liittyvistä AWS-palveluista voi käydä lukemassa lisää myös AWS:n omasta
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://aws.amazon.com/products/security" target="_blank"&gt;&#xD;
      
           listauksesta
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
           .
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Näiden palveluiden käyttämisen lisäksi on myös suositeltavaa, että turvallisuus huomioidaan ohjelmistokehityksen kaikissa vaiheissa. DevOpsin yhteydessä tästä käytetään nimitystä DevSecOps, jota käyttämällä tietoturva on läsnä kaikissa vaiheissa suunnittelusta tuotantoympäristön monitorointiin, ja lisäksi tietoturvaan liittyvät operaatiot, kuten esimerkiksi tietoturvaongelmien tunnistaminen ja havaittuun uhkaan reagointi automatisoidaan.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Tietoturva on laaja aihepiiri, mutta AWS:n Well-Architected Framework sisältää erillisen tietoturvaan keskittyvän
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/welcome.html" target="_blank"&gt;&#xD;
      
           "Security Pillar" -osion
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
           , josta asiakkaat saavat paljon arvokasta tietoa tietoturvaan liittyen, kuten esimerkiksi parhaita käytänteitä ja suosituksia toteutuksiin liittyen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Jukka.U.jpg" alt="A man in a blue hoodie is standing with his arms crossed."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Jukka Ukkonen
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-4+%281%29.jpg" length="255041" type="image/jpeg" />
      <pubDate>Wed, 13 Dec 2023 06:15:33 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-mitka-ovat-aws:n-ja-asiakkaan-vastuut-pilven-tietoturvassa</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-4+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-4+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mihin chaos engineering -työkaluja käytetään?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-mihin-chaos-engineering-tyokaluja-kaytetaan</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mihin chaos engineering -työkaluja käytetään?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mihin chaos engineering -työkaluja käytetään?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Chaos engineering on Netflixin alunperin kehittämä filosofia, jolla pyritään parantamaan isojen hajautettujen järjestelmien vikasietoisuutta ajamalla erilaisia "kaaoskokeita" (chaos experiment) suoraan tuotantoympäristössä. Netflix aloitti tämän kehittämällä Chaos Monkey nimisen työkalun, joka toimii tuotantoympäristössä ja sammuttaa virtuaalikoneita sattumanvaraisesti. Tämä käytännössä pakottaa tiimit kehittämään palveluista sellaisia, että ne toipuvat tällaisista vikatilanteista. Myöhemmin vastaavia työkaluja on kehitetty lisää ja ne pystyvät injektoimaan ympäristöihin paljon erilaisia vikatilanteita, esimerkiksi verkkotason latenssia tai katkoksia, pakettihävikkiä ym, ja virtuaalikonetasolla kasvanutta CPU-kuormaa, muistin kulutusta tai muita suorituskykyyn vaikuttavia ongelmatilanteita. Hallitusti injektoitujen vikatilanteiden kautta järjestelmien vikasietoisuutta voidaan testata ja sitä kautta pyrkiä korjaamaan havaitut ongelmat. Chaos engineerig -filosofian ydin on ajaa testejä nimenomaan tuotantoympäristössä, jolloin voidaan varmistua siitä, että testit mahdollisimman tarkasti toistavat tosielämän vikatilanteita.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Chaos engineering -kokeiden suorittaminen tuotantoympäristössä vaatii pitkäjänteistä kehitystä ja kokeiden tarkkaa suunnittelua ja valmistelua. Tätä ennen pitää tietenkin olla suhteellisen hyvä käsitys siitä miten järjestelmä tulee käyttäytymään vikatilanteissa, ja yleensä kokeilla halutaankin testata jotain tiettyä järjestelmän osa-aluetta. Järjestelmien vikasietoisuuden parantumisen lisäksi toinen tärkeä hyöty on siinä että sovellustiimit oppivat toimimaan paremmin myös todelllisissa vikatilanteissa kun vikatilanteiden selvittelyä harjoitellaan hallitusti chaos engineering kokeiden kautta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Vaikka chaos engineering -filosofian tavoitteena onkin pyrkiä tilanteeseen, jossa luottamus järjestelmän toimintaan on sillä tasolla, että kokeita voidaan ajaa tuotantoympäristössä riittävällä varmuudella siitä, että kokeet itsessään eivät aiheuteta isompaa hallitsematonta vikatilannetta, tähän ei ole tietenkään välttämätöntä pyrkiä heti alkuvaiheessa. Chaos engineering -työkaluista voi olla paljonkin hyötyä osana normaalia järjestelmien testausprosessia, jolloin mahdolliset ongelmat havaitaan mahdollisesti jo testausvaiheessa ja voidaan korjata ennen kuin tuotannossa vastaavia ongelmia edes ilmenee.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Chaos engineering -kokeiden hallintaan ja suorittamiseen löytyy useita avoimen lähdekoodin sovelluksia ja myös maksullisia apuvälineitä, esimerkiksi ChaosMesh, LitmusChaos ja Gremlin. Toimittaessa AWS-ympäristössä voidaan käyttää AWS:n omaa Fault Injection Simulator (FIS) -työkalua joka integroituu suoraan AWS-resursseihin ja pystyy simuloimaan useita erilaisia vikatilanteita.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Jussi-Lehtiniemi-1+nettisivut+%281%29.jpg" alt="A man wearing a white polo shirt and a watch is standing with his arms crossed."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Jussi Lehtiniemi
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Cloud Architect
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-41-ffd14486.jpg" length="99106" type="image/jpeg" />
      <pubDate>Thu, 07 Dec 2023 07:17:25 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-mihin-chaos-engineering-tyokaluja-kaytetaan</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-41-ffd14486.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-41-ffd14486.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Perusasiat keskiössä - Rekrytoinnin NPS-kyselyn tulokset</title>
      <link>https://www.webscale.fi/2023/12/perusasiat-keskiossa-rekrytoinnin-nps-kyselyn-tulokset</link>
      <description>Vuoden 2023 alusta lähtien olemme käyttäneet NPS-sähköpostikyselyä rekrytointiprosessimme onnistumisen mittaamiseen. Blogitekstissä Talent Acquisition Specialistimme Juho Sopanen käy kyselyn tuloksia läpi ja suuntaa katseitaan jo myös kohti ensi vuotta.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Rekrytointi on tärkeä osa menestyvää kasvuyritystä ja sen avulla voidaan vaikuttaa merkittävästi työnantajamielikuvaan. Siksi on oleellista mitata myös sen onnistumista, jotta tiedetään mikä prosessissa toimii ja missä voisi mahdollisesti olla parannettavaa. Kilpailu osaavista työntekijöistä on edelleen kovaa ja panostamalla rekrytointiprosessin eri vaiheisiin, voidaan erottautua kilpailijoista ja sitä kautta taata paremmat mahdollisuudet pärjätä osaajakilpailussa jatkossakin. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Vuoden 2023 alusta lähtien olemme käyttäneet NPS-sähköpostikyselyä rekrytointiprosessimme onnistumisen mittaamiseen. NPS, eli Net Promoter Score, on tyytyväisyyden mittari, joka rekrytointiprosessin kontekstissa kertoo, kuinka todennäköisesti prosessissa mukana olleet henkilöt suosittelisivat kohdeyritystä työnantajana muille. Se lasketaan asiakkaiden antamien suosituspisteiden perusteella. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Tätä blogia julkaistaessa Webscalen NPS-luku rekrytoinnin osalta on komea 67.
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Tämä on vahva osoitus siitä, että olemme onnistuneet rekrytointiprosessin aikana tuottamaan suurimmalle osalle kandidaateista positiivisen kokemuksen ja he näkevät Webscalen potentiaalisena työnantajana itselleen tai muille sen perusteella. 
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Kandidaattien palautteita
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Numeroarvosanan lisäksi kandidaateilla on NPS-kyselyyn vastatessa mahdollista antaa avointa palautetta kokemastaan rekrytointiprosessista. Näitä avoimia palautteita olemmekin saaneet mukavan määrän, joista muutama mainittuna alla:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           “Erityisesti henkilökohtainen vastaus hakemukseen liittyen on todella hyvä ja ammattimaista. Todella monet firmat laittavat automaattisia viestejä sekä valituksi tulleille ja niille jotka eivät ole tulleet valituksi. Mukava nähdä, kun on ihmisiä rekrytoinnin puolella vastaamassa.”
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           “Erityisesti arvostin selkeää aikataulutusta ja siitä informointia. Koko ajan tiesi missä mennään, mikä on mielestäni äärimmäisen tärkeää rekryprosessissa.”
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           “Webscalen rekrytointiprosessi oli itselleni mielekäs kokemus. Keskusteluajat sai sovittua omaan aikatauluun sopivasti ja haastatteluissa oli hyvä tunnelma. Myös haastattelun monipuolisuus oli kattava sekä hyvällä tavalla yllättäväkin.”
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           “Haastattelut menivät oikein rennosti ja myös haastavasti teknisissä kysymyksissä. Yhteydenotot ja kommunikointi hyvää.”
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Perusasiat rekrytointiprosessin kulmakivinä
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Rekrytoinnin ammattilaisena yllä olevat palautteet, joita saimme useita vastaavia, lämmittävät tietysti mieltä. NPS-luvussa ovat mukana kaikki rekrytointiprosessimme. Tämä tarkoittaa sitä, että prosessien välillä on pieniä eroja keskenään ja osittain eri henkilöt ovat niissä mukana yrityksen sisältä. Tehtävästä ja prosessista huolimatta, olemme pyrkineet pitämään huolen, että perusasiat ovat kunnossa. Näitä ovat mielestäni hakemuksen jättämisen helppous, selkeä ja avoin hakijaviestintä sekä haastatteluiden rento ilmapiiri. Näiden varaan toimintaa on hyvä rakentaa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Jo itse työpaikkailmoituksissa pyrimme tuomaan esiin muun muassa palkkahaitarin. Haluamme olla avoimia sen suhteen, mitä kandidaatti voi odottaa tehtävän palkkauksen olevan, toki riippuen myös omasta osaamisesta. Lisäksi kandidaatin ei tarvitse täyttää kankeita useita kohtaa sisältäviä tekstikenttiä jättääkseen hakemuksen, vaan esimerkiksi pelkän LinkedIn -profiilin tiedot riittävät tähän. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Osa-alue, josta olemme kenties eniten saaneet positiviista palautteita, on selkeä ja avoin viestintä prosessin aikana. Kun kandidaatit pysyvät kartalla siitä miten prosessi etenee eri vaiheissa ilman tuskastuttavaa hiljaiseloa ja epätietoisuutta, voidaan tällä huomattavasti vaikuttaa kandidaattien kokemuksiin, kuten yllä olevat vastaukset osoittavat. Tavoitteenamme on myös edetä prosesseissa ripeällä aikataululla, joka on saanut kiitosta. Sisäisissä keskusteluissa meille on jäänyt lisäksi kuva, että rekrytointitapaamisissa on ollut mukavan rento tunnelma. Useissa palautteissa tämä nousi esiin myös kandidaattien puolelta, joka on ollut mukava huomata. Vaikka tapaamisissa esitetään puolin ja toisin välillä kiperiäkin kysymyksiä, ei itse tapaamisen tunnelman tarvitse silti olla jäykkä tai jännittynyt. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Katseet kohti tulevaa
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Vuosi 2023 alkaa olemaan kohta jo loppusuoralla ja rekrytoinninkin osalta katseet alkavat olla jo vahvasti ensi vuodessa. Tarkoituksena on kehittää prosessiamme entisestään. Olemmekin palautteissa saaneet hyviä kehitysehdotuksia, missä voisimme parantaa tai mihin kenties kiinnittää jatkossa enemmän huomiota. Näitä asioita ovat olleet muun muassa vielä tarkempi kuvaus mahdollisesta tulevasta roolista yrityksessä sekä mahdollisuus oman osaamisen tuomiseen esiin vielä vahvemmin prosessin aikana, esimerkiksi erilaisten case-esimerkkien avulla.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Kaikki kehitysehdotukset ovat meille äärimmäisen tärkeitä. Rekrytointiprosessiin osallistuvat kandidaatit katsovat prosessia tuorein silmin, jolloin he voivat tuoda omia näkökulmiaan ja ideoitaan esiin, jotka saattavat jäädä rekrytointia tekeviltä henkilöiltä helpommin huomaamatta, jos he “sokaistuvat” tekemisilleen. NPS-kyselyn perusteella kuitenkin kokonaisuus rekrytointiprosessimme osalta on kunnossa ja tästä on hyvä jatkaa kohti ensi vuotta 2024.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Juho+S-2-SOME.jpg" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Juho Sopanen
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Talent Acquisition Specialist
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/shutterstock_2139885573.jpg" length="170739" type="image/jpeg" />
      <pubDate>Mon, 04 Dec 2023 12:46:55 GMT</pubDate>
      <guid>https://www.webscale.fi/2023/12/perusasiat-keskiossa-rekrytoinnin-nps-kyselyn-tulokset</guid>
      <g-custom:tags type="string">Uutiset</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/shutterstock_2139885573.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/shutterstock_2139885573.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mikä on AWS Lambda ja FaaS?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-mika-on-aws-lambda-ja-faas</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mikä on AWS Lambda ja FaaS?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mikä on AWS Lambda ja FaaS?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS Lambda on Amazon Web Servicesin (AWS) tarjoama palvelu, joka mahdollistaa koodin suorittamisen palvelittomassa (Serverless) ympäristössä. Tämä tarkoittaa, että voit suorittaa koodiasi pilvessä ilman, että joutuisit ylläpitämään ja hallitsemaan palvelimia tai muita infrastruktuuriin liittyviä resursseja. AWS Lambdan keskeisimpiä ominaisuuksia ovat automaattinen skaalautuvuus, kustannustehokkuus ja laaja tuki AWS:n muiden palveluiden kanssa. AWS Lambda sopii muun muassa eräajoille ja tapahtumalähtöiseen arkkitehtuuriin (event-driven architecture). Palvelun laskutus perustuu suoritettujen pyyntöjen määrään ja koodin suoritusajan kokonaiskestoon.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           FaaS
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Function as a Service (FaaS) on pilvipalvelumalli, joka tarjoaa käyttäjilleen valmiin ympäristön koodin ajamiseen. Toisin sanoen, sen sijaan, että pyörittäisit jatkuvasti olevia sovelluksia tai palveluita, voit suorittaa koodinpätkiä vain silloin, kun niitä tarvitaan.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS Lambda on eräänlainen FaaS-palvelu. Se tarjoaa alustan, jossa koodi suoritetaan vastauksena erilaisiin tapahtumiin, kuten tietokantamuutoksiin, HTTP-pyyntöihin tai jopa pilvitallennustilassa olevien tiedostojen muutoksiin.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Heikki.jpg" alt="Heikki Ma"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Heikki Ma
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-3-815eb58a.jpg" length="151742" type="image/jpeg" />
      <pubDate>Wed, 29 Nov 2023 06:56:30 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-mika-on-aws-lambda-ja-faas</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-3-815eb58a.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-3-815eb58a.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Asiakastyytyväisyys etusijalla - Uusimmat AWS-kumppanikyselyn tulokset</title>
      <link>https://www.webscale.fi/2023/11/asiakastyytyvaisyys-etusijalla-uusimmat-aws-kumppanikyselyn-tulokset</link>
      <description />
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Vahvalla asiantuntemuksella pilvi- ja ohjelmistokehityksen saralla, Webscale on jälleen saanut tunnustusta asiakastyytyväisyydessä.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Vuoden 2023 AWS Partner Networkin (APN) kumppanikyselyssä saavutimme merkittävän NPS-luvun 85
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           , mikä on osoitus asiakkaidemme vahvasta luottamuksesta ja tyytyväisyydestä palveluihimme.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           NPS, eli Net Promoter Score, on asiakastyytyväisyyden mittari, joka kertoo, kuinka todennäköisesti asiakkaamme suosittelisivat palvelujamme muille. Se lasketaan asiakkaiden antamien suosituspisteiden perusteella. Korkea NPS-luku, kuten meidän 85, on merkki siitä, että suurin osa asiakkaistamme ovat vahvoja suosittelijoita.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS Partner Network Customer Satisfaction
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS Partner Network Customer Satisfaction (APN CSAT) on ohjelma, joka tarjoaa kumppaneille tietoa asiakkaiden tyytyväisyydestä ja palautteesta. Tämän ohjelman kautta saamme arvokasta palautetta asiakkailtamme, mikä auttaa meitä ymmärtämään heidän tarpeitaan ja parantamaan palvelujamme.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tässä muutamia asiakkaidemme antamia palautteita:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            "Excellent team working for us. These guys know AWS and their skills are beyond other providers we have used."
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            "Fast reacting, excellent competence, deep knowledge of AWS products and managed services and especially how to utilize them in creating business services, doing frameworks and processes to support a wide range of use cases in coherent manners."
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            "The service has always been excellent, and they respond quickly, take issues seriously and go out of their way to find solutions."
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            "Good knowledge of technologies. Listens to their clients needs and finds the best solution."
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Oikealla tiellä - sitoutumistamme ja kykyämme reagoida nopeasti arvostetaan 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Nämä palautteet ovat meille yhtiönä erittäin arvokkaita. Ne vahvistavat, että olemme oikealla tiellä ja että asiakkaamme arvostavat sitoutumistamme, ammattitaitoamme ja kykyämme reagoida nopeasti heidän tarpeisiinsa. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Palautteet auttavat meitä myös tunnistamaan alueita, joissa voimme vielä kehittyä. Vaikka NPS-lukumme on korkea, emme tyydy pelkästään nykyiseen tilanteeseen. Pyrimme jatkuvasti kehittymään, pysymään teknologian aallonharjalla ja palvelemaan asiakkaitamme entistä paremmin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kiitämme asiakkaitamme luottamuksesta, jonka olette meille osoittaneet. Haluamme myös kiittää koko Webscalen henkilöstöä erinomaisesta työstä ja sitoutumisesta, mikä on olennainen osa menestystämme. Olemme ylpeitä siitä, että saamme olla mukana luomassa kestäviä ja skaalautuvia digitaalisia palveluita yhdessä asiakkaidemme kanssa.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-customer-satisfaction.jpeg" length="79395" type="image/jpeg" />
      <pubDate>Tue, 21 Nov 2023 20:08:31 GMT</pubDate>
      <author>tero.kauhanen@webscale.fi (Tero Kauhanen)</author>
      <guid>https://www.webscale.fi/2023/11/asiakastyytyvaisyys-etusijalla-uusimmat-aws-kumppanikyselyn-tulokset</guid>
      <g-custom:tags type="string" />
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-customer-satisfaction.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-customer-satisfaction.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mitä kaikkia Serverless-palveluita AWS:ssä on?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-mita-kaikkia-serverless-palveluita-aws:ssa-on</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mitä kaikkia Serverless-palveluita AWS:ssa on?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mitä kaikkia Serverless-palveluita AWS:ssä on?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Aivan alkuun on hyvä kerrata, mitä Serverlessillä oikein tarkoitetaankaan. Serverless-palvelut ovat tapa rakentaa sovelluksia ja palveluita ilman että tarvitsee itse ylläpitää infraa, jossa näitä sovelluksia ja palveluita suoritetaan. Esimerkiksi backend-kehittäjä voi tällöin keskittyä huolehtimaan koodin toiminnasta ja turvallisuudesta, ja jättää käyttöjärjestelmäpäivitykset ja vastaavat palveluntarjoajan, esimerkiksi AWS:n, vastuulle.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           AWS:ssä on tarjolla kattava valikoima Serverless-palveluita niin laskenta-, sovellusintegraatio-, kuin tietovarastotarkoituksiinkin. Niiden kattava läpikäynti ei ole mielekästä tämän vastauksen puitteissa, mutta esitän tässä muutamia esimerkkejä yleisimmistä AWS:n Serverless-palveluista.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Serverless-laskentaa varten AWS:ssa on Lambda-funktiot, jotka on tarkoitettu pääasiassa suhteellisten lyhyiden yksittäisten operaatioiden suorittamiseen, ja AWS Fargate konteissa suoritettavia palveluita varten. Molemmissa käyttäjän tarvitsee määrittää lähinnä koodin tarvitseman muistin ja/tai laskentatehon määrä, ja varsinaisten palvelimien hallinnointi tapahtuu taustalla automaattisesti.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Sovelluksen eri osien välistä viestintää varten AWS tarjoaa lukuisia erilaisia Serverless-ratkaisuja eri käyttötarkoituksiin. Esimerkkeinä mainittakoon EventBridge, SQS ja SNS viestien välitykseen eri tavoin ja API Gateway ohjelmointirajapintojen toteutukseen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Myös tiedon pidempiaikainen varastointi onnistuu AWS:ssä Serverless-palveluiden varassa: tiedostojen varastointi onnistuu esimerkiksi S3:ssa tai EFS:ssä, joista jälkimmäinen on täysiveroinen tiedostojärjestelmä, jota voi helposti skaalata omien tarpeiden mukaan niin koon kuin suorituskyvynkin osalta. Tietokantapuolella Serverless-vaihtoehto on olemassa NoSQL-kannalle (DynamoDB), relaatiokannalle (Aurora Serverless), datavarastolle (Redshift Serverless) ja graafitietokannalle (Neptune Serverless).
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Tämä on luonnollisestikin vain pintaraapaisu Serverless-maailmaan ja AWS tarjoaa useita muitakin Serverless-käsitteen alle kuuluvia palveluita.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Jari.jpg" alt="A man wearing a black t-shirt that says tech days"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Jari Avikainen
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Data Engineer
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-9-bfeefcb8.jpg" length="196698" type="image/jpeg" />
      <pubDate>Mon, 20 Nov 2023 07:50:28 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-mita-kaikkia-serverless-palveluita-aws:ssa-on</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-9-bfeefcb8.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-9-bfeefcb8.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Miten infra-komponentit kannattaa jakaa stack:eihin CDK:ssa?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-miten-infra-komponentit-kannattaa-jakaa-stack:eihin-cdk:ssa</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, miten infra-komponentit kannattaa jakaa stack:eihin CDK:ssa?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Miten infra-komponentit kannattaa jakaa stack:eihin CDK:ssa?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kuten moni muukin asia, riippuu se pitkälti siitä, miten toteutus halutaan tehdä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Moni voisi ajatella, että samaan stackiin olisi hyvä määritellä toisistaan suoraan riippuvaiset komponentit, jotka eivät voi toimia ilman toisiaan. Tällä tavalla omasta mielestäni stackin ja stagen merkitys kuitenkin sekoittuu ja lopulta kaikki komponentit voivat päätyä samaan stackiin. Pienemmissä kokonaisuuksissa tämä ei ole välttämättä ongelma, mutta yhtään isomman järjestelmän kanssa koodi voi puuroutua ja deployment muuttua hankalammaksi.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Itse suosimani tapa määritellä komponentit on eritellä infra häilyvään ja pysyvään infraan. Pysyvä infra on tyypillisesti sellaista, jota ei missään tapauksessa saa poistaa ja joka säilöö dataa kuten Dynamo ja S3. Häilyvä infra voidaan poistaa ja deployata uudelleen ilman ongelmia, kuten Lambda ja API Gateway. Tämän erottelun jälkeen jokaiselle pysyvälle infralle voidaan tehdä oma stack. Häilyvää infraa voi määritellä samassakin stackissa, jos komponentit ovat suoraan toisistaan riippuvaisia. Esimerkiksi API Gateway ja sen taustalla pyörivät Lambdat voivat hyvin olla samassa stackissa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Infran määrittely on kuitenkin aina tapauskohtaista ja on hyvä muistaa myös tiimissä yhteisesti sovitut konventiot.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Timo_CV_kuva.jpeg" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Timo Laakso
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-12+%281%29.jpg" length="210629" type="image/jpeg" />
      <pubDate>Mon, 13 Nov 2023 08:13:15 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-miten-infra-komponentit-kannattaa-jakaa-stack:eihin-cdk:ssa</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-12+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-12+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mitä ovat generaattorit JavaScriptissä?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-mita-ovat-generaattorit-javascriptissa</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mitä ovat generaattorit JavaScriptissä?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mitä ovat generaattorit JavaScriptissä?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Generaattorit yleisesti
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Generaattorit ovat yleinen ohjelmointikielten ominaisuus. Esimerkiksi JavaScript, Python, Java, C++ ja PHP tukevat generaattoreita. Generaattorit tarjoavat yleisen ja suhteellisen helpon tavan toteuttaa iteraattorirajapinta, joka kykenee käymään läpi, siis iteroimaan datasarjan alkiot. Sarja voi olla rajallinen, mutta myös virtuaalisesti loputon.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Generaattoreita voidaan käyttää esimerkiksi listan läpikäyntiin yksi alkio kerrallaan, suorittaa välissä muuta koodia ja palata sitten tarpeen mukaan alkioiden käsittelyyn siitä kohdasta, johon viimeksi jäätiin. Tämä on hyödyllistä esimerkiksi silloin, kun alkioiden käsittely kerralla kuluttaisi liikaa muistia, tai silloin, kun vasta alkiota käsiteltäessä ratkeaa halutaanko listan iterointia ylipäätään jatkaa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Generaattorit JavaScriptissä
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           JavaScriptissä generaattorifunktio tarjoaa mahdollisuuden kirjoittaa iteratiivinen algoritmi helposti funktion muodossa. Generaattorifunktion iteratiivisen osan suoritusta ei kuitenkaan aloiteta vielä generaattorin luontivaiheessa. Iterointikierroksia suoritetaan erikseen kutsumalla generaattorifunktion palauttaman generaattorin next()-metodia.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Generaattorifunktio määritetään merkitsemällä tähti function-sanan ja funktion nimen väliin. Tähden on oltava heti function-sanan perässä mikäli kyseessä on anonyymi generaattorifunktio.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Kuva+1+.png" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Generaattorifunktio palauttaa iteroitavan iteraattoriobjektin (engl. iterable iterator), joka täyttää kaikki iteroitavan objektin vaatimukset. Huomaa, että “iterable” on eri asia kuin “iterator”, ja että molemmat ominaisuudet tarvitaan oikeaoppisen iteraattorin toteuttamiseen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Generaattorifunktion sisään kirjoitetaan tyypillisesti yksi tai useampia yield-ilmauksia, jotka toimivat kuin return-ilmaukset sillä erotuksella, että yield-palautuksen jälkeen iteraattori muistaa sen tilan, eli funktion sisäisessä skoopissa määriteltyjen muuttujien arvot, johon se viime suorituskerralla jäi. Vaikka yield-ilmauksia olisi vain yksi, se voi palauttaa arvoja useita kertoja esimerkiksi toistorakenteen sisällä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Merkitsemällä yield-ilmauksen perään tähtimerkintä (yield*) voidaan iteraattorin palauttama arvo halutessa delegoida toiselle iteroitavalle objektille.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Kuva+2.png" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Iteraattorit JavaScriptissä
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Alla on esimerkki JavaScript-iteraattorin toteutuksesta. For..of-rakenne osaa käyttää mitä tahansa iteroitavaa objektia. JavaScriptissä on useita natiiveja iteroitavia objekteja kuten Array-, String- tai Map-rakenteiden instanssit. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Myös Generaattorifunktion palauttama generaattori on iteroitava objekti, jota for..of-rakenne osaa iteroida. Alla olevassa esimerkissä ei ole genraattoria eikä generaattorifunktiota, vaan iteroitava iteraattoriobjekti manuaalisesti luotuna. Generaattorifunktiot ovat apuvälineitä, joiden ansiosta meidän ei tarvitse luoda iteroitavia iteraattoreita alusta asti, koska generaattorifunktio palauttaa meille sellaisen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Kuva+3.png" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mistä tahansa objektista saadaan iteroitava (engl. iterable), kun objektilla on oikeaoppisesti toteutettu next()-metodi. Objektista tulee kuitenkin iteraattori, kun sillä on myös @@iterator-metodi.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Huom: @@-etuliite on tapa merkitä JavaScript -symboleita. Esimerkiksi Symbol.iterator voidaan merkitä @@iterator.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Yhteenveto
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           JavaScriptissä generaattorifunktioita käytetään luomaan generaattoreita, jotka ovat iteroitavia iteraattoreita samoin kuin monet muut JavaScript-rakenteet (esim. String- tai Array-rakenteiden instanssit). Generaattorifunktion sisällä yield-ilmaus palauttaa iteraatiokierroksen arvon, mutta yield*-ilmauksella palautus voidaan delegoida myös muulle iteroitavalle objektille. Objekti on iteraattori mikäli se toteuttaa oikeaoppisen next()-metodin. Objekti on lisäksi iteroituva, mikäli se toteuttaa oikeaoppisesti myös @@iterator-metodin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Johan-nettisivut+%281%29.jpg" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Johan Stenroth
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-37+%282%29.jpg" length="189158" type="image/jpeg" />
      <pubDate>Wed, 25 Oct 2023 11:52:17 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-mita-ovat-generaattorit-javascriptissa</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-37+%282%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-37+%282%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Miten tietoturva tuodaan pilveen?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-miten-tietoturva-tuodaan-pilveen</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, miten tietoturva tuodaan pilveen?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Miten tietoturva tuodaan pilveen?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Julkipilven palveluissa ja järjestelmissä toteutetaan jaettua tietoturvamallia pilvipalveluntarjoajan ja käyttäjän välillä. Tässä mallissa pilvipalvelutarjoajan vastuulla on tarjottujen palvelujen alla olevan infrastruktuurin tietoturva kuten varsinaisten konesalien, verkkojen ja virtualisointialustojen turvallisuus. Käyttäjä puolestaan on vastuussa käytettävien palveluiden konfiguraatiotasosta, jolla vaikutetaan esimerkiksi datan luokitteluun ja suojaukseen, verkkokonfiguraatioiden toteuttamiseen ja identiteetti- ja pääsyhallintaan.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Palveluiden käyttäjän on ymmärrettävä ja huolehdittava seuraavista osa-alueista osana kokonaisvaltaista pilven tietoturvaa:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Identiteetti ja pääsynhallinta (Identity and Access Management, IAM)
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Tunnistautuminen, pääsynhallinta ja oikeustasomääritykset ovat oltava kyllin tarkasti ja vahvasti toteutettu pilvipalvelutarjoajan työkaluja hyödyntäen, jotta pääsy on mahdollinen vain oikeilla käyttäjillä ja riittävällä oikeustasolla. MFA- ja muut vahvan tunnistautumisen palvelut ovat arkipäivää julkipilvessä ja näitä palveluita on syytä hyödyntää.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Datan suojaus
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Datan vahva suojaaminen voidaan toteuttaa niin verkko- kuin tallennuspäässä hyödyntäen vahvaa salausta esimerkiksi pilvipalvelutarjoajan KMS (Key Management System) palveluita käyttämällä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tiedon luokittelu ja hallinta
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Tiedon (datan) luokittelulla tarkoitetaan tiedon erottamista arkaluonteisen tiedon osalta tämän perusteella tehtävien määritysten suhteen liittyen tiedon tallennukseen ja säilyvyyteen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Haavoittuvuuksien hallinta
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Pilvipalvelutarjoajat pitävät huolta palveluidensa päivityksien saatavuudesta ja esilletuonnista. Loppukäyttäjän on huolehdittava päivitysten asentamisesta ja toteutuksesta varsinaisiin pilviresursseihin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Valvonta ja seuranta
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Pilvipalvelutarjoajilla yleensä on tarjolla omia työkaluja haavoittuvuuksien ja uhkien seurantaan, jotka kannattaa ottaa käyttöön ensimmäisestä askeleesta lähtien. Erilaiset logitus- ja valvontatyökalut tarjoavat mahdollisuuksia pitää huolta turvallisuudesta ja toiminnallisuuksista pilviympäristössä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Verkon tietoturva
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Käyttäjä pitää huolta reitityksien, palomuurisääntöjen ja pääsyhallintalistojen toteutuksesta niin että tieto liikkuu pilviympäristössä ja muiden verkkojen välillä turvallisesti. Huomiota on myös syytä kiinnittää verkon hallintaan ja jakoon hyödyntäen virtuaaliverkkojen ja aliverkkojen tuomia erottelumahdollisuuksia.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Datan varmistus ja palautus
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Loppukäyttäjän on huolehdittava uhkien toteutuessa siitä että tieto on varmistettu ja palautuminen on mahdollisimman tehokasta minimoidakseen vahingot. Pilvipalvelutarjoajan omat varmistus- ja palautuspalvelut näyttelevät tässä merkittävää roolia, mutta myös muita 3. osapuolen ratkaisuja on paljon saatavilla. Huomiota on kiinnitettävä myös käytäntöihin, jotta mahdollisten vahinkojen sattuessa palautuminen on mahdollista: Testauksen kuuluu olla osa kokonaisvaltaista varmistusprosessia, jossa pidetään huolta niin tekniikan kuin käytännön osalta varmistusten toimivuudesta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kouluttautuminen
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Koulutuksen kuuluu olla osa kokonaisvaltaista tietoturvatoimintaa myös pilviympäristöissä niin että henkilöstö pystyy tunnistamaan tietoturvauhkat ja noudattamaan parhaita käytäntöjä tietoturvan suhteen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Suuret pilvipalvelutarjoajat kuten Amazon, Microsoft ja Google ovat panostaneet valtavasti järjestelmiensä tietototurvaan ja vaatimustenmukaisuuteen. Loppukäyttäjän, joka näitä alustoja hyödyntää omien palveluiden ja ratkaisujen toteuttamiseen, on hoidettava oma osuutensa, jotta tietoturva on asianmukaisella tasolla pilviympäristössä. Tämä kaikki kiteytyy puolikuuluisaan toteamukseen “Tietoturvasta huolehtiminen on meidän jokaisen tehtävä.”
           &#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Ville-Va-lima-ki.jpg" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Ville Välimäki
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Cloud Architect
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-55+%281%29.jpg" length="159072" type="image/jpeg" />
      <pubDate>Fri, 20 Oct 2023 06:41:21 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-miten-tietoturva-tuodaan-pilveen</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-55+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-55+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>NEVER - mistä on kyse TypeScriptin oudoimmassa tyypissä? Osa 2/2</title>
      <link>https://www.webscale.fi/never-mista-on-kyse-typescriptin-oudoimmassa-tyypissa-osa-2</link>
      <description>Blogikirjoituksessa konsulttimme Johan kertoo, mistä never-tyypissä on oikein kysymys, mihin sitä tarvitaan ja missä yhteyksissä tyyppi esiintyy. Neverin lisäksi blogissa käsitellään myös muita TypeScriptin -konsepteja.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           NEVER - mistä on kyse TypeScriptin oudoimmassa tyypissä?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Blogin toisessa osassa (osa 2/2) keskitymme neverin rooliin tyyppisupistimissa (engl. type guard), unioneissa ja leikkauksissa. Lisäksi katsomme, mikä merkitys neverillä on funktioiden paluuarvon tyyppinä. Blogin ensimmäisen osan pääset lukemaan
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.webscale.fi/never-mista-on-kyse-typescriptin-oudoimmassa-tyypissa-osa-1" target="_blank"&gt;&#xD;
      
           täältä
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
           .
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Yleensä tulkki päättelee never-tyypin
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Jotta voisimme ymmärtää never-tyypin merkityksen muuttujan tyyppinä, palataan vielä hetkeksi joukko-opillisiin käsitteisiin, kuten unioni, leikkaus (engl. intersection) ja tyhjä joukko.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h5&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Never osana unionia
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h5&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Unionit määrittävät joukon tyyppejä, jotka kelpaavat muuttujan arvoksi.
            &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/image5+%282%29+%281%29.png" alt="A computer screen with a few lines of code on it"/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           New ParagraphVoiko union-tyyppien vaihtoehdoksi antaa siis myös never-tyypin? Teknisesti, kyllä voi, mutta siinä ei ole mitään mieltä, sillä kuten blogin ensimmäisessä osassa totesimme, never laajentaa jokaista muuta TypeScript-tyyppiä ja sisältyy näin ollen jo jokaiseen muuhun unionissa olevaan tyyppiin. Neverin merkitseminen unioniin on tarpeetonta ja TypeScript-tulkki pudottaa never-tyypin unionista erillisenä tyyppinä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Alla oleva esimerkki on kuten yllä, mutta olemme lisänneet unioniin never-tyypin (rivi 1).
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/image10+%281%29.png" alt="A blurred image of a text box that says ' error ' on it"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           New Never ei esiinny TypeScript-tulkin virheilmoituksessa (rivi3), vaikka never on merkitty yhdeksi unionin tyypeistä (rivi1). Tulkki on päätellyt never-tyypin ulos unionista, koska never sisältyy jo kaikkiin muihin tyyppeihin.
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h5&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Unioni voi supistua type guardeilla neveriksi
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h5&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Never siis sisältyy kaikkiin unioneihin. Joissain tilanteissa unionin tyyppivaihtoehdot voivat supistua TypeScript tulkissa pelkäksi never-tyypiksi. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Tällainen tilanne on type guardilla toteutettu type narrowing -koodi, jossa ehtolausekkeet poissulkevat muuttujan mahdollisia tyyppejä siten, ettei jäljellä ole yhtäkään mahdollista tyyppiä, ja näin siitä tulee never.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Tässä esimerkissä union-tyyppiä supistetaan (engl. type narrowing) tyyppivahteina (engl. type guard) toimivilla if-ehtolauseilla.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/image9+%281%29.png" alt="A purple screen with a few lines of code on it"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           New ParagraphEnsin “string | number”-union -tyypistä (rivi 1) supistuu ensimmäisessä if-lauseessa pois string, sitten else if -osassa number, jolloin viimeisen else-blokin sisällä muuttuja ei voi enää olla yhtäkään unionissa suoraan ilmaistua tyyppiä. Tyyppi on supistunut never-tyypiksi.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h5&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Leikkaus ja never
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h5&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Leikkaus (engl. intersection) tarkoittaa joukko-opissa kahden tai useamman joukon yhteisiä alkioita, eli niitä alkioita, jotka esiintyvät kaikissa keskenään leikattavissa joukoissa. Vastaavasti TypeScript-maailmassa leikkaus tarkoittaa kahden tai useamman unionin yhteisiä tyyppejä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Tässä “
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           type c”
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            (rivi 3) on unioneiden a ja b leikkaus
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/image1+%282%29+%281%29.png" alt="A purple screen with a few lines of code on it"/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mitä jos leikkauksesta ei jääkään mitään jäljelle, eli jos keskenään leikattavilla unioneilla ei ole yhtäkään yhteistä tyyppiä? Kun leikkauksen lopputulos on tyhjä unioni, sen tyyppi on never.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/image2+%282%29+%281%29.png" alt="A purple screen with a few lines of code on it"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h5&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Conditional type ja never
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h5&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tässä osiossa puhumme ensimmäistä kertaa tyyppitason muuttujasta, jota kutsuttakoon tässä geneeriseksi tyypiksi (engl. generics). Geneerinen tyyppi on siis tyyppimaailman muuttuja, joka kantaa mukanaan tietoa muuttujan tyypistä. Geneerisen tyypin varsinainen tyyppi määrittyy geneeristä tyyppiä alustettaessa, jonka jälkeen tyyppi säilyy geneerisen tyypin mukana missä tahansa sitä käytetäänkin. Tämä blogi ei käsittele geneerisiä tyyppejä tämän syvemmin, mutta geneerisen tyypin ajatus pähkinän kuoressa on hyvä tietää ehdollisten tyyppien esimerkkiä ymmärtääksemme.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           JavaScriptissä on ehtolauseita kuten if-lauseet, jotka käsittelevät vain arvoja, eivät tyyppejä. TypeScript tuo ohjelmointiin myös tyyppejä käsittelevät ehtolauseet, jotka käsittelevät vain tyyppejä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           TypeScript-maailmassa on siis mahdollista operoida tyyppien ehtolauseilla (engl. Conditional Type).
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Conditional Type -määrittelyssä käytetään geneeristä tyyppiä, sekä tyypin laajennettua versiota tarkoittavaa extends-merkintää. Katso alla olevaa esimerkkiä.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/image4+%282%29+%281%29.png" alt="A blurred image of a text box that says type animals"/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Yläpuolen esimerkki määrittää Conditional Typen avulla tyypin HasFourLegs. Tyypille annetaan geneerisenä tyyppinä Animal. Tyypin ehto-osassa  tehdään päätelmä: jos geneerisenä tyyppinä annetulla tyypillä on property “legs: 4”, eli toisin sanoen, jos Animal on laajennus { legs: 4 } -tyypistä, Animal-tyyppi täyttää tyypin HasFourLegs ehdollisen tyypityksen kriteerit.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Huomaathan, ettei tyyppiehtolause tarkasta, onko Animal oikeasti tyyppiä Animal. Vaikka ehtolause päätyisi never-osaan, Animal-tyyppi on edelleen Animal-tyyppiä. Animal-tyyppi ei vain silloin ole tyypin { legs:4 } laajennus. Huomaathan myös, ettei numero 4 ole tässä tapauksessa arvo, vaan TypeScriptin literaalityyppi. Arvot ovat JavaScriptiä, tyypit puolestaan ovat TypeScriptiä mukaan lukien literaalityypit. Tämä olisi kenties helpompi huomata, jos laajennetestissä tarkistettaisiinkin laajennusta esimerkiksi tyypille { legs: number }. Sekä number, että literaalityyppi 4 kuuluvat tyyppimaailmaan. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Esimerkissä määritellään union tyyppi Animals. Tämän jälkeen määritellään tyyppi FourLegs, johon kohdistetaan tyyppisupistus (Type Narrowing) Conditional Typen avulla. FourLegs-tyypin unioniin päätyvät ainoastaan HasFourLegs Conditional Typen ehdon täyttävät Animals-uniontyypin unionialkiot, eli kaikki ne alkiot, jotka olivat laajennuksia objektille { legs: 4 }.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           FourLegs-tyypiksi tulisi never, mikäli Animals-unionissa ei olisi yhtään Conditional Type -ehdossa määritettyä alkiota.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Sekavaa? Ei huolta, ehdolliset tyypit eivät ole TypeScriptin joka päiväisiä rakennuspalikoita. Oikeastaan kaikkein hyödyllisintä lienee tunnistaa Conditional Typet geneeristen tyyppien ja extends-ilmaisujen avulla jonkun toisen kirjoittamasta koodista ja ymmärtää siitä mitä koodissa tapahtuu.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Never funktion paluuarvon tyyppinä
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Funktion paluuarvon tyyppinä never tarkoittaa funktiota, joka ei koskaan suoriudu loppuun asti.
            &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Tällaisia tapauksia on kaksi:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            funktio jää ikuiseen kiertoon
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            funktio päätyy aina virheeseen
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h5&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Void on eri tyyppi ja eri asia kuin never
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h5&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kun funktio ei palauta mitään, sen tyypiksi voidaan asettaa void.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/image6+%281%29.png" alt="A computer screen with a few lines of code on it"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kun funktio ei palauta mitään joko tyhjän tai puuttuvan return-ilmauksen vuoksi, sen paluuarvon tyyppi on void. Palauttamattomuus on kumminkin eri asia kuin se, ettei funktio koskaan pääse loppuun asti. Jos funktio jää jokaisella suorituskerralla ikuiseen kiertoon tai jos funktio jokaisella suorituskerralla päätyy virheeseen, on funktion paluutyyppi aina never.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Alla oleva funktio jää aina ikuiseen kiertoon, joten sen paluutyyppi on never.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/function-fn-never+%281%29.png" alt="A blurred image of a piece of code on a purple background"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Alla oleva funktio päätyy jokaisella suorituskerralla virheeseen, joten sen paluutyyppi on never.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/image3+%282%29+%281%29.png" alt="A blurred image of a piece of code on a white background"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Entä jos funktio pääsee joskus loppuun ja joskus taas ei? Voiko paluutyyppi olla esimerkiksi number | never ? Teknisesti näin voisi kirjoittaa, eikä TypeScript-kääntäjä huomauttaisi virheestä. number | never funktion paluutyyppinä ei kuitenkaan olisi mielekästä, sillä kuten olemme todenneet, kaikki tyypit ovat jo valmiiksi never-tyypin laajennuksia. TypeScript-tulkki supistaa tyypin automaattisesti number-tyypiksi.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Joten mikäli funktio kykenee joissain tapauksissa palauttamaan jonkin arvon, sen tulkittu paluuarvo ei koskaan ole never. Sillä ei ole merkitystä, voiko funktio joskus jäädä myös ikuiseen kiertoon tai jos se voi joskus päätyä virheeseen. Mikäli loppuun pääsy ei ole estynyt jokaisella suorituskerralla, funktion paluutyyppi ei voi olla never.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/image8+%281%29.png" alt="A purple screen with a bunch of code on it"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           isHeads()-funktion paluutyyppi on boolean siitä huolimatta, että funktio voi joskus jäädä ikuiseen kiertoon. Paluutyypin merkitseminen boolean | never -tyypiksi olisi mahdollista, mutta tarpeetonta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Kiitos kun luit blogini
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           NEVER - TypeScriptin oudoin tyyppi osat
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            1 &amp;amp; 2! Tässä oli paljon asiaa ja käsittelimme useita TypeScript-konsepteja, jotka tavalla tai toisella, etäisestikin, liittyivät never-tyyppiin. TypeScript sisältää paljon enemmän ominaisuuksia ja konsepteja, kuin mitä on välttämätöntä osata ja tunnistaa, jotta voisi kirjoittaa hyvää TypeScript-koodia.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Johan-SOME-c9361c98-04b5cd43-45be4925.jpg" alt="A man in a grey sweater is smiling for the camera"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Johan Stenroth
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-57+%281%29+%281%29.jpg" length="184479" type="image/jpeg" />
      <pubDate>Tue, 17 Oct 2023 06:00:53 GMT</pubDate>
      <guid>https://www.webscale.fi/never-mista-on-kyse-typescriptin-oudoimmassa-tyypissa-osa-2</guid>
      <g-custom:tags type="string" />
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-57+%281%29+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-57+%281%29+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Miksi AWS:lla on eri regioonia?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-miksi-aws-lla-on-eri-regioonia</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, miksi AWS:lla on eri regioonia?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Miksi AWS:lla on eri regioonia?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS:ssä Region koostuu yhdelle maantieteelliselle alueelle ryhmitetyistä erillisistä datakeskuksista. Regionin datakeskukset muodostavat yhden erittäin vikasietoisen kokonaisuuden.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Regionin ajatus on tuoda data ja laskentakapasiteetti lähelle asiakasta. Jos asiakkaita on ympäri maailmaa, voi heitä parhaiten palvella tuottamalla palveluita lähimmissä Regionissa. Eri Regioonia koskee myös kansalliset ja alueelliset lait ja vaatimukset, esimerkiksi EU GDPR (General Data Protection Regulation) rajoittaa EU-kansalaisten datan siirtoa EU:n alueen ulkopuolelle jääviin Regiooniin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Region vaikuttaa myös AWS-palveluiden hinnoitteluun ja saatavuuteen. Kaikki palvelut on hinnoiteltu erikseen Region-kohtaisesti. Kaikissa Regioonissa ei myöskään ole aina saatavilla kaikkia AWS:n palveluita.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Juho-some--281-29.jpg" alt="A man wearing a black t-shirt that says tech days"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Juho Rautio
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Principal Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/DSC07059-01+%281%29.jpeg" length="78948" type="image/jpeg" />
      <pubDate>Fri, 13 Oct 2023 09:40:42 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-miksi-aws-lla-on-eri-regioonia</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/DSC07059-01+%281%29.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/DSC07059-01+%281%29.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>NEVER - mistä on kyse TypeScriptin oudoimmassa tyypissä? Osa 1/2</title>
      <link>https://www.webscale.fi/never-mista-on-kyse-typescriptin-oudoimmassa-tyypissa-osa-1</link>
      <description>Blogikirjoituksessa konsulttimme Johan kertoo, mistä never-tyypissä on oikein kysymys, mihin sitä tarvitaan ja missä yhteyksissä tyyppi esiintyy. Neverin lisäksi blogissa käsitellään myös muita TypeScriptin -konsepteja.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           NEVER - mistä on kyse TypeScriptin oudoimmassa tyypissä?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           TypeScript tuo tyypitykset JavaScriptiin
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           TypeScript on Microsoftin kehittämä JavaScript-laajennus, jonka keskeisin hyöty on tarjota vahva tyypitys koodin kehitys- ja käännösvaiheeseen, jotta ajonaikaiset tyypityksiin liittyvät ongelmat tulisivat etukäteen minimoiduiksi.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            TypeScriptillä on tyyppi jokaiselle kahdeksalle JavaScriptissä määritellylle
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes-func.html#built-in-typesok/typescript-in-5-minutes-func.html#built-in-types" target="_blank"&gt;&#xD;
      
           primitiivityypille
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            , jotka ovat
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           string, number, bigint, boolean, object, null, undefined
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
           ja
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           symbol.
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            TypeScript-tyypit tukevat myös tuttuja JavaScript-rakenteita, kuten listoja, objekteja ja Map-rakennetta. Lisäksi TypeScript tukee erikoisempia tyyppitapauksia kuten
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           any, unknown
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
           ja
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           never
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
           .
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           TypeScript on ennen kaikkea apuväline paremman JavaScript-koodin tuottamiseen ja vain hyvin rajatuissa käyttötapauksissa TypeScript-koodista jää mitään jäljelle käännettyyn JavaScript -koodiin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Never on outo tyyppi
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Never
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            on puolestaan TypeScriptin oma primitiivityyppi, joka tuotiin kieleen version 2.0 mukana. Tätä kirjoitettaessa TypeScript on saavuttanut version 5.2.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Never
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            -tyypillä on oma merkityksensä muuttujien ja funktioiden paluuarvojen tyyppinä. Muuttujien yhteydessä
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           never
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            edustaa sellaista koodin osaa, jota ei voida koskaan saavuttaa. Funktioiden paluuarvojen yhteydessä puolestaan
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           never
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            edustaa funktiota, jota ei voida koskaan suorittaa loppuun saakka. Perehdymme
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           never
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
           -tyyppisten muuttujien ja funktion paluuarvojen ominaisuuksiin tarkemmin myöhemmin blogissa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Never
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            on TypeScript-maailman outo tyyppi, joka edustaa jokaisen muun tyypin alityyppiä, mutta ainoastaan
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           never
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            itse voi olla
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           never
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
           -tyypin alityyppi. Tästä pian lisää tyyppien laajenteita käsittelevän otsikon alla.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Kehittäjän tarvitsee vain harvoin kirjoittaa
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           never
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            -tyyppi itse koodiin. Sen sijaan, useimmiten
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           never
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
           -tyyppi on vain TypeScript-tulkin tekemä lopputoteamus siitä, ettei muuttujaa käsittelevä koodilohko ole TypeScript-kääntäjän ymmärryksen mukaan saavutettavissa. Tämä voi esimerkiksi auttaa kehittäjää huomaamaan koodissa osia, johon suorittavan koodin on loogisesti mahdotonta päästä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kaikki TypeScript-tyypit ovat neverin laajenteita
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Joukko {‘A’} on joukon {‘A’, ‘B’, ‘C’} osajoukko. Näin ollen joukon {‘A’, ‘B’, ‘C’}
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           voidaan sanoa laajentavan (engl. extend) joukkoa {‘A’}, koska joukon {‘A’} kaikki alkiot sisältyvät joukkoon {‘A’, ‘B’, ‘C’}. Identtiset joukot ovat osajoukkoja itselleen, joten esimerkiksi joukko {‘A’} on joukon {‘A’} osajoukko. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Samalla tavalla tyyppien maailmassa voidaan esimerkiksi sanoa tyypin
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           string
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            laajentavan literaalityyppiä
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           “foo”
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            , koska tyyppi
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           string
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            sisältää kaikki mahdolliset merkkijonovariaatiot.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Never
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            puolestaan sisältyy vaivihkaa kaikkiin muihin tyyppeihin, koska kaikki tyypit ovat
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           never
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            -tyypin laajennuksia. Toisin sanoen, TypeScript-maailmassa kaikki tyypit laajentavat
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           never
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            -tyyppiä. Myös
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           never
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            itse laajentaa itseään.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Never
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            on vähän kuin tyhjä joukko joukko-opissa, sillä tyhjä joukko on kaikkien muiden joukkojen osajoukko.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           TypeScript-maailmassa operoidaan joukko-opillisilla konsepteilla. Esimerkiksi, jos haluamme kirjoittaa rajapinnan (engl. interface), joka laajentaa jo olemassa olevaa rajapintaa, voimme kirjoittaa sen käyttäen TypeScriptin extends-ilmaisua.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/image2+%281%29.png" alt="A blurred image of a computer code on a white background"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Muutama hyödyllinen TypeScript-konsepti
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h5&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Type Narrowing &amp;amp; Type Guard
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h5&gt;&#xD;
  &lt;h5&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h5&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Sen lisäksi, että TypeScript-tulkki osaa tulkita JavaScripin ajonaikaisia staattisia tyyppejä, se osaa tulkita myös koodin suoritusta ohjaavia rakenteita, kuten if/else, ternary-operaattori, toistorakenteita ja totuustarkistusoperaattoreita.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Näissä koodin ohjausrakenteissa mahdollisten tyyppien kirjo saattaa supistua (engl. type narrowing). Tyyppien kirjon supistuminen tapahtuu ns. tyyppiä vartioivassa osassa (engl. type guard).
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           TypeScript ymmärtää useita Type Narrowing -rakenteita. Yksi yleinen rakenne on JavaScriptin typeof-operaattori.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/image4+%281%29.png" alt="A blurred image of a program with a purple background"/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Esimerkkikoodin padding-muuttuja voi olla tyyppiä
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           number
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            tai
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           string
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            . Repeat-metodi on olemassa ainoastaan
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           number
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
           -tyyppisille muuttujille, mutta se on TS-tulkille okei, sillä if-lauseen type guard varmistaa, että if-blokin sisällä padding-muuttuja on aina number-tyyppiä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h5&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Type predicate function
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h5&gt;&#xD;
  &lt;h5&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h5&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Joskus type guardin logiikaksi tarvitaan monimutkaisempaa koodia, jota TypeScript ei kykene automaattisesti päättelemään. Tällaisessa tapauksessa voimme luoda oman funktion tekemään päätelmä ja kertoa TypeScriptille, minkä type guard -päättelyn funktio toteuttaa. Tällainen funktio on nimeltään Type Predicate Function.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Kehittäjän on oltava tarkkana, jotta funktio todella tekee juuri oikean tyyppitarkistuksen, sillä kuten todettua, TypeScript ei funktion sisäistä logiikkaa kykene tarkastamaan, vaan uskoo täysin sen, minkä tyyppitarkastuksen kehittäjä väittää TypeScriptille funktion toteuttavan.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Type Predicate Function palauttaa aina
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           boolean
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            -arvon ja tyypin tarkistuksen tiedot välitetään TypeScriptille funktion palautustyypin merkinnän yhteydessä, johon ei tällä kertaa merkitäkään
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           boolean
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
           , vaan muoto “[funktion parametrin nimi] is [tyypin nimi]”. Katso esimerkki alta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/image3+%281%29.png" alt="A blurred image of a piece of code that says function fish"/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Funktion logiikassa tarkastetaan, onko pet-muuttujalla property swim. Jos swim-property on olemassa, tiedämme pet-muuttujan olevan tyyppiä
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Fish
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ja funktio palauttaa
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           boolean
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
           -arvon true. Nyt käyttämällä funktiota koodissa, TypeScript osaa suhtautua funktioon Type Guardina.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h5&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Exhaustiveness checking &amp;amp; never
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h5&gt;&#xD;
  &lt;h5&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h5&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Switch-case-rakenteessa on mahdollista toteuttaa
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           never
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            -tyypin avulla
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           union
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
           -tyypin perinpohjainen alityyppien läpikäynnin tarkastus (engl. exhaustiveness checking). 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Tiedämme jo useita tapoja miten union-tyyppisten muuttujien jäljellä olevia tyyppivaihtoehtoja voidaan supistaa (engl. narrow) type guardien avulla esimerkiksi typeof-operaattorilla tai Type Predicate Functionin avulla.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Kun haluamme kuitenkin erikseen varmistaa TypeScriptin avulla, että onhan kaikki tyyppivaihtoehdot nyt läpi koluttu, voimme tehdä tämän tarkistuksen merkitsemällä muuttujan
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           never
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            -tyypiksi. Jos TypeScript hyväksyy
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           never
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
           -tyypin, unionilla ei ole enää yhtäkään tyyppivaihtoehtoa jäljellä ja muuttujan tyypit on käsitelty Type Guardeille läpikotaisin, eli sille on toteutettu “exhaustive type checking”. Katso esimerkki alta.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/image1+%281%29.png" alt="A purple screen with a bunch of code on it"/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Koska TypeScript hyväksyy never-tyypin, tyypin exhaustiveness (tai ts. tyypin läpikotaisuustarkistus) on onnistunut, sillä myös TypeScript on sitä mieltä, ettei Shape-tyypin unionilla ole default-blokin sisällä enää yhtäkään mahdollista tyyppiä jäljellä, jota aiemmat type guardit (rivit 5 ja 7) eivät olisi jo poissulkeneet.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Never-tyyppistä arvoa ei ole olemassa
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Muuttujan tyypiksi on sallittua asettaa never, mutta never-tyyppiselle muuttujalle emme voi asettaa mitään arvoa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/image5+%281%29.png" alt="A blurred image of a text box that says i got a fever"/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Mikään arvo, kuten esimerkiksi
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           undefined
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
           , ei ole sallittu arvo
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           never
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            -tyyppiselle muuttujalle.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Never
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            on puhdas TypeScript-maailman tyyppi ja konsepti, eikä JavaScript-maailmassa ole
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           never
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
           -tyyppisiä arvoja.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Kiitos kun tutustuit
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           never
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            -blogin ensimmäiseen osaan. Seuraavassa osassa (osa 2/2) keskitymme
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           neverin
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            rooliin tyyppisupistimissa (engl. type guard), unioneissa ja leikkauksissa. Lisäksi katsomme, mikä merkitys
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           never
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      
           illä on funktioiden paluuarvon tyyppinä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Nähdään toisessa osassa!
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale+pilvikonsultit.jpg" length="224802" type="image/jpeg" />
      <pubDate>Thu, 12 Oct 2023 05:53:59 GMT</pubDate>
      <guid>https://www.webscale.fi/never-mista-on-kyse-typescriptin-oudoimmassa-tyypissa-osa-1</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale+pilvikonsultit.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale+pilvikonsultit.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mitä eroa on AWS:n EKS ja ECS -palveluilla?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-mita-eroa-on-aws-eks-ja-ecs-palveluilla</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mitä eroa on AWS:n EKS- ja ECS -palveluilla?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mitä eroa on AWS:n EKS ja ECS -palveluilla?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           EKS (Elastic Kubernetes Service) ja ECS (Elastic Container Service) ovat molemmat AWS:n tarjoamia palveluita kontitettujen sovellusten ajoa ja hallintaa varten. ECS tarjoaa yksinkertaisemman ja helppokäyttöisemmän alustan sovelluksille, kun taas EKS tarjoaa täysikasvuisen Kubernetes ympäristön, jossa on AWS:n hallinnoima Control Plane (CP) helpottamaan klusterin käyttöönottoa ja hallintaa.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Niin EKS:n kuin ECS:n päällä suoritettavia työkuormia voi ajaa itsehallinnoitavissa (self-managed) EC2 instansseissa, jolloin instanssityypit ja muut infrastruktuurin määritykset pitää hoitaa itse. Molemmille palveluille on myös tarjolla “serverless” Fargate versiot, jolloin käyttäjä määrittää vain resurssit (cpu ja muisti) konteille ja AWS pitää huolen alla olevan infrastruktuurin provisoinnista sekä hallinnasta. EKS työkuormia on mahdollista suorittaa myös omassa on-prem datakeskuksessa EKS Anywhere palvelun myötä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Yleisesti ottaen ECS soveltuu hyvin tilanteisiin, joissa halutaan suhteellisen yksinkertainen palvelu pystyyn pienellä vaivalla eikä tarvita Kuberneteksen ominaisuuksia. EKS on mainio vaihtoehto monimutkaisemmille sovelluksille ja klustereille, joissa halutaan hyödyntää Kuberneteksen monia ominaisuuksia, kuten esimerkiksi joustavuutta resurssien provisointiin (scheduler). Lisäksi Kubernetes tarjoaa monipuolisen ekosysteemin ja suuren valikoiman sen ympärille rakennettuja työkaluja, joista suuri osa on vapaasti saatavilla open sourcena.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Kalle-some--281-29.jpg" alt="A man wearing a black hoodie that says websc on it"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           K
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           alle Soranko
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscalen+konsultit.jpg" length="469646" type="image/jpeg" />
      <pubDate>Tue, 03 Oct 2023 10:12:06 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-mita-eroa-on-aws-eks-ja-ecs-palveluilla</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscalen+konsultit.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscalen+konsultit.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: CDK ja CloudFormation ovat molemmat IaC-työkaluja, miten ne eroavat toisistaan?</title>
      <link>https://www.webscale.fi/kysy-konsultilta-cdk-ja-cloudformation-ovat-molemmat-iac-tyokaluja-miten-ne-eroavat-toisistaan</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, miten IaC-työkalut CDK ja CloudFormation eroavat toisistaan?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           CDK ja CloudFormation ovat molemmat IaC-työkaluja, miten ne eroavat toisistaan?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Molemmat ovat AWS:n tarjoamia IaC (Infrastructure as Code) työkaluja, joista CDK (Cloud Development Kit) on uudempi. CloudFormation on alemman tason työkalu, millä voi kirjoittaa infraresursseja deklaratiivisesti JSON- tai YAML-formaatissa. CDK taas on korkeamman tason työkalu, millä infraa voi kirjoittaa samoilla tutuilla ohjelmointikielillä kuin sovelluskoodia, kuten TypeScript, Python, Java ja .NET.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           CloudFormationissa jokainen luotava infraresurssi täytyy määritellä erikseen, mikä on aikaa vievää, mutta selkeää. CDK tarjoaa avuksi valmiita komponentteja, joiden avulla pystyy luomaan yksittäisiä resursseja tai isompiakin kokonaisuuksia nopeasti pienemmällä määrällä koodia. Omia uudelleenkäytettäviä komponentteja voidaan myös toteuttaa ja jakaa eri tiimien käyttöön. Myös CDK käännetään (tai syntetisoidaan) lopulta CloudFormation-muotoon käyttöönottovaiheessa, minkä takia CloudFormationin tunteminen auttaa ymmärtämään myös mitä CDK tekee.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Mika+Catani.png" alt=""/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mika Catani
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale+pilvikonsultti.jpg" length="135014" type="image/jpeg" />
      <pubDate>Thu, 28 Sep 2023 05:25:26 GMT</pubDate>
      <guid>https://www.webscale.fi/kysy-konsultilta-cdk-ja-cloudformation-ovat-molemmat-iac-tyokaluja-miten-ne-eroavat-toisistaan</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale+pilvikonsultti.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale+pilvikonsultti.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mikä on GitOps malli?</title>
      <link>https://www.webscale.fi/09/2023/kysy-konsultilta-mika-on-gitops-malli</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mikä on GitOps malli?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mikä on GitOps malli?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           GitOps-mallissa Git-versionhallintajärjestelmä toimii infrastruktuurin tai sovelluskonfiguraation ainoana totuuden lähteenä (engl. Single Source of Truth). Muutokset viedään käyttöön automaattisesti joko CI/CD-pipelinen tai tähän synkronointiin tarkoitetun ohjelmiston avulla. GitOps-malli on yleistynyt erityisesti IaC-työkalujen (infrastruktuuri koodina) yleistymisen myötä. Suurimpia hyötyjä tästä mallista ovat automaattinen versiointi, muutosten jäljitettävyys sekä tavoitetilan ja todellisen tilan välisen muutoksen (engl. drift) havainnointi.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Antti-some.jpg" alt="A man in a grey sweater is smiling with his arms crossed."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Antti Elonheimo
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Consultant
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ﻿
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale+konsultit.jpg" length="149909" type="image/jpeg" />
      <pubDate>Thu, 21 Sep 2023 07:17:27 GMT</pubDate>
      <guid>https://www.webscale.fi/09/2023/kysy-konsultilta-mika-on-gitops-malli</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale+konsultit.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale+konsultit.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Nordic Software Summit 2023</title>
      <link>https://www.webscale.fi/09/2023/nordic-software-summit-stockholm-2023</link>
      <description>AWS-konsulttimme Johan kertoo blogitekstissä vierailusta Nordic Software Summittiin, joka järjestettiin Tukholmassa 29.8.2023. Tapahtuman aiheina olivat tekoälyn tuleminen IT-alalle sekä SaaS -yrittämiseen liittyvä tietotaito.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Esitys tekoälystä - Googlen kanta
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tekoäly muuttaa IT-alaa merkittävästi, mutta kehittäjää se ei korvaa, sillä tekoäly ei kykene ymmärtämään ohjelmistokehitystä kokonaisuutena.
            &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Large Language Model (LLM) tarkoittaa luonnollista kieltä prosessoivaa (engl. Natural language Processing, NLP) tekoälyalgoritmia, jota on koulutettu mittavalla datamäärällä, ja joka kykenee tunnistamaan, muuntamaan, ennustamaan ja tuottamaan tekstiä sekä muuta sisältöä.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Kuluttajien ja yritysten käyttötarpeet tekoälylle eroavat toisistaan. Yritysmaailmassa LLM mahdollistaa yrityksen tuottamiin omiin suuriin datamääriin kohdistuvien kysymysten esittämisen ihmisten ymmärtämällä luonnollisella kielellä. Siinä missä aikaisemmin dataa on seulottu esimerkiksi SQL:llä, nyt yrityksessä voidaan esimerkiksi kysyä LLM:ltä “montako vähintään 100€ tuotetta on myyty tammikuussa 2023, jossa maksutapana on ollut luottokortti?”
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Generative AI, eli sisältöä luova tekoäly on oma tekoälykonseptinsa, jolla voidaan tuottaa tekstiä, kuvaa, videota ja jopa musiikkia. Google esimerkiksi on tuonut tekoälyn luoman sisällön tukea useisiin palveluihinsa kuten gmailiin, docsiin ja presentaatioihin.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Nordic+Software+Summit+%281%29.png" alt="A large screen displays a graph showing a percentage of people"/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Esitys koodaamisesta tekoälyn avulla
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           New ParagrOsallistuin esityksen seuraamiseen, jossa opastettiin tekoälyn hyödyntämistä koodauksessa. Demossa tavoitteena oli luoda ChatGPT:llä (versio gpt-3.5-turbo) python koodi, joka tuottaa ihmisvalokuvasta passiin sopivan kuvan. Valokuvasta täytyi siis tunnistaa ihmiskasvot, rajata sopiva alue ja poistaa tausta kasvojen ympäriltä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Yleisohjeena, tekoälyltä ei kannata pyytää koko projektia yhtenä koodirimpsuna, vaan jakaa ohjelmalliset operaatiot itse ensin osiin ja pyytää tekoälyltä sitten eri toimintoja suorittavat moduulit, sekä pääohjelma, joka käyttää moduuleja tuottamaan halutun lopputuloksen. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Tekoälylle esitetty pyyntö ei välttämättä tuota haluttua lopputulosta ensimmäisellä yrittämällä ja omaa tavoitettaan voi joutua täsmentämään tekoälylle pariin otteeseen. Kuten tavanomainenkin ohjelmointiprosessi, ohjelmointi tekoälynkin kanssa on iteratiivinen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Hyvään lopputulokseen pääsee, kun ymmärtää AI:n kieltä eli promptausta, käyttää sopivaa AI-mallia, tietää mitä on oikeastaan luomassa ja pitää laajuuden kohtuudessa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Esityksen demo onnistui hyvin ja ajettaessa python-koodi toteutti tekoälylle esitetyt tavoitteet.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Oma tekoälykokeilu esitysten välissä
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Edellä mainitun tekoälykoodausesityksen innoittamana vetäydyin väliajalla hotelliaulaan kokeilemaan omaa tekoälykoodidemoa. Esityksen tapaan käytin ChatGPT:tä, mutta tällä kertaa luodakseni node.js -koodin, joka tuottaa kuvasta käänteisväriversion.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Pyysin ChatGPT:ltä suomeksi sanatarkasti seuraavaa:
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           “
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kehitä minulle node.js koodi, jota voi kutsua komentoriviltä ja antaa komentoriviparametrinä png-kuvatiedoston nimen. Koodi tallettaa samaan sijaintiin alkuperäisen kuvan kanssa uuden kuvan, jossa on käänteiset värit. Uuden kuvan nimeksi tulee vanhan kuvan nimi, johon on lisätty osa "-inverted-colours". Esimerkiksi jos alkuperäinen kuva on image.png, uuden kuvan nimi olisi "image-inverted-colours.png
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           ”
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Näin ChatGPT aloitti vastauksensa (pitkää vastausta on leikattu tarkoituksella):
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/ChatGPT.png" alt="A computer screen with a bunch of code on it."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           ChatGPT loi sharp -kuvamuokkauskirjastoa hyödyntävän koodin ja antoi sille komentorivitason suoritusohjeet. Tallensin koodin tiedostoon, asensin samaan kansioon npm:llä sharp-kirjaston. Samaan kansioon talletin myös logo.png -tiedoston. Koodi loi logosta käänteisväriversion juuri kuten pitikin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-logo-ja-ka-a-nteisversio-79d824d6-5379145f-9f60c2b9.png" alt="A picture of a crown that says webscale on it"/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Esitys RoadMap:in laatimisesta yrityksille
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Olin valinnut RoadMap -esityksen omaan seurantaohjelmistooni. Sitä seurattiin kuulokkeet päässä, jotta samassa tilassa oleva yleisö saattoi seurata yhtäaikaisesti itselle sopivaa esitystä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Monissa yrityksissä katsotaan ensiksi uutta teknologiaa ja mitä sillä voisi tehdä. Lähestymistapa on yleensä kehno, sillä teknologian uutuus ei ole tae kannattavasta liiketoiminnasta. Laadukas RoadMap keskittyy arvonluontiin ja lopputuloksiin. Lisäksi RoadMap on erilainen eri yleisöille, kuten asiakkaalle ja muille sidosryhmille.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/RoadMap+-esityksen+esityskalvo+%281%29.png" alt="A man stands in front of a large screen that says roadmap"/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           New ParRoadMap on myös iteratiivinen ja “oppiva”, eikä sen kuulukaan olla kiveen hakattu. Yleisiä sudenkuoppia RoadMapin laadinnassa ovat epäselvä priorisointi, prosessia ei ole määritelty, ei linjassa sidosryhmien tarpeiden kanssa ja ns. kiiltävän objektin syndrooma (engl. Shiny Object Syndrome, SOS) jossa fokus siirtyy jatkuvasti uusiin asioihin ilman että nykyinen tekeminen saadaan saatettua loppuun.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Esitys tietoturva-asioista
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tässä esityksessä kerrottiin kuuluisista ja vähemmänkin tunnetuista tietomurroista sekä kuuluisuuksien kohua herättäneistä salasanavalinnoista.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Esitys alkoi tapaus SolarWindillä, jossa yhtiön github -repository oli jäänyt avoimeksi. Lisäksi repossa oli ollut kovakoodattuja salasanoja. Eräs salasana oli ollut “
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           solarwinds123
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           ”. Hakkeri onnistui laittamaan omaa koodiaan SolarWindin repositoryyn, josta koodi provisioitui SolarWindin asiakkaiden järjestelmiin asti.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Esityksessä kerrottiin esimerkkejä julkisuuden henkilöiden tietoturvahaasteista. Venäläisen cozybear -hakkeriryhmän oli onnistunut huijata pääsyn Hillary Clintonin email -tilille Googlen lähettämäksi tekaistulla “joku on saanut salasanasi” -emaililla. Donald Trumpin salasana Twitteriin oli ollut joskus “yourefired”, jonka paljastumisen jälkeen salasanaksi oli vaihdettu “maga2020!”. Mark Zuckerbergin salasana Twitteriin, Instagramiin ja Pinterestiin oli ollut yhtä aikaa “dadada”.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Esityksessä kerrottiin myös deepfake -puhelinsoitosta, jossa valeääni esiintyi yrityksen johtajana ja yritykseltä onnistuttiin viemään 200 000€.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Esityksen kolme opetusta tietoturvaan:
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ol&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Ethän käytä yrityksen nimeä salasanoissa
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Käytä Multi Factor Authenticationia (MFA)
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Muista että partnereidesi heikko tietoturva voi olla sinun tietoturvasi heikoin lenkki
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ol&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Loppusanat
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Vietin mukavan ja opettavaisen reissun Nordic Software Summit -tapahtumassa. Matkani sponsoroi Webscale ja webscalereille kuuluva koulutusbudjetti, johon sisältyy kahdeksan kouluttautumiseen käytettävää päivää vuodessa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Töihin Webscaleen?
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Me Webscalella uskomme, että työ on palkitsevaa silloin, kun sen tekijällä on sopivasti vastuuta ja vapautta. Mottomme on “parhaat keskittyvät olennaiseen” ja meille se tarkoittaa sitä, että asiantuntijamme ovat parhaimmillaan, kun saavat käyttää aikaansa heille merkityksellisiin tehtäviin. Asiakkaat saavat meiltä laadukasta palvelua ja, mikä tärkeintä, koemme tiiminä onnistumisia ja opimme yhdessä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Kiinnostaisiko sinua liittyä tiimiimme? Lue lisää
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.webscale.fi/rekry" target="_blank"&gt;&#xD;
      
           rekrysivuiltamme
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
           . Kuulemme mielellämme tarinasi ja otamme selvää, olisimmeko me sinulle oikea työnantaja.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Nordic-Software-Summit-paneelikeskustelu.png" length="718701" type="image/png" />
      <pubDate>Tue, 19 Sep 2023 09:20:01 GMT</pubDate>
      <guid>https://www.webscale.fi/09/2023/nordic-software-summit-stockholm-2023</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/pasted-image-0--281-29.png">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Nordic-Software-Summit-paneelikeskustelu.png">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mitä hyötyä on pariohjelmoinnista?</title>
      <link>https://www.webscale.fi/09/2023/mita-hyotya-on-pariohjelmoinnista</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mitä hyötyä on pariohjelmoinnista?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mitä hyötyä on pariohjelmoinnista?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Pariohjelmointi (eng. “pair programming”) on työskentelytapa, jossa kaksi ohjelmoijaa istuvat yhdessä saman tietokoneen ääressä tehden yhteistyötä siten, että toinen kirjoittaa koodia toisen katsellessa. Tällä pyritään parantamaan kehitettävän ohjelmiston laatua, sillä mahdollisissa ongelmatilanteissa kaksi ohjelmoijaa voivat ratkoa ongelmaa yhdessä välittömästi.
            &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Toinen yleinen peruste pariohjelmoinnin käyttämiselle on tietouden (niin kehitettävän ohjelmiston kuin yleisimpien käytäntöjen ym. suhteen) ja osaamisen tehokkaampi jakaminen tiimien ja työyhteisöjen sisällä, kun kehittäjät näkevät toistensa tapoja ratkoa eteentulevia ongelmia.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Juha-some--281-29-b460d30c.jpg" alt="A man with a beard is wearing a maroon hoodie"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Juha Mustajärvi
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Full Stack Developer
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-13+%281%29+%281%29.jpg" length="97671" type="image/jpeg" />
      <pubDate>Wed, 13 Sep 2023 06:41:55 GMT</pubDate>
      <guid>https://www.webscale.fi/09/2023/mita-hyotya-on-pariohjelmoinnista</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-13+%281%29+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-13+%281%29+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Miten valita oikea tietokanta?</title>
      <link>https://www.webscale.fi/09/2023/kysy-konsultilta-miten-valita-oikea-tietokanta</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, miten valita oikea tietokanta?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Miten valita oikea tietokanta?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tietokannat ovat datan ja informaation varastointiratkaisuja. Kannat palvelevat lukuisia eri käyttötarpeita ja niitä voidaan pystyttää itse tai ostaa valmiina pilvipalveluna.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kun kaikkia ominaisuuksia ei voi saada samassa paketissa, kehitystiimin haasteeksi jää valita sopivin kompromissi datan sijoituspaikaksi. Valintaa tehdessä tulee ottaa huomioon lukuisia seikkoja, kuten datan formaatti, datan luku- ja kirjoitusintensiivisyys sekä ratkaisun budjetti. Yhden vaihtuvan numeron - esimerkiksi viimeisin lämpötila ilman historiatietoja - tallennukseen voi riittää yksinkertainen kirjoitus tiedostoon. Taulukkomaiseen dataan, jossa on relaatioita muihin taulukoihin, voi toimia perinteinen SQL-kyselykieltä tukeva relaatiokanta, kuten PostgreSQL. Entäpä jos data sisältää runsaasti mielivaltaisia relaatioita? Tällöin datasi muodostaa graafin ja oikea ratkaisukin voi löytyä graafikannoista, kuten neo4j tai Amazon Neptune.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Tarvitsetko datatallennuksillesi ACID -periaatteet toteuttavan transaktiotuen, eli mahdollisuuden toteuttaa useampi tietokantaoperaatio atomisena ja mahdollisuutena peruuttaa kaikki transaktion sisäiset operaatiot yhdenkin operaation epäonnistuessa? Hyvinkin eri tyyppiset kannat voivat tukea transaktioita. Mikropalveluarkkitehtuurissa saatat joutua simuloimaan epätäydellistä transaktiotukea arkkitehtuuritasolla, sillä arkkitehtuurin mukaisesti mikropalvelut sisältävät yleensä omat tietokantansa, eikä niiden välinen aito transaktiotuki ole mahdollista.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Erityisempiin datatarpeisiin saatat tarvita juuri tiettyyn tarkoitukseen suunnitellun tietokannan. Niin kutsuttuja “purpose built” -tietokantoja saatat tarvita esimerkiksi IoT-laitteen tuottamalle datalle, jollainen on esimerkiksi AWS Timestream. Lohkoketjumaiseen dataan saattaisi sopia puolestaan Amazon Quantum Ledger Database.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Omia datatarpeita voi kartoittaa laatimalla käyttöskenaarioita esimerkiksi käyttäjätarinoiden (engl. user story) avulla ja kartoittaa, miten skenaariot dataasi käsittelevät. Joihinkin tietokantoihin joudut suunnittelemaan myös erillisiä indeksejä hakujen optimoimiseksi. Haku, jonka tulokset saa aluksi jouhevasti, voi hidastua merkittävästi datamäärän kasvaessa ilman sopivaa indeksointia. Mitkä datan varastointi-, kirjoitus- ja hakutarpeesi ikinä ovatkaan, ratkaisua ei kannata toteuttaa hutaisten, sillä järjestelmään jo integroidun, vääräksi havaitun kannan vaihtaminen toiseksi voi olla työlästä ja siten kallista.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Johan-SOME-471bf06e-fa44f06b.jpg" alt="A man in a grey sweater is smiling for the camera"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Johan Stenroth
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-15+%281%29.jpg" length="229899" type="image/jpeg" />
      <pubDate>Wed, 06 Sep 2023 10:37:21 GMT</pubDate>
      <guid>https://www.webscale.fi/09/2023/kysy-konsultilta-miten-valita-oikea-tietokanta</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-15+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-15+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mitä IaC tarkoittaa ja mitä hyötyä siitä on?</title>
      <link>https://www.webscale.fi/08/2023/kysy-konsultilta-mita-iac-tarkoittaa-ja-mita-hyotya-siita-on</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mitä IaC-tarkoittaa ja mitä hyötyä siitä on?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mitä IaC tarkoittaa ja mitä hyötyä siitä on?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           IaC, Infrastructure As Code, tarkoittaa pilvi-infrastruktuurin määrittelemistä koodina. Koodissa määritellään tarvittavat resurssit kuten virtuaalipalvelimet ja niiden konfiguraatio, kuormanjako, verkkoyhteydet sekä niiden suojaukset, pääsyoikeudet yms. Yleensä IaC-koodi tallennetaan johonkin versiohallintaan kuten GitLab, GitHub tai Bitbucket.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Infrastruktuurin määrittely koodina auttaa dokumentoimaan mitä kaikkea ympäristöön sisältyy ja helpottaa muutosten testaamista sekä jäljittämistä. Versiohallinnassa voidaan tehdä muutoksille hyväksyntäprosessi ja nähdä esimerkiksi kuka muutokset on tehnyt. Koodissa voi helposti myös dokumentoida miksi jotain on tehty. IaC-työkalut voivat myös helpottaa ympäristön rakentamisen rutiinitoimenpiteissä, esimerkiksi AWS:n CDK osaa yleensä rakentaa tarvittavat pääsyoikeudet automaattisesti. Koodina voi myös olla valmiita kirjastoja tyypillisiin käyttötarkoituksiin kuten vaikkapa AWS CDK:n ApplicationLoadBalancedFargateService, jolla pystyy rakentamaan kuormanjaolla varustetun www-container -palvelun hyvin vähäisellä määrittelyllä ilman, että se rajoittaa mahdollisuuksia laajentaa ympäristöä. Vastaavantyyppisiä kirjastoja pystyy myös tekemään itse oman yrityksen käytäntöjen ja vaatimusten mukaan. Näillä saadaan myös yhtenäistettyä koko yrityksen käytäntöjä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Versiohallintaan yhdistettynä IaC mahdollistaa ympäristön muutosten viemisen tuotantoon automaattisesti sekä toistettavasti samanlaisena kehitys-, testaus- ja tuontantoversioon. IaC:llä on myös helposti tehtävissä vaikka joka kehittäjälle tai tiketille oma rajattu testausympäristönsä. Kehitysympäristöjä voidaan ajaa ainoastaan työpäivän ajan tai jos projekti ei ole aktiivisessa kehityksessä voidaan kehitys- ja testausympäristöt ajaa kokonaan alas ja saada ne tarvittaessa pitkänkin ajan jälkeen helposti uudelleen käyttöön.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           IaC voi myös helpottaa ympäristön siirtoa pilvipalveluntarjoajalta toiselle. Kun tuotantoympäristön elinkaari päättyy, IaC auttaa jäljittämään resurssit ja oikein tehtynä kaiken pystyy poistamaan kerralla eikä ympäristöihin jää häntiä aiheuttamaan myöhempää ihmetystä tai kustannuksia. Tunnetuimpia IaC-työkaluja ovat useissa ympäristöissä toimivat Terraform ja uudempana tulokkaana Pulumi, ja pilvikohtaisena AWS:n CloudFormation ja CDK, Azuren Bicep ja ARM sekä Googlen Cloud Deployment Manager. Myös Kubernetes Helm chartit voidaan laskea IaC:ksi.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Tuomas_valk.tausta--281-29-466722ab-3965d0b6-640w.webp" alt="A man wearing glasses and a gray shirt is looking at the camera."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tuomas Eerola
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Cloud Architect
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-34-c54e8442.jpg" length="179390" type="image/jpeg" />
      <pubDate>Wed, 30 Aug 2023 08:31:48 GMT</pubDate>
      <guid>https://www.webscale.fi/08/2023/kysy-konsultilta-mita-iac-tarkoittaa-ja-mita-hyotya-siita-on</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-34-c54e8442.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-34-c54e8442.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Saavutettavuus ei ole salatiedettä: CPACC-sertifikaatin hankkiminen muutti näkemykseni suunnittelusta</title>
      <link>https://www.webscale.fi/08/2023/saavutettavuus-ei-ole-salatiedetta-cpacc-sertifikaatti</link>
      <description>Mitä saavutettavuus on? Termi ei välttämättä ole kaikille tuttu, joten tässä nopea määritelmä sovelluskehityksen näkökulmasta: saavutettava sovellus on sellainen, jota pystyy käyttämään mahdollisimman kirjava joukko eri kykyisiä ihmisiä. Jokaisella tulisi olla yhtäläiset mahdollisuudet käyttää palveluita riippumatta siitä, mitä aisteja tai vuorovaikutuskeinoja hänellä on käytössään. IAAP-järjestön CPACC-sertifiointi tarjosi kattavan kokonaisuuden vammaisuudesta, toimintarajoitteista ja ihmisten arjessaan kohtaamista esteistä.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Web-kehittäjänä saavutettavuuteen ei voi olla törmäämättä. Selaimen kehitystyökalu ilmoittaa heikosta kontrastista ja lintteri valittaa puuttuvasta alt-attribuuttista. MDN:stä ja W3.org:sta löytyy ohjeita saavutettavan sovelluksen toteuttamiseen, mutta aiheeseen ei yleensä syvennytä vaatimusten läpäisyä pidemmälle. Miksi kontrastilla on väliä ja mihin kaikkeen alt-attribuuttia käytetään? Halusin ymmärtää, mistä saavutettavuusohjeet ovat lähtöisin ja miksi ne ovat tärkeitä. IAAP-järjestön CPACC-sertifiointi tarjosi kattavan kokonaisuuden vammaisuudesta, toimintarajoitteista ja ihmisten arjessaan kohtaamista esteistä. Esittelen tässä blogitekstissä sekä järjestöä että sertifikaattia ja avaan hieman omaa opintopolkuani.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Mutta mitä se saavutettavuus edes on? Termi ei välttämättä ole kaikille tuttu, joten tässä nopea määritelmä sovelluskehityksen näkökulmasta: saavutettava sovellus on sellainen, jota pystyy käyttämään mahdollisimman kirjava joukko eri kykyisiä ihmisiä. Jokaisella tulisi olla yhtäläiset mahdollisuudet käyttää palveluita riippumatta siitä, mitä aisteja tai vuorovaikutuskeinoja hänellä on käytössään.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           CPACC eli Certified Professional in Accessibility Core Competencies
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Ja sitten itse asiaan. IAAP eli International Association of Accessibility Professionals on kansainvälinen järjestö, joka kerää yhteen saavutettavuusasiantuntijoita ja he tarjoavat sertifiointeja useilta eri saavutettavuuden osa-alueilta. CPACC eli Certified Professional in Accessibility Core Competencies on yksi niistä ja se mittaa saavutettavuuden taustalla olevien perusasioiden hallintaa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           CPACC-sertifiointi osoittaa osaamista kolmelta osa-alueelta: 1. vammaisuudet, haasteet ja avustavat teknologiat, 2. saavutettavuus ja kaikille sopiva suunnittelu (universal design) ja 3. standardit, lait ja hallintastrategiat. IAAP tarjoaa sertifikaatin tueksi materiaalipaketin, jossa on tiivistettynä sertifikaatin aihealueet ja lähdeviitteet lisämateriaaleihin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Ensimmäinen osa-alue muodostaa kokonaisvaltaisen kuvan vammaisuudesta, sen historiasta, ja esiintyvyydestä. Lukijalle esitellään yleisimpiä vammaisuuden kategorioita, mitä esteitä ihmiset voivat kokea ja millä tavoilla esteistä aiheutuvia haittoja voidaan lieventää. Minulle vaikuttavinta oli oppia, miten vammaisuuden ymmärtäminen on kehittynyt vuosien varrella. Vammaisuus nähtiin pitkään yksilön lääketieteellisenä ongelmana. Nykyään ymmärretään myös yhteisön normien ja yksilön kykyjen vuorovaikutus vammaisuudessa. Tämä ymmärrys on tuonut paremmin esiin yhteiskunnan roolin vammaisuuksien muodostumisessa ja havahduttaa pohtimaan omaa roolia vammaisuuksien kohtaamisessa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Toinen osa-alue käy läpi suunnittelustrategioita, joiden avulla voidaan suunnitella saavutettavia rakenteita ja järjestelmiä. Materiaali ei rajoitu laajuudessaan vain sovelluskehitykseen, vaan esittelee myös strategioita saavutettavan opetuksen ja fyysisen ympäristön suunnittelemiseen. Tämän osion mielenkiintoisin aihe oli saavutettavan opetuksen suunnittelu. Kaikki eivät opi samalla tavalla ja opetuksen tulisi mukautua oppijoiden tarpeiden mukaisesti. Kaikille sopivan opetuksen tulisi tarjota useita tapoja herättää oppijoiden kiinnostus, esittää tietoa erilaisilla tavoilla ja mahdollistaa monia tapoja vuorovaikuttaa oppimateriaalien kanssa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Kolmannessa osassa muodostetaan kuva vammaisten oikeuksista kansallisten ja kansainvälisten sopimusten, julistusten, lakien ja standardien kautta. Näiden pohjalta käydään läpi strategioita saavutettavuuslakien ja -standardien soveltamisesta TVT-organisaatioissa. Tämän osion vaikuttavin oppi oli vammaisten oikeuksien kehitys 1900-luvulla. YK:n ihmisoikeusjulistuksessa vuodelta 1948 taataan yhtäläisiä oikeuksia kaikille ihmisille, mutta siinä ei erikseen mainita vammaisia erityisenä ryhmänä. YK:n yleiskokouksen julistus vammaisten oikeuksista 1975 mainitsi ensimmäistä kertaa vammaiset, mutta julistus ei ollut sitova. Yhtäläiset oikeudet taattiin vasta vuonna 2006 vammaisten henkilöiden oikeuksia koskevassa yleissopimuksessa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;strong&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Kokemukseni CPACC-kokeesta
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Käytin materiaalin opiskeluun reilun kahden kuukauden aikana noin 5-10 tuntia viikossa. Sadat muistiinpanot ja muistiharjoitukset kulminoituivat kolmetuntiseen kokeeseen Kryterionin Espoon toimipisteessä. Koe koostui samoista osa-alueista, kuin valmennusmateriaalit ja siinä oli yhteensä 100 monivalintakysymystä. Se suoritettiin tietokoneella, mutta tulokset sai tietää vasta myöhemmin. Tulosten valmistumista saikin jännittää useamman viikon, kunnes sähköpostiin tipahti onnitteluviesti hyväksytystä suorituksesta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Työskentelen Webscalella vaalipalvelutiimissä, joka kehittää mm. vaalikoneita. Vaalikoneissa saavutettavuudella on erityisen suuri merkitys. Saavutettavuus ei voi muodostua esteeksi vaalikoneen käytölle, jonka vuoksi kiinnitän erityistä huomiota ratkaisuihin, jotka vaikuttavat vaalikoneen saavutettavuuteen. Käytän työssäni useita menetelmiä saavutettavuuden parantamiseksi ja testaamiseksi. Saavutettavuusvaatimuksia ja hyviä ohjelmointikäytäntöjä seuraamalla pääsee pitkälle. Näiden lisäksi olen kokenut ruudunlukijatestaamisen erityisen hyödylliseksi.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Opiskellessani CPACC-koetta varten, opin ymmärtämään vammaisuutta paremmin ja miksi saavutettavuuteen panostaminen on arvokasta. Saavutettavuus ei ole salatiedettä. Se vaatii empatiaa ihmisiä kohtaan sekä innostusta uusien asioiden oppimiseen. Voin suositella sertifikaattia kaikille, jotka haluavat oppia ymmärtämään vammaisuutta ja sen tuomia haasteita ja vahvuuksia.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Hyödyllisiä resursseja:
          &#xD;
    &lt;/strong&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;a href="https://thl.fi/fi/web/vammaispalvelujen-kasikirja/vammaisuus-yhteiskunnassa/vammaisuus" target="_blank"&gt;&#xD;
        
            THL:n artikkeli vammaisuudesta
           &#xD;
      &lt;/a&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;a href="https://www.accessibilityassociation.org/s/certified-professional" target="_blank"&gt;&#xD;
        
            Lisätietoa CPACC-sertifikaatista
           &#xD;
      &lt;/a&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;a href="https://developer.mozilla.org/en-US/docs/Web/Accessibility" target="_blank"&gt;&#xD;
        
            MDN:n oppaita saavutettavuuteen liittyen
           &#xD;
      &lt;/a&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;a href="https://www.w3.org/WAI/fundamentals/accessibility-intro/" target="_blank"&gt;&#xD;
        
            W3C-organisaation johdanto Web-saavutettavuuteen
           &#xD;
      &lt;/a&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;a href="https://www.saavutettavuusvaatimukset.fi/" target="_blank"&gt;&#xD;
        
            AVI:n ohjeistus saavutettavuusvaatimuksiin liittyen
            &#xD;
        &lt;br/&gt;&#xD;
      &lt;/a&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Janne-SOME--281-29-68228dd4.jpg" alt="A man with a beard is wearing a black shirt and a denim jacket."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Janne Lavila
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Full Stack Developer
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-41+%281%29+%282%29+%281%29.jpg" length="101903" type="image/jpeg" />
      <pubDate>Mon, 28 Aug 2023 06:57:24 GMT</pubDate>
      <guid>https://www.webscale.fi/08/2023/saavutettavuus-ei-ole-salatiedetta-cpacc-sertifikaatti</guid>
      <g-custom:tags type="string">Vaalipalvelut,Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-41+%281%29+%282%29+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-41+%281%29+%282%29+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Asiakkaamme vastasivat - kyselyn tulokset ovat valmiit</title>
      <link>https://www.webscale.fi/2023/6/asiakkaamme-vastasivat-kyselyn-tulokset-ovat-valmiit</link>
      <description>Toukokuussa 2023 toteutetun asiakastyytyväisyyskyselyn tulokset osoittavat, että Webscalen asiakastyytyväisyys on jatkaa erinomaisella - jopa maailmanluokkaisella tasolla.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Asiakkaamme suosittelevat meitä yrityksenä sekä AWS kumppanina
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Toteutimme toukokuussa 2023 asiakastyytyväisyyskyselyn, joka lähetettiin asiakkaillemme sähköpostitse. Kyselyyn vastanneet asiakkaat ovat hankkineet Webscalelta viimeisen vuoden aikana pilvikonsultointi-, ohjelmistokehitys- ja/tai ylläpitopalveluita.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Pyysimme asiakkaitamme antamaan lyhyen arvion saamastaan palvelusta sekä arvioimaan, olisivatko he valmiita suosittelemaan Webscalea yrityksenä. Suosittelumittarina käytimme Net Promoter Scorea (nettosuositteluarvoa) eli NPS:ää. Saavutimme kyselyssä huikean suositteluindeksin, jonka luku on 92 - olemme tästä erityisen ylpeitä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Suositteluindeksin lisäksi kaikki kyselyyn vastanneet asiakkaat olivat sitä mieltä, että Webscale tarjosi heidän yrityksensä kannalta oikean ratkaisun sen hetkiseen tarpeeseen. Kyselyn avoimissa palautteissa korostui, että asiakkaamme arvostavat erityisesti Webscalen työntekijöiden ammattitaitoa, asiantuntemusta ja yleisesti hyvää yhteistyötä.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kevään tulokset ovat samansuuntaiset kuin viime vuoden loppupuolella toteutussa Amazon Web Services (AWS) kumppanikyselyssä, jossa pyysimme asiakkaitamme antamaan lyhyen arvion saamastaan palvelusta. Tässä saavutimme uskomattoman NPS tuloksen, joka oli täysi 100! Asiakkaamme ovat valmiita suosittelemaan meitä myös AWS kumppanina.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Kiitämme kaikkia kyselyyn vastanneita asiakkaita - palautteenne on meille ensiarvoisen merkittävää. Haluamme myös jatkossa palvella asiakkaitamme mahdollisimman laadukkaasti. Näiden palautteiden ja tulosten siivittämänä on helppo hymyillä ja pian paketoida vuoden 2023 ensimmäinen vuosipuolisko - olemme äärimmäisen otettuja ja kiitollisia!
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-bg-12.jpeg" length="187479" type="image/jpeg" />
      <pubDate>Wed, 07 Jun 2023 06:55:17 GMT</pubDate>
      <author>sara.peltola@webscale.fi (Sara Peltola)</author>
      <guid>https://www.webscale.fi/2023/6/asiakkaamme-vastasivat-kyselyn-tulokset-ovat-valmiit</guid>
      <g-custom:tags type="string">Uutiset</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-bg-12.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/IMG_9738.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Business Continuity - Webscale Tech Days 2023</title>
      <link>https://www.webscale.fi/2023/06/business-continuity-webscale-tech-days-2023</link>
      <description>Webscale Tech Days -konferenssi järjestettiin yhteistyössä AWS:n kanssa perjantaina 26.5.2023 Tuusulan Krapissa. Tapahtuman teemana oli liiketoiminnan jatkuvuuden varmistaminen teknisestä näkökulmasta.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Webscale Tech Days konferenssi on saanut alkunsa Webscalen Principal Consultantin Juho Raution ideasta. Kaipasimme korona-ajan jälkeen jälleen yhteisiä kohtaamisia ja tapahtumaa, jossa on mahdollista syventyä teknisiin ratkaisuihin yhdessä muiden ammattilaisten kanssa. Tämän johdosta syntyi Tech Days konferenssi, joka järjestettiin ensimmäistä kertaa viime vuonna. Tänä vuonna tapahtuma sai jatkoa ja pääteemana oli liiketoiminnan jatkuvuuden tekninen varmistaminen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Päivä piti sisällään useamman mielenkiintoisen puheenvuoron niin meidän Webscalen konsulttien kuin AWS:n edustajien osalta. Asioiden havainnollistamiseksi esityksissä tuotiin esiin muun muassa jo toteutettuja asiakascaseja eri teemojen ympäriltä. Lisäksi päivä huipentui osallistavaan workshopiin. AWS:n osalta puhumassa olivat Markku Kaskenmaa (Security Solutions Architect, Public Sector) ja Panu Koskela (Partner Solutions Architect). Kaskenmaa puhui esityksessään minkälaisia tuotteita AWS:lta löytyy palvelunestohyökkäyksen ennaltaehkäisemiseksi ja torjumiseksi. Panu Koskela jatkoi iltapäivällä puhumalla AWS:n resilienssistä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Alle olemme koonneet tiivistelmät niin AWS:n edustajien kuin konsulttiemme esityksistä sekä workshopista.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Architecting for DDoS protection
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Markku Kaskenmaa, Security Solutions Architect, Public Sector, AWS
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Markku Kaskenmaa (AWS) piti hyvän esityksen hajautettujen palvelunestohyökkäysten (Distributed Denial of Service, DDoS) torjunnasta AWS:ssä. Esityksessä luonnollisesti kerrottiin AWS:n ja asiakkaiden välisestä vastuunjaosta tietoturva-asioissa. DDoS-hyökkäysten torjunta nojaa vahvasti siihen, että asiakas käyttää AWS:n palveluita ja AWS:n omaa, maailmanlaajuista, verkkoinfrastruktuuria mahdollisimman laajasti, koska ne on rakennettu kestämään ja torjumaan erittäin suuria hyökkäyksiä. Esityksessä annettiin myös tietoa minkälaisilla keinoilla asiakkaat voivat itse vähentää DDoS-hyökkäysten vaikutuksia eri AWS-palveluiden asetuksilla sekä tehdä sovelluksistaan sopeutuvia vaihtelevaan kuormaan. DDoS-hyökkäysten torjunta vaatii siis toimenpiteitä monella tasolla ja AWS tekee sitä myös asiakkaiden huomaamatta taustalla.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/TechDays+Kaskenmaa.jpg" alt="Webscale Tech Days, Markku Kaskenmaa, AWS"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Multi Region Availability
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Juho Rautio, Principal Consultant, Webscale
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Multi region availability esityksessä kerrottiin miten Route53 Latency-Based Routing (LBR) ja Route53 health check ominaisuuksien avulla voi rakentaa erittäin vikasietoisen ja vasteaika-optimoidun palvelun. Esityksessä käytiin yksityiskohtaisesti, oikean maailman esimerkin avulla läpi, mitä ratkaisun toteuttaminen vaatii monimutkaisessa yrityksen sisäverkossa. Automaattista vikatilanteen korjautumista ja vasteaikaan perustuvaa reititystä demonstroitiin reaaliajassa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Chaos Engineering with AWS Fault Injection Simulator
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Jussi Lehtiniemi, Senior Consultant / Cloud Architect, Webscale
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Reaalimaailman sovelluksissa ja palveluissa tulee aina olemaan ongelmia. Tämä yksinkertainen toteamus on se, johon Netflix törmäsi 2010-luvun alussa ollessaan skaalaamassa palveluitaan globaalille tasolle. Kun palvelut skaalautuvat riittävän suuriksi, pelkästään ongelmiin reagoiminen alkaa käydä mahdottomaksi. Ratkaisuksi tähän ongelmaan Netflix kehitti konseptin, jolle se antoi nimen
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Chaos Engineering
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           .
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Chaos Engineering on pohjimmiltaan filosofia, jossa hyväksytään, että palveluissa tulee aina olemaan odottamattomia ongelmia. Sen sijaan, että näihin vastattaisiin reaktiivisesti ongelman jo ilmettyä, Chaos Engineering pyrkii varautumaan ongelmiin jo ennalta. Varautumisessa tärkeimmät työkalut ovat tarkkaan suunnitellut ja kontrolloidut testit, joilla simuloidaan reaalimaailman ongelmia, esimerkiksi CPU-kuormaa, palvelinten levyjen täyttymistä, verkkokatkoksia tai latenssin kasvua. Chaos Engineering -kokeista saadaan paras mahdollinen hyöty, jos niitä ajetaan suoraan tuotantoympäristössä. Tämä kuitenkin vaatii, että järjestelmät ovat jo sillä tasolla, että kokeiden aiheuttamat mahdolliset ongelmat eivät vaaranna liiaksi itse palveluita.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Omia Chaos Engineering -kokeita varten Netflix kehitti Chaos Monkey -työkalun, joka on yksinkertaisesti erillinen prosessi, mikä satunnaisesti sammuttaa virtuaalikone-instansseja tuotantoympäristössä. Se että tuotantoympäristössä ajetaan Chaos Monkeyn kaltaista työkalua tai suoritetaan muita kokeita, jotka aiheuttavat “hallittua kaaosta”, johtaa siihen, että jo suunnittelu- ja kehitysvaiheessa on panostettava palveluiden vikasietoisuuteen, ja myös testattava palveluita mahdollisten ongelmien varalta. Lopputuloksena syntyy pikkuhiljaa parempia ja vikasietoisempia palveluita. Samalla myös tiimit oppivat toimimaan simuloiduissa vikatilanteissa, ja osaavat näin myös toimia paremmin oikean vikatilanteen sattuessa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Chaos Engineering filosofian käyttöönotossa organisaatioissa ei tarvitse välittömästi hypätä tuntemattomaan ja alkaa aiheuttaa ongelmia omassa tuotantoympäristössä, vaan tämä on vasta tavoitetila, johon pyritään. Alkuun pääsee helposti ottamalla Chaos Engineering -kokeet ja käytännöt osaksi sovellusten ja palveluiden normaalia kehityskaarta. Aluksi tehdään pieniä ja hallittuja kokeita esim. testiympäristöissä, joissa mahdollisista havaituista ongelmista ei ole haittaa tuotantojärjestelmille. Kokeiden tekemiseen on nykyään paljon valmiita tuotteita ja palveluita, joilla pääsee alkuun, esim. AWS Fault Injection Simulator (FIS). Havaitut ongelmat korjataan ja iteraatiokierroksia jatketaan, kunnes oma luottamus palveluiden laatuun ja vikasietoisuuteen on riittävällä tasolla. Tärkeintä on hyväksyä, että reaalimaailmassa kaaos on normaalia, ja mitä vain voi sattua. Näin voidaan ennalta varautua tuleviin ongelmiin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Resilience at AWS
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Panu Koskela, Partner Solution Architect, AWS
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Panu Koskelan (AWS) esitys keskittyi vikasietoisten järjestelmien luomiseen AWS:n pilviympäristössä. Tässäkin esityksessä käytiin läpi mikä osuus vikasietoisuudesta on AWS:n vastuulla ja mikä jää asiakkaan vastuulle. Esityksen mielenkiintoisinta antia oli kun Panu esitteli AWS:n käyttämiä jatkuvan kehityksen malleja, joissa tiimit sekä kehittävät että ylläpitävät palvelua tai sen osaa. Mahdollisten ongelmien jälkikatselmoinnissa etsitään juurisyitä ja ratkaisuja syyllistämättä ketään. Jatkuva kehitys mahdollistaa AWS:n oman vikasietoisuuden. Esityksessä käytiin myös laajasti läpi minkälaisia arkkitehtuureja, kehitysmalleja ja AWS-palveluita asiakkaat voivat käyttää parantaakseen sovellustensa vikasietoisuutta. Yksi mielenkiintoinen nosto on AWS Fault Injection Simulator (AWS FIS), jolla asiakkaat voivat testata erilaisten häiriöiden vaikutusta omaan ympäristöönsä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Application Security in AWS
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Jukka Ukkonen, Senior Consultant / Cloud Architect, Webscale
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kyberturvallisuus on tärkeässä roolissa yrityksen koosta riippumatta, sillä kyberhyökkäyksen aiheuttamat vahingot voivat olla suuria, ja ne vaikuttavat myös yrityksen maineeseen ja asiakkaiden luottamukseen. Sovellusten turvallisuuteen liittyvät oleellisesti erilaiset työkalut, käytännöt ja prosessit, joiden avulla pyritään estämään sovelluksen turvallisuusongelmia. Kehittäjät ovat myös nykyään enenevissä määrin vastuussa pilvi-infrasta ja -resursseista, joita sovellukset tarvitsevat toimiakseen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tästä syystä sovellusten turvallisuuden kannalta on tärkeää, että yksittäisen sovelluksen koodin sijaan käsitellään kokonaisuutta, johon kuuluvat esimerkiksi sovellus- ja IaC-koodi, pilvi-infra ja -resurssit ja data. Onkin suositeltavaa, että turvallisuus on läsnä ohjelmistokehityksen elinkaaren kaikissa vaiheissa. DevOpsin yhteydessä tästä käytetään termiä DevSecOps, joka tarkoittaa turvallisuuden lisäämistä DevOps-malliin. DevSecOps pitää myös sisällään turvallisuuteen liittyvien operaatioiden automatisoinnin, kuten esimerkiksi erilaisten skannaussovellusten käytön (SAST, DAST, IAST), riippuvuuksien ja kontti-imagejen tarkistamisen sekä reagoimisen havaittuun uhkaan. Lisäksi turvallisuuteen liittyvä monitorointi on osa DevSecOps:ia.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Turvallisuuteen liittyvät tärkeimmät toiminnot ovat ongelmien tunnistaminen, suojautuminen erilaisilta uhkilta, hyökkäyksen tai muun tietoturvaongelman havaitseminen, havaittuun ongelmaan reagointi sekä palautuminen ongelman jäljiltä. AWS tarjoaa erilaisia turvallisuuteen liittyviä palveluita sekä tuotteita, joissa on erilaisia mekanismeja tähän liittyen ja joiden käyttö on suositeltavaa turvallisuuteen liittyvien tärkeimpien toimintojen mahdollistamiseksi.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Workshop
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kalle Soranko, Senior Consultant / Cloud Architect, Webscale
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Henri Meltaus, CTO, Webscale
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Konferenssipäivän päätteeksi järjestimme “Business Continuity”-aiheisen workshopin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Workshopissa osallistujat pääsivät pienryhmissä suunnittelemaan lippu-lappu.fi lipunmyyntiverkkokaupan AWS-arkkitehtuurin uudelleen päivän teeman mukaisesti. Workshopin lopussa jokainen ryhmä esitteli vielä tuotoksensa yhteisesti.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Yhteenveto päivästä
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Tech Days -konferenssi oli oikein onnistunut tapahtuma, joka kokosi yhteen lähes kaikki webscalerit sekä myös asiakkaitamme. Päivän aikana pääsimme verkostoitumaan ja oppimaan uutta. Mielenkiintoisten esitysten ja workshopin lisäksi meitä hemmoteltiin hyvällä ruoalla ja hienolla iltajuhlalla. Iltajuhlassa saimme nauttia tarjoiluiden sekä hyvän musiikin lisäksi TV:stä tutun näyttelijän ja stand-up koomikon Jaakko Saariluoman esityksestä. Paikkana Tuusulan Krapi loi loistavat puitteet tapahtumalle.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Jäämme innolla odottamaan tapahtuman palautekyselyn tuloksia ja kehitysideoita, jotta pystymme ensi vuonna tekemään Tech Daysistä vieläkin onnistuneemman. Toivottavasti tapaamme mahdollisesti myös sinut ensi vuonna!
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Tech+Days+iltajuhlat+ja+Saariluoma.jpg" alt="A man is standing on a stage with a microphone in front of a crowd."/&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/TechDays1+%281%29.jpg" length="181629" type="image/jpeg" />
      <pubDate>Tue, 06 Jun 2023 07:31:19 GMT</pubDate>
      <author>sara.peltola@webscale.fi (Sara Peltola)</author>
      <guid>https://www.webscale.fi/2023/06/business-continuity-webscale-tech-days-2023</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/TechDays1+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/TechDays1+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>AWS Summit Stockholm 2023 - tunnelmia ja parhaita paloja</title>
      <link>https://www.webscale.fi/23/05/aws-summit-stockholm-2023</link>
      <description>Tänä vuonna AWS Summit Stockholm järjestettiin Stockholmsmässanissa 11. toukokuuta 2023. Tapahtumassa päästiin tutustumaan AWS-teknologioiden edistysaskeliin, pilvi-innovaatioihin sekä menestystarinoihin.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Eri puolilla maailmaa järjestettävissä AWS Summit -tapahtumissa on tilaisuus oppia lisää AWS:stä ja verkostoitua alan muiden osaajien kanssa. Tapahtumissa perehdytään muun muassa AWS-tuotteisiin ja -palveluihin, ja autetaan kehittämään AWS-taitoja, joita tarvitaan infrastruktuurin ja sovellusten rakentamiseen, käyttöönottoon ja käyttöön. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Tänä vuonna AWS Summit Stockholm järjestettiin Stockholmsmässanissa 11. toukokuuta 2023. Tapahtumassa päästiin tutustumaan AWS-teknologioiden edistysaskeliin, pilvi-innovaatioihin sekä menestystarinoihin. Keynote-puheenvuoroja ja erilaisia istuntoja pitivät AWS-aiheasiantuntijat, kumppanit ja asiakkaat, jotka kertoivat heidän omasta pilvimatkastaan ja kuinka he ovat onnistuneesti rakentaneet ratkaisuja AWS:llä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Suuntasimme torstaina aamulennolla kohti Tukholmaa yhdeksän webscalerin voimin. Aikaisesta herätyksestä huolimatta fiilis oli hyvä ja innostunut. Kokeneina konkareina mukaan lähtivät Ville ja Mika, meille muille tämä oli ensimmäinen AWS Summit. Perillä meitä odotti aurinkoinen Tukholma. Kiiruhdimme junalla kohti Stockholmsmässania ja päivän avaavaa keynotea.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Keynote
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Marielle Lindgren (
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Managing Director - Benelux &amp;amp; Nordics
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           ) avasi tapahtuman kertomalla yleisesti pilven tuomista mahdollisuuksista taloudellisesti sekä AWS:n kestävän kehityksen tavoitteista. AWS jatkaa mittavia investointejaan Pohjoismaihin sekä pyrkii muun muassa olemaan hiilineutraali vuoteen 2040 mennessä ja käyttämään 100% uusiutuvia energianlähteitä vuoteen 2025 mennessä. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Keynote jatkui Holly Mesrobian (VP Serverless Compute - AWS) puheenvuorolla. Hän kertoi AWS:n innovaatioista ja dataratkaisuista. Puheessaan Holly nosti esiin kolme tärkeintä elementtiä vahvaan datastrategiaan: kattavuus, integraatio ja hallinnointi. 
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/AWS_Summit_2.JPG" alt="A man is standing on a stage in front of a crowd of people."/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Pääsimme kuulemaan myös AWS:n innostavia asiakastarinoita terveydenhuoltoalalta. Amrik Mahal (
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Global IT Head for Research
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           ) Astra Zenegasta ja Thomas B. B. Larsen (
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Global Head of Business Intelligence, Data Management &amp;amp; Analytics
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           ) Novo Nordiskilta kertoivat, kuinka he pyrkivät omilla tahoillaan saavuttamaan yrityksien missiot AWS:n eri työkaluja hyödyntämällä. Viimeisenä asiakastarina kuultiin Nothvoltin kunnianhimoinen tavoite olla maailman vihrein patterien tuotantotehdas. Mikael Söderberg (
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Chief Digitalization Officer
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           ) Northvoltilta viittasi puheessaan esimerkiksi heidän omaan “Cloud Factory -malliin”, jolla pyritään saavuttamaan mahdollisimman kehittäjä- ja loppukäyttäjäystävällinen kokonaisuus. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Keynote oli kaiken kaikkiaan mahtava startti päivälle. Tämän jälkeen haajannuimme kukin seuraamaan esityksiä ja puheenvuoroja oman mielenkiinnon mukaan, joista tiivistelmät alla. Jokainen oli aikatauluttanut omaa päiväänsä AWS Events sovelluksen avulla. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Webscalereiden parhaat palat tapahtumasta
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           How XXL Sports transformed their customer experience through Amazon Personalize
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Asiakaskokemuksen tärkeys korostuu palveluita tuotettaessa. Noin 60% kuluttajista kertoo palaavansa asiakkaaksi personoidun ostokokemuksen myötä. Yritykset, jotka panostavat palveluiden personointiin ovat kasvattaneet tuottoa 10-15%. Uuden asiakkaan hankkiminen voi olla jopa viisi kertaa kalliimpaa, kuin olemassa olevan asiakkaan säilyttäminen. Palveluiden personointi edesauttaa asiakaskokemusta ja asiakkaat palaavat käyttämään hyväksi toteamiaan palveluita.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Amazon Personalize tarjoaa asiakkaille mahdollisuuden hyödyntää omaa dataa ja tekoälyä personoidun asiakaskokemuksen rakentamiseen. XXL on hyödyntänyt Amazon Personalize palvelua tuottamaan asiakkailleen personoidun käyttäjäkokemuksen. Amazon Personalizen avulla XXL pystyy suosittelemaan asiakkaiden käyttökokemuksen mukaisesti heille oikeita tuotteita ja lisäpalveluita. Samanaikaisesti palvelu tuottaa myös reaaliaikaista personointia asiakkaan ostokäyttäytymisen perusteella. Tällöin asiakkaalle pystytään osoittamaan oikeita tuotteita, kun he vierailevat verkkokaupan sivustolla.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Amazon Personalize vähentää manuaalista työtä ja luo palvelun loppukäyttäjälle personoitua palvelua. Palvelu on kustannustehokas ratkaisukokonaisuus esimerkiksi verkkokaupoille, jotka haluavat parantaa palvelunsa personoitua käyttökokemusta automaatioita hyödyntäen.
            &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Delivering sustainable and performant solutions at scale
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tutkimuksissa on selvitetty, että suomalaiset suosivat ympäristöllisesti kestäviä ratkaisuja, mikäli ne ovat edullisempi kuin tavanomaiset. AWS:n palveluissa hinta kertoo yleensä myös niiden ympäristökuormituksesta. Parhaiten kuormitusta pystyy vähentämään samalla tavalla kuin kustannuksia eli optimoimalla palvelut mahdollisimman tehokkaaksi. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Tässä on keinoina muun muassa käyttää uudempia instanssityyppejä ja hyödyntää AWS Graviton -prosessoreita, jos mahdollista. Nykyisin tämä on valittavissa myös monissa palveluissa kuten Aurora RDS ja OpenSearch. Graviton -prosessorit ovat jopa 60% energiatehokkaampia vastaaviin x86-prosessoreihin verrattuna.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Samoin tallennustilassa ensisijainen vaihtoehto on, että tarpeetonta tietoa ei säilytetä. Lokitiedolle määritellään säilytysaika (retentio) ja tekstitietoa tiivistetään esimerkiksi JSON-&amp;gt; Parquet sekä pakataan (gzip, xz). Jos tieto on pitkäaikaissäilytettävä, se siirretäään mahdollisuuksien mukaan esimerkiksi Glacieriin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Sustainability Hackathon
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Sustainability Hackathonissa ohjelmoitiin IoT-pohjaista vesiviljelyjärjestelmää. IoT-laitteen avulla voitiin mitata veden lämpötilaa, ravinteiden määrää ja hallita veden virtausta. Tehtävänämme oli tallentaa IoT-laitteen mittausdata AWS:n pilveen ja tehdä sen pohjalta reaaliaikaista visualisointia.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Ohjelmointi suoritettiin Hackathonissa kolmen hengen tiimeissä. Tapahtuman järjestäjät tarjosivat AWS-tilin, jossa oli valmiina resursseja tehtävänantoa varten. Laite yhdistyi vähäisellä säätämisellä AWS:n IoT-palveluun ja dataa alkoi kertymään hyvää vauhtia. Kun dataa oli saatavilla, pääsimme rakentamaan visualisointia. AWS-tilille oli tapahtuman järjestäjien puolesta asennettu Grafana, jonka avulla pääsimme nopeasti rakentamaan visualisointia datallemme. Rakensimme näkymät veden lämpötilalle, ravinteiden määrälle, pariston jännitetasolle ja pumpun toimintastatukselle.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           How to develop an Observability strategy 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Observability tarkoittaa digitaalisen tuotteen monitorointia ja mittausta useista liiketoiminnalle, asiakkaille ja sisäisille sidosryhmille merkityksellisistä näkökulmista. Esitys sisälsi demon kuvitteellisesta lemmikkien adoptointisovelluksesta, jonka toimintaa seurataan AWS-työkalujen, etupäässä CloudWatchin avulla. Esimerkiksi poikkeuksellisen alhainen koirien myyntimäärä tunnissa voi kertoa viasta tai käyttäjäkokemus häiriöstä sovelluksessa. Metriikka siitä, mistä kaupungeista tilaukset tulevat, voi kertoa jotain hyödyllistä, esimerkiksi miten markkinointi toimii tai miten sitä tulisi kohdentaa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Koirien myyntimääriä tarkkailtiin CloudWatch -lokeihin talletetuista tilaus-URL:eista, joista koiramyynnit saatiin tilauksen osoiteriviparametrin perusteella. Mietimme hetken, miksei hakua kohdistettu esimerkiksi tilaustietokantaan, sillä lokien parsinta avainsanoilla tuntuu äkkiseltään hieman keinotekoiselta ja epävarmalta. Jokuhan voisi periaatteessa häiritä järjestelmää valeparametrisoiduilla URL-kyselyillä. CloudWatch -palvelun lokit ja hälytyssysteemi ovat kuitenkin niin keskeisesti valmiiksi toisiinsa integroituja, ja mahdollisen haitantekijän hyöty niin olematonta, että tälläkin toteutuksella on nähtävissä vahvat perusteet. Esitys suositti toteuttamaan sovellustarkastelua useina osittaisstrategioina, kuten seurantapaneeli-, hälytys- ja datan keruustrategiana sekä hälyttimien ilmaisemiin poikkeustilanteisiin reagoimalla. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;strong&gt;&#xD;
      
           Yhteenveto päivästä
          &#xD;
    &lt;/strong&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Mielenkiintoisissa esityksissä asiaa tulee paljon lyhyessä ajassa. Helpoiten asiat jäivät mieleen muistiinpanoja tekemällä, joihin voi sitten palata myöhemmin. Parhaimmillaan esitykset tarjoavat suoran ratkaisun olemassa olevaan teknologiseen haasteeseen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Tapahtuman päätyttyä suuntasimme vielä Tukholman keskustaan illalliselle. Kertasimme ja kävimme yhdessä läpi päivän kohokohtia. Kaikille oli jäänyt tapahtumasta positiivisen innostunut fiilis. Pitkä, mutta antoisa päivä oli tullut päätökseen ja oli aika palata takaisin koti-Suomeen. Ensi vuonna taas uudestaan!
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/AWS_Summit_ryhma+%281%29.jpg" alt="A group of people are posing for a picture in front of a building."/&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/AWS_Summit.JPG" length="193427" type="image/jpeg" />
      <pubDate>Fri, 12 May 2023 12:21:04 GMT</pubDate>
      <guid>https://www.webscale.fi/23/05/aws-summit-stockholm-2023</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/AWS_Summit.JPG">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/AWS_Summit.JPG">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mitä hyötyjä konttiteknologialla tavoitellaan?</title>
      <link>https://www.webscale.fi/03/2023/kysy-konsultilta-mita-hyotyja-konttiteknologialla-tavoitellaan</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mitä hyötyjä konttiteknologialla tavoitellaan?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mitä hyötyjä konttiteknologialla tavoitellaan?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kontilla tarkoitetaan ohjelmistopakettia, joka sisältää itse ohjelman lisäksi tarvittavan riippuvuuden ohjelman ajamiseksi. Tästä seuraa suoraan konttiteknologian ensimmäinen hyöty. Kontit ovat kätevä tapa jakaa staattisia ohjelmistopaketteja, jotka sisältävät kaiken ohjelman suorittamiseksi minkä tahansa infrastruktuurin päällä. Konttiin voidaan pakata omien binääri- tai lähdekooditiedostojen lisäksi myös muita ohjelmistopaketteja. Esimerkiksi ohjelmistotyökaluja voidaan esiasentaa konttiin. Tällöin kontti voidaan vain käynnistää ja ohjelmisto sekä riippuvuudet ovat saatavilla.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Ohjelmistokehittäjän näkökulmasta kontit tarjoavat oivallisen alustan ohjelmiston kehittämiselle sekä testaamiselle. Kehittäjä voi suorittaa koodinsa kontissa, jolloin hän tietää ympäristön olevan staattinen sekä ennaltamääritelty ja, että se sisältää valmiiksi tarvittavat riippuvuudet. Testauksessa tarvittava tietokanta on esimerkiksi kätevä käynnistää konttina, jolloin sen tila on tiedossa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Ohjelmien suorittaminen konteissa sekä konttien orkestrointityökaluissa (mm. Kubernetes ja ECS) mahdollistavat ns. mikropalveluarkkitehtuurien käytön. Mikropalvelulla tarkoitetaan ohjelmaa, joka suorittaa yhden tietyn tehtävän ja on osana suurempaa joukkoa muita mikropalveluja. Mikropalveluiden käyttö tarjoaa joustavan tavan kehittää ja testata ohjelmistoja. Jokainen mikropalvelu on oma itsenäinen ohjelmansa, jota kehitetään ja testataan omana kokonaisuutenaan.
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Kalle-some--281-29.jpg" alt="Senior Consultant"/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kalle Soranko
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-32+%281%29+%281%29.jpg" length="156628" type="image/jpeg" />
      <pubDate>Thu, 20 Apr 2023 09:32:38 GMT</pubDate>
      <guid>https://www.webscale.fi/03/2023/kysy-konsultilta-mita-hyotyja-konttiteknologialla-tavoitellaan</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-32+%281%29+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-32+%281%29+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mitä jokaisen kannattaa ymmärtää DevOps:sta?</title>
      <link>https://www.webscale.fi/04/2023/kysy-konsultilta-mita-jokaisen-kannattaa-ymmartaa-devopsista</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mitä jokaisen kannattaa ymmärtää DevOps:sta?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mitä jokaisen kannattaa ymmärtää DevOps:sta?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           DevOps on yleistermi työskentelymallille, jossa kehittäjien ja ylläpitäjien yhteistyö on tiiviimpää tai erot tiimien välillä poistuvat jopa kokonaan. Yleensä siinä mahdollistetaan kehittäjille itsenäisempi tapa toimia omien vastuusovellustensa ylläpitoon liittyvissä asioissa kuten automaatio, testaus ja valvonta. Nämä kyvykkyydet tarvitsevat erilaisia työkaluja, joiden ylläpito voi olla kuitenkin kootusti operoinnin tai DevOps-tiimin vastuulla.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Itsenäisempi työskentelytapa tarvitsee tuekseen näkyvyyttä tavoitteisiin sekä raamit, joiden sisällä toimitaan. Näin vältytään siltä, että organisaation sisälle syntyy useita eri kulttuureja. Monesti DevOps liitetään myös ketterään kehitykseen, koska se mahdollistaa nopean kehityssyklin, kun julkaisuputket ovat automaattisia ja kehittäjät näkevät muutoksen vaikutuksen itse eikä tarvitse odottaa virheraportteja. Sovelluksien kehityssyklin lisäksi DevOpsissa usein halutaan kehittää itse kehitystä. Tällöin mietitään, miten sovelluskehityksestä voisi saada vielä turvallisempaa, laadukkaampaa ja organisaation tavoitteita vastaavampaa
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           .
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Antti-some.jpg" alt="Cloud Architect"/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Antti Elonheimo
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-51+%281%29.jpg" length="127871" type="image/jpeg" />
      <pubDate>Thu, 06 Apr 2023 10:21:48 GMT</pubDate>
      <author>sara.peltola@webscale.fi (Sara Peltola)</author>
      <guid>https://www.webscale.fi/04/2023/kysy-konsultilta-mita-jokaisen-kannattaa-ymmartaa-devopsista</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-51+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-51+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>6 asiaa, jotka on hyvä tietää vaalikoneista</title>
      <link>https://www.webscale.fi/23/03/kuusi-asiaa-jotka-on-hyva-tietaa-vaalikoneista</link>
      <description />
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Vaalikoneilla on Suomessa lähes 30 vuoden historia ja niitä käytetään kotimaassamme erityisen paljon. Vaalikoneilla on suuri merkitys etenkin nuorten äänestyskäyttäytymiseen ja tulevaisuudessa niiden merkityksen arvioidaan kasvavan entisestään.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Webscalella on pitkä kokemus vaalikoneiden suunnittelusta ja toteutuksesta. Kokemus on tuonut myös näkemystä siitä, millainen on hyvä vaalikone ja millaisia asioita esimerkiksi vaalikysymysten laatimisessa kannattaa ottaa huomioon. Ota selvää, mitä asioita jokaisen olisi hyvä tietää vaalikoneista!
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           1. Vaalikoneilla on pitkä historia
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Vaalikoneilla on maailmalla pitkät perinteet. Yleisradio julkaisi vaalikoneen Suomessa EU-vaalien yhteydessä vuonna 1996 eli 27 vuotta sitten. Maailman ensimmäisen verkkosivun julkaisusta oli tällöin kulunut vain 5 vuotta. Ylen pitkäaikaista toimittajaa Erkki Vihtosta pidetään vaalikoneen isänä, sillä hän keksi idean vaalikoneesta yrittäessään kehittää A-studion tuoreille nettisivuille uutta sisältöä. [Varho, 2016]
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Inspiraatio syntyi vuoden 1996 Yhdysvaltain presidentinvaaleista ja CNN:n nettisivuilla olleesta interaktiivisesta kyselystä, jossa oli koostettu ehdokkaiden puheista ja mielipiteistä lyhyt kysymyspatteri. Kyselyyn vastaamalla äänestäjä sai tietää, kumpi ehdokkaista oli lähempänä omia vastauksia. Tästä poiketen A-studion vaalikoneessa pyydettiin ehdokkaita vastaamaan vaalikoneen kysymyksiin suoraan itse ja sitten verrattiin kansalaisten vastauksia ehdokkaiden vastauksiin. Tämä Vihtosen keksimä vaalikoneen perusidea on vielä tänäkin päivänä sama. Yleisradion ensimmäinen vaalikone saattoikin olla paitsi Suomen, mahdollisesti myös koko maailman ensimmäinen verkossa toimiva vaalikone. [Varho, 2016]
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Ylen pilotin jälkeen muut mediat ja toimijat seurasivat ideaa nopeasti perässä. Maailman ensimmäisiin vaalikoneisiin lukeutuu myös Suomen nuorisoalan kattojärjestö Allianssin koordinoima Nuorten vaalikone. Se julkaistiin ensimmäistä kertaa myös vuonna 1996 Harava-nimellä. Nuorten vaalikone on perinteisesti koonnut yhteen nuoria koskettavia kysymyksiä ja teemoja. [Allianssi, 2023] Kiintoisa fakta on, että molemmat jo vuosikymmenten ajan vaalikoneita toteuttaneet toimijat ovat tällä hetkellä Webscalen asiakkaita. Eduskuntavaaleihin 2023 toteutetut vaalikoneet löydät Allianssin osalta
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://nuorisoala.fi/nuorten-vaalikone-2023/#/" target="_blank"&gt;&#xD;
      
           täältä
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ja Ylen osalta
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://vaalikone.yle.fi/vaalikone/eduskuntavaalit2023" target="_blank"&gt;&#xD;
      
           täältä
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
           .
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Vaalikoneiden kansainvälinen historia ulottuu vain hieman suomalaisia vaalikoneita pidemmälle. Ensimmäisenä vaalikoneena alan tutkimuksessa on nostettu Alankomaiden StemWijzer-sovellus. Se toteutettiin valtakunnallisena verkkoversiona vasta vuonna 1998, mutta printtiversio alkoi ilmestyä lehdissä jo 1980-luvun loppupuolella. [Borg &amp;amp; Koljonen, 2020] 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           2. Vaalikoneissa on hiottu prosessi
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Vaalikoneiden taustalla on yleensä monien kuukausien suunnittelu- ja toteutustyö. Ennen kuin vaalikone aukeaa suurelle yleisölle, vaalikoneen tarjoaja miettii ja päättää kysymykset ja ominaisuudet, joita vaalikoneessa on. Tämän jälkeen kutsutaan ehdokkaat vastaamaan vaalikoneen kysymyksiin. Ehdokkaille on suunniteltu vaalikoneeseen oma käyttöliittymä; ehdokaskone, jossa ehdokkaat pääsevät täyttämään oman profiilin vaalikoneeseen. Webscalella ehdokkaiden apuna toimii oma ammattitaitoinen ehdokastuki, joka varmistaa vaalikoneen toimivuuden ehdokkaille. Ehdokastuen toiminnasta voit lukea lisää
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.webscale.fi/2022/12/ehdokastuki-takaa-vaalikoneen-toimivuuden" target="_blank"&gt;&#xD;
      
           täällä
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
           .
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Ehdokkaiden vastausajan jälkeen vaalikoneet avataan yleisölle yleensä 1-2 kuukautta ennen vaaleja. Varsinainen äänestäjille suunnattu vaalikone on kaikille näkyvä palvelu, jossa äänestäjät voivat vastata samoihin vaalikysymyksiin, mihin ehdokkaat ovat vastanneet ja löytää siten itselleen sopivan ehdokkaan.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           3. Vaalikoneissa kysymyksenasettelut ovat tärkeitä
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Vaalikoneen kysymyksiä laadittaessa on tärkeää huomioida kysymysten selkeä muotoilu ja kysymysten määrä. Tyypillisin virhe vaalikoneissa on liian suuri kysymysmäärä, mikä ei houkuttele ehdokkaita eikä sen enempää äänestäjiä vastaamaan vaalikoneen kysymyksiä loppuun asti. Webscalella on kokemuksen kautta opittu, että yleensä hyvä kysymysmäärä vaalikoneissa on n. 10-30 kysymystä. Webscalen seniorikonsultin Hannu-Pekka Hakamäen mukaan: “
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Hyvä kysymysmäärä on ehkä liian subjektiivinen, sillä esimerkiksi pikavaalikoneessa noin 10 kysymystä on hyvä määrä, mutta 20-30 on määrä, jolla saadaan esiin tarpeeksi eroja ehdokkaiden välille, kuitenkin niin että vaalikoneen täyttäminen ei ole liian työlästä tai aikaaa vievää loppukäyttäjille.
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           ”
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kysymysten lisäksi kannattaa miettiä tarkkaan myös vastausvaihtoehtojen määrää. Esimerkiksi monivalintakysymyksissä vastausvaihtoehtoja kannattaa olla maksimissaan 6-7 kappaletta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Vaalikoneet mahdollistavat erilaisten kysymystyyppien käytön ja tällä hetkellä vakiintuneimpia kysymystyyppejä ovat kyllä/ei, monivalinta, prioriteettilista sekä Likert -asteikko. Käytetyin kysymystyyppi “Likert-asteikko” on vastausasteikko, jolla selvitetään mielipide-eroja. Vastaajat arvioivat asenneväittämiä viisiportaisella asteikolla, jonka vastausvaihtoehdot ovat esimerkiksi:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            täysin eri mieltä
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            jokseenkin eri mieltä
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ei samaa eikä eri mieltä
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            jokseenkin samaa mieltä
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            täysin samaa mieltä
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Useat vaalikoneet laskevat käyttäjän ja ehdokkaan valintojen etäisyyttä toisistaan viisiportaisella asteikolla. Aluksi jokainen ehdokas on käyttäjälle yhtä sopiva, mutta etääntyy tästä sen mukaan, montako pykälää vastaukset eroavat toisistaan.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Hakamäen mukaan: “
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kysymystyypeistä likert-asteikolla toteutetut väittämä -kysymykset ovat helpoin ja tutuin käyttäjille ja siksi niitä kannattaa suosia. Myös muita kysymystyyppejä voi lisätä tuomaan mielenkiintoa koneeseen (esim. monivalinta), mutta näitä ei kannata olla liikaa, sillä niihin vastaaminen on työläämpää ja vie enemmän aikaa loppukäyttäjiltä.
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           ”
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Toimiva vaalikonekysymys pitää lisäksi olla helposti ymmärrettävä, jolloin se kannattaa muotoilla mahdollisimman selkeästi, ettei sitä voi tulkita usealla eri tavalla. Vaikeaselkoisuus aiheuttaa haittaa sekä ehdokkaille että konetta käyttäville äänestäjille ja molempien pitäisi pystyä ymmärtämään kysymys samalla tavalla. [Laakso, 2023] Yleensä kysymys kannattaa tiivistää mahdollisimman lyhyeksi ja ytimekkääksi. Tämän lisäksi vaalikoneissa voi usein lisätä kysymyksen yhteyteen selitteen, jossa voi avata kysymyksen taustoja vielä enemmän.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           4. Vaalikoneissa suomalaiset ovat kärkikäyttäjiä
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Vaalikoneita käytetään Suomessa erityisen paljon ja Suomi onkin yksi vaalikoneiden kärkimaista, kun käyttäjämäärät suhteutetaan äänioikeutettujen määrään. Vuonna 2019 pidetyissä eduskuntavaaleissa oli tarjolla 22 erilaista vaalikonetta [Borg &amp;amp; Koljonen, 2020] ja tämän kevään 2023 eduskuntavaaleissa on avattu myös jo lähemmäs 20 vaalikonetta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Tampereen yliopiston politiikan tutkijat Sami Borg ja Kari Koljonen pitävät yhtenä suosion syynä suomalaista ehdokaskeskeistä vaalijärjestelmää. Suomessa on käytössä vaalijärjestelmä, jossa ehdokkaan äänestäminen on pakollista. Äänestäjä äänestää suoraan sitä henkilöä, jonka hän tahtoo saada valituksi. Tämän takia vaalikoneet ovat yleensä ehdokasvaalikoneita, jotka jäsentävät ehdokkaiden mielipiteitä ja niiden eroja. Monissa muissa maissa vaaleissa äänestetään vain puoluetta, jonka takia vaalikoneet jäsentävät puolueiden välisiä eroja. [Borg &amp;amp; Koljonen, 2020]
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Valtakunnallisten vaalien lisäksi vaalikoneita käytetään paljon myös esimerkiksi edustajisto- tai valtuustovaaleissa. Yhdistykset, liitot ja erilaiset järjestöt kaipaavat yhä enemmän omiin vaaleihinsa avuksi vaalikoneen, joka helpottaa ehdokkaiden esittelyä äänestäjille. Webscale tarjoaakin myös pienemmille toimijoille vaalikoneen kustannustehokkaasti helppokäyttöisenä vaalikonepalveluna.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           5. Vaalikoneilla on suuri merkitys nuorille
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Vaalikoneilla on tutkitusti suuri merkitys erityisesti nuorten äänestyskäyttäytymiseen. Vaalikoneet aktivoivat nuoria äänestämään ja vaikuttavat nuorten ehdokasvalintoihin. Tampereen yliopiston politiikan tutkijoiden Sami Borgin ja Kari Koljosen tekemän tutkimuksen mukaan vaalikoneet ovat suomalaisnuorten tärkein äänestyspäätösten tietolähde. [Borg &amp;amp; Koljonen, 2020]
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Borgin ja Koljosen
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Käyttöliittymä vaaleihin
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            -tutkimuksessa selvitetään vaalikoneiden käyttöä vuoden 2019 eduskuntavaaleissa sekä vuoden 2018 presidentinvaaleissa. Tutkimuksen mukaan “
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           alle 30-vuotiaista vastaajista joka toinen katsoi, että vaalikoneet olivat lisänneet heidän kiinnostustaan äänestämiseen ja yli puolet heistä sanoi, että vaalikoneiden ehdokassuositukset olivat vaikuttaneet omaan äänestyspäätökseen.
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           ” Lähes puolet (47 %) nuorista äänestäneistä kertoi vaalikoneiden vaikuttaneen ratkaisevasti tai melko paljon omaan puoluevalintaan ja jopa 69 prosenttia oli sitä mieltä, että vaalikoneilta saaduilla tiedoilla oli ollut hyvin tai melko tärkeä merkitys siihen, ketä äänesti vuoden 2019 eduskuntavaaleissa. [Borg &amp;amp; Koljonen, 2020]
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Ylen teettämästä vaalisisältöjen vaikuttavuutta vuoden 2021 kuntavaaleissa tutkivasta tutkimuksesta käy ilmi, että 61 prosenttia 18–29-vuotiaista suomalaisista kertoo etsineensä Ylen sisällöistä tietoa vaaleista ja 44 % sai Ylen vaalikoneesta apua ehdokkaan valinnassa. [Ylen tiedote, 2021]
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Vuoden 2021 kuntavaaleissa Ylen vaalikonetta käytti 77 % nuorista. [Ylen tiedote, 2021] Nuoret käyttävät siis tutkitusti vaalikoneita eniten. Nuorten ja opiskelijoiden lisäksi vaalikoneista ovat eniten hyötyneet väestöryhmät, joiden into osallistua yhteiskunnalliseen toimintaan on keskimääräistä vähäisempää. Tällaisia ryhmiä ovat tutkijoiden Borg ja Koljonen mukaan matalammin koulutetut ja työttömät. [Borg &amp;amp; Koljonen, 2020]
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           6. Vaalikoneet kehittyvät tulevaisuudessa
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Tulevaisuudessa yhä useampi, nuori tai vanha, hakee itselleen sopivia ehdokkaita vaalikoneiden avulla. Näin ollen vaalikoneiden merkitys ja vaikutus äänestyskäyttäytymiseen tulee kasvamaan entisestään. Todennäköisesti vaalikoneet ovat tulevaisuudessa myös entistä monipuolisempia. Ehdokkaat tulevat epäilemättä käyttämään enemmän aikaa vaalikoneiden huolelliseen täyttämiseen sekä oman monipuolisen ehdokasprofiilin luomiseen. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Vaalikoneiden tulevaisuus riippuu Tampereen yliopiston tutkijoiden mukaan paljolti median elinvoimaisuudesta. Mikäli median resurssit kutistuvat, vaalikoneidenkin kehitys voi pysähtyä ja journalismi voi taantua tulosten referoinniksi. Vaalikonekysymykset ovat olleet tähän mennessä pääosin relevantteja ja tarjonneet äänestäjille apua äänestämistä koskeviin valintoihin, mutta tulevaisuutta saattaa myös uhata kysymyksenasettelujen motiivien hämärtyminen. Tutkijat eivät poissulje sitä, että tulevaisuuden vaalikoneissa painottuisivat politiikkakysymysten sijaan esimerkiksi viihdyttävät kysymykset ja oheissisällöt, joiden avulla saataisiin nostettua vaalikoneiden kävijämääriä. [Borg &amp;amp; Koljonen, 2020] 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Lähteet:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           [Allianssi, 2023]
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://nuorisoala.fi/palvelut/demokratiakasvatus-ja-osallisuus/nuorten-vaalikone/" target="_blank"&gt;&#xD;
      
           https://nuorisoala.fi/palvelut/demokratiakasvatus-ja-osallisuus/nuorten-vaalikone/
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
           , Luettu 17.2.2023.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [Borg &amp;amp; Koljonen, 2020] 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Sami Borg &amp;amp; Kari Koljonen, Käyttöliittymä vaaleihin,
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://trepo.tuni.fi/bitstream/handle/10024/123860/978-952-359-026-7.pdf?sequence=2" target="_blank"&gt;&#xD;
      
           https://trepo.tuni.fi/bitstream/handle/10024/123860/978-952-359-026-7.pdf?sequence=2
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            , Luettu 8.3.2023.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           [Laakso, 2023]
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Ville Laakso, Yle,
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://yle.fi/a/74-20020699" target="_blank"&gt;&#xD;
      
           https://yle.fi/a/74-20020699
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            , Luettu 10.3.2023.
            &#xD;
        &lt;br/&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            [Varho, 2016]
            &#xD;
        &lt;br/&gt;&#xD;
        
            Esko Varho, Yle,
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://yle.fi/a/3-9115786" target="_blank"&gt;&#xD;
      
           https://yle.fi/a/3-9115786
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
           , Luettu 17.2.2023.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           [Ylen tiedote, 2021] 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://yle.fi/aihe/a/20-10001299" target="_blank"&gt;&#xD;
      
           https://yle.fi/aihe/a/20-10001299
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
           , Luettu 17.2.2023.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/vaalikone.jpg" length="217152" type="image/jpeg" />
      <pubDate>Tue, 28 Mar 2023 07:17:50 GMT</pubDate>
      <guid>https://www.webscale.fi/23/03/kuusi-asiaa-jotka-on-hyva-tietaa-vaalikoneista</guid>
      <g-custom:tags type="string">Vaalipalvelut</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/vaalikone.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/vaalikone.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Mikä on AWS Local Zone ja miten sitä voidaan hyödyntää?</title>
      <link>https://www.webscale.fi/2023/03/kysy-konsultilta-mika-on-aws-local-zone-ja-miten-sita-voidaan-hyodyntaa</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mikä on AWS Local Zone ja miten sitä voidaan hyödyntää?</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mikä on AWS Local Zone ja miten sitä voidaan hyödyntää?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS Local Zone on AWS:n palvelu, joka tarjoaa AWS:n infrastruktuuripalveluita lähellä käyttäjän fyysistä sijaintia. AWS Local Zone on käytännössä konesali, joka on sijoitettu fyysisesti lähelle loppukäyttäjää. Tämä auttaa parantamaan suorituskykyä sovelluksissa, jotka vaativat erittäin alhaista viivettä tai nopeaa reagointikykyä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS Local Zone sisältää valikoiman AWS:n infrastruktuuripalveluita. Palveluiden valikoima vaihtelee eri sijaintien välillä. Suomen osalta lähin AWS Local Zone palvelee Helsingissä, jonka palveluvalikoima rajoittuu lähinnä laskenta- ja verkkopalveluihin, kuten Amazon Elastic Compute Cloud (EC2), Amazon Elastic Container Services (ECS) ja Amazon Virtual Private Cloud (VPC).
            &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           AWS Local Zonen operointi tapahtuu aina lähinnä olevan varsinainen AWS-regionin kautta, täten esimerkiksi Helsingin Local Zonea hallinnoidaan AWS:n Tukholman regionilta. Yhteensä Local Zoneja on tällä hetkellä maailmanlaajuisesti 32 kpl ja uusia lanseerataan jatkuvasti lisää.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Ville-some.jpg" alt="Cloud Architect"/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Ville Välimäki
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Cloud Architect
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-44--281-29.jpg" length="160101" type="image/jpeg" />
      <pubDate>Mon, 27 Mar 2023 11:33:13 GMT</pubDate>
      <author>sara.peltola@webscale.fi (Sara Peltola)</author>
      <guid>https://www.webscale.fi/2023/03/kysy-konsultilta-mika-on-aws-local-zone-ja-miten-sita-voidaan-hyodyntaa</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-44+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-44--281-29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Eväät vuodelle 2023 - ja lyhyt katsaus viime vuoteen</title>
      <link>https://www.webscale.fi/2023/03/evaat-vuodelle-2023-ja-lyhyt-katsaus-viime-vuoteen</link>
      <description />
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Vuosi 2023 on lähtenyt Webscalessa vauhdikkaasti käyntiin. Tammikuussa olemme päässeet tutustumaan
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="/2022/02/joustavuutta-ja-vapautta-tarjoava-tyoymparisto-ei-ole-ollut-pelkkaa-mainospuhetta"&gt;&#xD;
      
           uusiin työkavereihin
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ja maaliskuussa meillä jälleen aloittaa kaksi uutta henkilöä. Tällä hetkellä
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="/rekry"&gt;&#xD;
      
           haemme myös lisää vahvistuksia
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            joukkoomme mm.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="/"&gt;&#xD;
      
           pilviarkkitehdin ja DevOps-asiantuntijan
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            tehtäviin. Helmikuussa laajensimme yhteistyötä Amazon Web Servicesin (AWS) kanssa liittymällä
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="/2022/03/aws-public-sector-partner-finland"&gt;&#xD;
      
           julkisen sektorin kumppaniohjelmaan
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            (AWS Public Sector Partner). Maaliskuun alussa käynnistimme
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="/podcast"&gt;&#xD;
      
           Pilvipilotit podcastin
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            , johon olemme saaneet mukavasti vieraita erikokoisista yrityksistä kertomaan heidän pilvimatkasta.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tänä vuonna panostamme yhtiössämme erityisesti jatkuvien palveluidemme kehittämiseen sekä teknisen osaamisen ja tarjonnan kasvattamiseen. Kerromme näistä tarkemmin vuoden edetessä. Edellisten vuosien tapaan haluamme ylläpitää ja kehittää erinomaisia asiakassuhteita. Lukujen valossa haemme yli 20%:n kannattavaa kasvua niin liikevaihdossa kuin henkilömäärässä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Haluamme olla asiakkaillemme paikallinen ja ammattitaitoinen kumppani vaativissa pilvi- ja ohjelmistokehityshankkeissa. Työntekijöillemme olemme yritys, jossa standardit ovat korkeat ilman turhaa pönötystä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h2&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Katsaus vuoteen 2022
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h2&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Henkilöstö
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Henkilöstömäärämme kasvoi viime vuonna kymmenellä henkilöllä. Tässä yhteydessä on myös mukava kertoa, että viimeisen 12 kuukauden aikana meiltä ei ole lähtenyt yhtään henkilöä!
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Myös henkilöstötyytyväisyyskyselymme mukaan Webscalessa on hyvä olla. Maailman mullistusten keskellä koemme tärkeäksi, että voimme osaltamme tarjota mielekkäät puitteet työnteolle. Uskomme, että työ on palkitsevaa silloin, kun sen tekijällä on sopivasti vastuuta ja vapautta.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Liikevaihto ja tulos
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Viime vuonna Webscalen liikevaihto kasvoi yli 3,6 miljoonaan euroon ja teimme 630 000 euron tuloksen (EBIT).
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Asiakkuudet ja yhteistyökumppanuudet
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Saimme ilahduttavan monta uutta asiakasta viime vuonna, jonka lisäksi yhteistyö useiden olemassa olevien asiakkuuksien kanssa on tiivistynyt. Vuoden aikana olemme päässeet kertomaan mm. tuoreesta yhteistyöstä
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.webscale.fi/asiakastarinat/kemppi-keskitettyyn-aws-hallintaan"&gt;&#xD;
      
           Kempin
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            kanssa sekä pitkäjänteisestä kumppanuudesta
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.webscale.fi/asiakastarinat/posti-aws-infralla-ketterampaa-liiketoimintaa"&gt;&#xD;
      
           Postin
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            kanssa. Syvensimme myös yhteistyötä AWS:n kanssa sekä valikoitujen muiden kumppaneiden kanssa.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Ensimmäinen Webscale Tech Days
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Järjestimme viime keväänä yhtiön ensimmäisen Webscale Tech Daysin, joka on sisäinen teknologiakonferenssi ja virkistystapahtuma. Tapahtumapaikkana toimi monipuolinen liikunta- ja luontomatkailukeskus Eerikkälä, joka tarjosi loistavat puitteet yhteisille keskusteluille, harrasteille ja oppimiskokemuksille. Tapahtuma tulee jatkossa olemaan jokavuotinen perinne.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Henkilöstörahasto
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Alkuvuodesta perustimme henkilöstörahaston, joka on nyt oleellinen osa kannustinjärjestelmäämme. Rahasto on koettu erittäin positiiviseksi henkilöstöeduksi.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Vaalipalvelut
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Vaalipalvelutiimimme kasvoi vuoden aikana ja panostimme tuotekehitykseen. Vuoden 2022 merkittäviä saavutuksia olivat
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.webscale.fi/asiakastarinat/seurakuntavaaleihin-vaalijarjestelmat-webscalelta"&gt;&#xD;
      
           seurakuntavaalien tietojärjestelmähanke
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            sekä aluevaalit, jolloin toimimme usean mediatalon yhteistyökumppanina vaalikoneiden ja tulospalveluiden osalta. Lisäksi toimitimme vaalikoneita lukuisille yhdistyksille, järjestöille ja liitoille. 
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Uusi toimisto
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kasvu vei meidät uuteen upeaan toimistoon Yrjönkadulle, josta onkin tullut nopeasti merkittävä kohtaamispaikka hybridityössä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Yhteisellä matkalla
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Vielä kerran iso kiitos koko henkilöstöllemme, kaikille asiakkaillemme sekä yhteistyökumppaneille luottamuksesta ja hyvästä yhteistyöstä. Kanssanne on mahtava tehdä töitä!
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Pääset seuraamaan Webscalen kuulumisia ja tekemisiä somessa
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-2023.jpeg" length="203145" type="image/jpeg" />
      <pubDate>Mon, 20 Mar 2023 18:08:10 GMT</pubDate>
      <author>tero.kauhanen@webscale.fi (Tero Kauhanen)</author>
      <guid>https://www.webscale.fi/2023/03/evaat-vuodelle-2023-ja-lyhyt-katsaus-viime-vuoteen</guid>
      <g-custom:tags type="string" />
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-2023.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-2023.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Webscale on nyt myös AWS Public Sector Partner</title>
      <link>https://www.webscale.fi/2023/03/aws-public-sector-partner-finland</link>
      <description />
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Webscale on nyt myös Amazon Web Servicesin julkisen sektorin kumppani (
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS Public Sector Partner
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           ).
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           "Olemme pitkäjänteisesti kehittäneet toimintaamme ja kumppaniohjelma vahvistaa entisestään kykyämme palvella myös julkisen sektorin asiakkuuksia. Haluamme olla aktiivisesti suunnittelemassa ja rakentamassa toimivia sähköisiä palveluita sekä niihin liittyviä pilviympäristöjä niin nykyisille kuin uusille julkisen sektorin asiakkaille." kertoo Webscalen toimitusjohtaja Tero Kauhanen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Pilvipalveluista on muodostunut keskeinen palvelumuoto julkisella sektorilla. Niiden kiistattomia hyötyjä ovat mm. skaalautuvuus, ketteryys ja jatkuvasti kehittyvät palvelut. Julkinen pilvi tukee lisäksi hyvin tuotekehitystä tekeviä organisaatioita, joissa DevOps-menetelmän avulla saadaan palvelut nopeasti ideasta tuotantoon.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Webscale on jo vuodesta 2014 lähtien toiminut AWS:n konsultointikumppanina ja on nykyään julkisen sektorin kumppanuuden lisäksi
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS Advanced Consulting Partner ja AWS-pilvipalveluiden jälleenmyyjä
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           . Webscale on sopimustoimittajana useissa julkisen sektorin dynaamisissa hankintajärjestelmissä ja pienhankintapalveluissa. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/aws-public-sector-partner-badge-white-bg.png" alt="AWS Public Sector Partner Finland"/&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/aws-public-sector-partner.jpeg" length="98033" type="image/jpeg" />
      <pubDate>Fri, 17 Mar 2023 08:11:12 GMT</pubDate>
      <guid>https://www.webscale.fi/2023/03/aws-public-sector-partner-finland</guid>
      <g-custom:tags type="string" />
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/aws-public-sector-partner.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/aws-public-sector-partner.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kysy konsultilta: Miksi devaajan kannattaa oppia käyttämään TypeScriptiä?</title>
      <link>https://www.webscale.fi/2023/03/kysy-konsultilta-miksi-devaajan-kannattaa-oppia-kayttamaan-typescriptia</link>
      <description>Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, miksi devaajan kannattaa oppia käyttämään TypeScriptiä.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Miksi devaajan kannattaa oppia käyttämään TypeScriptiä?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           TypeScript on JavaScriptin laajempi versio. Se tarjoaa samat ominaisuudet kuin JavaScript, mutta lisäksi myös muita ominaisuuksia. Tärkeimpänä näistä on tyypitys eli mahdollisuus määrittää tyyppi esimerkiksi muuttujille. Tyypityksen ansiosta voidaan välttää monia virheitä, koska kehittäjän IDE ja TypeScript-kääntäjä osaavat tunnistaa, jos koodia yritetään käyttää vastoin määritettyä tyypitystä. Myös koodin kehittäminen on miellyttävää, sillä refaktorointi on helpompaa tyypityksen toimiessa eräänlaisena turvaverkkona. Tyypitetty koodi myös dokumentoi itseään paremmin.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           TypeScript on laajasti käytössä ja sillä on suuri yhteisö eli sitä pääsee käyttämään monissa projekteissa sekä apua ongelmatilanteissa saa hyvin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Jukka.U-kopio.png" alt="Senior Consultant"/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Jukka Ukkonen
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Senior Consultant
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-49+%281%29.jpg" length="159097" type="image/jpeg" />
      <pubDate>Wed, 08 Mar 2023 08:25:11 GMT</pubDate>
      <author>sara.peltola@webscale.fi (Sara Peltola)</author>
      <guid>https://www.webscale.fi/2023/03/kysy-konsultilta-miksi-devaajan-kannattaa-oppia-kayttamaan-typescriptia</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-49+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Webscale-49+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Joustavuutta ja vapautta tarjoava työympäristö ei ole ollut pelkkää mainospuhetta - esittelyssä uudet webscalerit Timo ja Juho</title>
      <link>https://www.webscale.fi/2023/02/joustavuutta-ja-vapautta-tarjoava-tyoymparisto-ei-ole-ollut-pelkkaa-mainospuhetta</link>
      <description />
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Webscaleen saatiin vuodenvaihteen molemmin puolin lisää vahvistuksia niin rekrytointitiimiin kuin asiakasprojektienkin pariin. Tiimiin liittyneet Talent Acquisition Specialist Juho Sopanen ja Senior Consultant Timo Laakso kertovat ensikokemuksistaan uudessa työssään. Erilaisissa rooleissa työskentelevien tuoreiden webscalereiden ensitunnelmat ovat olleet positiiviset, vaikka myös uuden oppimista on alkutaival sisältänyt riittämiin. Mutta miten he kokevat vapaa-ajan ja työn yhteensovittamisen onnistuneen uudessa työssään Webscalella?
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Timo
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Timo aloitti tammikuun alussa Webscalella Senior Consultantina. Hän suunnittelee ja toteuttaa asiakkaan keskitettyä log &amp;amp; data-platformia AWS:n päälle hyödyntäen tässä kolmannen osapuolen analyysialustoja. Timolla on pitkä tausta IT-alalta pilvipalvelujen ja ohjelmistokehityksen parista eri kokoisista yrityksistä niin julkiselta kuin yksityiseltä sektorilta. Taustansa puolesta Timo vahvistaakin vielä lisää jo entuudestaan raudanlujaa AWS-osaamistamme. Timo on viihtynyt Webscalella ensimmäiset viikot todella hyvin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            ”Ensimmäiset viikot Webscalella ovat sujuneet hyvin ja kaikki on toiminut moitteettomasti. Tunsin entuudestaan Webscalelta jo kollega Mikan, jolta pystyin kyselemään kaikenlaista ennakkoon. Nyt aloitettuani työt ovat kaikki muutkin olleet avuliaita ja erityisesti olen tykännyt kollega
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.linkedin.com/in/jussi-lehtiniemi-7b151329/" target="_blank"&gt;&#xD;
      
           Jussin
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            avusta projektin onboardauksessa. Häneltä olen voinut rohkeasti kysellä kaikenlaista mitä mielen päällä on ollut. Tämä on auttanut todella paljon pääsemään sisään työhön”, Timo kehuu samassa projektissa työskentelevää tiimikaveriaan.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Webscalella työskentelyssä Timo on tykännyt itse asiakastyön lisäksi siitä, että erilaisten palaverien ja muiden tapaamisten aikataulut ovat pääasiassa hyvin tiedossa etukäteen. Tämä helpottaa työpäivien rytmityksen suunnittelua. Hän kokee lisäksi, että kaikki asiat mitä ennen töiden aloittamista on puhuttu, ovat toteutuneet, eivätkä mainospuheet esimerkiksi joustavista työajoista ole jääneet vain pelkiksi mainospuheiksi. Vapaa-ajalla Timo tykkää viettää aikaa puolisonsa ja urheilun parissa. Timo harrastaa kamppailu-urheilua sekä käy aktiivisesti kuntosalilla ja lenkillä hikoilemassa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Työaikoina Timon tavoittaa sähköpostitse - tai mahdollisesti myös luonnosta metsän keskeltä, sillä Timo mainitsee vaelluksen olevan hänelle muun liikkumisen ohella lähellä sydäntä. 
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Juho
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Juho aloitti joulukuussa Talent Acquisition Specialistina vahvistaen rekrytointitiimiämme. Hänen työnkuvaansa kuuluu erityisesti rekrytointi sekä työnantajamielikuvan kehittäminen. Lisäksi Juho on osa markkinointitiimiämme. Juholta löytyy aikaisempaa työkokemusta rekrytoinneista eri yrityksistä, mutta suorahaun maailmaan hän on ottanut ensiaskeleensa Webscalella. Myös IT-alan kiemurat olivat hänelle uutta, joten uutta opittavaa on riittänyt. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           ”Alku Webscalella on ollut todella antoisa ja olen tykännyt saadessani rekrytoinnin ohella osallistua muun muassa somepäivitysten tekemiseen. Samaan aikaan on ollut paljon uutta opittavaa, joka on tottakai vaatinut myös kärsivällisyyttä. Apua on kuitenkin aina saanut kaikilta tarvittaessa ja erityisen kiitollinen olen kollega Varpulle, jonka kanssa varsinkin ensimmäisen kuukauden aikana kävimmekin paljon Slack-puheluja aiheesta kuin aiheesta. Molemmat olivat varmaan niiden puheluiden jälkeen mielellään hetken aivan hiljaa, jotta ääni kantaisi vielä seuraavanakin päivänä”, Juho kertoo naurahtaen välillä pitkiksi venyneistä perehdytyssessioista. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Positiivisena yllätyksenä Juholle on tullut työsuhde-etujen laajuus sekä me-henki, joka Webscalella vallitsee. Joustava hybridityö mahdollistaa työn tekemisen käytännössä mistä ja milloin vain, mutta Juhon mukaan myös toimistolle on positiivisen ilmapiirin vuoksi mukava mennä ja tilat ovat viihtyisät. Lisäksi näin uutena työntekijänä hän on kokenut, että kuukausittaiset afterit ja monthly-päivä aamiaisineen ovat mahdollistaneet hyvin tutustumisen porukkaan myös työajan ulkopuolella.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Juhoon kannattaa olla yhteydessä, jos ura Webscalella kiinnostaa. Tavoitat hänet osoitteesta juho.sopanen@webscale.fi - tai todennäköisesti myös kesällä futispeleistä Bolt Areenalta, sillä hän tunnustautuu intohimoiseksi urheilumieheksi ja HJK:n kausikortin omistajaksi.
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Työn ja vapaa-ajan tasapaino
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Webscale on perheystävällinen työpaikka, jossa mahdollistetaan työ- ja vapaa-ajan mahdollisimman sujuva yhteensovittaminen. Molemmat uudet webscalerit allekirjoittavat tämän viitaten esimerkiksi hybridityömalliin sekä siihen, että työt pystyy lähes aina hoitamaan kahdeksan tunnin aikaraamissa, jonka senkin liukuvasti päivän aikana. Timo työskentelee Porista käsin täysin etänä ja pääsee pitkän välimatkan vuoksi vain satunnaisesti käymään toimistollamme Helsingissä. Juholle puolestaan tämä tarkoittaa mahdollisuutta työskennellä kotitoimiston lisäksi myös Lahdessa, jossa hänen puolisonsa asuu. Meillä jokainen saakin määritellä perhe-sanan itse. Osalle perhe muodostuu puolisosta ja lapsista, osalle sukulaisista ja läheisistä esim. harrastusten ja yhteisten mielenkiintojen mukaan.
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Töihin Webscaleen?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Me Webscalella uskomme, että työ on palkitsevaa silloin, kun sen tekijällä on sopivasti vastuuta ja vapautta. Mottomme on “parhaat keskittyvät olennaiseen” ja meille se tarkoittaa sitä, että asiantuntijamme ovat parhaimmillaan, kun saavat käyttää aikaansa heille merkityksellisiin tehtäviin. Asiakkaat saavat meiltä laadukasta palvelua ja, mikä tärkeintä, koemme tiiminä onnistumisia ja opimme yhdessä. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Kiinnostaisiko sinua liittyä tiimiimme? Lue lisää rekrysivuiltamme. Kuulemme mielellämme tarinasi ja otamme selvää, olisimmeko me sinulle oikea työnantaja.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/IMG_8779+%281%29.jpg" length="261302" type="image/jpeg" />
      <pubDate>Mon, 06 Feb 2023 10:15:43 GMT</pubDate>
      <guid>https://www.webscale.fi/2023/02/joustavuutta-ja-vapautta-tarjoava-tyoymparisto-ei-ole-ollut-pelkkaa-mainospuhetta</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/IMG_8779+%281%29.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/IMG_8779+%281%29.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Tutkimme suomalaisten keskisuurten yritysten pilvisiirtymää</title>
      <link>https://www.webscale.fi/2022/12/tutkimme-suomalaisten-keskisuurten-yritysten-pilvisiirtymaeae</link>
      <description />
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Selvitimme kotimaisten suurten ja keskisuurten yritysten julkipilven käyttöä sekä mahdollisia hyötyjä ja haasteita pilveen siirtymisessä. Haastattelimme tutkimusta varten eri toimialojen yrityksiä saadaksemme tietää mahdollisimman laajasti, millaista suhtautuminen pilveä kohtaan on.
            &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Kyselytutkimuksen kohderyhmäksi valikoitui 20-100 miljoonan euron liikevaihtoa tekevät suomalaiset osakeyhtiöt mukaan lukien pörssiyritykset.
            &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           74% yrityksistä hyödyntää pilveä
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Onko-.png" alt="Onko yrityksessä käytössä julkipilveä?"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Suomalaiset yritykset hyödyntävät laajasti pilveä, sillä kyselyn mukaan
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           74% yrityksistä käyttää julkipilveä liiketoiminnassaan
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            . Neljäsosa tutkimukseen osallistuneista kuitenkin kertoi, etteivät hyödynnä pilveä. Merkittävimmäksi syyksi koettiin se, ettei pilvi tuota riittävää hyötyä. Toinen merkittävä haaste on olemassa olevien järjestelmien elinkaari, joka sitoo yrityksen nykyiseen ympäristöön sopimuksen ollessa pitkä nykyisen järjestelmätoimittajan kanssa.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Erilaisia pilvialustoja
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/mika-julkipilvi.png" alt="Mikä julkipilvi on käytössä?"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Tutkimuksen mukaan monessa suomalaisessa yrityksessä Microsoftilla ja sen julkipilvellä Azurella on vankka asema. Tämä poikkeaa
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.srgresearch.com/articles/q3-cloud-spending-up-over-11-billion-from-2021-despite-major-headwinds-google-increases-its-market-share" target="_blank"&gt;&#xD;
      
           kansainvälisistä tutkimuksista
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
           , joiden perusteella Amazon Web Services (AWS) on useiden vuosien ajan ollut selkeä markkinajohtaja. Tutkimuksen otosjoukko on myös pieni, joka osaltaan voi selittää eroa muihin vastaaviin tutkimuksiin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Osalla yrityksistä oli useampia teknologioita käytössä esim. hybridipilvi tai monipilviratkaisu (multi-cloud). Jotkut yrityksistä olivat valinneet harvinaisemman pilviympäristön kuten Oracle tai kotimaisen pienemmän pilvipalvelun. Toiset taas luottivat virtuaaliseen konesaliin tai liiketoiminnan luonne vaati yksityisen pilven (private cloud) hyödyntämistä. 
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Mitkä asiat ovat ohjanneet yrityksiä pilven käyttöön?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tavoitteena oli selvittää, mitkä asiat ovat ohjanneet yrityksiä siirtymään pilven käyttöön. Vastauksisssa korostuivat hyödyt, jotka moni kansainvälinenkin tutkimus on tuonut esiin: liiketoiminnan skaalautuvuus, ketteryys ja saavutettavuus koettiin pilven käyttöön ohjanneiksi tärkeimmiksi asioiksi.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Mitka+asiat+ovat+ohjanneet.png" alt="Mitkä asiat ovat ohjanneet siirtymään pilven käyttöön?"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Oma osaaminen koettiin merkittävimmäksi haasteeksi. Tämä selittää sen, että kustannusten ymmärtäminen tai optimointi tuottaa yrityksille haasteita.
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Millaisia+haasteita+on+koettu.png" alt="Millaisia haasteita on koettu julkipilven suhteen?"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Yritykset arvioivat heidän pilven käytön valmiutta ja pilvimaturiteettia neljän vaihtoehdon avulla.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ol&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
             Päätös pilveen siirtymisestä on tehty.
            &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
             Matka on vasta alussa, kokeiluasteella.
            &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;span&gt;&#xD;
          
             Jokseenkin järjestelmällistä ja jatkuvaa kehittämistä.
            &#xD;
        &lt;/span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Pitkälle automatisoitu ja hallittu pilvi.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ol&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Miten+arvoitte+yrityksenne+pilvimaturiteettia.png" alt="Miten arvioisitte yrityksenne pilvimaturiteettia?"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Suurin osa vastaajista piti tekemistä pääsääntöisesti järjestelmällisenä jatkuvana kehittämisenä. Neljäsosa yrityksistä olivat vasta kokeiluasteella pilven käytössä. Voidaan todeta, että pilviympäristöillä ja -ratkaisuilla halutaan digitalisoida tai tukea liiketoimintaa, mutta vain osalla ne ovat aidosti liiketoiminnan edellytys.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Mitka-asiat-aws.png" alt="Mitkä asiat ovat ohjanneet siirtymään AWS pilven käyttöön"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Ne yritykset, joiden käytössä on AWS kokivat, että skaalautuvuus ja kustannussäästöt ovat ohjannut heitä pilven käyttöön. Azuren käyttäjien siirtymää on edistänyt ketteryys ja skaalautuvuus.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Taustatiedot
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tutkimus toteutettiin puhelinhaastatteluina 10-11/2022 aikana ja sen tilaajana oli Webscale Oy. Tutkimukseen osallistui yli 50 päättäjätason henkilöä suomalaisista keskisuurista yrityksistä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kiitos kaikille tutkimukseen osallistuneille.
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Tutkimus-paakuva2.jpg" length="52925" type="image/jpeg" />
      <pubDate>Mon, 19 Dec 2022 09:59:23 GMT</pubDate>
      <guid>https://www.webscale.fi/2022/12/tutkimme-suomalaisten-keskisuurten-yritysten-pilvisiirtymaeae</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Tutkimus-paakuva2.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Tutkimus-paakuva2.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Ehdokastuki takaa vaalikoneen toimivuuden</title>
      <link>https://www.webscale.fi/2022/12/ehdokastuki-takaa-vaalikoneen-toimivuuden</link>
      <description />
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Webscalen palveluvalikoimasta löytyvä Vaalikone-palvelu ja ehdokastuki auttavat yrityksiä ja muita toimijoita tuottamaan laadukkaita vaalikoneita, jotka vastaavat sekä ehdokkaiden että äänestäjien tarpeisiin. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tänä syksynä Vaalikone-palvelu on ollut aktiivisessa käytössä seurakuntavaalien alla. Seuraavan kerran koneet hyrähtävät käyntiin vielä suuremmalla mittakaavalla kevään 2023 eduskuntavaaleja varten. Usein hieman näkymättömämpään rooliin jäävällä ehdokastuella on keskeinen rooli vaalikoneen toimivuuden takaamisessa. Tukipalvelumme neuvoo ja auttaa ehdokkaita kaikissa vaalikoneen täyttämiseen ja profiilin luontiin liittyvissä kysymyksissä. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Vaalikoneet ovat merkittävä työkalu ehdokkaille ja äänestäjille
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Vaalikoneiden merkitys jatkaa kasvuaan Suomessa. Me suomalaiset harjoitamme demokratiaa monilla yhteiskunnan osa-alueilla ja hallinnon tasoilla, minkä johdosta vaaleja on lukumäärällisesti paljon. Samalla ihmisillä on kuitenkin nyky-yhteiskunnissa entistä vähemmän mahdollisuuksia ja intoa tehdä työlästä taustatutkimusta valistuneen äänestyspäätöksen eteen. Puolueiden ja ehdokkaiden kirjo on Suomessa moninainen, mutta samalla ne ovat tulleet lähemmäksi toisiaan. Pitkät listat ehdokkaita ja puolueiden välisten suurten eroavaisuuksien hälveneminen tekevät ehdokkaan valinnasta äänestäjälle entistä haastavampaa. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Näitä taustoja vasten vaalikoneiden suosio on kasvanut viimeisen 20 vuoden aikana: ne tarjoavat ehdokkaille tasavertaisen mahdollisuuden kantojensa esittelyyn sekä auttavat äänestäjiä rajaamaan sopivia ehdokkaita suuristakin pooleista. Vaalikoneessa täytettävä profiili mahdollistaa ehdokkaan oman persoonallisuuden ja näkemysten kattavan esittelyn - profiiliin voi kirjallisesti perustella vastauksiaan, lisätä linkkejä sosiaalisen median profiileihin sekä ladata valokuvan lisäksi jopa videoklippejä. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tampereen yliopiston vuonna 2020 julkaiseman tutkimuksen mukaan yksi vaalikoneiden suurimmista anneista on se, että ne mahdollistavat kaikille ehdokkaille tasavertaisesti näkyvyyttä ja alustan, jolla tuoda kantojaan esille. Esimerkiksi myös pienemmillä kampanjabudjeteilla operoivat tai vaikkapa ensimmäistä kertaa ehdolle asettuvat ehdokkaat pystyvät vaalikoneiden ansiosta näyttäytymään äänestäjille äärimmäisen matalalla kynnyksellä. Myös me Webscalella näemme tämän yhtenä Vaalikone-palvelun keskeisenä vahvuutena. On kuitenkin olennaista pitää mielessä, että vajavaisesti täytetyt profiilit heikentävät näkyvyyttä ja vaalikoneen optimaalista toimintaa. “Vaalikone on yhtä hyvä kuin siellä olevien ehdokkaiden määrä”, toteaa Webscalen toimitusjohtaja Tero Kauhanen. On siis tärkeää, että käyttökokemuksesta jää myönteinen mielikuva, jotta ehdokkaat täyttävät vaalikoneita mielellään jatkossakin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Webscalen ehdokastuki työskentelee positiivisen käyttökokemuksen ja tasavertaisuuden varmistamiseksi
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Vaalikoneen saavutettavuus takaa monenlaisista lähtökohdista tuleville ehdokkaille yhtäläiset mahdollisuudet tuoda näkemyksensä äänestäjien tietoisuuteen. Meidän tulee kuitenkin varmistaa, että kaikki halukkaat ehdokkaat pystyvät täyttämään profiilinsa onnistuneesti vaalikoneeseen. Jotkut tarvitsevat tässä enemmän tukea kuin toiset. Seurakuntavaalien ehdokastuessa tuli kuitenkin hyvin esille, kuinka tässä prosessissa kaikenlaisilta ehdokkailta nousee laaja skaala kysymyksiä ja tukitarpeita profiilin täyttämisen eri vaiheissa. Tasavertaisuuden toteutumisessa keskeistä on esimerkiksi se, etteivät kenenkään tietotekniset valmiudet estä vaalikoneeseen osallistumista. Me ehdokastuessa pyrimme kuromaan tätä kuilua umpeen. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Epäilemättä yleisin saamamme tukipyyntö liittyy valokuvan lataukseen. Pintapuolisesti yksinkertaiselta vaikuttava tehtävä on itse asiassa varsin ongelmallinen tänä päivänä, sillä kuvien tiedostomuotoja ja -kokoja löytyy laidasta laitaan ja vielä pellollekin. Valokuva on vaalikoneessa äärimmäisen keskeisessä roolissa, sillä luonnollisesti ehdokas jää äänestäjille paremmin mieleen mikäli nimeen on saanut yhdistettyä myös kasvot. Niinpä me ehdokastuessa ratkomme päivittäin ison pinkan kuvien lataamiseen liittyviä ongelmia. Tämän tapausluokan lisäksi yleisiä ovat esimerkiksi vaikeudet kirjautua palveluun ja jatkaa aikaisempien vastausten täydentämistä. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Vaalikoneen merkitys ehdokkaille tulee hyvin esille siinä vaiheessa, kun ehdokasprofiilien muokkausperiodi on tulossa päätökseensä. Tukipalvelun postilaatikko tulvii yhteydenottoja samalla otsikolla tai jollain sen variantilla: “ovatko vastaukseni varmasti teillä tallessa?”. Vaalikone on ehdokkaille tärkeä työkalu ja niiden huolelliseen täyttämiseen käytetään paljon aikaa. Vaalikoneita on usein myös paljon tarjolla - erityisesti valtakunnallisten vaalien aikaan - mikä tekee niihin vastaamisesta ehdokkaille varsin työlästä. Näin ollen on tärkeää, että mikäli tarve tuelle tai ihan vain vastausten tallentumisen tuplachekkaukselle nousee, siihen on nopeasti apua tarjolla. Ehdokastuessamme pyritään varmistamaan, että juuri kyseisen vaalikoneen käytöstä jää positiivinen mielikuva, ja että jokaisella ehdokkaalla on ollut mahdollisuus osallistua tähän suomalaisen demokratian keskeiseen työvälineeseen. Toisaalta tukipalveluun kilahtelevat yhteydenotot ovat myös meille erittäin tärkeä palanen laadunvarmistuksessa ja palvelujen kehittämisessä. 
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Näillä mietteillä suuntaamme innolla kohti ensi kevään eduskuntavaaleja ja vaalikoneita.
           &#xD;
      &lt;br/&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           - Anni 
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kirjoittaja työskentelee Webscalella ehdokastuessa ja opiskelee valtiotieteitä Helsingin yliopistossa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/shutterstock_2156176953-0343b6db.jpg" length="158591" type="image/jpeg" />
      <pubDate>Thu, 01 Dec 2022 10:22:51 GMT</pubDate>
      <guid>https://www.webscale.fi/2022/12/ehdokastuki-takaa-vaalikoneen-toimivuuden</guid>
      <g-custom:tags type="string">Vaalipalvelut</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/shutterstock_2156176953-0343b6db.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/shutterstock_2156176953-0343b6db.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kannustava me-henki löytyi Webscalesta - Esittelyssä uudet webscalerit Otto, Janne ja Esa</title>
      <link>https://www.webscale.fi/2022/11/kannustava-me-henki-loeytyi-webscalesta-esittelyssae-uudet-webscalerit-otto-janne-ja-esa</link>
      <description />
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Syksyllä Webscalessa aloittaneet Junior Cloud Engineer Otto, Software Developer Janne sekä Cloud Engineer Esa kertovat tunnelmistaan ensimmäisten työviikkojen jälkeen. Positiivisilla fiiliksillä oleva kolmikko listaa uuden työn parhaimpia puolia; avoimuus, vapaus, loistavat työsuhde-edut sekä pienemmän yrityksen mahtava me-henki!
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h5&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h5&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Otto
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Otto (kuvassa vasemmalla) aloitti Webscalella Junior Cloud Engineerinä. Hänen työtehtäviinsä kuuluu luoda ja ylläpitää AWS-pilvipalveluita. Työn aloitus on Oton mukaan sujunut leppoisasti. Hän pitää erityisen hyvänä puolena sitä, että perehdytykseen on varattu hyvin aikaa ja hän on saanut tutustua työtehtäviinsä rauhassa.  Työpäivät ovat kuluneet opiskellen itsenäisesti sekä perehdyttäjän kanssa. AWS palveluihin Otto on perehtynyt pikkuhiljaa ja vähitellen hän on alkanut myös hoitaa pienempiä tehtäviä eri asiakkuuksille. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Ensitunnelmistaan työssä Otto kertoo; “Olen ollut yllättynyt siitä, kuinka hyvät työsuhde-edut Webscalella ovat. Sain esimerkiksi aika vapaasti valita laitteet, mitä työssäni käytän. Lisäksi toimistolla on aina limua ja muita virvokkeita saatavilla”. Vapaa-ajallaan Otto tykkää nukkua, pelata, viihdyttää kissaansa sekä viettää aikaa ystäviensä kanssa. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Janne
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Janne (kuvassa keskellä) työskentelee Webscalella Vaalikonepalvelu -tiimissä, jossa hän keskittyy palvelun käyttöliittymän kehittämiseen. Janne on ollut innoissaan siitä, että pääsee tekemään vihdoin sellaista työtä, minkä lopputulosta muutkin ihmiset käyttävät. “Tein aikaisemmin lähinnä sisäisiä työkaluja maksimissaan 10 henkilölle, joten kovin moni ei ole nähnyt oman käden jälkeä”, Janne kertoo.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Aloittaessaan työt Jannea on kiinnostanut mahdollisuus päästä nimenomaan konsulttiyritykseen tekemään erilaisia projekteja ja näkemään, millaisia eri asioita ihmiset tekevät, miksi he tekevät niin ja miten itse pystyy omilla taidoillaan helpottamaan tekemistä. “Toistaiseksi ainakin kaikki vaikuttaa hyvältä ja vaalikone on niin valtava projekti, että pääsee tekemään paljon erilaisia asioita ja asiakkaat vaihtuvat eri vaaleissa”, Janne tuumii.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Webscalen työskentelytavoista Jannella on vain positiivista sanottavaa. “Kun aloitin Webscalella, avoimuus ja vapaus yllättivät. Täällä kannustetaan ottamaan kantaa ja annetaan myös rehellistä palautetta”, Janne kehuu. Työajan ulkopuolella Jannen voi löytää mm. juoksemasta, salilta treenaamasta tai pelaamasta pöytäroolipelejä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Esa
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Esa (kuvassa oikealla) tekee Webscalella AWS/pilvi-konsultointia. AWS:stä kiinnostunut Esa löysi tiensä Webscaleen tehdessään aiemmin samassa asiakasprojektissa yhteistyötä Webscalen omien konsulttien kanssa. “Juteltiin, miten asioita pitäisi tehdä oikein ja siitä tuli sellainen olo, että tuosta olen kiinnostunut ja haluaisin päästä tutustumaan Webscalen tapaan tehdä töitä” , Esa kertoo.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Esa kuvailee omaa työn aloitustaan suoraan syvään päähän heittona. Kokeneelle koodarille varoitettiin, että työssä voi olla kova oppimiskäyrä, ja Esa onkin perehtynyt kaikkeen parhaansa mukaan. Työprojektissa on ollut paikoitellen melkoinen kiire, mutta Esa haluaa pitää huolen siitä, että työt tulee kunnolla tehdyksi ja että koodin laatu ei kärsi. Esan odotukset työstä Webscalella ovat toteutuneet hyvin. “Niihin asioihin olen juuri päässyt perehtymään, mitä toivoinkin töihin tullessani” , Esa vakuuttaa. Vapaa-ajallaan Esa harrastaa pyöräilemistä, uimista sekä luonnossa liikkumista.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Me-henki
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Uudet webscalerit pitävät etätyöskentelyä erittäin näppäränä etuna, mutta kaikki tekevät myös toisinaan mielellään töitä toimistolta käsin.  “On mukava päästä tapaamaan työkavereita toimistolla ja tutustua heihin paremmin” , Otto pohtii. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Esalle yksi syy työpaikan vaihtamiseen oli itse asiassa se, että: “pienemmässä firmassa muodostuu helpommin me-henki”. Hyvä me -henki vaikuttaakin olevan kaikille tärkeää, ja toiveena on, että uusien työkavereiden kanssa muodostuu yhteinen tekemisen meininki. “Olisi mukavaa, että ihmisten, kenen seurassa tekee töitä 8 tuntia päivässä yhdessä, voisi viettää aikaa myös vapaa-ajalla” , Otto summailee.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Uusien webscalereiden onneksi Webscalella heittäydytäänkin usein myös yhdessä vapaalle. Erityisesti Webscalen kuukausittaiset afterworkit keräävät kiitosta. ”Tosi kiva, että niitä järkätään ja mielellään niihin osallistun. Päästään näkemään työkavereita ja kehittämään hyvää tiimihenkeä entisestään” , Janne hehkuttaa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Töihin Webscaleen?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Me Webscalella uskomme, että työ on palkitsevaa silloin, kun sen tekijällä on sopivasti vastuuta ja vapautta. Mottomme on “parhaat keskittyvät olennaiseen” ja meille se tarkoittaa sitä, että asiantuntijamme ovat parhaimmillaan, kun saavat käyttää aikaansa heille merkityksellisiin tehtäviin. Asiakkaat saavat meiltä laadukasta palvelua ja, mikä tärkeintä, koemme tiiminä onnistumisia ja opimme yhdessä. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Kiinnostaisiko sinua liittyä tiimiimme? Lue lisää rekrysivuiltamme. Kuulemme mielellämme tarinasi ja otamme selvää, olisimmeko me sinulle oikea työnantaja.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/DSC06839-4e9c7dfd.JPG" length="407358" type="image/jpeg" />
      <pubDate>Mon, 21 Nov 2022 12:37:33 GMT</pubDate>
      <guid>https://www.webscale.fi/2022/11/kannustava-me-henki-loeytyi-webscalesta-esittelyssae-uudet-webscalerit-otto-janne-ja-esa</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/DSC06839-4e9c7dfd.JPG">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/DSC06839-4e9c7dfd.JPG">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Avoimuutta ja yksilöä tukeva yhteisö</title>
      <link>https://www.webscale.fi/2022/11/avoimuutta-ja-yksiloeae-tukeva-yhteisoe</link>
      <description />
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            "Avoimuutta ja yksilöä tukeva yhteisö - tätä Webscale on minulle!" Lue lisää, mitä Talent Acquisition and Employer Branding Manager
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.linkedin.com/in/varpu-kekkonen" target="_blank"&gt;&#xD;
      
           Varpu Kekkonen
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ajattelee Webscalesta.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Miten päädyit Webscalelle?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Päädyin Webscalelle alkuvuonna 2022. Laitoin rennon sähköpostiviestin toimitusjohtaja Tero Kauhaselle nähtyäni Talent Acquisition Specialistin työpaikkailmoituksen. Tehtävänkuvassa oli paljon mitä etsin, mutta toivoin tämän päälle myös muuta. Nopean rekrytointiprosessin jälkeen minulle oli pedattu unelmieni pesti mielenkiintoisessa kasvuyrityksessä. Se tuntui hyvältä. Täällä ihmisiä ei pakoteta muottiin, vaan muotoillaan tehtävät henkilön näköiseksi.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Mitä teet Webscalella?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Työtehtäviini Webscalella kuuluu rekrytointi meidän CTO Henri Meltauksen kanssa, HR-tehtävät, työnantajamielikuvan kehittäminen ja olenpa päässyt osaksi markkinointitiimiäkin. Tämän kaiken lisäksi olen mukana meidän strategiatyössä sekä istun johtoryhmässä. 
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Mainitse kolme parasta asiaa Webscalesta?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           1. Avoimuus
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Avoimuus on varmasti kiistatta yksi yleisimpiä yrityksen arvoja. Vaikka arvotyö on meillä vielä kesken, olen usein pohtinut sitä, onko avoimuus se arvo, jonka haluamme nostaa jalustalle vai pitäisikö tämän olla itsestäänselvyys meidän yhteisössä. Luomme avoimuuden kulttuuria ympärillemme viikoittain, osin määrätietoisesti ja osin jopa huomaamatta. Mutta mitä se avoimuus sitten on Webscalella? 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;ul&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Johtoryhmä ei ole salaseura. Johtoryhmässä käsitellyt asiat kerrotaan viikkoviestissä koko työyhteisölle.
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Kuukausittain järjestettävä monthly ei ole vain kiva hotelliaamiainen porukalla. Siellä käsitellään yrityksen taloustilanne kuukausittain, myynnin ja HR.n status sekä jaetaan henkilötasolla projektin kuulumiset koko yhteisön kesken. 
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Jaamme oppimamme. 
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Palkkatasot ovat kaikkien nähtävillä. 
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Lupa ottaa puheeksi myös vaikeita asioita. 
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/li&gt;&#xD;
  &lt;/ul&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           2. Itseohjautuvuus
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Liian usein itseohjautuvuus sotketaan siihen, että kaikesta pitäisi selviytyä yksin. Itseohjautuvuus on taito, jota kukin henkilö voi kehittää. Itseohjautuvuudella tarkoitetaan henkilön kykyä toimia omaehtoisesti ilman ulkopuolisen ohjauksen ja kontrollin tarvetta. Sen suurimmat hyödyt ovatkin oma-aloitteisuus, päätöksenteon nopeutuminen, innovoiva ja motivoitunut työyhteisö. Webscalella hoidetaan työtehtävät itseohjautuvasti, mutta ei yksin! Tiimin tuki on ihan jokaisessa tehtävässä valtavan tärkeää, mutta kukaan ei halua kytätä tuleeko hommat tehdyksi, vaan yhteisö luottaa toisiinsa. 
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           3. Perheystävällisyys
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Se on ennenkaikkea asenne työpaikalla, joka haluaa toimia perheystävällisesti ja tukea ihmisten yhdenvertaisuutta, työyhteisön monimuotoisuutta ja tasa-arvoa. Liian usein tämän ajatellaan olevan vain lapsiperheiden juttu, vaikka kyseessä on laajempi käsite. Meillä jokainen saa määritellä perhe-sanan itse, eikä siihen tarvitse välttämättä kuulua puolisoa tai lapsia. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Minulla se kuitenkin on näin. Perheeseeni kuuluu aviomies sekä kaksi ja puoli vuotias tytär. Webscalella koen mahdolliseksi olla uraäiti. Työni onnistun hoitamaan lähes poikkeuksetta kahdeksan tunnin aika raamissa ja sekin liukuvasti. Kollegoiltani löytyy aina ymmärrystä, kun olen aamulla klo 8 siirtämässä jälleen palaveria lapseni sairastuttua. En ole kokenut elämäntilanteeni olevan este urapolullani Webscalella.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Jos saisit olla kuka tahansa webscaler yhden työpäivän ajan, kenen saappaisiin hyppäisit?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Ehdottomasti AWS pilvi-arkkitehdin! Minua kiehtoo tehtävän monipuolisuus. Olisihan se nyt siistiä päästä suunnittelemaan asiakkaan pilviarkkitehtuuria, tekemään pilvipalvelun käyttöönottoprojektia tai kehittämään asiakkaan pilviympäristöä entistä paremmiksi. Pääsisin myös työskentelemään useilla eri teknologioilla sekä hyödyntämään liiketoiminnan ymmärrystäni. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           Tai noh, olenhan minä sinänsä yhden koulutuksen verran sinne puolelle hypännytkin - hassun sattuman kautta tietenkin! Eräs kollega innoissaan esitteli erästä AWS Innovation Workshopia minulle taannoin ja en enempää koulutuksesta alkanut lukemaan, vaan kirjauduin mukaan. Olin ainoa ei-tekninen henkilö koulutuksessa. Ympärilläni istui vain teknologiajohtajia ja CTO:ita. Suoritin päivän koulutuksen kuitenkin parhaani mukaan ja kyllähän sieltä käteen jäi muutakin kuin yksi epämukavuusalueen ylitys. Koulutuksesta vinkanneelle kollegalleni lupaan kuitenkin kuittailla tästä vielä pitkään!
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        &lt;br/&gt;&#xD;
        
            Kiinnostaisiko sinua kuulla lisää Webscalen tarjoamista uramahdollisuuksista? Käy kurkkaamassa meidän
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="/rekry"&gt;&#xD;
      
           avoimet tehtävät
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            tai laita meille
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="/yhteystiedot"&gt;&#xD;
      
           viestiä
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            niin jutellaan lisää!
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/DSC06251+%282%29.JPG" length="260216" type="image/jpeg" />
      <pubDate>Mon, 07 Nov 2022 13:59:46 GMT</pubDate>
      <author>varpu.kekkonen@webscale.fi (Varpu Kekkonen)</author>
      <guid>https://www.webscale.fi/2022/11/avoimuutta-ja-yksiloeae-tukeva-yhteisoe</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/DSC06251+%282%29.JPG">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/DSC06251+%282%29.JPG">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Tuhoamisen ihanuus</title>
      <link>https://www.webscale.fi/2022/09/tuhoamisen-ihanuus</link>
      <description />
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;blockquote&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Parhaita työpäiviä ovat sellaiset, jossa päivän lopuksi voi todeta tuhonneensa pari tuhatta riviä ohjelmakoodia.
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           ﻿﻿﻿﻿﻿
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
      
           – H-P, Webscale
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/blockquote&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Monelle IT-järjestelmien kanssa tekemisissä oleville ei-kehittäjille saattaa tulla yllätyksenä se, että kypsän järjestelmän kehittämisessä vaikein asia on monesti vanhentuneiden osien tuhoaminen. Johtuen juuri siitä vaikeudesta se on itselleni monesti suurinta työn iloa tuottava hetki, kun vihdoin saa teilattua lopullisesti pois vanhentuneita komponentteja.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Laadukasta ylläpitoa vai toteutuksen täysi uusiminen?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tyhjästä rakennettavien järjestelmien alkukuukausina tuotetaan merkittävä määrä koodirivejä päivittäin, mutta saavutettaessa kypsä vaihe vuoden-kahden vaiheilla olennaisesti enemmän työtä vaatii järjestelmän laadukkaana ylläpitäminen ja olemassa olevien käyttötapausten tukeminen. Tästä pari vuotta eteenpäin ja väistämättömät muutostarpeet ovat jo lisänneet koodikannan kokoa, mutta vanhasta ei ole voitu vielä luopua, koska vuosien aikana niiden järjestelmien ympärille on ehditty jo rakentaa uusia integraatiopisteitä ja käyttötarpeita.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kehitystiimien työ ei ole aivan halpa resurssi, jolloin kehitysjohtajilta tarvitaan valistuneisuutta sijoittaa riittävä osuus tästä resurssista vanhojen järjestelmien tarkasteluun, perkaukseen ja hyvälaatuisena pitämiseen. Ohjelmistokehityksessä työkalujen, ohjelmointikielien ja kirjastojen luonteeseen liittyy se, että näitä kehitetään jatkuvasti ja vanhoista kirjastoista löydetään toinen toistaan luovempia tapoja väärinkäyttää niiden tietoturvahaavoittuvuuksia. Mikäli komponentteja ei kehitetä, loppuu niiltä usein myös tuki ja se tarkoittaa samalla haavoittuvuuksien jäämistä pysyväksi. Tällöin ainoat vaihtoehdot ovat lähteä tukemaan komponenttia itse tai luopua komponentin käytöstä ja kirjoittaa oma toteutus uusiksi.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Monesti tällaisessa tilanteessa, jossa on pakko uusia oma toteutus on paras tilaisuus arvioida kyseisen toteutuksen tarpeellisuutta nykyhetkessä ennen työn käyttämistä sen päivittämiseen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tarpeeksi aikaa vanhojen koodirivien läpikäyntiin
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Usein huomaan itse, että jo muutenkin vanhentuneet komponentit ylläpitävät vanhentunutta toimintatapaa, josta haluttaisiin eroon ylläpidettävyyden vuoksi: Jos sama toiminnallisuus voidaan muuttaa noudattamaan nykyistä toteutustapaa, voi hyvinkin olla kannattavaa tuhota vanha toteutus kokonaan ja päivittää riippuvuudet uudelle mallille.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Tämä voi näyttäytyä uuden kehityksen kannalta tyhjäkäyntinä, josta ei saada uusia ominaisuuksia esiteltäväksi. Se on kuitenkin mielekkäämpää tyhjäkäyntiä kehitystiimin kannalta kuin vanhojen ongelmakomponenttien ylläpitämiseen kuluva aika. Varsinkin kun tiimeissä on väistämättä vaihtuvuutta tekijöissä, niin vanhentuneiden komponenttien ylläpitoon voi olla yllättävänkin vaikea löytää kunnon osaamista ja ymmärrystä niiden sielunelämästä. Kehittäjänä arvostan sitä, että on säännöllisesti käytettävissä aikaa vanhojen palikoiden perkaamiseen, päivittämiseen ja erityisesti sen liputtamiseen, että järjestelmä pitää tuhota ja päivittää uuteen.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Suurelle suomalaiselle laitevalmistajalle tehdyssä muutaman vuoden pituisessa projektissa laskimme loppuvaiheessa keskimääräisen päivittäisten koodirivien määrän muutoksen per kehittäjä. Lopputulema oli noin +5 riviä koodia per päivä. Vanhat toteutukset oli hyvissä ajoin ajettu alas ja sillä saatu pidettyä kehitystyö mielekkäänä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-4-scaled-pu29p012vakc02i2pp0l1i2hqewk3hnki1pjs45rsw.jpeg" length="105396" type="image/jpeg" />
      <pubDate>Fri, 30 Sep 2022 11:36:02 GMT</pubDate>
      <guid>https://www.webscale.fi/2022/09/tuhoamisen-ihanuus</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-4-scaled-pu29p012vakc02i2pp0l1i2hqewk3hnki1pjs45rsw.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-4-scaled-pu29p012vakc02i2pp0l1i2hqewk3hnki1pjs45rsw.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>AWS Summit Stockholm 2022 – Pohjoismaiden AWS-osaajat ja asiakkaat kokoontuivat</title>
      <link>https://www.webscale.fi/2022/05/aws-summit-stockholm-2022</link>
      <description>Toukokuun aurinkoisena päivänä reilut 6000 AWS:n käyttäjää, asiakasta ja kumppania olivat saapuneet Tukholmaan pitkästä aikaa tapaamaan kasvokkain ja kuulemaa alan uusimmista suuntauksista. Päivän avasi AWS:n Compute Services-yksikön johtaja Deepak Singh, jonka pääviesti oli innovatiiviset yritykset tarvitsevat innovatiivisen pilvikumppanin. Nopeasti muuttuvassa maailmassa pilviratkaisut auttavat yrityksiä muuttumaan sen mukana. Teknologiavalinnoilla on merkitystä Alustan valinnalla voi olla pitkäkestoisia vaikutuksia, […]</description>
      <content:encoded />
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/awssummit-stocholm-2022-big-scaled-por0ohom0q7nsfpz04j9bqko59t2h7m1ufe693epkw.jpeg" length="94073" type="image/jpeg" />
      <pubDate>Fri, 13 May 2022 11:36:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2022/05/aws-summit-stockholm-2022</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/awssummit-stocholm-2022-big-scaled-por0ohom0q7nsfpz04j9bqko59t2h7m1ufe693epkw.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/awssummit-stocholm-2022-big-scaled-por0ohom0q7nsfpz04j9bqko59t2h7m1ufe693epkw.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Vastuuta, vapautta ja unohtuneita salasanoja – esittelyssä Webscalen uudet tiimiläiset Varpu, Sara ja Lauri</title>
      <link>https://www.webscale.fi/2022/04/vastuuta-vapautta-ja-unohtuneita-salasanoja-esittelyssa-webscalen-uudet-tiimilaiset-varpu-sara-ja-lauri</link>
      <description>Webscalen tiimiin hiljattain liittyneet Talent Acquisition and Employer Branding Manager Varpu Kekkonen, toimistoassistentti Sara Peltola ja Cloud Architect Lauri Siponen kertovat ensikokemuksistaan uudessa työssä. Erilaisissa rooleissa työskentelevien tuoreiden webscalelaisten tunnelmat ovat yllättävän samankaltaiset: positiivisia yllätyksiä, uuden oppimista ja ilmapiiri, jossa voi olla oma itsensä. Mutta kuka – tai ketkä – ovat useampaan otteeseen nykineet toimitusjohtajaa […]</description>
      <content:encoded />
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/varpu-sara-ja-lauri.jpeg" length="93337" type="image/jpeg" />
      <pubDate>Wed, 27 Apr 2022 10:32:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2022/04/vastuuta-vapautta-ja-unohtuneita-salasanoja-esittelyssa-webscalen-uudet-tiimilaiset-varpu-sara-ja-lauri</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/varpu-sara-ja-lauri.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/varpu-sara-ja-lauri.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Senioritason myyntiosaamista Webscaleen</title>
      <link>https://www.webscale.fi/2021/12/senioritason-myyntiosaamista-webscaleen</link>
      <description>Pitkän linjan myynnin ja markkinoinnin ammattilainen Mika Jokinen vahvistaa Webscalen myyntiä tammikuun 2022 alusta. Mikalla on lähes 30 vuoden kokemus asiakastyöstä sekä ratkaisumyynnistä. Päätös Webscaleen siirtymisestä syntyi yhteistyön kautta. Mika on viimeksi toiminut yrittäjänä, auttanut asiakkaita myynnissä ja liiketoiminnan kehittämisessä.</description>
      <content:encoded />
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/mika-jokinen-senior-sales-manager-scaled-e1640096481984-phuf6aauld2981clslficsmtjavy0tla8khv286bk0.jpeg" length="72963" type="image/jpeg" />
      <pubDate>Mon, 27 Dec 2021 07:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2021/12/senioritason-myyntiosaamista-webscaleen</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/mika-jokinen-senior-sales-manager-scaled-e1640096481984-phuf6aauld2981clslficsmtjavy0tla8khv286bk0.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/mika-jokinen-senior-sales-manager-scaled-e1640096481984-phuf6aauld2981clslficsmtjavy0tla8khv286bk0.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Identity and access management (IAM) in AWS cloud</title>
      <link>https://www.webscale.fi/2021/05/identity-and-access-management-iam-in-aws-cloud</link>
      <description>Introduction to Identity and Access Management Identity and access management (IAM) is a combination of tools and processes to identify, authenticate and authorise access to resources to keep systems and data secured. With IAM we can ensure that the source entity (users, groups, applications, devices, etc.) accessing a resource is who they say they are […]</description>
      <content:encoded>&lt;h4&gt;&#xD;
  
                  
  Introduction to Identity and Access Management

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Identity and access management (IAM) is a combination of tools and processes to identify, authenticate and authorise access to resources to keep systems and data secured. With IAM we can ensure that the source entity (users, groups, applications, devices, etc.) accessing a resource is who they say they are before access control determines their level of access and grants or denies their access. Access control allows system administrators to add and edit source entities, but also determine their access level. Best practice for determining level of access is to grant only the minimum required access. IAM acts in a crucial role of systems security, and it’s extremely important to do it correctly.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  AWS Identity and Access Management

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Amazon Web Services (AWS) has a service called AWS Identity and Access Management (or IAM in short) and it enables AWS users to control access and permissions to AWS services and resources, for free! IAM is one of the core services in AWS, and it is integrated into most of the AWS services 
    
  
  
                    &#xD;
    &lt;sup&gt;&#xD;
      
                      
    
    
      [1]
    
  
  
                    &#xD;
    &lt;/sup&gt;&#xD;
    
                    
  
  
    . In this blog post I am going to showcase some basic functions of IAM.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
                      
    
    
      “IAM lets you manage permissions for your users and applications, use identity federation to manage access to an AWS account, and analyze access to resources and services.”
    
  
  
                    &#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://aws.amazon.com/iam/features/" target="_blank"&gt;&#xD;
      
                      
    
    
      https://aws.amazon.com/iam/features/
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h5&gt;&#xD;
  
                  
  IAM roles &amp;amp; IAM users

                &#xD;
&lt;/h5&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    In the AWS world the source entities are AWS IAM users and AWS IAM roles. There are few key differences between these two. IAM users have long-term credentials and are used to directly access AWS services. IAM roles are meant to be assumed by authorised entities before accessing AWS services, when an authorised entity assumes an IAM role a new session is created. The maximum duration for a session is 12 hours 
    
  
  
                    &#xD;
    &lt;sup&gt;&#xD;
      
                      
    
    
      [2]
    
  
  
                    &#xD;
    &lt;/sup&gt;&#xD;
    
                    
  
  
    . IAM users are usually created for a person or an application to interact with AWS. IAM roles on the other hand are intended to be shared by anyone who has access to it. Examples of authorised entities that can assume IAM roles are IAM users, applications or AWS services like AWS lambda.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    An IAM user can be assigned to one or multiple IAM groups. An IAM group is a collection of IAM users. All users within a user group will get permissions that are defined for the group. This way system administrators can specify permissions for all users in the group. This makes it easier to manage permissions of multiple similar IAM users.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html" target="_blank"&gt;&#xD;
      
                      
    
    
      https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h5&gt;&#xD;
  
                  
  Policies and Permissions

                &#xD;
&lt;/h5&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    In the AWS environment policies and permissions are managed with IAM policies. There are several different policy types but in this blog post we are focusing on identity-based policies.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Access management in AWS is done by creating, editing and attaching an IAM policy to a user, role or a group. A policy is a JSON document in AWS which determines permissions of an entity when attached to one. With IAM policies we can define what the entity can and can not do. Policies support different kinds of conditions which allows even more complex setups. They are re-usable which means that the same IAM policy can be attached to multiple different entities. All the identity-based IAM policies have one or more statements which will either allow or deny specified actions. If an entity has both allow and deny statements on the same action — the deny statement overrides the allow statements 
    
  
  
                    &#xD;
    &lt;sup&gt;&#xD;
      
                      
    
    
      [3]
    
  
  
                    &#xD;
    &lt;/sup&gt;&#xD;
    
                    
  
  
    .
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  Real world use-cases

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Now that we have understood the basic building blocks of AWS IAM, it’s time to have a look at some real world use-cases. We will cover some common scenarios and different setups that I would build with AWS IAM to overcome the obstacle. Keep in mind these setups are not the only way to solve these example scenarios.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h5&gt;&#xD;
  
                  
  AWS Management Console Login

                &#xD;
&lt;/h5&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    A very common use-case: a new AWS account is created, and we need a way for users to login to the AWS management console. There are a few solutions that I think should be considered for this depending on what systems are already available for the team. If the team has a SAML 2.0-compliant identity provider (IdP) available, you can configure AWS Single Sign-On (AWS SSO) to allow federated users to assume an IAM role to access the management console
    
  
  
                    &#xD;
    &lt;sup&gt;&#xD;
      
                      
    
    
      [4]
    
  
  
                    &#xD;
    &lt;/sup&gt;&#xD;
    
                    
  
  
    . We already have great blog posts about this topic and I highly suggest taking a look at them
    
  
  
                    &#xD;
    &lt;sup&gt;&#xD;
      
                      
    
    
      [5][6]
    
  
  
                    &#xD;
    &lt;/sup&gt;&#xD;
    
                    
  
  
    . If the team does not have a SAML 2.0-compliant IdP available and maybe a fast and easy setup is required. Then I recommend creating individual IAM users and adding these users to IAM groups.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Let’s imagine a scenario where we have a small company that just created their first AWS account. This company has four employees: 1x admin, 2x developers and 1x security. It’s required that each and every employee has their own sign-in credentials and each role should have their own permissions.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    IAM users for every employee is an easy solution for this scenario. Users can then be added to IAM groups that have the required permissions attached. This solution provides easy management for administrators. If a new person joins the team, it will only require a new IAM user for that person. The user can then be added to correct user groups to get the required permissions. A user can be part of multiple IAM groups, which provides flexibility and easier management.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h5&gt;&#xD;
  
                  
  Machine Users

                &#xD;
&lt;/h5&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    In some use-cases a machine user is required. Machine users can be used to perform automated tasks like application deployment with CI/CD pipeline. AWS does offer a CI/CD solution called AWS CodeDeploy
    
  
  
                    &#xD;
    &lt;sup&gt;&#xD;
      
                      
    
    
      [7]
    
  
  
                    &#xD;
    &lt;/sup&gt;&#xD;
    
                    
  
  
    . CodeDeploy uses an IAM role to get permissions to access AWS resources and to perform tasks for you. But what if you want to use 3rd party CI/CD solutions or even build one for yourself? No problemo, with an IAM user you can provide access to your AWS resources for automated tasks that are running outside of AWS. Since these automated tasks usually only require programmatic access to AWS, you can disable IAM users access to the management console. Access keys are long-term credentials for an IAM user, and you can use them to sign requests to the AWS CLI or AWS API. An access key consists of two different keys; an access key ID and a secret access key. These keys act as a username and password, so it’s extremely important not to share them. It is also highly recommended to rotate these keys from time to time.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h5&gt;&#xD;
  
                  
  Cross Account Access

                &#xD;
&lt;/h5&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Cross account access is usually required when we have an environment where resources are shared between different AWS accounts. For example, a scenario where we need to read some objects from a private S3 bucket located in a different AWS account.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    To enable cross-account access a trust relationship between these accounts needs to be established. We don’t need to create a new user for everyone that needs this cross-account access. We can simply create a new IAM role with required permissions and configure this IAM role to be assumed from another AWS account with an assume role policy document
    
  
  
                    &#xD;
    &lt;sup&gt;&#xD;
      
                      
    
    
      [8][9]
    
  
  
                    &#xD;
    &lt;/sup&gt;&#xD;
    
                    
  
  
    . When a trusted entity sends an assume request to AWS, it will get temporary credentials as a response. This means that AWS has already created a new session with these given temporary credentials, and they can be used to access AWS resources from the other AWS account.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  References

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    [1] AWS services that work with IAM
    
  
  
                    &#xD;
    &lt;br/&gt;&#xD;
    &lt;a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html" target="_blank"&gt;&#xD;
      
                      
    
    
      https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    [2] AWS IAM FAQs
    
  
  
                    &#xD;
    &lt;br/&gt;&#xD;
    &lt;a href="https://aws.amazon.com/iam/faqs/" target="_blank"&gt;&#xD;
      
                      
    
    
      https://aws.amazon.com/iam/faqs/
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    [3] Policy evaluation logic
    
  
  
                    &#xD;
    &lt;br/&gt;&#xD;
    &lt;a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html" target="_blank"&gt;&#xD;
      
                      
    
    
      https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    [4] Enabling SAML 2.0 federated users to access the AWS Management Console
    
  
  
                    &#xD;
    &lt;br/&gt;&#xD;
    &lt;a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-saml.html" target="_blank"&gt;&#xD;
      
                      
    
    
      https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-saml.html
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    [5] FEDERATED AUTHENTICATION AND SINGLE SIGN-ON IN AWS PART 1 – SSO SOLUTIONS FOR SMALLER COMPANIES
    
  
  
                    &#xD;
    &lt;br/&gt;&#xD;
    &lt;a href="https://webscale.fi/blogi/federated-authentication-and-single-sign-on-in-aws-part-1-sso-solutions-for-smaller-companies/"&gt;&#xD;
      
                      
    
    
      https://webscale.fi/blogi/federated-authentication-and-single-sign-on-in-aws-part-1-sso-solutions-for-smaller-companies/
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    [6] FEDERATED AUTHENTICATION AND SINGLE SIGN-ON IN AWS PART 2 – AWS SSO
    
  
  
                    &#xD;
    &lt;br/&gt;&#xD;
    &lt;a href="https://webscale.fi/blogi/federated-authentication-and-single-sign-on-in-aws-part-2-aws-sso/"&gt;&#xD;
      
                      
    
    
      https://webscale.fi/blogi/federated-authentication-and-single-sign-on-in-aws-part-2-aws-sso/
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    [7] AWS CodeDeploy features
    
  
  
                    &#xD;
    &lt;br/&gt;&#xD;
    &lt;a href="https://aws.amazon.com/codedeploy/features/" target="_blank"&gt;&#xD;
      
                      
    
    
      https://aws.amazon.com/codedeploy/features/
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    [8] IAM tutorial: Delegate access across AWS accounts using IAM roles
    
  
  
                    &#xD;
    &lt;br/&gt;&#xD;
    &lt;a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html" target="_blank"&gt;&#xD;
      
                      
    
    
      https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    [9] Delegating API Access to AWS Services Using IAM Roles
    
  
  
                    &#xD;
    &lt;br/&gt;&#xD;
    &lt;a href="https://aws.amazon.com/blogs/security/delegating-api-access-to-aws-services-using-iam-roles/" target="_blank"&gt;&#xD;
      
                      
    
    
      https://aws.amazon.com/blogs/security/delegating-api-access-to-aws-services-using-iam-roles/
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/data-1590455-1920-e1622122453480-p7sazqo3wb9a3zhc1hkn15os7tec4i0m4muyk9qjuo.jpeg" length="110435" type="image/jpeg" />
      <pubDate>Fri, 28 May 2021 05:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2021/05/identity-and-access-management-iam-in-aws-cloud</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/data-1590455-1920-e1622122453480-p7sazqo3wb9a3zhc1hkn15os7tec4i0m4muyk9qjuo.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/data-1590455-1920-e1622122453480-p7sazqo3wb9a3zhc1hkn15os7tec4i0m4muyk9qjuo.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Viikon konsulttikysymys: Mitä hyötyä on DevOps -toimintamallista?</title>
      <link>https://www.webscale.fi/2021/03/viikon-konsulttikysymys-mita-hyotya-on-devops-toimintamallista</link>
      <description>Viikon konsulttikysymys -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mitä hyötyä on DevOps -toimintamallista.</description>
      <content:encoded>&lt;h4&gt;&#xD;
  
                  
  Mitä hyötyä on DevOps -toimintamallista?

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Helppo kysymys, mutta laaja ja monitahoinen aihe – kysymys, johon ei ole yksiselitteistä vastausta. DevOps käsitteenä nimittäin ei tarkoita mitään tiettyä työkalua, tiimiä, toimintatapaa tai muuta sellaista. DevOps on ennemminkin ajattelutapa – ideologia, joka lähtee liikkeelle ohjelmistokehityksen ja koko organisaation kulttuurista, eli tavasta tehdä asioita, ja vaikuttaa kaikkeen tekemiseen mikä ohjelmistokehitykseen liittyy, myös bisnespuolella.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    DevOps-toimintamallin perusideana on siirtyä laajoista, harvoin  (esimerkiksi kerran tai kaksi vuodessa) tehtävistä tuotantoonvienneistä pieniin hallittuihin asennuksiin joita tehdään parhaimmillaan useita kertoja päivässä, tarpeen mukaan. Jotta tämä onnistuisi, pitää viimekädessä koko organisaation bisneksestä ja vaatimusmäärittelystä prosesseihin, järjestelmäarkkitehtuuriin, infrastruktuuriin ja varsinaiseen ohjelmistokehitykseen ja testaukseen tukea ketterää DevOps-pohjaista toimintamallia.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Monesti DevOpsin ajatellaan liittyvän pelkästään asennusten ja vastaavien prosessien automatisointiin jollain tähän sopivalla työkalulla. Tämä on kuitenkin vain 
    
  
  
                    &#xD;
    &lt;em&gt;&#xD;
      
                      
    
    
      yksi vähimmäisvaatimuksista
    
  
  
                    &#xD;
    &lt;/em&gt;&#xD;
    
                    
  
  
     DevOps-toimintamallin mukaiselle ohjelmistokehitykselle. Onnistunut DevOps-hanke vaatii koko organisaation tuen. Parhaimmillaan näin voidaan saavuttaa merkittävää tehokkuutta koko ohjelmistokehitysprosessissa:
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Yllä on listattu vain muutamia ajatuksia DevOps-mallin hyödyistä. Käytännössä DevOps-mallin noudattaminen on vähimmäisvaatimus modernille, skaalautuvalle pilvipohjaiselle ohjelmistokehitykselle. DevOps-käytäntöjen noudattaminen myös ohjaa kokonaisuutena laadukkaampaan lopputulokseen ohjelmistokehityksessä, ja sitä kautta myös paremman lisäarvon tuottamiseen loppukäyttäjille.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
                      
    
    
      Jussi Lehtiniemi
      
    
    
                      &#xD;
      &lt;br/&gt;&#xD;
      &lt;em&gt;&#xD;
        
                        
      
      
        Cloud Architect, Full stack developer, konsultti.
      
    
    
                      &#xD;
      &lt;/em&gt;&#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg" length="38968" type="image/jpeg" />
      <pubDate>Wed, 03 Mar 2021 13:53:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2021/03/viikon-konsulttikysymys-mita-hyotya-on-devops-toimintamallista</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys,Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Viikon konsulttikysymys: Mitä tekee Back end -kehittäjä?</title>
      <link>https://www.webscale.fi/2021/02/viikon-konsulttikysymys-mita-tekee-back-end-kehittaja</link>
      <description>Viikon konsulttikysymys-blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa pureudumme ytimekkäästi Back end -kehittäjän toimenkuvaan.</description>
      <content:encoded>&lt;h4&gt;&#xD;
  
                  
  Mitä tekee Back end -kehittäjä?

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Back end -kehittäjä suunnittelee ja toteuttaa pääasiassa palvelinpuolen sovelluksia tai järjestelmiä, jotka ovat käyttöjärjestelmän alla eivätkä näy loppukäyttäjälle. Tyypillisimpiä teknologioita kehityksen kannalta ovat 
    
  
  
                    &#xD;
    &lt;a href="https://webscale.fi/blogi/https-webscale-fi-blogi-viikon-konsulttikysymys-mita-tekee-node-kehittaja/"&gt;&#xD;
      
                      
    
    
      Node
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
     ja 
    
  
  
                    &#xD;
    &lt;a href="https://en.wikipedia.org/wiki/List_of_JVM_languages" target="_blank"&gt;&#xD;
      
                      
    
    
      JVM
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    -kielet (Java, Scala).
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Esimerkiksi tyypillisessä web-sovelluksessa back end -kehitys on tiedon vastaanottamista, käsittelyä sekä siirtämistä käyttöliittymä- ja tietovarastototeutusten välillä.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Katso myös, mitä tekee 
    
  
  
                    &#xD;
    &lt;a href="https://webscale.fi/blogi/viikon-konsulttikysymys-mita-tekee-front-end-kehittaja/"&gt;&#xD;
      
                      
    
    
      Front end -kehittäjä.
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
                      
    
    
      Juha Mustajärvi
      
    
    
                      &#xD;
      &lt;br/&gt;&#xD;
      &lt;em&gt;&#xD;
        
                        
      
      
        Full Stack Developer, konsultti.
      
    
    
                      &#xD;
      &lt;/em&gt;&#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg" length="38968" type="image/jpeg" />
      <pubDate>Wed, 24 Feb 2021 07:27:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2021/02/viikon-konsulttikysymys-mita-tekee-back-end-kehittaja</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys,Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Viikon konsulttikysymys: Mikä on Data Lake?</title>
      <link>https://www.webscale.fi/2021/02/viikon-konsulttikysymys-mika-on-data-lake</link>
      <description>Viikon konsulttikysymys pureutuu termeihin, joita asiantuntijoiltamme välillä hieman pelätään kysyä ”tyhmien” kysymysten pelossa. Mitä siis tarkoittaa Data Lake?</description>
      <content:encoded>&lt;h4&gt;&#xD;
  
                  
  Mikä on Data Lake?

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Data Lake on yksinkertaisesti tapa kerätä ja säilyttää suuria määriä dataa esimerkiksi 
    
  
  
                    &#xD;
    &lt;a href="https://webscale.fi/blogi/https-webscale-fi-blogi-missa-analytiikkaa-voi-hyodyntaa-viikon-konsulttikysymys/"&gt;&#xD;
      
                      
    
    
      analytiikkaa
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
     tai koneoppimista varten. Data Lake:ssa tallennettavan datan formaattia ei ole etukäteen määritelty, vaan samaan varastoon voidaan tallettaa esimerkiksi raakadataa erilaisista sensoreista ja rakenteellista dataa tietokantasovelluksista.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Koska dataa ei tallennusvaiheessa tarvitse käsitellä, on datan tallentaminen 
    
  
  
                    &#xD;
    &lt;a href="https://aws.amazon.com/big-data/datalakes-and-analytics/what-is-a-data-lake/" target="_blank"&gt;&#xD;
      
                      
    
    
      Data Lakeen
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
     nopeaa ja halpaa, ja dataa voidaankin kerätä suuria määriä siltä varalta, että sitä tarvitaan myöhemmin johonkin. Jos datan tallentaminen ei ole riittävän suunnitelmallista, eikä tallennettua dataa dokumentoida riittävästi, on vaarana Data Laken muuttuminen Data Swampiksi. Tällöin dataa olisi kyllä olemassa, mutta sen löytäminen ja hyödyntäminen on hankalaa tai mahdotonta.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
                      
    
    
      Jari Avikainen
      
    
    
                      &#xD;
      &lt;br/&gt;&#xD;
      
                      
    
    
      Data Engineer, Cloud Architect, konsultti
    
  
  
                    &#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg" length="38968" type="image/jpeg" />
      <pubDate>Wed, 17 Feb 2021 06:51:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2021/02/viikon-konsulttikysymys-mika-on-data-lake</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys,Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Viikon konsulttikysymys: Missä analytiikkaa voi hyödyntää?</title>
      <link>https://www.webscale.fi/2021/02/viikon-konsulttikysymys-missa-analytiikkaa-voi-hyodyntaa</link>
      <description>Viikon konsulttikysymys-blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa pureudumme ytimekkäästi siihen, kuinka analytiikkaa voi hyödyntää.</description>
      <content:encoded />
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg" length="38968" type="image/jpeg" />
      <pubDate>Wed, 10 Feb 2021 07:41:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2021/02/viikon-konsulttikysymys-missa-analytiikkaa-voi-hyodyntaa</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Viikon konsulttikysymys: Mikä on JavaScript?</title>
      <link>https://www.webscale.fi/2021/02/viikon-konsulttikysymys-mika-on-javascript</link>
      <description>Viikon konsulttikysymys-blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mikä on JavaScript.</description>
      <content:encoded>&lt;h4&gt;&#xD;
  
                  
  Mikä on JavaScript?

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    JavaScript on joustava ja kevyt scriptauskieli, jolla voi nykyään kirjoittaa myös monimutkaisia ja tehokkaita sovelluksia. Vaikkakin alkuun JavaScript oli enemmänkin vain kiva lisä verkkosivuihin, eli esimerkiksi käytettiin animointiin, on se nykyään erittäin tehokas työkalu monille verkkokehityksen ammattilaisille.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Todella moni nykyaikainen sovellus tehdään alusta loppuun JavaScriptillä, ja suuri osa nykyaikaisista verkkosivuista tehdään tavalla tai toisella JavaScriptillä. Tätä muutosta on suurelta osin avittanut mm. Facebookin sponsoroima ja kehittämä 
    
  
  
                    &#xD;
    &lt;a href="https://reactjs.org/" target="_blank"&gt;&#xD;
      
                      
    
    
      ReactJS ohjelmointikehys
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    , eli framework. Verkkosivujen lisäksi JavaScriptillä voi luoda myös palvelimia ja monimutkaisia pelejä. 
    
  
  
                    &#xD;
    &lt;a href="https://webscale.fi/blogi/viikon-konsulttikysymys-mita-tekee-react-kehittaja/"&gt;&#xD;
      
                      
    
    
      Katso myös; mitä tekee React-kehittäjä.
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
                      
    
    
      Jarmo Hakkarainen
      
    
    
                      &#xD;
      &lt;br/&gt;&#xD;
      
                      
    
    
      Full Stack Developer, konsultti.
    
  
  
                    &#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg" length="38968" type="image/jpeg" />
      <pubDate>Wed, 03 Feb 2021 06:07:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2021/02/viikon-konsulttikysymys-mika-on-javascript</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys,Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Viikon konsulttikysymys: Mitä AWS-sertifiointi on ja mitä hyötyä siitä on?</title>
      <link>https://www.webscale.fi/2021/01/viikon-konsulttikysymys-aws-sertifiointi</link>
      <description>Viikon konsulttikysymys -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa pureudumme AWS-sertifiointiin.</description>
      <content:encoded>&lt;h4&gt;&#xD;
  
                  
  Mitä AWS-sertifiointi on ja mitä hyötyä siitä on?

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    AWS-sertifiointi on tapa osoittaa kollegoille ja asiakkaille, että 
    
  
  
                    &#xD;
    &lt;a href="https://aws.amazon.com/certification/" target="_blank"&gt;&#xD;
      
                      
    
    
      AWS:n sertifikaatioon
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
     valitsemat perusasiat ovat perustasolla niin hyvin hallussa, että itse työtehtävissä näitä asioita ei tarvitse enää opiskella. Varsinaisten teknisten sertifikaatioiden vaatimustaso on AWS:llä kohtuullisen vaativa, vaikka tuo esittelytason sertifikaatti (
    
  
  
                    &#xD;
    &lt;a href="https://webscale.fi/blogi/cloud-practitioner-sertifikaatti-bisneslahtokohdista/"&gt;&#xD;
      
                      
    
    
      Cloud Practitioner
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    ) lähinnä testaa sitä että olet jaksanut opetella tuotekuvauksen brosyyrit läpi.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Lopputuloksessa teknisen AWS-sertifikaatin suorittaminen näkyy siinä, että tekijä ymmärtää ympäristön toteutuslogiikan perusteellisemmin, ja pystyy siten rakentamaan tietoturvallisempia ja robustimpia ratkaisuja. Työntekijöitä palkatessa arkkitehtisertifikaation suorittaminen on selkeä etu valintatilanteessa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Pitää kuitenkin muistaa, että AWS-sertifikaatti osoittaa vasta teoreettisen ymmärryksen ympäristöstä, ja vasta käytännön tekemisellä tuon opiskelun jälkeen hankitaan se todellinen kyky tuottaa hyötyä asiakkaille ja loppukäyttäjille.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
                      
    
    
      Jukka Dahlbom
      
    
    
                      &#xD;
      &lt;br/&gt;&#xD;
      
                      
    
    
      Head of Data Engineerin
    
  
  
                    &#xD;
    &lt;/em&gt;&#xD;
    
                    
  
  
    g,
    
  
  
                    &#xD;
    &lt;em&gt;&#xD;
      
                      
    
    
       konsultti.
    
  
  
                    &#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg" length="38968" type="image/jpeg" />
      <pubDate>Wed, 27 Jan 2021 07:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2021/01/viikon-konsulttikysymys-aws-sertifiointi</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys,Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Viikon konsulttikysymys: Mitä ovat modernit pilvialustat ja kuinka ne soveltuvat eri toimialoille?</title>
      <link>https://www.webscale.fi/2021/01/viikon-konsulttikysymys-mita-ovat-modernit-pilvialustat</link>
      <description>Viikon konsulttikysymys-blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mitä ovat modernit pilvialustat ja kuinka ne soveltuvat eri toimialoille.</description>
      <content:encoded>&lt;h4&gt;&#xD;
  
                  
  Mitä ovat modernit pilvialustat ja kuinka ne soveltuvat eri toimialoille?

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Modernilla pilvialustalla tarkoitetaan internetin kautta tarjoiltavaa infrastruktuuria sovellusten kehittämiseen ja ylläpitämiseen. Pilvi toimii tarpeen mukaan sekä moottorina että rakennuspalikoina ohjelmistoille. Moottorin tehoa voidaan mitoittaa joustavasti, jopa automaattisesti, ohjelmistojen tarpeeseen ja rakennuspalikoiden osalta pilvialustat antavat useita valmiiksi määriteltyjä työkaluja erilaisten sovellusten toteuttamista varten.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Monipuolisuus, joustavuus ja tehokkuus ovat pilven ominaisuuksia joista on hyötyä toimialasta riippumatta – toimialaa tärkeämpää onkin usein miettiä kulloistakin konkreettista käyttökohdetta ja (liike)toiminnan vaatimuksia sovellukselle. Näin voidaan tunnistaa millaisten palikoiden avulla tavoitteeseen päästään parhaiten.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
                      
    
    
      Mona Moilanen
      
    
    
                      &#xD;
      &lt;br/&gt;&#xD;
      
                      
    
    
      Account Executive.
    
  
  
                    &#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg" length="38968" type="image/jpeg" />
      <pubDate>Wed, 20 Jan 2021 07:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2021/01/viikon-konsulttikysymys-mita-ovat-modernit-pilvialustat</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys,Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Viikon konsulttikysymys: Mitä tarkoittaa CloudFormation?</title>
      <link>https://www.webscale.fi/2021/01/viikon-konsulttikysymys-mita-tarkoittaa-cloudformation</link>
      <description>Viikon konsulttikysymys pureutuu termeihin, joita asiantuntijoiltamme välillä hieman pelätään kysyä ”tyhmien” kysymysten pelossa. Mitä siis tarkoittaa CloudFormation?</description>
      <content:encoded>&lt;h4&gt;&#xD;
  
                  
  Mitä tarkoittaa CloudFormation?

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    CloudFormation on Amazon Web Services (AWS) palvelu, jota käytetään käytetään pilvipalveluiden resurssien kuvaamiseen ja hallinnointiin koodimuodossa (Infrastructure as Code, IaC). CloudFormationin kautta voidaan hallinnoida suurinta osaa AWS:n omista palveluista sekä myös kolmansien osapuolien tuottamia palveluita.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    CloudFormation Template on JSON tai YAML dokumentti, joka kuvaa nipun AWS:n perusresursseja (Stack) joista sitten koostetaan toimivia kokonaisuuksia sovellusarkkitehtuurin osaksi. Templateiden avulla voidaan kuvata suurin osa sovelluksen tarvitsemista resursseista verkkoresursseista ja tietokannoista itse palveluihin. Resurssien luonti ja muokkaus voidaan automatisoida DevOps ja CI/CD käytäntöjen mukaisesti.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
                      
    
    
      Jussi Lehtiniemi
      
    
    
                      &#xD;
      &lt;br/&gt;&#xD;
      
                      
    
    
      Cloud Architect, Full stack developer, konsultti.
    
  
  
                    &#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg" length="38968" type="image/jpeg" />
      <pubDate>Wed, 13 Jan 2021 07:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2021/01/viikon-konsulttikysymys-mita-tarkoittaa-cloudformation</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys,Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Viikon konsulttikysymys: Mitä tarkoittaa Github Actions?</title>
      <link>https://www.webscale.fi/2021/01/viikon-konsulttikysymys-mita-tarkoittaa-github-actions</link>
      <description>Viikon konsulttikysymys pureutuu termeihin, joita asiantuntijoiltamme välillä hieman pelätään kysyä "tyhmien" kysymysten pelossa. Mitä siis tarkoittaa Github Actions?</description>
      <content:encoded>&lt;h4&gt;&#xD;
  
                  
  Mitä tarkoittaa Github Actions?

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    GitHub Actions on GitHubin luoma CI/CD (“
    
  
  
                    &#xD;
    &lt;em&gt;&#xD;
      
                      
    
    
      CI/CD” on lyhenne englanninkielisistä sanoista Continuous Integration (CI) ja Continuous Delivery (CD). Näillä tarkoitetaan ohjelmistokehityksen työtapoja ja niitä palvelevia ohjelmia)
    
  
  
                    &#xD;
    &lt;/em&gt;&#xD;
    
                    
  
  
     työkalu, jota käyttämällä voidaan muun muassa helpottaa sovelluksien testien ajo ja sovelluksen päivittäminen automaattisesti eri ympäristöihin. GitHub Actions on erittäin muokattava, mikä mahdollistaa erilaisten tehtävien automatisoinnin.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
                      
    
    
      Heikki Ma
      
    
    
                      &#xD;
      &lt;br/&gt;&#xD;
      
                      
    
    
      DevOps engineer, developer, konsultti.
    
  
  
                    &#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg" length="38968" type="image/jpeg" />
      <pubDate>Wed, 06 Jan 2021 07:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2021/01/viikon-konsulttikysymys-mita-tarkoittaa-github-actions</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys,Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Viikon konsulttikysymys: Mitä tekee Node-kehittäjä?</title>
      <link>https://www.webscale.fi/2020/12/viikon-konsulttikysymys-mita-tekee-node-kehittaja</link>
      <description>Viikon konsulttikysymys -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa pureudumme Node-kehittäjän työnkuvaan.</description>
      <content:encoded>&lt;h4&gt;&#xD;
  
                  
  Mitä tekee Node-kehittäjä?

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Node-kehittäjä suunnittelee ja toteuttaa pääasiassa web-sovellusten palvelinpuolen (backend) sovelluksia joita suoritetaan Node.js suoritinympäristössä. Sovellukset toteutetaan JavaScript tai TypeScript ohjelmointikielellä.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Tavanomainen Node-sovellus tarjoaa rajapinnan jonka avulla se pystyy kommunikoimaan käyttöliittymän (
    
  
  
                    &#xD;
    &lt;a href="https://webscale.fi/blogi/viikon-konsulttikysymys-mita-tekee-front-end-kehittaja/"&gt;&#xD;
      
                      
    
    
      frontend
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    ) tai muun osapuolen kanssa esimerkiksi HTTP-pyyntöjen välityksellä. Esimerkiksi Node-sovellus voi olla yhteydessä tietokantaan ja palauttaa dataa tietokannasta HTTP-pyynnön perusteella.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
                      
    
    
      Jukka Ukkonen
      
    
    
                      &#xD;
      &lt;br/&gt;&#xD;
      
                      
    
    
      Full Stack Developer, konsultti.
    
  
  
                    &#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg" length="38968" type="image/jpeg" />
      <pubDate>Wed, 30 Dec 2020 07:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2020/12/viikon-konsulttikysymys-mita-tekee-node-kehittaja</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys,Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Viikon konsulttikysymys: Miten DevOps ja ohjelmistokehitys liittyvät toisiinsa?</title>
      <link>https://www.webscale.fi/2020/12/viikon-konsulttikysymys-miten-devops-ja-ohjelmistokehitys-liittyvat-toisiinsa</link>
      <description>Viikon konsulttikysymys-blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa pureudumme ytimekkäästi DevOpsin ja ohjelmistokehityksen maailmaan.</description>
      <content:encoded />
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg" length="38968" type="image/jpeg" />
      <pubDate>Wed, 23 Dec 2020 07:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2020/12/viikon-konsulttikysymys-miten-devops-ja-ohjelmistokehitys-liittyvat-toisiinsa</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Viisi tärkeää asiaa, jotka tänä vuonna korostuivat HR:n näkökulmasta</title>
      <link>https://www.webscale.fi/2020/12/viisi-tarkeaa-asiaa-jotka-tana-vuonna-korostuivat-hrn-nakokulmasta</link>
      <description>Vuosi 2020 alkaa olla paketissa - ja millainen vuosi se onkaan ollut! Nyt on hyvä hetki katsoa hieman taaksepäin ja summata viisi asiaa, jotka tänä vuonna ovat korostuneet.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Korona vaati valmistautumista pahimpaan ja olimme kaikkien muiden tapaan aluksi hyvin epävarmoja siitä, mitä kaikkea vielä seuraisikaan. Minä ja toimitusjohtajamme Tero seurasimme aktiivisesti viranomaisten tiedotteita ja ohjeistuksia. Ensimmäinen varautumisohje koronaan annettiin maaliskuun 2. päivä. Siirryimme koko henkilöstön voimin maaliskuun alussa etätöihin, siirsimme suunniteltuja tapahtumia myöhemmäksi ja olimme onnellisia, että yksi toimintaamme jo pitkään ohjanneista arvoista on ollut 
    
  
  
                    &#xD;
    &lt;a href="https://webscale.fi/blogi/etayhteisollisyytta-ja-vapaan-tekemisen-kulttuuria/"&gt;&#xD;
      
                      
    
    
      etäyhteisöllisyys
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    . Nopeasti huomasimme, että sekä henkilöstön että asiakkaiden osalta työt jatkuivat normaalisti. Olin myös ilahtunut, että kuulimme 
    
  
  
                    &#xD;
    &lt;a href="https://pahimmanyli.fi/" target="_blank"&gt;&#xD;
      
                      
    
    
      Pahimman yli -kampanjasta
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
     ja päätimme osallistua lahjoittamalla 20 euroa per Webscalen työntekijä. Haastoimme kampanjaan mukaan myös yhteystyöverkostomme tahot 
    
  
  
                    &#xD;
    &lt;a href="https://qvik.com/" target="_blank"&gt;&#xD;
      
                      
    
    
      Qvikin
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    , 
    
  
  
                    &#xD;
    &lt;a href="https://bitfactor.fi/" target="_blank"&gt;&#xD;
      
                      
    
    
      Bitfactorin
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    , 
    
  
  
                    &#xD;
    &lt;a href="https://emine.fi/" target="_blank"&gt;&#xD;
      
                      
    
    
      Eminen
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    , 
    
  
  
                    &#xD;
    &lt;a href="https://www.vere.fi/" target="_blank"&gt;&#xD;
      
                      
    
    
      Veren
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
     ja 
    
  
  
                    &#xD;
    &lt;a href="https://www.modernmarketing.fi/" target="_blank"&gt;&#xD;
      
                      
    
    
      Modern Marketingin.
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Nyt kun vuotta katsoo taaksepäin, niin viisi tärkeää asiaa korostuvat HR:n näkökulmasta:
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  1. Työergonomia

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Työergonomian tärkeys on tullut entistäkin konkreettisemmaksi kotitoimistoilla. Meillä on mahdollista lainata kaikkea toimistolta löytyvää tarpeistoa kotiin, ja kannustamme siihen aktiivisesti. 
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  2. Viestintä

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Viestinnän tärkeys korostui entisestään. Olemme seuranneet koronaohjeistusta tarkasti ja päivittäneet sisäistä ohjeistusta niiden mukaisesti. Otimme myös alkuvuodesta käyttöön sisäisen ajankohtaisia asioita sisältävän Webscalessa tapahtuu -viestin, joka lähtee kerran viikossa jokaiselle webscalelaiselle. Slackissa on matala kynnys puhua niitä näitä työasioiden lisäksi ja usein keskustelut ovat silkkaa giphytulittelua.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  3. Suunnitelmallisuus

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Pyrimme huomioimaan sen, että etätyösuosituksenkin ollessa voimassa kaikki eivät pysty mielekkäästi tekemään töitä kotoa käsin. Siksi olemme koko ajan pitäneet toimiston avoinna halukkaille, mutta reunaehdoin: vain hyvin rajoitetulla ihmismäärällä, etukäteisilmoittautumisella, turvavälein, kasvomaskein. 
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  4. Etätyö – uhka vai mahdollisuus? 

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Olemme yksilöitä, ja se näkyi ennenkaikkea vuoden lopulla tehdyssä henkilöstötyytyväisyyskyselyssä. Osalle etäily on sopinut niin hyvin, että toivoisi jatkossakin voivansa työskennellä pääosin kotona. Kolikon toinen puoli on etäilyn yksitoikkoisuus, jota osa on kokenut sosiaalisen puolen kadottua tapahtumienkin siirryttyä etäilyksi. Ei ole siltä kulmalta yllättävää, että moni kaipaa työkavereiden tapaamista kasvokkain. 
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  5. Luovuus

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Kun ei ole mahdollista viettää aikaa yhdessä, on pakko miettiä vaihtoehtoisia tapoja niin työn tekemiseen, kuin hauskanpitoonkin. Olemme sitkeästi pitäneet kiinni yhteisöllisyyttä lisäävistä rutiineista ja tehneet parhaamme sen eteen, että etänäkin päästään pitämään hauskaa yhdessä. Viimeisimpänä #etäyhteisöllisyys-harjoituksena reissasimme viime viikolla pikkujouluteemaisen virtuaalimatkan maailman ympäri. 
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/etapikkujoulut.png" alt="" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Otimme myös käyttöön uuden viikkohaasteen. Joka viikko heitän tehtävän ja toivon, että mahdollisimman moni tarttuisi osallistumaan. Olemme haasteiden merkeissä esimerkiksi jakaneet kuvia luontoretkiltä ja kotikokkailuista. Olen luvannut, että näitä haasteasioita ei levitellä Slackin ulkopuolelle – 
    
  
  
                    &#xD;
    &lt;em&gt;&#xD;
      
                      
    
    
      mutta rikon nyt tuon lupauksen julkeasti näyttämällä pari kuvaa, joilla haasteisiin on vastattu.
    
  
  
                    &#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/viikkohaaste-1024x1024.jpg" alt="" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Joulu on pian täällä ja on ilo huomata, että kaikki on lopulta sujunut hyvin: olemme kasvupolulla ja rekrytoinnit käynnissä. Hyvillä mielin ensi vuoteen!
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/vuonna2020-scaled-e1608194195664-p1aku3zanat5bsmbj4tmfcj56cerdzs595yeogv5z4.jpeg" length="183619" type="image/jpeg" />
      <pubDate>Thu, 17 Dec 2020 09:15:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2020/12/viisi-tarkeaa-asiaa-jotka-tana-vuonna-korostuivat-hrn-nakokulmasta</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/vuonna2020-scaled-e1608194195664-p1aku3zanat5bsmbj4tmfcj56cerdzs595yeogv5z4.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/vuonna2020-scaled-e1608194195664-p1aku3zanat5bsmbj4tmfcj56cerdzs595yeogv5z4.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Viikon konsulttikysymys: mitä tekee React-kehittäjä?</title>
      <link>https://www.webscale.fi/2020/12/viikon-konsulttikysymys-mita-tekee-react-kehittaja</link>
      <description>Uudessa blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    MITÄ TEKEE REACT-KEHITTÄJÄ?
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    React-kehittäjä suunnittelee ja toteuttaa web-sovellusten käyttöliittymiä (frontend) React-kirjaston avulla käyttäen JavaScript tai TypeScript ohjelmointikieltä. Käyttöliittymät toteutetaan erillisistä osista joita kutsutaan komponenteiksi. Kehittäjä päättää kuinka komponentti toimii ja miltä se näyttää. Komponenttien toteutus vaihtelee hyvinkin paljon eri komponenttien välillä. Toiset komponentit voivat olla hyvinkin yksinkertaisia ja pieniä, kun taas toiset voivat olla suurempia, sisältää enemmän logiikkaa ja koostua toisista komponenteista.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
                      
    
    
      Jukka Ukkonen
      
    
    
                      &#xD;
      &lt;br/&gt;&#xD;
      
                      
    
    
      Full Stack Developer, konsultti.
    
  
  
                    &#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg" length="38968" type="image/jpeg" />
      <pubDate>Wed, 16 Dec 2020 10:13:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2020/12/viikon-konsulttikysymys-mita-tekee-react-kehittaja</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys,Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Viikon konsulttikysymys: Mitä tekee front end -kehittäjä?</title>
      <link>https://www.webscale.fi/2020/12/viikon-konsulttikysymys-mita-tekee-front-end-kehittaja</link>
      <description>Käytämme ohjelmisto- ja it-alalla termejä, jotka voivat olla vieraita varsinkin alaa tuntemattomille. Vuosien aikana olemme Webscalella huomanneet, että asiantuntijoilta myös hieman pelätään kysyä "tyhmiä" ja toivotaan, että joku kysyisi toisten puolesta jotain.
Tästä ajatuksesta lähti blogimme uusi "viikon konsulttikysymys" -juttusarja, jossa asiantuntijamme vastaavat kysymyksiin, joita alallamme tulee vastaan.</description>
      <content:encoded />
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg" length="38968" type="image/jpeg" />
      <pubDate>Wed, 09 Dec 2020 07:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2020/12/viikon-konsulttikysymys-mita-tekee-front-end-kehittaja</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys,Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Viikon konsulttikysymys: mitä tarkoitetaan ketterällä ohjelmistokehityksellä?</title>
      <link>https://www.webscale.fi/2020/12/viikon-konsulttikysymys-mita-tarkoitetaan-ketteralla-ohjelmistokehityksella</link>
      <description>Viikon konsulttikysymys on uusi viikoittain julkaistava kysymyssarja, jossa
asiantuntijamme vastaavat kysymyksiin, joita juuri sinä saatat pohtia.</description>
      <content:encoded />
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg" length="38968" type="image/jpeg" />
      <pubDate>Wed, 02 Dec 2020 07:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2020/12/viikon-konsulttikysymys-mita-tarkoitetaan-ketteralla-ohjelmistokehityksella</guid>
      <g-custom:tags type="string">Viikon konsulttikysymys</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-viikon-konsulttikysymys-p1akums2fzivrzv0hcy5t7sd21u3nxurzr04a03aio.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Suuria ja pieniä vaalikoneita – aina luotettavasti</title>
      <link>https://www.webscale.fi/2020/11/suuria-ja-pienia-vaalikoneita-aina-luotettavasti</link>
      <description>Jos olet joskus käyttänyt vaalikonetta, olet todennäköisesti ollut tekemisissä Webscalen rakentaman palvelun kanssa. Suomen suurista mediataloista Helsingin Sanomat, YLE, Alma Media ja Keskisuomalainen ovat eri vaaleissa luottaneet ammattitaitoomme, mutta yhtä hyvin samalla pohjalla toimivaan koneeseen voi törmätä vaikkapa liittojen tai yhdistysten vaaleissa.</description>
      <content:encoded />
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-vaalikoneet-scaled-p1akv4n01u7bwl52l2o2mla4cde2q6toe7ece9ct8g.jpeg" length="67863" type="image/jpeg" />
      <pubDate>Wed, 18 Nov 2020 10:04:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2020/11/suuria-ja-pienia-vaalikoneita-aina-luotettavasti</guid>
      <g-custom:tags type="string">Vaalipalvelut</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-vaalikoneet-scaled-p1akv4n01u7bwl52l2o2mla4cde2q6toe7ece9ct8g.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-vaalikoneet-scaled-p1akv4n01u7bwl52l2o2mla4cde2q6toe7ece9ct8g.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Digimatkalla kohti kriisinsietokykyä</title>
      <link>https://www.webscale.fi/2020/11/digimatkalla-kohti-kriisinsietokykya</link>
      <description>Modernit digitaaliset palvelut ovat kriisin keskelläkin yritysten muutosmatkan ytimessä. Saadaksesi muutoksesta kaiken hyödyn irti, kiinnitä huomiota sen vauhdittajiin.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    “Tuttu ja turvallinen” on jotain, mitä moni on varmasti kuluvan vuoden aikana kaivannut arkeensa. Organisaatiot ovat joutuneet sopeuttamaan toimintaansa tavoilla, joiden kirjo on yhtä laaja kuin näiden yhteisöjen joukko itsessäänkin. Muutokseen pakottaminen on tuonut esiin osin vahvan vastarinnan, mutta myös toisen, optimistisemman tavan suhtautua uuteen ja vieraaseen.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Olen antanut itseni havaita ilmiön, joka on verrattavissa siihen, kun jossain hulluuden ja parempaan huomiseen tähtäämisen risteyksessä ihmiskunta pyrkii Marsiin. Tuntemattomalle, haastavalle maaperälle, joka kuitenkin tarjoaa meille aivan käänteentekeviä mahdollisuuksia. Pienemmässä mittakaavassa digiloikat aina uusien liiketoimintamallien omaksumisesta tiedolla johtamiseen ja pilvimigraatioihin ovat nimittäin voineet tuntua samalta. Hypyltä vieraaseen maailmaan, epävarmuudelta siitä, kantavatko kestävyyteen ja digitaalisen liiketoiminnan parantamiseen tehdyt investoinnit lopulta hedelmää. Onkin ilahduttavaa nähdä, että epävarmuus uuden ympäriltä on hälvenemässä ja luotto hyötyjen toteutumiseen aina vain korkeampi.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  Digitaaliset palvelut ja kriisinsietokyky

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Lokakuun loppupuolella minulla oli ilo osallistua virtuaalitilaisuuteen, jossa Teknologiateollisuuden kasvun ja osaamisen johtaja Laura Juvonen käsitteli skenaariotyön merkitystä tämänhetkisen maailmantilanteen aiheuttamasta kuopasta nousemiseksi. Juvonen esitti puheenvuoronsa päätteeksi kysymyksen siitä kuinka meidän on mahdollista päästä kiinni muutoksen best-case skenaarioon – digivihreään kiihdytykseen. Kysymyksen ytimessä oli haaste siitä, kuinka digitaalisten palveluiden avulla voidaan saavuttaa uutta liiketoimintaetua kestävästi, samalla päivittäisen toiminnan jatkuvuudesta huolehtien. Näihin liittyen haudoimme ajatuksia pienryhmäkeskustelussa suomalaisten liiketoiminta- ja teknologiapäättäjien kanssa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Huomattavaa itse keskustelussa ja sen aihepiirissa oli mielestäni se kuinka olennaisesti digitaalisten palveluiden toimivuus, uuden luominen ja jatkuva kehittäminen ovat sidoksissa yritysten ja yhteisöjen kriisinsietokykyyn. Oli kyseessä sitten taloudellinen, kansanterveydellinen tai ekologinen kriisi. Uskallan väittää, että tässä onnistuminen on lopputulos kahdesta tekijästä, jotka luovat positiivisen kierteen ne käyttöönsä valjastaneissa yrityksissä:
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Jatkuvan kehittämisen kulttuuri ja modernien teknologioiden hyödyntäminen läpi organisaation.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Kyseessä on nimittäin kaksi toisiaan ruokkivaa voimaa. Mikäli yritykseltä tai yhteisöltä löytyy vain toista, jää kierre todennäköisemmin saavuttamatta ja näin ollen hyödyt napsimatta. Ne organisaatiot, joilla kolikon molemmat puolet ovat kunnossa, pääsevät useammin nauttimaan jatkuvasta momentumista ja paremmasta kriisinsietokyvystä uusien palveluiden rakentaessa liikevaihtoa, sekä tietopääoman pysyessä ajantasaisena ja osaajien innostuneina tekemisestään. Lisäksi organisaatiot, joissa modernien, liiketoimintaa kehittävien tietojärjestelmien hyödyt nähdään keskeisenä osana koko organisaatiokudosta, näyttävät vetävän puoleensa kovaa osaamista ja eteenpäin katsovalle kulttuurille olennaista näkemyksellisyyttä. Tämä mahdollistaa sen, että aina ei tarvitse rakentaa pyörää uudelleen, vaan jo olemassaolevaa voidaan kehittää tietoon – markkina- ja asiakasymmärrykseen – pohjautuen sekä sitä vahvistaen.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Nämä kaikki ovat tärkeitä ainesosia elinvoimaisen liiketoiminnan reseptissä, nyt ja tulevaisuudessa. Olemme jo nähneet lukuisia osoituksia siitä, kuinka jatkuvalla kehittämisellä ja digitaalisten palveluiden sekä datan hyödyntämisellä saadaan aikaan menestystarinoita toimialasta riippumatta. Tuntemattoman, uuden ja vieraan näkeminen mahdollisuutena on jo itsessään merkittävä askel ja sen kaulimiseen omaksi ja yhteisöjen hyödyksi on olemassa toimivia malleja ja asiantuntevia kumppaneita. Monesti syväosaamisen lisäksi poikkitieteellinen näkemys ja yhdessä tekeminen onkin se viimeinen silaus, kirsikka kakun päällä onnistuneessa digimatkassa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Sillä Marsiinkaan ei kukaan lennä yksin.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/to-mars-p1akusf3kzqlpnmtkfdx86d4md2ay4h60ix15nuxhc.jpeg" length="30600" type="image/jpeg" />
      <pubDate>Tue, 17 Nov 2020 09:55:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2020/11/digimatkalla-kohti-kriisinsietokykya</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/to-mars-p1akusf3kzqlpnmtkfdx86d4md2ay4h60ix15nuxhc.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/to-mars-p1akusf3kzqlpnmtkfdx86d4md2ay4h60ix15nuxhc.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Managing Organizations with Takomo</title>
      <link>https://www.webscale.fi/2020/06/managing-organizations-with-takomo</link>
      <description>In my previous post I introduced Takomo - a new tool to handle CloudFormation deployments [1]. In the second post of the series we’ll take a look how Takomo can help you manage your AWS Organizations and help deploy base infrastructure.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           I have had my own personal AWS account for over half a decade now. Back in 2015 I didn’t have any need for multiple accounts. All my workloads were running fine within a single account. Nevertheless, my appetite grew and in 2017 I migrated to AWS Organizations. I was able to separate different functions from one another. After a while I had separate accounts for backups, shared services etc. Creating accounts is fast. However, management of all these different accounts was rather cumbersome and time consuming. Luckily Takomo can change this.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/takomo-logo-300x300.png" alt="Takomo logo" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Steps taken on this post assume you are already running AWS Organizations. If not the case, you enable Organizations either via console/cli or using command
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      &lt;i&gt;&#xD;
        
            tkm org create
           &#xD;
      &lt;/i&gt;&#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
           .
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Please keep in mind that the default limit for accounts in Organizations is 4. If you are planning to test the features, make sure you raise the limit via support beforehand!
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         Creating a new account
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           I have been working for a while migrating my personal website from Lightsail into VPC. Things are already running smoothly on my development account and I am now ready to create a separate production account.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Before I can create a new account I need to tell Takomo I want the application to support AWS Organizations. This is done by creating a new directory (organization) and configuration file (organization.yml). Below is a bare minimum of what the configuration file should look like.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
           masterAccountId
          &#xD;
    &lt;/em&gt;&#xD;
    
          is used to define the organization master. It is used to ensure that organization management operations target the correct AWS organization. 
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
           organizationalUnits
          &#xD;
    &lt;/em&gt;&#xD;
    
          define the OU structure. In this example we simply define just our Master account to appear on the root OU. We’ll take a closer look at organizational units later in the post.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Now I am ready to create a fresh account.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
           Output of creating a new account with Takomo
          &#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          My new account is now ready to be taken into use. I could access it with
          &#xD;
    &lt;em&gt;&#xD;
      
           OrganizationAccountAccessRole
          &#xD;
    &lt;/em&gt;&#xD;
    
          . However, I want to add some core functionality to the account first.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         Managing Organization
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Creating new accounts is easy. I could do the same from within the console, CLI or various 3rd party tools. However, not many tools give me capability to manage the entire organization and store the entire organization structure into a configuration file.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          First thing I want to do is to organize accounts into organizational units (OU). OU can be used to administer accounts as a single unit. For example, I might want to attach service control policies (SCP) to an OU. Once enabled, these policy files would affect all accounts within the OU.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
           organization.yml
          &#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          This is the first step of configuring my organization. Next we’ll walk thru the new parameters on the configuration file:
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
           trustedAwsServices
          &#xD;
    &lt;/em&gt;&#xD;
    
          defines trusted access for various AWS services. Takomo will enable all services by default when organization is deployed. Since I don’t want to enable everything I can list only the ones applicable for my use case.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
           serviceControlPolicies
          &#xD;
    &lt;/em&gt;&#xD;
    
          defines SCPs used in the organization. I have defined two policies:
          &#xD;
    &lt;em&gt;&#xD;
      
           FullAWSAccess
          &#xD;
    &lt;/em&gt;&#xD;
    
          and
          &#xD;
    &lt;em&gt;&#xD;
      
           AllowedRegions
          &#xD;
    &lt;/em&gt;&#xD;
    
          . First is awsManaged, meaning we use policy defined by AWS (FullAWSAccess is the default SCP. It is attached to all accounts in your Organization by default). The latter is a custom policy. The actual policyfile, called AllowedRegions.json, is located in the
          &#xD;
    &lt;em&gt;&#xD;
      
           service-control-policies
          &#xD;
    &lt;/em&gt;&#xD;
    
          directory. In this example I limit my accounts to only use European regions and us-east-1.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
           AllowedRegions.json
          &#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Last changes are made on
          &#xD;
    &lt;em&gt;&#xD;
      
           organizationalUnits
          &#xD;
    &lt;/em&gt;&#xD;
    
          . I need to define all my accounts on the configuration file in order for Takomo to work correctly. I don’t want to create a difficult structure for my existing accounts (master, shared, bc). I will keep my old accounts on Root OU. I will add a new OU (“WebProject”) where I add my development and production accounts. I will also enable additional AllowedRegions SCP to limit which regions can be used on workload accounts.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Now I can start deploying my organization with
          &#xD;
    &lt;b&gt;&#xD;
      &lt;em&gt;&#xD;
        
            tkm org deploy
           &#xD;
      &lt;/em&gt;&#xD;
    &lt;/b&gt;&#xD;
    
          command. Tool will display changes about to be done: few new OUs will be created, accounts are about to be moved to new OUs and some SCPs will be attached to accounts. Few seconds later I have my new organization structure ready!
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
           Deployment summary after running takomo org deploy
          &#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Entire Takomo Organizations guide can be found at Takomo documentation [2].
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         Adding beef on top of the bones
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Being able to define organization units and service control policies for accounts within AWS organization is great but let’s be honest, it only gets you so far. The real struggle is to create your base infrastructure. Perhaps you want to deploy IAM users or cross-account roles for your administrators. Or maybe you want to create a VPC and network resources into your workload accounts to limit the burden of your development team. This can be accomplished with
          &#xD;
    &lt;em&gt;&#xD;
      
           config sets.
          &#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          In the next example I will utilize Takomo to deploy a VPC stack to my development and production accounts. Once my base infrastructure is in place I could hand over these accounts to the actual development team. By default, Takomo will use
          &#xD;
    &lt;em&gt;&#xD;
      
           OrganizationAccountAccessRole
          &#xD;
    &lt;/em&gt;&#xD;
    
          to perform this. However, I can define any role available if needed. 
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
           organization.yml with modified account information
          &#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Looking at the existing WebProject OU, we can see first changes in the configuration. I have changed the formatting of my dev and prd accounts. I have also added new sections, “vars” with CidrBlock and EnvironmentName definitions. These variables are passed to my configuration set when I want to deploy my accounts. This way I can define different CIDR blocks for my development and production VPCs.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Let’s continue to the bottom of the file. I have added a new block, “configSets”, where I define my base configuration (baseConfiguration). Naming isn’t important here, I could call it whatever I want. What is important is that I also have something on my commandPaths. In this case “/base” reflects a directory in my stacks folder. configSet is also added to my organizationalUnits configuration for my development and production accounts.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          The last thing is to define the actual VPC stack. If you read my previous blog post [1] or have tried Takomo you should already be familiar with how standard Takomo stack configuration looks like. We defined baseConfiguration commandPath to be /base. After this we just need to create a new directory inside the stack configuration directory. I will create a new stacks/base/vpc.yml file and define the required parameters as below.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
           stacks/base/vpc.yml
          &#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          If you find the text above confusing here is the whole directory tree:
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Now we are ready to deploy the new VPC stacks with
          &#xD;
    &lt;b&gt;&#xD;
      &lt;em&gt;&#xD;
        
            tkm org accounts deploy
           &#xD;
      &lt;/em&gt;&#xD;
    &lt;/b&gt;&#xD;
    
          -command. The tool will present me a list of stacks about to be deployed. I am able to review my changes and proceed with the deployment. Once done, I will get a nice deployment summary telling me how my deployment went.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Now I am ready to start working with my new accounts!
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          If you are looking for more guidance how to manage Organizations with Takomo, take a look at official Takomo example [3].
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          In the next part of the series we will take a look at the advanced features of Takomo, including custom stack resolvers. Stay tuned!
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          [1]
          &#xD;
    &lt;a href="https://webscale.fi/blogi/introducing-takomo-a-new-cloudformation-deployment-tool/"&gt;&#xD;
      
           https://webscale.fi/blogi/introducing-takomo-a-new-cloudformation-deployment-tool/
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          [2]
          &#xD;
    &lt;a href="https://takomo.io/config-reference/organization.html" target="_blank"&gt;&#xD;
      
           https://takomo.io/config-reference/organization.html
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          [3]
          &#xD;
    &lt;a href="https://takomo.io/examples/managing-organization.html" target="_blank"&gt;&#xD;
      
           https://takomo.io/examples/managing-organization.html
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/forge-p1al3do01hhxtd5men26iibs24q2ajkuv1js1p4em8.jpeg" length="124543" type="image/jpeg" />
      <pubDate>Tue, 16 Jun 2020 09:19:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2020/06/managing-organizations-with-takomo</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/forge-p1al3do01hhxtd5men26iibs24q2ajkuv1js1p4em8.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/forge-p1al3do01hhxtd5men26iibs24q2ajkuv1js1p4em8.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Introducing Takomo – a new CloudFormation deployment tool</title>
      <link>https://www.webscale.fi/2020/05/introducing-takomo-a-new-cloudformation-deployment-tool</link>
      <description>In this post Lauri introduces us to Takomo, a new tool for handling CloudFormation resources.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           I have been using AWS CloudFormation as my main IaC tool for handling AWS resources for a better half of a decade. CloudFormation is an excellent tool to manage resources. However, it is rather low-level. Most of the time I have ended up using a wrapper tool to generate and deploy CloudFormation templates. While good, usually these tools have lacked some functionality. This in mind, my colleague Henri has created Takomo (engl. forge).
          &#xD;
    &lt;/span&gt;&#xD;
    
          Takomo is inspired by Cloudreach’s excellent Sceptre, a CloudFormation wrapper tool built with Python, and Terraform built by Hashicorp.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Built with large-scale deployments in mind, Takomo brings some cool extra features on top of your standard CloudFormation tooling, including:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Full list of features can be found at [1].
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h1&gt;&#xD;
  
         First Run
        &#xD;
&lt;/h1&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Installing Takomo is easy, thanks to the NPM package. Following quick-start guide [2] I am up to speed in no time. Stack deployment is launched with a simple
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
            tkm stacks deploy
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
    &lt;span&gt;&#xD;
      
           -command.
          &#xD;
    &lt;/span&gt;&#xD;
    
          Below is an example output of command.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           When I deploy my basic VPC stack for the first time I see something I haven’t seen with other tools before: I am prompted twice whether I want to proceed. First prompt confirms whether the role and account I am using are correct. Next prompt is from the CloudFormation Change Set. Once approved, I am able to deploy the stack. After a while I have my freshly created VPC up and running.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           I personally use Change Sets quite frequently. Whenever I am changing production resources I want to verify that I am doing the right thing. Attaching the Change Set feature into the tool is a rather useful feature, at least for me.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Modifying my existing stack is easy. After making changes to the configuration and the template I simply relaunch the tool. Change Set will prompt me for changes and I can proceed with the deployment. Cleaning up stacks is just as easy. However, this time I use
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
            tkm stacks undeploy
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
    &lt;span&gt;&#xD;
      
           to remove my environment.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h1&gt;&#xD;
  
         Advanced Configuration
        &#xD;
&lt;/h1&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           After my initial test I want to proceed deploying something a bit more useful. I am currently running a few Lightsail instances hosting my personal website. I want to migrate the website inside VPC. My aim is to containerize the CMS and refactor some of the resources into Lambda functions. First step in the progress is to migrate the existing environment into VPC. To accomplish this I need to create the environment for EC2 instances, including VPC, subnets and other mandatory resources.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           In quick start I simply created a stack configuration file, a stack template and launched the CloudFormation stack. This time I want to be able to have multiple environments. I need at least separate development and production environments. In each environment, I will have stacks related to infrastructure and applications. To achieve this, I can use
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Stack Groups
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
    &lt;span&gt;&#xD;
      
           to organize infrastructure into logical groups.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           The idea of stack groups is rather simple. I can create subdirectories beneath the main stack configuration folder. Each subdirectory will be treated as a separate stack group. For example, I can create a stack group for the development environment by creating a subdirectory with name
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
            dev
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
    &lt;span&gt;&#xD;
      
           . Inside the
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
            dev
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
    &lt;span&gt;&#xD;
      
           directory I can create separate subdirectories e.g. for infrastructure and application stacks. Once done, I can also provide a base configuration for the whole stack group. For example, I can provide a list of tags or define a project name (which will be used as a prefix for all the stacks). These properties would be used by all the stacks inside the stack group. Configuration file is cascading and if needed, you can override parts or all of it in the nested directories.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         Passing parameters via config.yml
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           When your environment is getting larger you want to be able to centralize your configuration into as few files as possible. While providing parameters for some resources can be done in the stack configuration files sometimes it can be rather cumbersome.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Takomo has extensive support for passing variables [3]. For example, I can pass variables via command line, environment variables or config.yml.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           In my example, I want to define a name for my environment. I will create a new entry to my dev/config.yml
          &#xD;
    &lt;/span&gt;&#xD;
    
          and call it “Environment”. After this I can refer to the variable on my stack configuration file.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Example:  stacks/config.yml
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
           Example: stacks/dev/config.yml
          &#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Example: stacks/dev/infra/vpc.yml
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Now I
          &#xD;
    &lt;span&gt;&#xD;
      
           can pass the parameter into CloudFormation and use it e.g. when naming resources.
          &#xD;
    &lt;/span&gt;&#xD;
    
          This makes creating new environments easy. I can just duplicate my dev -folder (let’s call it prod) and modify Environment parameter on my prod/config.yml. Now I am ready to launch a separate production environment.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         Fetching parameters from stack outputs with a resolver
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           One of the most important features of CloudFormation is the ability to refer to the outputs of other stacks. I want to split my stacks into small logical groups instead of monolithic stacks. This way I can make small, controlled changes more easily and efficiently.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           One of many features of Takomo is the ability to use your own
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
            resolvers
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
    &lt;span&gt;&#xD;
      
           . The idea of resolvers is simple: they allow you to fetch stack input parameters from various sources. For example, you might want to create an API key to your proprietary monitoring system before launching an EC2 instance and pass the key to your instance upon launch. All you need to do is to create a custom resolver that connects to your monitoring system and creates the API key you then push into CloudFormation as a parameter. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           On top
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
            custom resolvers
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
    &lt;span&gt;&#xD;
      
           , Takomo includes a few resolvers, including
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
            stack output resolver
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
    &lt;span&gt;&#xD;
      
           . 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Using the resolver I don’t need to manually copy and paste parameters of resources that might change. Let me give you an example. Above I created a VPC stack. Stack consists of only VPC and nothing else. Stack outputs the ID of the VPC. I create subnets in a separate subnet stack and I need to provide the VPC ID as a parameter into the subnet stack. I can provide this information manually. All I need to do is to copy the output value and paste it into the configuration file. However, if I recreate the VPC the new VPC will have a new ID I need to manually copy and paste again. Stack output resolver automates this process for you.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;em&gt;&#xD;
        
            Example: stacks/dev/infra/subnets.yml
           &#xD;
      &lt;/em&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           With the example above I can launch my subnet stack and create required resources without manual steps.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Now I can re-launch my VPC stack and add outputs. Using these new output parameters and parameters I added into my main configuration.yml I can also launch my subnet stack and have a base environment ready to be used.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h1&gt;&#xD;
  
         Conclusion
        &#xD;
&lt;/h1&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Takomo is something we have been using internally at Webscale for a while now. With the release of Takomo 1.0.0 we feel like the tool is now mature enough to be launched externally.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           This post is just a brief introduction to the core features of the tool. I will write another post where we will take a look at more advanced features of the tool. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           If you have any questions or requests regarding the tool feel free to comment or participate in the development in Github [4].
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [1]
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://takomo.io/guide/#features" target="_blank"&gt;&#xD;
      
           https://takomo.io/guide/#features
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [2] 
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://takomo.io/guide/quick-start.html" target="_blank"&gt;&#xD;
      
           https://takomo.io/guide/quick-start.html
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [3]
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://takomo.io/guide/stacks/variables-and-templating.html#variables-in-stack-group-configuration-files" target="_blank"&gt;&#xD;
      
           https://takomo.io/guide/stacks/variables-and-templating.html#variables-in-stack-group-configuration-files
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [4]
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://github.com/takomo-io/takomo" target="_blank"&gt;&#xD;
      
           https://github.com/takomo-io/takomo
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/md/pexels/dms3rep/multi/pexels-photo-672636.jpeg" length="295428" type="image/jpeg" />
      <pubDate>Wed, 20 May 2020 10:57:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2020/05/introducing-takomo-a-new-cloudformation-deployment-tool</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/md/pexels/dms3rep/multi/pexels-photo-672636.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/md/pexels/dms3rep/multi/pexels-photo-672636.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Lähdimme mukaan Pahimman yli -kampanjaan</title>
      <link>https://www.webscale.fi/2020/05/lahdimme-mukaan-pahimman-yli-hyvantekevaisyyskampanjaan</link>
      <description>Autetaan yhdessä toisemme pahimman yli!</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Me Webscalessa haluamme ottaa huomioon erilaiset elämäntilanteet osana työntekoa. Kannamme vastuuta työntekijöistämme ja haluamme olla myös aktiivinen toimija yhteiskunnassa
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           . Tiedostamme sen ikävän totuuden, että kaikilla ei ole asiat tällä hetkellä hyvin  – monet perheet ovat joutuneet taloudelliseen ahdinkoon koronaviruksen aiheuttaman tilanteen myötä. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Halusimme osaltamme auttaa osallistumalla Pahimman yli 
-kampanjaan lahjoittamalla siihen 20 euroa per Webscalen työntekijä. Samalla haastamme mukaan seuraavat yhteistyöverkostomme tahot:
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      &lt;a href="https://qvik.com/" target="_blank"&gt;&#xD;
        
            Qvik
           &#xD;
      &lt;/a&gt;&#xD;
      
           ,
           &#xD;
      &lt;a href="https://bitfactor.fi/fi/" target="_blank"&gt;&#xD;
        
            Bitfactor
           &#xD;
      &lt;/a&gt;&#xD;
      
           ,
           &#xD;
      &lt;a href="https://emine.fi/" target="_blank"&gt;&#xD;
        
            Emine
           &#xD;
      &lt;/a&gt;&#xD;
      
           ,
           &#xD;
      &lt;a href="https://www.vere.fi/" target="_blank"&gt;&#xD;
        
            Vere
           &#xD;
      &lt;/a&gt;&#xD;
      
            ja
           &#xD;
      &lt;a href="https://www.modernmarketing.fi/" target="_blank"&gt;&#xD;
        
            Modern Marketing
           &#xD;
      &lt;/a&gt;&#xD;
      
           .
          &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Otatteko haasteen vastaan ja haastatte edelleen 5 yritystä tai organisaatiota mukaan?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/ba113d3369a73ac8_400x400ar-300x300.jpg" alt="Pahimman yli" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Pahimman yli on haastekampanja, joka perustettiin keräämään ruoka-apua niille vähävaraisille lapsiperheille, joiden elämää ja toimeentuloa koronakriisin vaikutukset kolhaisevat kovimmin. Lahjoitukset menevät Hope ry:lle, joka jakaa lahjoitukset perheille 300 euron arvoisina ruoka-apulahjakortteina. Lahjakortilla apua tarvitset perheet voivat hankkia välttämättömiä elintarvikkeita ja hygieniatuotteita, tarpeidensa mukaan. Hope – Yhdessä ja Yhteisesti ry on valtakunnallinen hyväntekeväisyysjärjestö, joka on auttanut vähävaraisia ja äkillisen kriisin kohdanneita lapsiperheitä ja huostaanotettuja lapsia Suomessa jo vuodesta 2009. Lue kampanjasta lisää ja osallistu:
            &#xD;
        &lt;a href="https://pahimmanyli.fi/" target="_blank"&gt;&#xD;
          
             https://pahimmanyli.fi/
            &#xD;
        &lt;/a&gt;&#xD;
      &lt;/span&gt;&#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/pahimman-yli-p1akld3d1su3afbpluplq1zq69isre22dveqwru1vk.jpeg" length="31305" type="image/jpeg" />
      <pubDate>Tue, 12 May 2020 11:45:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2020/05/lahdimme-mukaan-pahimman-yli-hyvantekevaisyyskampanjaan</guid>
      <g-custom:tags type="string">Uutiset</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/pahimman-yli-p1akld3d1su3afbpluplq1zq69isre22dveqwru1vk.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/pahimman-yli-p1akld3d1su3afbpluplq1zq69isre22dveqwru1vk.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Miten koulutuksen hyödyt näkyvät?</title>
      <link>https://www.webscale.fi/2020/04/miten-koulutuksen-hyodyt-nakyvat</link>
      <description>Olen aina lähtenyt siitä, että koulutuksella on oma itseisarvonsa kasvavan ymmärryksen muodossa. Koska pidän oppimisesta ja kokeiluista, en useinkaan lähde kyseenalaistamaan siihen käytettävän ajan mielekkyyttä. Yrityksen näkökulmasta näin on kuitenkin syytä tehdä, koska tulosten saavuttamisen näkökulmasta rajalliset resurssit on kohdennettava jollakin tavalla, joka tukee tavoitteita.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Yrityksen teknisiin tai taloudellisiin mittareihin vaikuttamattomia tavoitteitakin on syytä tarkastella: Moni kiinnostava asia ei millään tavalla liity yrityksen tavoitteisiin, mutta parantaa asiantuntijan tyytyväisyyttä ja monipuolisemman osaamisen myötä tuo uusia ajattelutapoja yhteisöön.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Webscalen 2019 liikevaihdosta 3% käytettiin koulutuksen välittömiin kuluihin. Tämän lisäksi hihasta ravistamalla arvelisin että toiset 3-5 % liikevaihtoa menetettiin koulutukseen käytetyn ajan vaihtoehtoiskustannuksena. Kun vaihtuvat kustannukset edustavat vain 20% liikevaihdosta, tuo 6% on merkittävä osuus vuoden tuloksesta. Silti olen yhä vain sitä mieltä että joka vuotisena sijoituksena tuo on hyvin käytettyä panostusta: Vahvempi ammatillinen osaaminen näkyy tyytyväisissä asiakkaissa, tehtyjen virheiden puuttumisena ja näkemyksellisyytenä siitä, miten tekniset toteutukset vaikuttavat asiakkaidemme liiketoimintaan pitkälle tulevaisuuteen.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Koulutusohjelmamme sisältö liikkuu ydinosaamisemme ympärillä: Verkkopalveluiden kehitystyössä, datan käsittelyssä, AWS:n arkkitehtuuriosaamisessa, ketterien kehitysmenetelmien hallinnassa ja tietoturvasssa. Suuremmat konferenssit ovat näkyvintä toimintaa – kuluneen vuoden aikana käytiin taas AWS 
    
  
  
                    &#xD;
    &lt;a href="https://webscale.fi/blogi/ensikertalaisen-matka-reinventiin/"&gt;&#xD;
      
                      
    
    
      re:Invent
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    issä, uudessa turvallisuusalan AWS 
    
  
  
                    &#xD;
    &lt;a href="https://webscale.fi/blogi/aws-reinforce-2019/"&gt;&#xD;
      
                      
    
    
      re:Inforce
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    ssa ja toki ScanAgile sekä 
    
  
  
                    &#xD;
    &lt;a href="https://webscale.fi/blogi/disobey-2020-through-the-eyes-of-a-cloud-architect/"&gt;&#xD;
      
                      
    
    
      Disobey
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
     kotimaisina. AWS-sertifioinnit ovat olleet koulutusvalikoimassamme alusta saakka, ja näitäkin on viime vuoden aikana tehty 13 kappaletta. IT-alalla perinteisesti sertifiointeja on pidetty yhdentekevinä, koska monet sertit ovat triviaaleja osaamisvaatimuksiltaan. AWS:n arkkitehtuurisertit ovat nähdäksemme vaikeimmasta päästä. Asiakkaamme kysyvät toisinaan näemmekö noilla sertifikaattien tuovan jotain arvoa: Meidän näkökulmastamme sertifiointi kertoo, että konsultillamme on tietty vähimmäiskäsitys tuosta kokonaisuudesta, jota ei usein pelkästään itse tekemällä saisi. Se helpottaa kommunikaatiota, ja mahdollistaa korkeammalla abstraktiotasolla suunnittelun, kun tiimin kesken ei tarvitse työn ohessa opettaa peruskäsitteitä. Varsinainen osaaminen on saavutettu toki vasta silloin, kun teoreettista osaamista on riittävän monipuolisesti käytetty ratkaisemaan todellisia ongelmia.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Sertifikaatiota 21 hengen yrityksessämme tehtiin viimeisen vuoden aikana:
    
  
  
                    &#xD;
    &lt;br/&gt;&#xD;
    
                    
  
  
    
2 Big Data Specialty Certification
    
  
  
                    &#xD;
    &lt;br/&gt;&#xD;
    
                    
  
  
    
1 AWS DevOps Professional Cert
    
  
  
                    &#xD;
    &lt;br/&gt;&#xD;
    
                    
  
  
    
1 AWS Professional Architect Certification
    
  
  
                    &#xD;
    &lt;br/&gt;&#xD;
    
                    
  
  
    
3  AWS Associate Solutions Architect Certification
    
  
  
                    &#xD;
    &lt;br/&gt;&#xD;
    
                    
  
  
    
6 
    
  
  
                    &#xD;
    &lt;a href="https://webscale.fi/blogi/cloud-practitioner-sertifikaatti-bisneslahtokohdista/"&gt;&#xD;
      
                      
    
    
      AWS Cloud Practitioner Cert.
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Nämä liitettynä aiempien vuosien serteihin, olemme tilanteessa jossa 90% henkilöstöllä on jokin AWS-sertifikaatio ja kokeneilla useampi.
    
  
  
                    &#xD;
    &lt;br/&gt;&#xD;
    
                    
  
  
    
Ensimmäisen sertifikaatiosuorituksen jälkeen samantasoiset Associate-sertit vaativat aina vain vähemmän vaivaa, mutta Professional-serteissä työn määrä on taas moninkertainen.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Viime kädessä koulutuksen arvo näkyy siinä, että meillä on alati kasvava tyytyväinen asiakaskunta, jotka tulevat asiakkaiksemme eivätkä lähde pois.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Linkit:
    
  
  
                    &#xD;
    &lt;br/&gt;&#xD;
    
                    
  
  
    
[1] Webscale, Lauri Sten: 
    
  
  
                    &#xD;
    &lt;a href="https://webscale.fi/blogi/aws-reinforce-2019/"&gt;&#xD;
      &lt;b&gt;&#xD;
        
                        
      
      
        AWS Re:Inforce 2019
      
    
    
                      &#xD;
      &lt;/b&gt;&#xD;
    &lt;/a&gt;&#xD;
    &lt;br/&gt;&#xD;
    
                    
  
  
    
[2] Webscale, Kim Martesuo: 
    
  
  
                    &#xD;
    &lt;a href="https://webscale.fi/blogi/ensikertalaisen-matka-reinventiin/"&gt;&#xD;
      &lt;b&gt;&#xD;
        
                        
      
      
        Ensikertalaisen matka re:Inventiin
      
    
    
                      &#xD;
      &lt;/b&gt;&#xD;
    &lt;/a&gt;&#xD;
    &lt;br/&gt;&#xD;
    
                    
  
  
    
[3] Webscale, Jari Avikainen: 
    
  
  
                    &#xD;
    &lt;a href="https://webscale.fi/blogi/disobey-2020-through-the-eyes-of-a-cloud-architect/"&gt;&#xD;
      &lt;b&gt;&#xD;
        
                        
      
      
        Disobey 2020 through the eyes of a cloud architect
      
    
    
                      &#xD;
      &lt;/b&gt;&#xD;
    &lt;/a&gt;&#xD;
    &lt;br/&gt;&#xD;
    
                    
  
  
    
[4] Webscale, Mona Moilanen: 
    
  
  
                    &#xD;
    &lt;a href="https://webscale.fi/blogi/cloud-practitioner-sertifikaatti-bisneslahtokohdista/"&gt;&#xD;
      &lt;b&gt;&#xD;
        
                        
      
      
        Cloud Practitioner -sertifikaatti bisneslähtökohdista
      
    
    
                      &#xD;
      &lt;/b&gt;&#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/photo-1494059980473-813e73ee784b-p1aklgupt4z8kv68zwc4011kjt09m6gzqe0otvoh6o.jpeg" length="213994" type="image/jpeg" />
      <pubDate>Tue, 28 Apr 2020 13:14:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2020/04/miten-koulutuksen-hyodyt-nakyvat</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/photo-1494059980473-813e73ee784b-p1aklgupt4z8kv68zwc4011kjt09m6gzqe0otvoh6o.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/photo-1494059980473-813e73ee784b-p1aklgupt4z8kv68zwc4011kjt09m6gzqe0otvoh6o.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Webscale on voittanut useita julkisia hankintakilpailutuksia</title>
      <link>https://www.webscale.fi/2020/04/webscale-on-voittanut-useita-julkisia-hankintakilpailutuksia</link>
      <description>Webscale Oy on voittanut tänä vuonna jo useita ohjelmistoalan hankintakilpailutuksia.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Lisäksi Webscale valittiin muun muassa Helsingin kaupungin ohjelmistokehityksen asiantuntija- ja ylläpitopalveluiden dynaamisen hankintajärjestelmään (DPS) toimittajaksi. Muita tänä vuonna voitettuja kilpailutuksia ovat Fingrid Oyj:n ICT-johdon konsultointipalvelut sekä Istekki Oy:n ICT-asiantuntija- ja konsultointipalvelut, joissa Webscale valittiin ohjelmoinnin ja sovelluskehityksen sekä IoT-palveluiden toimittajaksi.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    ”Digitaalisten palveluiden kehitys vaatii organisaatioilta ja yrityksiltä entistä enemmän ketteryyttä ja kykyä tehdä ratkaisuja nopeasti muuttuvassa markkinassa. Digitalisaation edistämisessä haasteita tuovat erityisesti vanhat ja monimutkaiset tietojärjestelmät, organisaatiosiilot sekä osaaja- ja osaamispula. Me tarjoamme ratkaisuja, joilla asiakkaamme pystyvät rakentamaan ja kehittämään digitaalisia palveluita nopeammin ja entistä tehokkaammin”, toteaa Webscalen toimitusjohtaja 
    
  
  
                    &#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      Tero Kauhanen
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    
                    
  
  
    .
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  Webscalen asiakkaina myös Yle sekä Hanselin kautta ministeriöitä ja yliopistoja

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Vuonna 2019 Webscale teki yhteistyösopimuksen Ylen kanssa. Yle kilpailutti Tekoälyn ja koneoppimisen sekä tiedonkäsittelyn asiantuntijapalvelut. Sopimus on voimassa toistaiseksi ja Webscale tarjoaa palvelun yhdessä oululaisen BitFactor Oy:n kanssa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Webscale on valittu myös julkisen sektorin kilpailutuksista vastaavan Hanselin sopimustoimittajaksi IT-konsultoinnissa sekä IT-konsultoinnin pienhankinnoissa. Hanselin sopimus tuo Webscalen asiakkaaksi valtionhallinnon hankintayksiköitä, kuten esimerkiksi ministeriöitä, valtion liikelaitoksia sekä yliopistoja ja ammattikorkeakouluja.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-kynat-scaled-p1aklhsjzz0iwh4vueqqkit156vmtvkq2io6b5n30g.jpeg" length="94244" type="image/jpeg" />
      <pubDate>Thu, 02 Apr 2020 04:46:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2020/04/webscale-on-voittanut-useita-julkisia-hankintakilpailutuksia</guid>
      <g-custom:tags type="string">Uutiset</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-kynat-scaled-p1aklhsjzz0iwh4vueqqkit156vmtvkq2io6b5n30g.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-kynat-scaled-p1aklhsjzz0iwh4vueqqkit156vmtvkq2io6b5n30g.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Building durable VPNs with AWS Managed VPN</title>
      <link>https://www.webscale.fi/2020/03/building-durable-vpns-with-aws-managed-vpn</link>
      <description>We are currently living challenging times because of COVID-19. Many people are recommended to work remotely from home to minimise the risk of spreading the virus.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Unfortunately a lot of companies don’t have a secure remote work environment. Some companies have intranet software and websites that are only accessible from the internal network. To grant remote workers access to the intranet would basically mean opening the whole intranet to the world. This is of course not what companies want to do. Having a secure
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           virtual private network (VPN)
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           would allow remote workers to access intranet by just whitelisting the VPN’s public IP-address in intranet’s firewall. Building a secure and scalable on-premise VPN from scratch can be really slow and expensive. That is why we show in this post how to build one using
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
            AWS Client VPN
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
           . 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
         Introduction to AWS Client VPN
        &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS Client VPN is a fully managed VPN solution from AWS, based on OpenVPN that was introduced in late 2018 [1]. It
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           supports client authentication using Active Directory (AD) and certificate-based authentication. AD support is integrated to AWS Directory Service. The service scales automatically up and down with the number of connections. The maximum number of concurrent client connections is 2000 per Client VPN endpoint [2]. You are charged for the number of active VPN client connections per hour and the number of subnets that are associated with Client VPN per hour.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
         Architecture
        &#xD;
&lt;/h4&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/Managed-vpn-diagram-1024x641.png" alt="AWS VPN" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Client VPN uses subnets as target networks. These subnets will host the AWS Elastic Network Interfaces (ENIs) for the VPN connections. These connections will be routed to the VPC NAT gateway within the same Availability Zone (AZ) for internet connection. NAT Gateways have a static IP attached to them, which can be whitelisted for intranet access. You can associate a minimum of one subnet with VPN, but for higher availability it is recommended to have multiple subnets associated.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Client VPN has a pool of IP-addresses for clients. The CIDR block of the client pool must be /22 or greater and the private subnet associated with AWS Client VPN must be /27 or greater. The CIDR block of the VPN’s IP-address pool can not overlap either one [3].
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
         Let’s build!
        &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           We’ve created a public
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://github.com/webscale-oy-open-source/client-vpn-templates" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
            GitHub repository
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
           for all of the templates.
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           See the README.md in the repository for instructions on building
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           a scalable and durable VPN with certificate-based authentication in the AWS cloud easily and
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
            crazy
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
            fast
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
    &lt;span&gt;&#xD;
      
           .
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [1]
          &#xD;
    &lt;/span&gt;&#xD;
    
          Introducing AWS Client VPN to Securely Access AWS and On-Premises Resources.
          &#xD;
    &lt;a href="https://aws.amazon.com/blogs/networking-and-content-delivery/introducing-aws-client-vpn-to-securely-access-aws-and-on-premises-resources/" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
            https://aws.amazon.com/blogs/networking-and-content-delivery/introducing-aws-client-vpn-to-securely-access-aws-and-on-premises-resources/
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [2]
          &#xD;
    &lt;/span&gt;&#xD;
    
          AWS Client VPN Quotas
          &#xD;
    &lt;br/&gt;&#xD;
    &lt;a href="https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/limits.html" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
            https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/limits.html
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [3]
          &#xD;
    &lt;/span&gt;&#xD;
    
          Getting Started with Client VPN
          &#xD;
    &lt;br/&gt;&#xD;
    &lt;a href="https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-getting-started.html" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
            https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-getting-started.html
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/vpn-aws-p1akliqe6t1t833iox5d50khqkr01kogenbnsflou8.jpeg" length="61106" type="image/jpeg" />
      <pubDate>Thu, 19 Mar 2020 08:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2020/03/building-durable-vpns-with-aws-managed-vpn</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/vpn-aws-p1akliqe6t1t833iox5d50khqkr01kogenbnsflou8-802603e2.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/vpn-aws-p1akliqe6t1t833iox5d50khqkr01kogenbnsflou8.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Webscale palvelee myös korona-aikana</title>
      <link>https://www.webscale.fi/2020/03/webscale-palvelee-myos-korona-aikana</link>
      <description>Koronaviruksen aiheuttama COVID-19 -tartuntatautiepidemia vaikuttaa tällä hetkellä koko yhteiskuntaan.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Webscalessa aloitimme 2.3. toimenpiteet antamalla ensimmäisen ohjeistuksen koronavirukseen varautumisesta, joka sisälsi mm. ohjeet etätyöskentelystä ja hyvästä käsihygieniasta. Seuraamme viranomaisohjeita ja olemme korottaneet valmistautumista asteittain. Olemme myös aktiivisesti tiedottaneet henkilöstölle tilanteen kehittymisestä ja neuvoneet toimimaan varotoimien mukaisesti.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      Koko henkilöstömme työskentelee tällä hetkellä etänä. Tähän meillä on jo valmiina toimivat käytännöt ja työvälineet.
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    
                    
  
  
     Yksi toimintaamme jo pitkään ohjanneista arvoista on etäyhteisöllisyys. Vältämme myös matkustamista sekä olemme siirtäneet kaikki tapahtumamme myöhempään ajankohtaan tai etäyhteyksien kautta pidettäväksi.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      Palvelemme kaikkia asiakkaita normaalisti ja olemme tavoitettavissa puhelimitse, sähköpostitse sekä etäyhteyksin.
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Haluamme omalta osalta toimia aktiivisesti ja turvata asiakkaidemme liiketoiminnan jatkuvuutta. Poikkeuksellisina aikoina on pystyttävä myös katsomaan tulevaisuuteen, jossa digitaalisten palveluiden merkitys todennäköisesti entisestään korostuu. Voitte olla meihin yhteydessä matalalla kynnyksellä. Tarjoamme palveluitamme ja apua esimerkiksi liiketoimintakriittisten palveluiden suunnittelussa, kehittämisessä sekä ylläpidossa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/korona-ja-etatyo-p1akliqe6t1t833iox5d50khqkr01kogenbnsflou8.jpeg" length="160806" type="image/jpeg" />
      <pubDate>Tue, 17 Mar 2020 12:43:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2020/03/webscale-palvelee-myos-korona-aikana</guid>
      <g-custom:tags type="string">Uutiset</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/korona-ja-etatyo-p1akliqe6t1t833iox5d50khqkr01kogenbnsflou8.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/korona-ja-etatyo-p1akliqe6t1t833iox5d50khqkr01kogenbnsflou8.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Disobey 2020 through the eyes of a cloud architect</title>
      <link>https://www.webscale.fi/2020/02/disobey-2020-through-the-eyes-of-a-cloud-architect</link>
      <description>What is Disobey? Disobey is a security/hacker culture event that has been organised since 2015. The main event consists of talks, workshops covering a variety of security-related topics and parties. In addition, during the event the participants have a chance to try their skills in solving various security-related puzzles, such as hacking target servers that […]</description>
      <content:encoded>&lt;h4&gt;&#xD;
  
                  
  What is Disobey?

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Disobey is a security/hacker culture event that has been organised since 2015. The main event consists of talks, workshops covering a variety of security-related topics and parties. In addition, during the event the participants have a chance to try their skills in solving various security-related puzzles, such as hacking target servers that have been configured to contain some common vulnerabilities.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  Learning to break into things

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    The 2020 event had three main program venues: the main stage for the talks, and two rooms for the various workshops. The talks covered a wide variety of topics from bypassing building access control and improving cybersecurity during business trips to escaping sandboxes and performing live memory attacks. The full event program description is available on the event website at Disobey 2020 for those interested.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    I watched multiple talks on various topics. Perhaps the most immediately useful (in the sense of actionable information) for myself was the “Cyber security for business trips: Tips and tricks from a paranoid traveller”. The talk covered a wide variety of ways to make yourself a more difficult target during business travel ranging from simple “use 6-digit PIN codes for SIM cards and proper screen lock passwords instead of facial recognition or short PIN codes” to things like “cover screws in your laptop with glitter nail polish and take photos of the result in order to prevent someone from opening your laptop and installing spy chips on the motherboard undetected”. I did already add some minor new security measures to my standard practices, and will definitely consider others as well in the future.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/nail_polish-300x152.jpeg" alt="" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Workshops provided a chance for hand-on learning on a variety of traditional topics such as log analysis and penetration testing, but also included things like body language, surface mount electronics assembly, and quantum computing. Both of the workshops I participated in, the log analytics and the penetration testing, required participants to use their own computers, with data or target servers being provided by the instructors. Using work laptops containing sensitive data was discouraged, and I prepared an old personal laptop of mine to be used in the event.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    In the log analysis workshop the aim was to analyse log data from an imaginary company in order to find signs of shady activities using a certain log analysis tool. In the end it became apparent that an attacker had managed to install a backdoor to the company’s server and later used the backdoor to steal some customer data. The workshop was pretty useful in both making me aware of this type of attacks and the importance of taking these sorts of shenanigans into account when writing log parsers of my own.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/Metasploit-use-command-3-300x14reinvent-eka5.jpg" alt="" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    The penetration testing workshop on the other hand gave me at least some idea of the types of tools that exist for attacking various types of servers. It was eye-opening to see how easy it is to perform e.g. SQL injection attacks on vulnerable servers when using tools designed exactly for that.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    In addition to the official workshops, one area of the event venue was dedicated to lockpicking and related activities. Spread on a fair amount of tables there were both transparent training locks as well as some ordinary locks of various types, and an assortment of tensioners and lockpicks for anyone willing to test their skills. There were also people answering questions and giving tutorials on the basics of lockpicking. In addition to locks that open using keys, there were also some combination locks and even a couple of the kind of combination locks that are used in safes.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/safe-300x200.jpg" alt="" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    I did manage to pick a couple of the easier training locks, and also learned the basics of how one goes about figuring out the combination of a safe, but unfortunately didn’t have enough time (and patience) to actually go through the process of opening one of the training safes. I also got an answer to a question that I have been wondering from time to time: yes, the stethoscope is an actually useful tool when opening a safe and not just something they use in the movies.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  The Disobey badge and other challenges

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Another part of the Disobey event are the various challenges and puzzles, and the electronic badge that plays an integral part in one of the puzzles. The first of the puzzles can actually be solved before the event in order to obtain a special hacker badge and a cheaper ticket to the event itself. The badge itself is a circuit board filled with all kinds of functionality, such as wifi, an audio port and a microphone, a small display and multiple RGB leds, a memory card reader, and a micro USB port for charging and shell access, plus various buttons and switches.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/disobey_badge-300x22reinvent-eka5.jpg" alt="" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    The start of the badge challenge involved realising that the badge has a hidden connector that could be used to connect the badge to certain suspicious-looking terminals. Connecting different combinations of badges to the terminals produced new hints that could then be used to progress further in solving the puzzle. I didn’t work on the puzzle further than that, but it seemed like something that would be interesting to check out should I go to the event again in the future.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    In addition to the badge challenges there was something called the Capture the Flag competition, that involved solving different scored challenges solo or in small groups and trying to collect as many points as possible. I didn’t participate in that, so I don’t have any information on the contents of those challenges.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  Final thoughts

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    All in all, the event was a positive experience, although I’m sure I missed some things by not going to the parties. The talks I listened to were interesting, as were the workshops and the badge challenge seemed like something that I would like to try my hand at some other time. From a professional point of view, the most useful contents were probably the tips on improving cyber security while travelling and the workshop on log analysis, but I guess it doesn’t really hurt to be more aware of different security risks that can be found in software, hardware, or for example in the access controls used in offices and the like.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Screenshot-2020-02-19-at-12.20.00-p1akliqe6t1t833iox5d50khqkr01kogenbnsflou8.png" length="36870" type="image/png" />
      <pubDate>Wed, 19 Feb 2020 10:35:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2020/02/disobey-2020-through-the-eyes-of-a-cloud-architect</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Screenshot-2020-02-19-at-12.20.00-p1akliqe6t1t833iox5d50khqkr01kogenbnsflou8+%281%29.png">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Screenshot-2020-02-19-at-12.20.00-p1akliqe6t1t833iox5d50khqkr01kogenbnsflou8.png">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Webscale löysi uuden toimitusjohtajan talon sisältä</title>
      <link>https://www.webscale.fi/2020/02/webscale-loysi-uuden-toimitusjohtajan-talon-sisalta</link>
      <description>Webscale Oy on nimittänyt Tero Kauhasen yhtiön uudeksi toimitusjohtajaksi.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Kauhanen on ollut osakkaana, liiketoimintajohtajana ja vastannut myynnistä ja markkinoinnista Webscalessa vuodesta 2014 lähtien. Hänellä on yli 20 vuoden kokemus alalta johdon ja myynnin eri tehtävistä.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Kauhanen aloittaa toimitusjohtajana 7. helmikuuta.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Yhtiön perustamisesta lähtien johdossa ollut Jukka Dahlbom jatkaa päätoimisesti vaativien asiakasprojektien parissa ja vastaa data- ja analytiikkapalveluiden liiketoiminnasta. Dahlbom myös toimii jatkossa Webscalen varatoimitusjohtajana.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Toimitusjohtajan tehtävästä siirtyvä Dahlbom kertoo: “Kuuden ja puolen vuoden aikana Webscale on kasvanut kolmen hengen yrityksestä yli 20 henkilöä työllistäväksi ja yli 2M€ liikevaihtoa tekeväksi yhtiöksi. Asiakkaat tuntevat meidät teknisestä huippuosaamisesta ja erinomaisesta palvelusta. Olemme onnistuneet myös luomaan vahvan yrityskulttuurin, jossa henkilökuntamme työtyytyväisyys on tärkeää.”
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Yhtiön uusi toimitusjohtaja näkee tulevaisuuden selkeänä: “Edessä on seuraava kasvun vaihe, jossa tavoitteena on kehittää ja kasvattaa Webscalen asemaa ohjelmistokehitys- ja konsultointiyritysten kentässä. Yhtiössä on erittäin ammattitaitoinen porukka, jonka kanssa tiedän, että meillä on erinomaiset edellytykset vastata alan kovaan kilpailuun. Uskon johtajuudessa ihmiskeskeiseen lähestymistapaan, jossa edistetään mm. ketteriä prosesseja, itseohjautuvuutta ja emotionaalista älykkyyttä.”
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-p1akljo8dn33jp25jfjzpibybymd99s6qrz59pkao0.jpeg" length="49263" type="image/jpeg" />
      <pubDate>Fri, 07 Feb 2020 09:09:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2020/02/webscale-loysi-uuden-toimitusjohtajan-talon-sisalta</guid>
      <g-custom:tags type="string">Uutiset,Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-p1akljo8dn33jp25jfjzpibybymd99s6qrz59pkao0.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale-p1akljo8dn33jp25jfjzpibybymd99s6qrz59pkao0.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Quality Software – Cheap and Fast!</title>
      <link>https://www.webscale.fi/2020/02/quality-software-cheap-and-fast</link>
      <description>TLDR; Automate, Dedicated talent, Empower teams, Choose Webscale Building digital services in an enterprise environment is most of the time depressingly slow and ridiculously expensive. Why? Legacy systems, organizational silos, scattered responsibilities, bad vendor contracts, complex environments, security requirements… it all adds up. A simple web form development project becomes a 1 year, 1 M€ […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Building digital services in an enterprise environment is most of the time depressingly slow and ridiculously expensive. Why? Legacy systems, organizational silos, scattered responsibilities, bad vendor contracts, complex environments, security requirements… it all adds up. A simple web form development project becomes a 1 year, 1 M€ failure.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Solution: a small team of experts to solve all the difficult technical and domain specific issues. The team should include roles like Software architect, Cloud architect, IT-administrator, Network specialist and Developer. Ideally, the team provides the fundamental building blocks for all the development teams as a service. After all, solving all the same issues in every project is irrational and expensive.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Hire the best talent. All the development teams depend on it. Automation is everything. If it can be documented, it can be automated. If it’s automated, it’s definitely documented.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Take for example creating a new DNS record
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Assuming no human errors are made during the ticketing process, automation is at least 180,000 times faster.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Power to the edge. Authorize the team and their automated processes to make all the changes they need to on a daily basis. Same goes for the development teams, they should not need anyone’s involvement to do their daily work. Introduce reviews and utilize automation to build trust and consistency.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Don’t make bad contracts. If your IT infrastructure vendor charges you by the number of support tickets and for wasted capacity, is it in their interest to automate and save cost?
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      High reward. When your developers can focus on building the applications instead of on learning hybrid cloud routing, you can start changing the months into weeks in the release schedule. Less effort, less cost.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      What I’ve described here is often referred to as 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
      
      
        DevOps
      
    
    
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      . We have been building a DevOps function from scratch for a +1 Bn€ enterprise for the past year and the results are great. A team of four per tens of applications. The fastest application went from beginning of development into production in three months. DevOps is one of the things we at Webscale are really talented at.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/photo-1554672723-b208dc85134f-p1akljo8dn33jp25jfjzpibybymd99s6qrz59pkao0.jpeg" length="47467" type="image/jpeg" />
      <pubDate>Wed, 05 Feb 2020 10:07:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2020/02/quality-software-cheap-and-fast</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/photo-1554672723-b208dc85134f-p1akljo8dn33jp25jfjzpibybymd99s6qrz59pkao0.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/photo-1554672723-b208dc85134f-p1akljo8dn33jp25jfjzpibybymd99s6qrz59pkao0.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Federated authentication and single sign-on in AWS part 2 – AWS SSO</title>
      <link>https://www.webscale.fi/2020/01/federated-authentication-and-single-sign-on-in-aws-part-2-aws-sso</link>
      <description>In the first part of the blog series, we took a look at federated authentication with tools like Okta, G-Suite and ADFS -powered Active Directory. In the second part we’ll dive into updated AWS SSO and how to use it with an external identity provider, like Azure AD.</description>
      <content:encoded>&lt;h1&gt;&#xD;
  
         Introduction to AWS SSO
        &#xD;
&lt;/h1&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Originally launched in 2017, AWS Single Sign-On is “
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
            a cloud SSO service that makes it easy to centrally manage SSO access to multiple AWS accounts and business applications
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [1].” When launched, AWS SSO was lacking some crucial features. For example, a rather cumbersome command line login integration [2] was added only later.  As an infrastructure engineer I need to switch roles and accounts multiple times per day (on support duty I might need to do this over a dozen times). Copy / pasting access keys from the browser into my command line interface just didn’t cut it. Knowing this, I had never really looked into AWS SSO as a tool I’d want to use.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Finally in late 2019 AWS announced the next evolution in Single Sign-On [3] together with AWS CLI Version 2 (still on preview mode). On top of other features (namely Azure AD support) the combination of tools supports integration with AWS CLI Version 2 and AWS SSO [4]. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h1&gt;&#xD;
  
         Taking AWS SSO into use
        &#xD;
&lt;/h1&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Setting up AWS SSO is straightforward. Once enabled on the organization master account, service will take care of initializing SSO on all the accounts within an organization. After a while, the initial setup is done and the actual service configuration can be performed.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Service configuration is also straightforward as there are only two steps to be done:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         Choosing the Identity Source
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Previously, AWS SSO supported only Active Directory as an identity source, either via AWS Managed Microsoft Active Directory or AD Connector. After the overhaul, the service now supports two additional identity sources. Local user directory stores users, groups, credentials and MFA assignments locally. Alternatively, external identity provider (Azure AD) can be used as well. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Out of the three options, the local user directory is the fastest to set up. Users and groups can be created with no extra steps. Using Active Directory or external identity provider requires either AWS Managed Microsoft Active Directory, AD Connector or Azure AD to be set up before the identity source can be configured.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS SSO supports multi-factor authentication via Google Authenticator. It is the only alternative for local directory. Active Directory can also use a Radius server; however this needs to be set up manually. External identity providers work differently. User authentication, including multi-factor authentication, is done externally before the user is redirected to AWS SSO portal.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         Configuring SSO access to the accounts
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           The next step is to configure SSO to the accounts. This can be split into two parts:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Permission set is a collection of policies that AWS SSO uses to determine the user’s effective permissions to access a given AWS account [5]. Simply put, permission sets are IAM policies stored in AWS SSO. Permission sets are used when the service configures SSO into an AWS account. Ultimately the service creates IAM roles into AWS accounts with a specific AWS SSO SAML provider as a trusted entity.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Permission sets consist of two different kinds of policies:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Existing job function policies [6] are predefined AWS Managed Policies aligned to common job functions in the IT industry (e.g. AdministratorAccess to give full access to the account, DataScientist to give access to data analytics services and SupportUser to troubleshoot and resolve issues in an AWS account). Personally, I want to follow the principle of least privilege as closely as possible. This is also a principle we follow within our company. Instead of handing out generic roles with access to ‘*’ resources I want to be able to limit access to e.g. resources with names matching to application, environment, service type etc. In this case, custom permission sets [7] can be used. Custom permission sets can have two different types of policies: AWS managed policies (the same policies available on standard IAM) and custom policies. Unfortunately, there is no way to use standard customer managed policies. Instead, custom policies need to be typed or pasted into the console when creating permission set. This is cumbersome as the creation of custom policies cannot be scripted. Similarly, there is no way to create permission sets outside the console as there is no externally available API. This is a real handicap in my opinion.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Once created, permission sets can be assigned into accounts. The first step is to select which accounts are being configured, the next step is to select which users and groups the access is given to, and the last step is to select the permission set to be deployed. Once confirmed, AWS SSO will make changes into directory and deploy SAML identity provider and actual federated roles into the account. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS SSO is now set up and ready to be used.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h1&gt;&#xD;
  
          AWS SSO user experience
        &#xD;
&lt;/h1&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Logging into AWS Management Console via AWS SSO is rather straightforward.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Next, I present a personal experience using the new command line interface with AWS SSO.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           With the release of AWS CLI Version 2, AWS tries to provide seamless SSO command line login experience. The tool is still on preview [4] and it might be a good idea not to use it on production environments [8]. I tried the tool with a few different Ubuntu versions on both Vagrant and Virtualbox. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           I have experience using multiple different SSO solutions together with AWS CLI. All these have one thing in common: they are all fully integrated with command line. However, this is not how AWS SSO works. It uses operating system default browser for authentication. When configuring / logging in, the tool will try to open the browser and synchronization page. Synchronization page is used to provide a verification code which pairs CLI and browsers session. Once synchronized, AWS SSO login page is presented and the user can login into AWS SSO portal and once successful, CLI can be configured with the flow similar to console login (select account, select role / permission set available). All configurations are stored to .aws/config -file. Additional profiles can be added easily into the configuration file assuming account id and role name are known.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           It took me a few tries to realize how the flow is supposed to work on my Vagrant-based Ubuntu.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Upon configuring SSO, my terminal screen suddenly refreshed and opened a web page using w3m (command line browser) asking for the verification code. Unfortunately the code was no longer visible after the refresh. Once I realized that I had to close w3m, open another browser tab on my actual MacOS, paste the device authorization URL, provide authorization code, perform SSO login and finish setting up SSO on the CLI everything went as a breeze.
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Strangely, my Ubuntu Bionic running on Virtualbox was not able to automatically open the browser so I had to copy and paste the information manually.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           After the initial configuration I was able to use the federated role without any problems. The tool works just like a standard AWS CLI with AWS profiles.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h1&gt;&#xD;
  
         AWS SSO with Azure AD
        &#xD;
&lt;/h1&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           As I don’t have previous Azure or AzureAD experience I wanted to try AWS SSO with an external IdP. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           After quickly learning the ropes and getting hang of Azure portal I proceeded following the AWS -provided setup guide [3]. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Following the guide, I was able to create an external identity provider. Within 10 minutes I had my AWS SSO linked with Azure AD and ready to test the federated authentication. Unfortunately my first attempt was greeted with an error message: My application identifier (link pointing to my AWS SSO SAML) was not found in my AzureAD Directory. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           After a bit of head scratching I realized my SSO id did not match the one configured on the Azure AD side. The fix was rather simple: re-downloading SAML metadata from AWS SSO and re-uploading metadata file into AzureAD application solved the issue. Knowing this, I would recommend you to set up an external identity provider on AWS SSO first before downloading AWS SSO SAML Metadata xml file and uploading it into AzureAD.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS SSO supports two different types of provisioning with external identity providers: automatic [9] and manual. By default, manual provisioning is used and it requires matching users (username needs to be identical) to be created into both AWS SSO and AzureAD. With automatic provisioning, Azure AD manages creation and synchronization of user accounts and groups into AWS SSO, reducing management overhead. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Automated provisioning was the last thing I tested. After a few well documented extra steps I had enabled automatic provisioning. I needed to wait a moment for the initial synchronization to take place. Once synchronized, I was able to see the users and groups created in AzureAD appear into AWS SSO and I was able to use synchronized users and groups when assigning permission sets to my AWS accounts. From here on everything worked as previously described. I had successfully set up AzureAD -based SSO into AWS.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h1&gt;&#xD;
  
         Conclusion
        &#xD;
&lt;/h1&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           There are many different aspects one needs to keep in mind when selecting single sign-on. As there can’t just be one single solution for all enterprises I have simply listed pros and cons for AWS Single Sign-On below.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Pros:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Cons:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Finally, a few pointers worth keeping in mind when setting up AWS SSO:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [1] Announcing AWS Single Sign-On. AWS 2017.
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;br/&gt;&#xD;
    &lt;a href="https://aws.amazon.com/about-aws/whats-new/2017/12/announcing-aws-single-sign-on--sso/" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
            https://aws.amazon.com/about-aws/whats-new/2017/12/announcing-aws-single-sign-on–sso/
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [2] How to retrieve short-term credentials for CLI use with AWS Single Sign-on. AWS 2018.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://aws.amazon.com/blogs/security/aws-single-sign-on-now-enables-command-line-interface-access-for-aws-accounts-using-corporate-credentials/" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
            https://aws.amazon.com/blogs/security/aws-single-sign-on-now-enables-command-line-interface-access-for-aws-accounts-using-corporate-credentials/
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [3] The Next Evolution in AWS Single Sign-On. AWS 2019.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://aws.amazon.com/blogs/aws/the-next-evolution-in-aws-single-sign-on/" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
            https://aws.amazon.com/blogs/aws/the-next-evolution-in-aws-single-sign-on/
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [4] AWS CLI v2 Preview Now Supports AWS Single Sign-On. AWS 2019.
           &#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://aws.amazon.com/blogs/developer/aws-cli-v2-now-supports-aws-single-sign-on/" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
            https://aws.amazon.com/blogs/developer/aws-cli-v2-now-supports-aws-single-sign-on/
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [5]
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
            https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [6]
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
            https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [7]
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://docs.aws.amazon.com/singlesignon/latest/userguide/howtocreatepermissionset.html" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
            https://docs.aws.amazon.com/singlesignon/latest/userguide/howtocreatepermissionset.html
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [8]
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
            https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [10]
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://docs.aws.amazon.com/singlesignon/latest/userguide/provision-automatically.html" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
            https://docs.aws.amazon.com/singlesignon/latest/userguide/provision-automatically.html
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/hand-with-key-p1akljo8dn33jp25jfjzpibybymd99s6qrz59pkao0.jpeg" length="58740" type="image/jpeg" />
      <pubDate>Thu, 30 Jan 2020 09:40:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2020/01/federated-authentication-and-single-sign-on-in-aws-part-2-aws-sso</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/hand-with-key-p1akljo8dn33jp25jfjzpibybymd99s6qrz59pkao0-6b0802a3.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/hand-with-key-p1akljo8dn33jp25jfjzpibybymd99s6qrz59pkao0.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Data innovaatioiden lähteenä: Mahdollista kokeilukulttuuri</title>
      <link>https://www.webscale.fi/2020/01/data-innovaatioiden-lahteena-mahdollista-kokeilukulttuuri</link>
      <description>Mitä hyvänsä innovointiin ja organisaation muutokseen pureutuvaa artikkelia luet tai puheenvuoroa kuuntelet, lähes poikkeuksetta ne vievät sinut kasvokkain yhden teesin kanssa: läpinäkyvyys ja kokeilukulttuuri ovat suurimpia yksittäisiä tekijöitä muutosmatkojen onnistumiselle.</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Innovatiivinen yritys kulkee käytännössä jatkuvan muutoksen tietä ja kokeilukulttuuri on silloin syystäkin korostuneessa asemassa. Tämä on toki ihmisten johtamiseen liittyvä kysymys, mutta mitä tarkoittaakaan, kun mukaan tuodaan data?
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Data ja innovaatiot kulkevat ihannetilantessa käsi kädessä, toisiaan tukien ja ruokkien. Enemmän dataa tuo enemmän mahdollisuuksia innovaatioille, enemmän toteutettuja ja tuotannollistettuja innovaatioita tuo enemmän dataa. Jos halutaan kasvattaa tätä positiivista kehää, on tärkeää ymmärtää mitä portteja tulee avata ja millaiset puitteet luoda jotta innovatiivinen kokeilukulttuuri on mahdollista nimenomaa käytännön ja datan tasolla. Yhtäkkiä aihe siirtyy puhtaasti ihmisen johtamisesta myös teknologian johtamiseen. Tutustutaanpa siis hieman tarkemmin siihen kuinka datatyön kulmakivi, tietoarkkitehtuuri, vaikuttaa yhtälöön!
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Löysitkö itsesi loukusta?

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Jos yrität rakentaa ketterää kokeilukulttuuria jähmeiden, vanhanaikaisten teknisten tietorakenteiden päälle, lopeta. Tässä syy miksi.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Maksimoidaksesi markkinoita sykähdyttävien ideoiden virran on organisaatiosi oltava markkinaa lähellä ja tunnusteltava sitä mahdollisimman monella lonkerolla. Käytännössä tämä tarkoittaa sitä, että datavarallisuutesi on oltava mahdollisimman saavutettavissa ja käytettävissä mahdollisimman monille ja vain perustelluin rajauksin.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Valtaosassa organisaatioita tietovarannot ovat tahallisesti tai tahattomasti rajoitettuja verrattain pienelle käyttäjäjoukolle, hyvin spesifejä käyttötarkoituksia varten ja todellisuudessa hyvin harvoin merkityksellisesti hyödynnettyjä. Siilojen ongelma missä tahansa tietovirroissa näkyy myös datan kohdalla ja ne ovat ensimmäinen fyysinen este joka seisoo innovaatiivisen kokeilukulttuurin rakentamisen tiellä. Datan yhdisteleminen ja kiinnostavien korrelaatioiden tai kuvioiden tunnistaminen ei ole mahdollista jos käytettävissä on vain marginaalinen työkalupakki. Haaste on onneksi selätettävissä puhkomalla siiloihin muutama aukko ja valuttamalla data niistä yhteisesti organisaation eri toimintojen käytössä olevaan muotoon. 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Tähtää elastisuuteen

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Moderni tietoarkkitehtuuri tarjoaa monta arvokasta etua datan kautta innovoinnille. Se on rakenteeltaan automatisoitua, turvallista ja kustannustehokkaasti skaalautuvaa. Sen avulla vältytään monilta yksittäisiin tarpeisiin rakennetuilta, käyttäjän manuaalista työtä vaativilta ratkaisuilta ja datan säilyttämiseltä useina duplikaatteina, jotka kääntyvät valvomattomina herkästi tietoturvariskeiksi. Sen avulla myös analysointi ja datan jatkotyöstö tuotteistukseen asti onnistuu nopeasti. Kun data on pilven kautta turvallisesti jaettavissa ja työstettävissä, on helppoa tehdä ketteriä kokeiluja ja prototyyppeja, mikä puolestaan rohkaisee yhä useampia tahoja tutkimaan ja hyödyntämään dataa. Tämä on hyvä asia organisaation kannalta, mutta vaatii paljon tekniseltä ratkaisulta joka sen mahdollistaa.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Yhdessä 
      
    
    
                      &#xD;
      &lt;a href="https://webscale.fi/palvelut/pilvikonsultointi/"&gt;&#xD;
        
                        
      
      
        osaavien datainsinöörien kanssa rakennettu arkkitehtuuri
      
    
    
                      &#xD;
      &lt;/a&gt;&#xD;
      
                      
    
    
       voidaan luoda parhaiden käytäntöjen mukaisesti, kuitenkin kulloiseenkin toimintaympäristöön sovittaen. Tässä tärkeää on eri toimijoiden yhteistyö jotta tunnistetaan mikä data on merkityksellistä ja miten datan laatua voidaan parantaa jo sen kulkiessa läpi sille määrättyjen rakenteiden. Kaiken taustatyön tavoitteena tulee olla se, että loppukäyttäjille heidän varsinainen innovaatiotyönsä ja datan analysointi on mahdollisimman mutkatonta. Datan käytön mutkattomuus vapauttaa organisaation innovoijien ja strategien aikaa lisäarvon, anteeksi maalaisuuteni, tuottamiseen datan pohjalta. 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Lienee sanomattakin selvää, että ajankäytön painottuessa manuaalisesta työstä luovaan työhön myös innovaatioiden synnyn sykli on nopeampi. Ja mitä tapahtuu kun innovaatioiden sykli on nopeampi? Tunnistat nopeammin mikä toimii ja mikä ei, pääset nopeammin kehittämään arvokkaaksi havaitun tuotoksen arvoa entisestään ja lopettamaan ne ratkaisut, jotka eivät suoriudu toivotulla tasolla. Sanalla sanoen nopea innovaatiosykli tekee organisaatiostasi elastisen.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Kakku kasaan

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Kun haluat rakentaa data-avusteista, innovatiivista kokeilukulttuuria, aloita perustuksista. Aloita niistä palapelin reunapaloista, jotta et myöhemmin rönsyile holtittomasti. Aloita arkkitehtuurista. Varmista, että rakenteet ja infra jolla organisaatiosi dataa käsitellään, ovat parhaiden käytäntöjen mukaisia ja moderneja. Varmista, että ne kestävät kasvavan tietovirran yskimättä. Varmista, että mahdollisimman moni saa datan käyttöönsä mahdollisimman helposti ja laadukkaana. Vasta sen jälkeen varmista, että puhut innovoinnista ja ketteryydestä organisaatiossasi. Kun perustukset ovat kunnossa, voidaan vilkaista miltä luova datatyö näyttää.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Ja niin, jos et itse ole varma mitä kaikkea moderni tietoarkkitehtuuri pitää sisällään, kysy kaverilta – esimerkiksi meiltä!
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/rozan-naufal-S7YZG9X3rnA-unsplash-scaled-p1aklkm2kh4dvb0sdxyma03exchqgyvx2wmmqziwhs.jpeg" length="104012" type="image/jpeg" />
      <pubDate>Fri, 24 Jan 2020 08:16:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2020/01/data-innovaatioiden-lahteena-mahdollista-kokeilukulttuuri</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/rozan-naufal-S7YZG9X3rnA-unsplash-scaled-p1aklkm2kh4dvb0sdxyma03exchqgyvx2wmmqziwhs.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/rozan-naufal-S7YZG9X3rnA-unsplash-scaled-p1aklkm2kh4dvb0sdxyma03exchqgyvx2wmmqziwhs.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kuinka monta kiloa konsulttia laitetaan?</title>
      <link>https://www.webscale.fi/2020/01/kuinka-monta-kiloa-konsulttia-laitetaan</link>
      <description>Tiedämme, ettei otsikon mukaisella lauseella myydä konsultteja tai konsultointipalveluita. Ajoittain lause kuitenkin käy mielessä, kun seuraa kovaa kilpailua osaajista ja heille sopivista asiakasprojekteista</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    AWS, React, Node, Clojure, DevOps.. tarpeet on määritelty ytimekkäiksi listoiksi, joita teknologiaan perehtymätönkin osaa verrata henkilöiden ansioluetteloihin. Tämä tuntuu helposti johtavan siihen, että henkilöitä haetaan resursseina, joiden arvo määrittyy vain teknologiakokemuksen perusteella. Onko oikeasti näin?
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    IT-alalla, kuten usealla muullakin alalla, keskustellaan osaaja- ja osaamispulasta, joihin haetaan ratkaisua monilla tavoilla. Koulutukseen ja nuoriin osaajiin panostetaan, samoin myös työperäiseen maahanmuuttoon. IT-alan työpaikkailmoituksia ja erilaisia toimeksiantoja katsoessa kuitenkin piirtyy selkeä kuva, että moni asiakas hakee nimenomaan huippuosaajaa, jolla on tietystä teknologiasta kokemusta. Konsulteille tuntuu riittävän kysyntää tämänkin tarpeen kautta.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Mistä te löydätte niitä osaajia? Tuo on kysymys, jonka kuulen usein kertoessani meillä työskentelevän mm. kokeneita full stack -kehittäjiä ja AWS-konsultteja. Konsulttiyrityksessä meidän elinehto on, että pystymme sekä palkkaamaan että kouluttamaan henkilöitä vaativiin projekteihin ja toimeksiantoihin. Meille on myös tärkeää, että ihmiset viihtyvät työssään. Käytämme rekrytointiin ja erilaisiin ihmisten tapaamisiin paljon aikaa. Ymmärrän, ettei jokaisessa yrityksessä ole tähän mahdollisuuksia. Asiakkaidemme it- ja liiketoimintajohdon fokus on heidän omassa ydinliiketoiminnassa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Akuuttiin osaajapulaan moni iso yritys käyttää mm. IT-agentuureja, joiden tehtävä on löytää osaajia asiakkaidensa toimeksiantoihin. Teknologiahaasteiden äärellä myös erilaiset ulkoistus- ja keskittämispalvelut saattavat vaikuttaa ainakin paperilla hyviltä ratkaisuilta. Kaikilla malleilla on varmasti oma paikkansa. Kun asiakkaan tarvetta on ratkaisemassa useampi taho, myös mahdolliset alihankintaketjut pitenevät.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Olen valitettavan usein kuitenkin nähnyt, että pitkissä alihankintaketjuissa yrityksen osaajapulaa on ratkaisemassa taho, joka ei välttämättä edes tiedä tai ymmärrä alkuperäistä tarvetta. Matkan varrella tarpeesta jää myös paljon sellaista tietoa pois, joka kiinnostaa haettua osaajaa. Fokus on tällöin resursseissa, joilta löytyy vaadittava osaaminen. Henkilön sitoutuneisuus, motivaatio ja muu osaaminen tuntuvat olevan toissijaisia asioita.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Suomessa on paljon pieniä ja keskisuuria it- ja ohjelmistokehitysyhtiöitä, joilla on huippuosaamista valitsemiltaan osaamisalueilta. Välillä on harmillista nähdä, että todellisen asiakastarpeen ja näiden osaajien välille luodaan keinotekoisesti malleja, joissa hankintaosasto pakottaa it- ja liiketoimintapäättäjiä käyttämään vain tiettyjen toimijoiden palveluita. Onneksi on paljon myös toimijoita, jotka suhtautuvat avoimesti uusiin kumppanuuksiin.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Haet sitten huippuosaajia itse tai välikäsien kautta, jaan viisi vinkkiä, jotka auttavat ainakin konsulttiyrityksiä löytämään paremmin tarpeitaan vastaavia osaajia:
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/kuinka-monta-kiloa-p1aklkm2kh4dvb0sdxyma03exchqgyvx2wmmqziwhs.jpeg" length="223816" type="image/jpeg" />
      <pubDate>Wed, 15 Jan 2020 09:19:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2020/01/kuinka-monta-kiloa-konsulttia-laitetaan</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/kuinka-monta-kiloa-p1aklkm2kh4dvb0sdxyma03exchqgyvx2wmmqziwhs.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/kuinka-monta-kiloa-p1aklkm2kh4dvb0sdxyma03exchqgyvx2wmmqziwhs.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Federated authentication and single sign-on in AWS part 1 – SSO solutions for smaller companies</title>
      <link>https://www.webscale.fi/2019/12/federated-authentication-and-single-sign-on-in-aws-part-1-sso-solutions-for-smaller-companies</link>
      <description>In the first part of the blog series, Lauri will present how smaller companies can easily achieve federated SSO by using SaaS services. In the next part, we will take a look at AzureAD and AWS-provided SSO services. Introduction Our company has grown steadily last 24 months. While still small, we have close to 20 […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           In the first part of the blog series, Lauri will present how smaller companies can easily achieve federated SSO by using SaaS services. In the next part, we will take a look at AzureAD and AWS-provided SSO services.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         Introduction
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Our company has grown steadily last 24 months. While still small, we have close to 20 professionals working daily with AWS. On top of our base accounts we have a bunch of our own internal service accounts. We have sandbox accounts for each developer. Finally we operate various customer accounts, all with different authorisation requirements.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           In the late 2018 we were utilising a standard, centralised IAM account. Everyone had their own, personal IAM user attached to various IAM Groups depending on the tasks-at-hand. Policies attached to Groups defined cross-account access policies and either allowed or denied access to actual workload accounts.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           While we were able to have fine-grained access control and follow the principle of least privilege, approach was rather cumbersome. While I was able to switch roles rather easily in the CLI I was forced to have close to 50 different profiles on my configuration file. When using a console I had to use my personal cheat sheet to figure out the account and role I wanted to assume. Our password policy was rather strict, forcing IAM password change rather often. Whenever a consultant returned from a longer gig, password had expired requiring actions from administrators. Personally, after using MFA with push feature previously I felt typing MFA codes were rather clumsy process. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         Single Sign-On with SAML
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Take a look at any modern enterprise and you notice single sign-on services are everywhere. Employees sign into workstations using domain (Active Directory) username and password after which internal services can be used without providing credentials. Similarly,
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
            federation
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
    &lt;span&gt;&#xD;
      
           can be used to access external SaaS services. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Single Sign-On has many benefits. Users need to spend less time typing passwords or having means to store various credentials. On the other hand, company needs to spend less on IT costs thanks to unified user administration and reduced number of service desk calls. Similarly, SSO mitigates security risks as credentials are no longer handled externally when using federation. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           The most typical example of single sign-on and federation has traditionally been Microsoft Active Directory with ADFS (Active Directory Federation Service). Active Directory stores user and group information. ADFS acts as an identity
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
            provider
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
    &lt;span&gt;&#xD;
      
             used to establish trust between the organisation and resource (e.g. 3rd party SaaS). 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Whenever a user wants to access a resource, ADFS uses identity provider to verify user has sufficient privileges. ADFS issues a token which is passed to the resource using a security protocol (e.g. SAML 2.0). Once verified, access is granted and resources can be used. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Once set up, granting or revoking access to resources is straightforward. Users can be added or removed from groups in Active Directory, instantly allowing or blocking access to respective resources.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           The next image illustrates how Active Directory and ADFS can be used to grant federated access to AWS.
           &#xD;
      &lt;a href="#references"&gt;&#xD;
        
            [1]
           &#xD;
      &lt;/a&gt;&#xD;
      
           and
           &#xD;
      &lt;a href="#references"&gt;&#xD;
        
            [2]
           &#xD;
      &lt;/a&gt;&#xD;
      
           provide documentation on how to set up federation.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/adfs-aws-300x258.jpeg" alt="SSO" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ADFS Federation explained
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Similar approach can be used with AWS command line tools
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="#references"&gt;&#xD;
      
           [3]
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            .
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         Federation with Google G-Suite
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Like many companies our size, we use Google -based services instead of enterprise level tools like Exchange or Active Directory. This leads into less management overhead but unfortunately also less integration opportunities.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           On early 2019 I had some spare time between customer projects. Finding our AWS login flow being  suboptimal I decided to find a way to make our AWS login flow smoother with less management overhead. I had a few criteria for the solution: I wanted to be able to create user into single a directory, add user into respective groups and access into AWS would be granted automatically. Optimally, I wanted to be able to integrate other SaaS platforms into the solution. The Tool had to be able to support our in-house tool, built on top of Cognito using G-Suite user directory as identity pool.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Upon initial investigation it was discovered that Google G-Suite supports SAML 2.0 -based federation
           &#xD;
      &lt;a href="#references"&gt;&#xD;
        
            [4]
           &#xD;
      &lt;/a&gt;&#xD;
      
           . Since we already use the tool we decided to start our investigation with the tool already at hand. Testing the approach was easy. I was able to set up federation in less than 60 minutes. While being fast, setup also revealed some caveats:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           While being easy to set up, we felt G-Suite -based federation would require too much development compared to ROI. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         Federation with Okta
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           After tests with our existing tools were unsuccessful, we decided to look into other SSO services
           &#xD;
      &lt;a href="#references"&gt;&#xD;
        
            [5]
           &#xD;
      &lt;/a&gt;&#xD;
      
           . Some options (Shibboleth) were ruled out since we don’t want to maintain any infrastructure ourselves, others for various reasons (e.g. pricing, lack of information available, not satisfied with the product specifications). Finally, we had a few alternatives we thought would suit our needs:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           After comparing features and integrations
           &#xD;
      &lt;a href="#references"&gt;&#xD;
        
            [6]
           &#xD;
      &lt;/a&gt;&#xD;
      
           , we decided Okta would be the optimal candidate for our next round.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Taking the tool into use was a rather easy task. After creating a user directory, initial test users and groups, we were able to implement SSO into a single AWS account within minutes. Hooking up multiple accounts was rather easy as well; Okta utilises a cross-account role when scanning accounts for suitable roles. All you need to do is to create a role and provide a list of accounts. Once set up, the application would detect rules suitable for federation after which roles could be assigned to users and roles within Okta. From an end user perspective, the tool is rather straightforward. Users can login to Okta console with credentials and Google Authenticator or push-based Okta Authenticator. Once authenticated, logging into AWS follows a process similar to the one using ADFS above. Similarly, AWS CLI can be used with a separate script
           &#xD;
      &lt;a href="#references"&gt;&#xD;
        
            [7]
           &#xD;
      &lt;/a&gt;&#xD;
      
           .
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         Taking Okta into use
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Within a few days we realised capabilities of Okta would be enough for our company. However, we would need some automation to make life of the administrators a bit easier.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           We already utilise automation heavily on all possible maintenance tasks. Creating new accounts is performed with AWS API tools. A dedicated maintenance role is also created upon account creation. What we were missing was an automated way to create Okta -related IDP, user roles and cross-account-role (for scanning accounts for suitable roles).
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/webscale_mug-1-300x200.jpg" alt="SSO" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
           Lots of coffee was spent while delivering the solution.
          &#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            We have been avid users of Sceptre
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="#references"&gt;&#xD;
      
           [8]
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            , a wrapper for CloudFormation. However, we also have an internal CloudFormation wrapper, Takomo
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="#references"&gt;&#xD;
      
           [9]
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            , which is built from the ground up to support multi-account environments and extensions. Therefore, it was an obvious choice to utilise Takomo when creating IAM resources for SSO integration. 
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Our initial workflow for IAM resource automation formed out to be the following:
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           We still have few manual steps not yet automated. Newly created AWS account ID has to be added to Okta manually (more about this later) before the tool is able to scan accounts for SSO -compatible roles. Once successful, we configure group and role associations manually in Okta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         Conclusion
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Our proof of concept turned out to be a great success. After an initial testing phase we hooked up the tool with our user directory and performed the final migration and roll-out.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           8 months later, we are very satisfied with the results. The tool has been running smoothly, however we have done some small tweaks here and there. Our initial automation was done with Sceptre before we migrated to Takomo in late 2019. We could add more features to the automation flow but so far we have tried to keep it simple. Biggest issue we’ve faced so far was related to deprecated AWS accounts. We were unable to sync Okta with newly created roles. Upon investigation we noticed the sync process was trying to fetch information from deprecated accounts not removed from a manually maintained Okta configuration, failing and exiting the whole process without noticeable output. This could be automated. However we delete accounts so rarely this is more related to the process and following the documentation.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           There has been talk about hooking up Okta with other tools we use. This way we could utilise Okta more efficiently. Even with just AWS, mail and office services we find the solution worth using. It is reducing management overhead and making day-to-day operations more secure.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/code-blurred-300x200.png" alt="SSO" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           I recommend every organisation to have a look into utilising federated SSO with Amazon Web Services. We have done multiple implementations using various different sources (Okta, ADFS, AzureAD among others) and the end result has always been the same: increased security, less management overhead and improved efficiency due to easy access to the resources.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           In the next part of the blog series we will take a closer look at AzureAD and AWS’s own SSO tool offering. Stay tuned!
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;br/&gt;&#xD;
    &lt;a&gt;&#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         References
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [1] Enabling Federation to AWS Using Windows Active Directory, ADFS, and SAML 2.0. AWS 2013.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://aws.amazon.com/blogs/security/enabling-federation-to-aws-using-windows-active-directory-adfs-and-saml-2-0/" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
            https://aws.amazon.com/blogs/security/enabling-federation-to-aws-using-windows-active-directory-adfs-and-saml-2-0/
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [2] AWS Federated Authentication with Active Directory Federation Services (AD FS). AWS 2018.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://aws.amazon.com/blogs/security/aws-federated-authentication-with-active-directory-federation-services-ad-fs/" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
            https://aws.amazon.com/blogs/security/aws-federated-authentication-with-active-directory-federation-services-ad-fs/
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [3] How to Implement Federated API and CLI Access Using SAML 2.0 and AD FS. AWS 2015.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://aws.amazon.com/blogs/security/how-to-implement-federated-api-and-cli-access-using-saml-2-0-and-ad-fs/" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
            https://aws.amazon.com/blogs/security/how-to-implement-federated-api-and-cli-access-using-saml-2-0-and-ad-fs/
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [4] How to Set Up Federated Single Sign-On to AWS Using Google Apps. AWS 2016.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://aws.amazon.com/blogs/security/how-to-set-up-federated-single-sign-on-to-aws-using-google-apps/" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
            https://aws.amazon.com/blogs/security/how-to-set-up-federated-single-sign-on-to-aws-using-google-apps/
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [5] Integrating Third-Party SAML Solution Providers with AWS. AWS.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml_3rd-party.html" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
            https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml_3rd-party.html
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [6] https://www.okta.com/okta-integration-network/#Categories.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://www.okta.com/okta-integration-network/#Categories" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
            https://www.okta.com/okta-integration-network/#Categories
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [7] okta-awscli – Retrieve AWS credentials from Okta.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://github.com/jmhale/okta-awscli" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
            https://github.com/jmhale/okta-awscli
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [8] Sceptre, a tool to drive CloudFormation. Cloudreach.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://sceptre.cloudreach.com/" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
            https://sceptre.cloudreach.com/
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [9] Takomo, organize, parametrize and deploy your CloudFormation stacks. Webscale Oy.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://takomo.io/" target="_blank"&gt;&#xD;
      
           https://takomo.io/
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
            
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
           
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/cloud-architect-p1akm7674hz9ly40q7pnxueh6lejlpdh60aa9mlgcg-7f5bf70b.jpeg" length="769977" type="image/png" />
      <pubDate>Thu, 19 Dec 2019 10:12:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2019/12/federated-authentication-and-single-sign-on-in-aws-part-1-sso-solutions-for-smaller-companies</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/4B60FF75-90DF-40A8-A96F-A861BD092FB4.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/cloud-architect-p1akm7674hz9ly40q7pnxueh6lejlpdh60aa9mlgcg-7f5bf70b.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Ensikertalaisen matka re:Inventiin</title>
      <link>https://www.webscale.fi/2019/12/ensikertalaisen-matka-reinventiin</link>
      <description>Webscalelta lähetetään joka vuosi pieni poppoo AWS:n järjestämään re:Invent -konferenssiin. Tänä vuonna Las Vegasissa järjestettävään konferenssiin lähti H-P ja minä. H-P:lle tämä oli neljäs ja minulle ensimmäinen kerta konferenssissa. En ollut ennen käynyt Amerikassa saatika tämän kokoluokan konferenssissa, joten kieltämättä olin innoissani reissusta. Onnekseni re:Invent-konkari H-P oli mukana matkassa, joten ihan kaikkea minun ei tarvinnut […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Webscalelta lähetetään joka vuosi pieni poppoo AWS:n järjestämään re:Invent -konferenssiin. Tänä vuonna Las Vegasissa järjestettävään konferenssiin lähti H-P ja minä. H-P:lle tämä oli neljäs ja minulle ensimmäinen kerta konferenssissa. En ollut ennen käynyt Amerikassa saatika tämän kokoluokan konferenssissa, joten kieltämättä olin innoissani reissusta. Onnekseni re:Invent-konkari H-P oli mukana matkassa, joten ihan kaikkea minun ei tarvinnut oppia kantapään kautta. Tässä kirjoituksessa kerron ensikertalaisen matkasta re:Inventiin.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/pasted-image-0-1-1024x659.png" alt="Re:invent" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Re:Invent on AWS:n jokavuotinen Las Vegasissa järjestettävä noin viikon kestävä konferenssi. Tapahtumassa on tuhansia AWS:n ja AWS:n asiakkaiden pitämiä luentoja, workshoppeja, chalk-talkeja, sekä paljon muuta. Kävijöitä on kymmeniä tuhansia ja re:Invent onkin yksi alan suurimpia konferensseja.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Vegasista varasimme hotellihuoneen The Venetianista, joka oli konferenssin pääasiallinen tapahtumapaikka. Tämän takia meillä oli lyhyt matka sessioiden ja huoneen välillä. Näin ollen ei tarvinnut päivän mittaan matkustaa pitkiä matkoja, ja tarvittaessa pääsi pitkien päivien aikana välillä huoneeseen rauhoittumaan. Sessioita järjestettiin myös muissa lähialueen hotelleissa.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/5-768x1024.png" alt="Re:invent" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Suurin osa sessioista julkistetaan ennen konferenssia ja onkin syytä varata mieleiset hyvissä ajoin, että varmasti saa paikkoja. Sessiot menevät nopeasti täyteen, mutta kokemus osoitti, että hyvin saattaa päästä mukaan myös ns. Walk-up jonoista. Eli vaikka ei olisi sessioon varannut paikkaa, niin menemällä paikan päälle jonottamaan voi hyvin mahtua vielä mukaan. Itse valitsin sessioita koskien muun muassa koneoppimista, arkkitehtuureja ja serverlessiä.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Aikaisemmista vuosista poiketen tänä vuonna AWS:n johtohahmojen pitämiin pääpuheisiin piti varata istumapaikka etukäteen. Kun paikkojen varaus avattiin yritin saman tien tehdä varauksen, mutta paikat täyttyivät muutamassa minuutissa. Pääpuheissa on tapana julkistaa uusia AWS:n palveluita. Puheet näkee tosin striimattuna netistä ja konferenssissa on myös järjestetty striimien katselupaikkoja. Tänä vuonna merkittävimmät julkistukset koskivat yrityksen koneoppimispalvelua
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://webscale.fi/blogi/crowdsourced-data-labeling-with-aws-sagemaker-groundtruth/"&gt;&#xD;
      &lt;span&gt;&#xD;
        
            SageMakeria
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
           . Uudet ominaisuudet helpottavat koneoppimisen käyttöönottoa ja kokeilua.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/2-1024x768.png" alt="Re:invent" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Kokemukseni mukaan konferenssin järjestelyt sujuivat hyvin, eikä mihinkään tarvinnut pahemmin jonottaa. Tapahtumapaikkojen välillä pystyi kätevästi matkaamaan hyvin järjestetyllä bussikuljetuksella. Lounaiden tarjoilu sujui myös hyvin, vaikka operaation volyymi oli massiivinen. Ahkerimmille sessioissa käyville tarjottiin myös valmiita “juoksulounaita”.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Las Vegasissa kannattaa kulkea Überilla. Sovellus toimii kaupungissa loistavasti ja autoja on aina tarjolla lyhyellä odotusajalla. Samalla tippaaminen sujuu kätevästi. Yhdysvalloissa kannattaakin varautua paikalliseen tippauskulttuuriin ja Vegasissa yleisesti kalliiseen hintatasoon.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/ekakerta-reinventekakerta-reinvent3.jpg" alt="Re:invent" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Saavuimme H-P:n kanssa paikalle sunnuntaina ja konferenssi alkoi maanantaina. Ensimmäiset päivät menivätkin aikamoisessa jetlagissa. Mikäli mahdollista, kannattaa lentää Vegasiin muutama päivä ennen konferenssia, jotta ehtii selvitä pahimmasta jetlagista. Kaupungissa on runsaasti nähtävää ja tehtävää, joten on kiva päästä katselemaan paikkoja muutama päivä ennen konferenssia.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Ps. Valmistaudu henkisesti erittäin vahvoihin drinkkeihin &amp;#55356;&amp;#56533;
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/unnamed-p1alew6trf9e1efi648nk3q211yxl2ahg18woq1se8.jpeg" length="122787" type="image/jpeg" />
      <pubDate>Mon, 16 Dec 2019 06:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2019/12/ensikertalaisen-matka-reinventiin</guid>
      <g-custom:tags type="string">Teknologiat,Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/unnamed-p1alew6trf9e1efi648nk3q211yxl2ahg18woq1se8-e9e31b97.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/unnamed-p1alew6trf9e1efi648nk3q211yxl2ahg18woq1se8.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Crowdsourced data labeling with AWS SageMaker Ground Truth</title>
      <link>https://www.webscale.fi/2019/12/crowdsourced-data-labeling-with-aws-sagemaker-groundtruth</link>
      <description>What is data labeling needed for? After the initial idea of what to solve as a machine learning problem, you are going to need high quality training data. Generation of raw data is fairly straightforward, but transforming that raw data into useful, meaningful, and machine-interpretable training data requires human effort. Data labels for images are […]</description>
      <content:encoded>&lt;h3&gt;&#xD;
  
                  
  What is data labeling needed for?

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    After the initial idea of what to solve as a machine learning problem, you are going to need high quality training data. Generation of raw data is fairly straightforward, but transforming that raw data into useful, meaningful, and machine-interpretable training data requires human effort. Data labels for images are named areas of image which contain specific objects.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Computer vision can also detect objects in images, and defining a reasonable set of object types to detect can improve the machine labeling accuracy. Computer labeling with improper objects produces low quality results.  An extreme form of this has been made into art by DeepDream, which created nightmarish renditions of dogs from images of jellyfish, for example.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    For our purpose, we use data labeling by humans to create data labels. These data labels will be used to train the machine learning model to classify similar situations.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  How does Ground Truth help

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Ground Truth is a crowdsourcing service for running labeling jobs provided as a part of AWS SageMaker, a machine learning service suite. It is a platform for setting up, running and staffing your labeling jobs online. You can either have the labeling jobs be worked on by your own staff, or use Mechanical Turk for finding workers to label for you.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    When using Mechanical Turkers as workforce, you set the task pricing. There is a recommended price for a given estimate of time required to complete single task. Ground Truth has a set of image labeling tasks which each has a selection of durations. As with Mechanical Turk, having a higher price relative to task duration will make the task more interesting for Turkers to complete early.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Price for labeling the data set is multiplication of the image set size, the price per task and number of workers per task. Ground Truth runs the same labeling job on several human labelers to improve accuracy and to find outlier results by single labeler.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    With a good instruction set, a reasonably sized data set could be labeled in a day with very little organizing required, leaving you free to focus on the ML problem.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  How do you set it up technically

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    As the training data is viewed by unknown parties and stored by AWS, any sensitive content in the training images needs to be anonymized. In my prototype case, I preprocessed training images, removing all metadata EXIF and renaming the images to remove the timestamp in the name.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    The training images need to be stored in S3. As usual, the S3 bucket should be limited to as little visibility and permissions as possible. Trial, error and tutorial resources showed that at least the following S3 bucket features need to be allowed.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Cloudformation YAML template for the Ground Truth role policy allows Cognito actions in addition to accessing the files.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    A manifest file of all training images is used as input to the labeling task. This is in the simplest form a list of S3 objects.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Labeling job instructions

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Hardest part of the task creation is determining the best labeling criteria, and creating clear, non-ambiguous instructions on how to meet those criteria. The image above was a result of multi-class labeling job. The possible labels were “sidewalk”, “bike path”, “car on road” and “car on sidewalk”. As seen by the overlapping green and orange bounding boxes, my instructions were unclear, and led to labeling of the car to being both “on road” and “on sidewalk”.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Instructions should include both description of what is a good object to label as well as how bounding box should be fit around the object. Partially visible objects is another issue for instructions. My task required labelers to label the sidewalk in an image, which is always only partially shown.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    In many labeling cases it might be useful to use several tasks to label single class each.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Results for the example task and further development

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    The output from this labeling work is a JSON list of labels with confidence ratings. Confidence is calculated by how well the labeling results for the image match across several labelers outputs. Labeling confidence for many objects is low, due to street environment being cluttered with lot of objects. I assume this street imagery leads to having too many unclear objects and street areas which have very subjective bounds. 
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Especially the sidewalks are labeled with low confidence. This could be improved by using semantic segmentation, or pixel areas, for  labeling exact areas instead.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Labeling cars is also a common task, and COCO dataset already contains a large number of imagery with cars in them. Having humans label mere existence of cars in the image set is waste of resources.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Once the initial model for detecting interesting features in images is in place, the human processing tasks would become more valuable in validating results of ML classification tasks.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/groundtruth-car-labeling-p1alh359pi9h4n8td2dbdjsrxf5rjmzxqw1ozyspvk.jpeg" length="179513" type="image/jpeg" />
      <pubDate>Thu, 12 Dec 2019 10:36:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2019/12/crowdsourced-data-labeling-with-aws-sagemaker-groundtruth</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/groundtruth-car-labeling-p1alh359pi9h4n8td2dbdjsrxf5rjmzxqw1ozyspvk.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/groundtruth-car-labeling-p1alh359pi9h4n8td2dbdjsrxf5rjmzxqw1ozyspvk.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Data innovaatioiden lähteenä</title>
      <link>https://www.webscale.fi/2019/11/data-innovaatioiden-lahteena</link>
      <description>Innovatiivisuus ja uudistumiskyky ovat yrityksen aortta. Niiden kautta mahdollistuu uuden vireyden kuljettaminen organisaation kudokseen, toiminnan pitkäjänteinen ylläpito ja elinvoimaisuus. Innovatiivisuus on yksi yrityksen strategisesti merkittävimpiä kyvykkyyksiä. Liiketoimintaa perinteisesti tarkastellen strategian perimmäinen tarkoitus on löytää yrityksen tavoitteita tukeva pitkäkestoinen kilpailuetu ja tuoda se käytäntöön. Totuus on, ettei elämällämme aikakaudella voi enää puhua pitkäkestoisesta kilpailuedusta yksikössä, sinä […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Innovatiivisuus ja uudistumiskyky ovat yrityksen aortta. Niiden kautta mahdollistuu uuden vireyden kuljettaminen organisaation kudokseen, toiminnan pitkäjänteinen ylläpito ja elinvoimaisuus. Innovatiivisuus on yksi yrityksen strategisesti merkittävimpiä kyvykkyyksiä.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Liiketoimintaa perinteisesti tarkastellen strategian perimmäinen tarkoitus on löytää yrityksen tavoitteita tukeva pitkäkestoinen kilpailuetu ja tuoda se käytäntöön. Totuus on, ettei elämällämme aikakaudella voi enää puhua pitkäkestoisesta kilpailuedusta yksikössä, sinä autuuden tuovana graalin maljana jonka löydettyään organisaation strategit voivat huokaista helpotuksesta, heittää ylävitoset ja nostaa jalat pöydälle. Kilpailuedun pitkäkestoisuus mahdollistuu nimenomaan jatkuvan uudistumisen ja innovoinnin kautta. Strategin työ ei pääty koskaan ja se pitää lähes välttämättä sisällään innovointia.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Mitä todennäköisimmin kohtaamme aina vain enemmän liiketoimintapäättäjiä ja strategeja, jotka allekirjoittavat innovatiivisuuden tärkeyden yrityksensä menestyksen tekijänä. Harvalle lienee kuitenkaan aivan selvää kuinka tuoda innovatiivisuus osaksi yrityksen perusolemusta, ja tämän vuoksi se jääkin usein kunnianhimoiselta kuulostavaksi, konkreettista hyötyä tuottamattomaksi jargoniksi.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Haluan nostaa esille yhden työkalun, jonka avulla innovoinnista on mahdollista tehdä jatkuvaa, ketterää ja tuottavaa. Se mahdollistaa oikein valjastettuna organisaation kasvun ja kilpailukyvyn, auttaa ilahduttamaan asiakkaita yhä uudelleen ja uudelleen, sekä ohjaa tunnistamaan mihin suuntaan organisaation kehitystä on tässä kompleksisessa ja muuttuvassa maailmassa kannattavinta viedä. Arvannet jo, mitä työkalua tarkoitan.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Data. Se kuuluisa, kaikkivoipa data.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  Mielikuvitus ≠ innovatiivisuus

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Aloitetaan ylhäältä. On totta, että ihmisen intuitio ja mielikuvitus synnyttävät jatkuvasti uusia ja erinomaisiakin ideoita liiketoimintaan, mutta niiden vaikuttavuuden validointiin tarvitaan kaikesta huolimatta tietoa. Innovatiivisuus ei tarkoita mielikuvituksellisuutta, eikä mielikuvituksellisuus innovatiivisuutta. Pelkästään mielikuvituksen varassa tehdyt uudistukset ovat lähtökohtaisesti huono sijoitus, sillä niiden ja ympäristön väliset lainalaisuudet jäävät tutkimatta, minkä vuoksi puolestaan on vaikea korjata suuntaa niin tarvittaessa. Viisaasti kerätty ja jalostettu data auttaa meitä ymmärtämään innovaatioiden elinkaarta ja tunnistamaan mikä kulloinkin toimii ja mitä tulee muuttaa. Oli kyse sitten palvelu-, tuote- tai prosessi-innovaatiosta, oikeanlaiset metriikat ja seuranta ovat ensiarvoisen tärkeitä merkityksellisten, innovatiivisten ratkaisujen rakentamiseksi.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Moni on saattanut kuulla konseptista “Fire bullets, then cannonballs”, jonka Jim Collins kuvasi mainiossa kirjassaan Tietoisesti paras. Lyhykäisyydessään konsepti on malli nopealle pilotoinnille, ja sen avulla pystytään tunnistamaan epävarmassakin ympäristössä tehokkaasti ne kaikkein toimivimmat innovaatiot tekemällä matalan riskin, matalan kustannuksen ja matalan sitovuuden kokeiluja. Kokeilujen parhaimmistosta rakennetaan lopulta laajempia kokonaisuuksia, joihin voidaan myös sijoittaa isosti, sillä niiden on jo konkreettisesti havaittu olevan tuloksentekokykyisiä. Tämä on erinomainen esimerkki jatkuvasta innovaatiotyöstä, sillä konseptia voi soveltaa liiketoiminnan joka tasolla ja se vain paranee mitä enemmän sitä käyttää.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Jatkuva tiedolla validointi on siispä kultaa. Dataa voi kuitenkin hyödyntää jo aivan innovaation elinkaaren alkuvaiheessa, ennen validointia ja kehittämistä. Tämän havainnollistamiseksi täytyy jakaa yritysten keräämä ja hyödyntämä data karkeasti kahtia yrityksen sisäiseen ja sen ulkopuoliseen dataan.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  Operatiivinen data ja markkinadata

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Operatiivinen data löytyy yrityksen sisältä. Se kertoo yrityksen prosesseista, suoriutumisesta ja toimintamekanismeista. Sitä käytetään lähtökohtaisesti parantamaan yrityksen operatiivisen toiminnan tehokkuutta eri osa-alueilla. Operatiivisen datan ja sen avulla johtamisen vaikutukset näkyvät taloudellisesti tyypillisimmillään kustannussäästöinä (tai nousuina) tuloslaskelmassa – toimitusketjun optimointi, pakkausmateriaalin muuttaminen, henkilöstörakenteen uudistaminen ovat kaikki yrityksen sisällä kustannusrakenteeseen vaikuttavia muutoksia ja niistä kertyy organisaation sisäistä operatiivista dataa. Operatiivisesta datasta voidaan löytää vastauksia siihen miten asioita tehdään, mutta harvemmin siihen miksi.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Markkinadata puolestaan käsittää ympäröivän maailman luoman datan, sen kuinka asiakkaat reagoivat yrityksen tuotteisiin ja palveluun, kuinka yritys asettuu kilpailukenttään ja millaiset megatrendit vaikuttavat asiakkaiden (sekä yritys-, että yksityisasiakkaiden) tarpeisiin ja haluihin tai yhteistyökumppaneiden toimintaan. Markkinadataa hyödyntämällä saadaan siirrettyä vaikutuksia suoraan yrityksen liikevaihtoon. Uusien tuotteiden ja palveluiden luominen asiakasdataa ja avointa dataa hyödyntämällä luo uusia kanavia kassavirralle, ja vanhojen syystä tai toisesta epäkiinnostaviksi todettujen palveluiden lopettaminen sulkee niitä.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Yritykset ovat olleet jo pitkään varsin lahjakkaita ja innovatiivisia hakiessaan kustannussäästöjä ja mahdollistaakseen niiden kautta jonkinasteista kilpailukykyä. Operatiivisen datan käyttämisessä ollaan yleisesti siis jo varsin hakoja, mutta markkinadata on vielä verrattain tuntematon ja haastava pelikenttä – puhumattakaan operatiivisen ja markkinadatan yhdistelystä. Haastetta ei ainakaan vähennä se, että markkinadata on usein operatiivista dataa monimuotoisempaa, epäpuhtaampaa ja ylipäätään isompaa. Avatakseni ajatuksia markkinadatan kautta tapahtuvan innovoinnin käytännön mahdollisuuksille, kerron sinulle tarinan.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  Olipa kerran korporaatio

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Maailma katsoi kalenteristaan vuotta 2019, mutta korporaatio eli vielä vuotta 1970. Korporaatiolla oli hätä: asiakkaat eivät enää olleet lojaaleja korporaation palveluiden kuluttajia, vaan olivat alkaneet hajaantua ja vieneet mukanaan roposensa, joiden korporaatio oli tottunut kuulemaan kilahtelevan omaan kirstuunsa. Korporaatio mietti päänsä puhki kuinka houkutella asiakkaat takaisin, kokeili mitä moninaisempia mainoskampanjoita ja uusia palvelujulkaisuja mutta tulosta ei tuntunut syntyvän. Markkinoille oli tullut muita toimijoita, joiden kanssa asiakkaat mieluummin asioivat. Ketterämpiä, elinvoimaisempia yrityksiä, jotka lisäksi tuntuivat ymmärtävän paremmin mitä asiakas halusi ja pystyivät sen asiakkaalle antamaan.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Korporaatio sisuuntui ja alkoi tutkia tilannetta tarkemmin. Se päätti pyytää apua eräältä tuoreelta toimijalta jonka asiakaskunta oli lähellä korporaation omaa asiakaskuntaa. Tuore toimija näki korporaation kanssa tehtävässä yhteistyössä monta mahdollisuutta tehdä hyvää ja kasvattaa liiketoimintaansa, joten se suostui ilomielin auttamaan korporaatiota. Ei aikaakaan kun tuore toimija ja korporaatio yhdistivät voimansa. Korporaatiolle kertyneet valtavat datamäärät asiakkaista ja toiminnan kehityksestä keskitettiin ja jalostettiin hyötykäyttöön kelpaavaksi varaksi; operatiivinen data saatettiin standardimuotoiseksi ja markkinadataa siistittiin urakalla. Rajapintojen avaamisen ja integroinnin myötä korporaation ja tuoreen toimijan data saatiin yhdistettyä, tuoreen toimijan tuodessa tiimiin hyvinkin eriytynyttä ja reaaliaikaista näkyvyyttä asiakkaidensa mieltymyksiin.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Kävipä pian niinkin onnellisesti, että korporaatio ja tuore toimija tunnistivat yhdistyneestä datatyökalustaan kaksi kiinnostavaa trendiä – korporaation datan keskittämisen myötä laajentunut näkyvyys asiakaskuntaansa mahdollisti selkeästi kasvavan asiakassegmentin löytämisen ja tuoreen toimijan omien palveluiden kautta löydettiin vastaavan asiakassegmentin erityisiä kipukohtia joita korporaation palvelukapasiteetilla pystyttäisiin oikaisemaan. Tuore toimija ja korporaatio toteuttivat nopean pilotoinnin hankkeen uuden kohdennetun tuotteen rakentamiseksi, jota tarjottiin tuoreen toimijan asiakkaille ja jonka tukemiseksi saatiin valjastettua korporaation palveluorganisaatio pitkäaikaisen asiakassuhteen rakentamiseksi ja asiakkaiden sitouttamiseksi. Korporaatio ja tuore toimija jatkoivat datavetoista pilotointia tunnistaessaan aika-ajoin uusia ja muuttuvia trendejä ja kehittäen datavarantoaan jatkuvasti. He onnistuivat rakentamaan jatkuvasti uudistuvan ja ketterän yhteistyömallin ja elivät onnellisina elämänsä loppuun asti.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  Sen pituinen se?

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Datan hyödyntäminen innovaatioiden lähteenä ei toki reaalimaailmassa ole aivan noin yksioikoista. Käytännössä se vaatii useamman tahon yhteistyötä ja innovoivan osapuolen tai osapuolten henkistä ja operatiivista valmiutta tehdä nopeita siirtoja ja omaksua kokeilukulttuuri osaksi yrityksen arkea. On kuitenkin tosi, että kuvatunlainen skenaario jossa datamassasta voidaan tunnistaa liiketoiminnallisesti tärkeitä ominaisuuksia markkinassa tai asiakkaissa ja rakentaa niiden pohjalta uusia palvelu- tai tuoteinnovaatioita on tämän hetken realiteetti niissä kaikkein innovatiivisimmissa yrityksissä. On tosi, että se kasvattaa heidän liiketoimintansa resilienssiä ja yrityksen tilipussia. Ja on tosi, että siihen pystyy sekä korporaatio että tuore toimija.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;b&gt;&#xD;
      &lt;em&gt;&#xD;
        
                        
      
      
        Millaisia askeleita tul
      
    
    
                      &#xD;
      &lt;/em&gt;&#xD;
      &lt;em&gt;&#xD;
        
                        
      
      
        ee käytännössä ottaa,
      
    
    
                      &#xD;
      &lt;/em&gt;&#xD;
      &lt;em&gt;&#xD;
        
                        
      
      
         jotta datan kautta innovointi on mahdollista? Seuraavaa osaa odotellessa virittäydy tunnelmaan lukemalla vaikka tämä:
      
    
    
                      &#xD;
      &lt;/em&gt;&#xD;
    &lt;/b&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://sloanreview.mit.edu/article/creating-digital-offerings-customers-will-buy/" target="_blank"&gt;&#xD;
      
                      
    
    
      https://sloanreview.mit.edu/article/creating-digital-offerings-customers-will-buy/
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/data-innovaation-lahteena1573565632461-p1aklodfbt9j5qvbrzl4jz59avz7brauff8ko3dbsw.jpeg" length="94077" type="image/jpeg" />
      <pubDate>Wed, 13 Nov 2019 08:44:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2019/11/data-innovaatioiden-lahteena</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/data-innovaation-lahteena1573565632461-p1aklodfbt9j5qvbrzl4jz59avz7brauff8ko3dbsw.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/data-innovaation-lahteena1573565632461-p1aklodfbt9j5qvbrzl4jz59avz7brauff8ko3dbsw.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>React series part 2: SSR</title>
      <link>https://www.webscale.fi/2019/11/react-series-part-2-ssr</link>
      <description>The goal of this post is to provide a rather comprehensive overview of React server-side rendering (SSR). SSR is not a new but definitely important and interesting concept. You have probably heard of terms like SSR, SSG, pre-render, dynamic render, ReactDOMServer or SEO and social sharing issues with React. This post tries to explain those […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      The goal of this post is to provide a rather comprehensive overview of React server-side rendering (SSR). SSR is not a new but definitely important and interesting concept. You have probably heard of terms like SSR, SSG, pre-render, dynamic render, ReactDOMServer or SEO and social sharing issues with React. This post tries to explain those terms and give you answers for questions like what is SSR and why and how to use it.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h1&gt;&#xD;
  
                  
  Introducing SSR

                &#xD;
&lt;/h1&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      React renders components/views to HTML on the browser which is called client-side rendering (CSR) but this can be done on the server also. Generating the HTML on the server is called server-side rendering (SSR). SSR means rendering the application to HTML on the server at request time. To be able to use SSR the application needs to be universal (also term ‘isomorphic’ is used) which means that the application can be rendered on the client and on the server. Static site generator (SSG) and pre-rendering techniques are usually mentioned when talking about SSR because these are rather closely related to each other. All these techniques are used for rendering HTML from the content created by JavaScript. SSGs create a completely static site (HTML, CSS, JavaScript, images, etc) which can be hosted on a static site hosting service (AWS S3 for example). Sites generated by SSGs don’t have any server code. Pre-rendering means generating HTML of the application by using a headless browser to crawl the page and execute Javascript. There is also a technique called dynamic rendering, which means switching between client-side rendered and server-side rendered (or pre-rendered) content for specific user agents (search engine crawlers for example). Dynamic rendering is not generally considered as cloaking (https://support.google.com/webmasters/answer/66355) as long as dynamic rendering produces similar content. 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      SSR, SSG or Pre-rendering can be used for improving SEO, UX and performance. The issue with SEO is that all search engine crawlers still don’t fully support single-page applications (SPAs) because all crawlers won’t execute JavaScript, or if they do, there are some limitations. With CSR the HTML is generated on the client by executing the React application (JavaScript) so the crawlers could end up seeing only a blank page, which might make the site not indexed by the crawler. The same applies for social media sharing. CSR also affects UX and performance because users need to wait until the React application is downloaded and rendered to see the content. This is noticeable especially with large applications and users with slow internet connection. Also users won’t be able to see any content if the JavaScript download fails or the user has disabled JavaScript from the browser. 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Using SSR can help with these issues. The idea of SSR is that server (typically a Node.js server) renders the application and returns the HTML to the client. After the client has received the HTML it can be used as a normal SPA. With SSR users will see some content immediately after receiving the HTML from the server. Note that you can also use serverless functions (AWS Lambda for example) for SSR instead of a server (AWS EC2/ECS for example). Let’s compare SSR and CSR flows to understand the benefits of SSR more clearly. 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  CSR flow

                &#xD;
&lt;/h3&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  SSR flow

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      CSR and SSR are both making network requests, executing JavaScript and rendering content. The main difference is when the user will see the content. With CSR it’ll be after downloading and executing the JavaScript and with SSR right after server sends the response. With SSR First Meaningful Paint is usually lower (better) if there aren’t any performance issues with server-side code. Also Time To First Byte (TTFB) will be higher with SSR compared to CSR.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h1&gt;&#xD;
  
                  
  Implementation

                &#xD;
&lt;/h1&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      React provides ReactDOMServer (react-dom/server) module which enables the server to render React components to HTML. There are also many other libraries and frameworks for React SSR (and SSG) and we’ll go through the most popular ones briefly after this section. With ReactDOMServer React applications can be rendered to an HTML string with the renderToString method or to a readable stream that outputs an HTML string (same string what renderToString would return) with renderToNodeStream method. Both of these methods have static versions (renderToStaticMarkup and renderToStaticNodeStream) that won’t create extra DOM attributes that React uses internally (for example data-reactroot). These static versions are useful when creating static content without using React on the client because stripping the React attributes can reduce the size. It’s important to use ReactDOM.hydrate instead of ReactDOM.render on the client when using renderToString or renderToNodeStream. Calling ReactDOM.hydrate method on the client preserves the server rendered HTML and only attaches event handlers. The hydrate method also calls componentDidMount lifecycle method and useEffect hook. useLayoutEffect hook won’t be called – actually React gives a warning message when using useLayoutEffect with SSR. React-dom gives an error message in case of mismatch between the server and client markup. These errors can be silenced by adding suppressHydrationWarning to the element. This should only be used when element’s attribute or content is unavoidably different between server and client version and it only works one level deep.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  Simple example with renderToString:

                &#xD;
&lt;/h4&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  Simple example with renderToNodeStream:

                &#xD;
&lt;/h4&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  Usage on the client:

                &#xD;
&lt;/h4&gt;&#xD;
&lt;h2&gt;&#xD;
  
                  
  External libraries

                &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      React applications usually have one or more of the following technologies: react-router, state management (MobX, Redux, React context, etc), code splitting (React.lazy, @loadable/component), and css-in-js (styled-components, emotion, etc). Each of these technologies requires special attention when it comes to SSR. This section explains how to use these common libraries with SSR starting from react-router. 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  react-router

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      First thing to notice when using react-router on the server is to use stateless StaticRouter instead of BrowserRouter. StaticRouter gets usually two props: location and context. The location prop is used to pass the current route to the router. The context prop is an empty object but after the render it contains the result of the render in the router scope. So after rendering there is a context.url property if &amp;lt;Redirect&amp;gt; has been rendered. You can also add custom properties to the context by using staticContext.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  Using react-router (StaticRouter):

                &#xD;
&lt;/h4&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  State management

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Application state will most likely change on the client when using the application. It’s a very typical case that some components are rendered based on the application state, so it would be great to initialize application state on the server and pass it to the client. If the view requires some data to be fetched then all data or at least part of the data could be fetched on the server before rendering the application. This way the application can be rendered with all the data or part of the data it needs. A common approach for passing the preloaded data from the server to the client is to do it by using window object. For example window.__MY_PRELOADED_DATA__ could be used and assign preloaded data to its value. Then that data can be used to initialize the application state on the client. Also Redux side effect libraries like redux-saga can be used with SSR. The following simple application requires data fetching (preload data) and is using Redux as a state management solution.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  Using Redux with preloaded data:

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Alternatively we could make the data fetch as part of the client side initialization process and add the data to the store. But that approach would make two data fetch: one on the server and one on the client. 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Code splitting

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Code splitting is very useful technique for splitting the application code into various bundles which can then be loaded on demand and in parallel. Code splitting in React applications is usually done with React.lazy. React.lazy is a function which renders a dynamic import as a regular component. However React.lazy doesn’t support SSR yet. Luckily there’s a library called loadable-components (https://github.com/smooth-code/loadable-components) which provides code splitting with SSR support. To get started with loadable-components first you need to install @loadable/babel-plugin and @loadable/webpack-plugin to add support for SSR (automatic chunk names and to create loadable-stats.json file for the ChunkExtractor). The next step is to use ChunkExtractor or ChunkExtractorManager on the server for collecting the chunks and adding link and script-tags to the HTML. Finally on the client you need to use loadable to create loadable components and loadableReady to wait for all loadable components to be loaded (in parallel). Loadable-components provide plenty of other useful features too.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  Code splitting with loadable-components:

                &#xD;
&lt;/h4&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  CSS-in-JS

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      When using CSS-in-JS solution it’s important to note which libraries support SSR. For example styled-components, which is one of the most popular CSS-in-JS libraries does support SSR (renderToString and renderToNodeStream). Styled-components supports concurrent server side rendering with stylesheet rehydration. It uses ServerStyleSheet and adds a provider to the React application tree. The provider accepts styles via a context API and can be used through collectStyles method (it wraps provided element with the provider) or by using the StyleSheetManager provider directly. ServerStyleSheet instance’s interleaveWithNodeStream method can be used with streaming rendering. This method checks if any styles are ready to be rendered and if so the style block is prepended to the HTML.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  Using styled-components with SSR:

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      So configuring different libraries for SSR clearly adds some complexity to codebase. And these aren’t the only libraries that are requiring configuration for SSR. In fact there are plenty of other popular libraries as well like react-i18next, react-helmet, etc that require configuring for SSR. The point of this section was to show how to configure the most popular libraries for SSR and pointing out that adding new library could potentially mean that it needs to be configured for SSR.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
                  
  Frameworks

                &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      There are plenty of SSR and SSG libraries and frameworks such as: Next.js, Gatsby, After.js, Razzle, react-server, Reframe, Fusion.js, Electrode, Hypernova. For pre-rendering there are SaaS options like prerender.io (https://prerender.io/), prerender.cloud (https://www.prerender.cloud/) and libraries like react-snap (https://github.com/stereobooster/react-snap). Next.js and Gatsby are currently the most popular ones.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Next.js is a React framework that supports SSR, static export and other features. Next.js takes away the “pain” to implement SSR from scratch and basically offers SSR out-of-the-box for you. When working with Next.js or any other framework there are always some conventions so developers need to implement code in the “framework way”. For example with Next.js developers need to use specified directories for pages, configure framework with next.config, use Next.js version of react-router, append elements to &amp;lt;head&amp;gt; with next/head, use getInitialProps just to mention a few. In the client code you add the page specific views to pages directory and Next.js handles for example mounting, hydrating and code splitting for you so you don’t need to import React or setup routes. In the server code you can just require next and create a new instance of it, call getRequestHandler and prepare then use it together with express.js for example. When making a request to a Next.js app the request goes to the Node.js server which renders the application on the server with Next.js and returns the rendered application (HTML) to the client where Next.js handles hydrating, among other things.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Gatsby is a framework based on React and a SSG. This means that before deploying and running the React application, Gatsby needs to generate the static site first with build command. The Gatsby build command produces a directory of static HTML and JavaScript files, which you can deploy to a static site hosting service. Gatsby can also pull data from specified sources. With Gatsby there won’t be any servers required and therefore no server-side code because all is done at build time of the application. So when making a request to a Gatsby app you get pre-rendered HTML file which has script-tag pointing to the React application. One thing to notice with Gatsby is that number of pages affects the build time.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h1&gt;&#xD;
  
                  
  SSR Performance

                &#xD;
&lt;/h1&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      There are some performance challenges with SSR. If the application needs some data then the data must be fetched before rendering the application. However, the data can be cached for some time if possible to prevent data fetch related performance issues. SSR with or without data fetch is increasing time to first byte (TTFB) compared to CSR. But the HTML could also be cached for some time to reduce the TTFB. TTFB can be reduced also using SSR with streaming. Caching HTML also reduces the server load because each requests won’t trigger SSR because the HTML of the rendered React application can be returned from the cache. 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      When using renderToString method HTML can be added to the cache after the render and when using renderToNodeStream the HTML can be added to the cache by using transform stream. I recommend to cache as much as possible to make SSR as fast as possible. It’s also possible to add caching to the component level. There are libraries for different React versions but for the current version you can check out react-component-caching (https://github.com/rookLab/react-component-caching) and react-prerendered-component (https://github.com/theKashey/react-prerendered-component). 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Developers can also decide if some views should not have SSR. For example, if SSR is used only because of SEO it’s not necessary to SSR content which requires users to log-in because crawlers won’t index these views. 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      It’s important to know at least basic React performance optimization techniques because unoptimized React application adds more latency to the server response since the render takes longer. SSR can also be optimized by not rendering everything on server. Some components can be rendered only on the client. Placeholder or spinner can be used to indicate that there will be some more content. One technique for this is to use double render so setting boolean variable to true in componentDidMount or in useEffect and render component based on the value of the variable. However, this causes component to rerender and that’s why it shouldn’t be overused because of the performance hit.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h1&gt;&#xD;
  
                  
  Conclusion

                &#xD;
&lt;/h1&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      SSR is a technique for rendering application on the server and returning HTML to the client. It’s used primarily for SEO, social sharing and to improve performance. You can use ReactDOMServer when implementing SSR or use some framework like Next.js or Gatsby. It’s important to remember that you may need to add some configurations or new code to your server-side code when adding a new libraries to your project. Performance of the application is important since inefficient application uses more time for rendering and thus increasing the latency. Also caching should be used whenever suitable to reduce the latency. Think at least about SEO, social sharing, performance and budget (servers and development isn’t free) if you are wondering whether or not using SSR. I hope this post was able to give you an overview of SSR and maybe you will be using it on your next project.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/coding-p1aklpb9inathctymhzr4gwpw9ukjgekrjw25dbxmo.jpeg" length="73997" type="image/jpeg" />
      <pubDate>Wed, 06 Nov 2019 10:38:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2019/11/react-series-part-2-ssr</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/coding-p1aklpb9inathctymhzr4gwpw9ukjgekrjw25dbxmo.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/coding-p1aklpb9inathctymhzr4gwpw9ukjgekrjw25dbxmo.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Syksyn kootut – uusia työkavereita, kaupunkiseikkailua ja instagrammailua</title>
      <link>https://www.webscale.fi/2019/10/syksyn-kootut-uusia-tyokavereita-kaupunkiseikkailua-ja-instagrammailua</link>
      <description>Aurinkoista lokakuuta! Ajattelin taas koota kasaan muutamia kuulumisia meiltä syksyn varrelta. Elokuun tullen jouduimme suruksemme luopumaan toistaiseksi Saarasta, joka palasi koulun penkille, mutta onneksi pääsimme toivottamaan lämpimästi tervetuloa taloon kolmelle uudelle webscalelaiselle – oli ihan huippua saada Jari, Jarno ja Jussi meininkiin mukaan! Jari on jo ehtinyt esitellä osaamistaan bloginkin puolella, pääset lukemaan sen tästä.  […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Aurinkoista lokakuuta! Ajattelin taas koota kasaan muutamia kuulumisia meiltä syksyn varrelta. Elokuun tullen jouduimme suruksemme luopumaan toistaiseksi
           &#xD;
      &lt;a href="https://www.linkedin.com/in/saara-peltom%C3%A4ki-a172bb105/" target="_blank"&gt;&#xD;
        
            Saarasta
           &#xD;
      &lt;/a&gt;&#xD;
      
           , joka palasi koulun penkille, mutta onneksi pääsimme toivottamaan lämpimästi tervetuloa taloon kolmelle uudelle webscalelaiselle – oli ihan huippua saada
           &#xD;
      &lt;a href="https://www.linkedin.com/in/jariavikainen/" target="_blank"&gt;&#xD;
        
            Jari
           &#xD;
      &lt;/a&gt;&#xD;
      
           ,
           &#xD;
      &lt;a href="https://www.linkedin.com/in/jarnoraisanen/" target="_blank"&gt;&#xD;
        
            Jarno
           &#xD;
      &lt;/a&gt;&#xD;
      
           ja
           &#xD;
      &lt;a href="https://www.linkedin.com/in/jussi-lehtiniemi-7b151329/" target="_blank"&gt;&#xD;
        
            Jussi
           &#xD;
      &lt;/a&gt;&#xD;
      
           meininkiin mukaan! Jari on jo ehtinyt esitellä osaamistaan bloginkin puolella, pääset lukemaan sen
           &#xD;
      &lt;a href="https://webscale.fi/blogi/video-surveillance-using-aws-deeplens/"&gt;&#xD;
        
            tästä. 
           &#xD;
      &lt;/a&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Elokuussa osallistuimme jo toistamiseen Runfestiin 
, jossa
           &#xD;
      &lt;a href="https://www.linkedin.com/in/jarmo-h-568a69b9/" target="_blank"&gt;&#xD;
        
            Jarmo
           &#xD;
      &lt;/a&gt;&#xD;
      
           ja
           &#xD;
      &lt;a href="https://www.linkedin.com/in/mona-moilanen-485399118/" target="_blank"&gt;&#xD;
        
            Mona
           &#xD;
      &lt;/a&gt;&#xD;
      
           kannustivat
           &#xD;
      &lt;a href="https://www.linkedin.com/in/jukka-dahlbom-13971a39/" target="_blank"&gt;&#xD;
        
            Jukkaa
           &#xD;
      &lt;/a&gt;&#xD;
      
           ,
           &#xD;
      &lt;a href="https://www.linkedin.com/in/hannu-pekka-hakam%C3%A4ki-36a97723/" target="_blank"&gt;&#xD;
        
            H-Ptä
           &#xD;
      &lt;/a&gt;&#xD;
      
           ,
           &#xD;
      &lt;a href="https://www.linkedin.com/in/lauristen/" target="_blank"&gt;&#xD;
        
            Lauria
           &#xD;
      &lt;/a&gt;&#xD;
      
           ,
           &#xD;
      &lt;a href="https://www.linkedin.com/in/juha-mustaj%C3%A4rvi-24708b69/" target="_blank"&gt;&#xD;
        
            Juhaa
           &#xD;
      &lt;/a&gt;&#xD;
      
           ja
           &#xD;
      &lt;a href="https://www.linkedin.com/in/amanda-roine-473827127/" target="_blank"&gt;&#xD;
        
            minua
           &#xD;
      &lt;/a&gt;&#xD;
      
           juoksemisessa ja osallistuivat myös jälkipuinteihin. Sen verran kivaa oli taas, että ilmoittauduimme jo seuraavallekin vuodelle mukaan!
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/5688816712810496-200x300.jpg" alt="Syksyn kootut" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Elokuussa myös alkoi kiertävä
           &#xD;
      &lt;a href="https://www.instagram.com/webscale/" target="_blank"&gt;&#xD;
        
            Instagram
           &#xD;
      &lt;/a&gt;&#xD;
      
           -vuoro, jossa seurattiin vuorollaan Monan päiviä asiakkuuksien parissa, Saaran menoa kesätyöntekijän näkökulmasta,
           &#xD;
      &lt;a href="https://www.linkedin.com/in/juho-rautio-3120222/" target="_blank"&gt;&#xD;
        
            Juhon
           &#xD;
      &lt;/a&gt;&#xD;
      
           tarinointia niin konsultin elämästä kuin
           &#xD;
      &lt;a href="https://webscale.fi/yritys/"&gt;&#xD;
        
            johtoryhmänkin
           &#xD;
      &lt;/a&gt;&#xD;
      
           puolesta, Laurin työtä DevOps -hommien parissa,
           &#xD;
      &lt;a href="https://www.linkedin.com/in/kim-martesuo-69876510b/" target="_blank"&gt;&#xD;
        
            Toffen
           &#xD;
      &lt;/a&gt;&#xD;
      
           “peruskonsultin perusviikkoa”, kuten hän itse kuvaili, sekä minun hommiani HR- ja toimistoasioiden parissa. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Syyskuussa kävimme seikkailemassa ketun jäljillä Foxtrail 
-kaupunkiseikkailussa. Voiton vei Monan,
           &#xD;
      &lt;a href="https://www.linkedin.com/in/heikkima/" target="_blank"&gt;&#xD;
        
            Hekan
           &#xD;
      &lt;/a&gt;&#xD;
      
           , Toffen, Jussin,
           &#xD;
      &lt;a href="https://www.linkedin.com/in/erikst/" target="_blank"&gt;&#xD;
        
            Erikin
           &#xD;
      &lt;/a&gt;&#xD;
      
           ja
           &#xD;
      &lt;a href="https://www.linkedin.com/in/teemu-koivisto-75304b114/" target="_blank"&gt;&#xD;
        
            Teemun
           &#xD;
      &lt;/a&gt;&#xD;
      
           tiimi toisen tiimin keskittyessä lähinnä fiilistelemään reitti läpi… 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/kollaasi-1024x34reinvent-eka5.jpg" alt="Syksyn kootut" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;a href="https://www.linkedin.com/in/petteri-parviainen/" target="_blank"&gt;&#xD;
        
            Petteri
           &#xD;
      &lt;/a&gt;&#xD;
      
           oli bongannut hyvän tarjouksen isosta laatikosta suklaata, ja meinasi ostaa sellaisen tiimilleen. Pettymys oli suuri, kun ko. suklaat oli jo ehditty myydä loppuun! Tarina ei kerro, löysikö Petteri tiimilleen korvaavia herkkuja… 
           &#xD;
      &lt;a href="https://www.linkedin.com/in/henrim/" target="_blank"&gt;&#xD;
        
            Henri
           &#xD;
      &lt;/a&gt;&#xD;
      
           korkkasi onneksi hyvin vähälle käytölle jääneen toimiston ensiapukaapin, josta löytyi helpotusta päänsärkyyn. Mona kävi ylittämässä itsensä Cloud Architect -sertikokeessa ja
           &#xD;
      &lt;a href="https://webscale.fi/blogi/cloud-practitioner-sertifikaatti-bisneslahtokohdista/"&gt;&#xD;
        
            kirjoitti kokemuksestaan blogauksen
           &#xD;
      &lt;/a&gt;&#xD;
      
           avuksi muillekin, joka lähtevät suorittamaan sertiä ei-teknisistä lähtökohdista. Teemu on syksyllä ollut töissä opiskelun vuoksi kahtena päivänä viikossa ja harmikseen joutunut jättämään väliin perjantain toimistohengailut, koska silloin yliopistolla on ollut häntä erityisesti kiinnostava tilastotieteisiin liittyvä kurssi aiheesta
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           computational statistics.
          &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Syyskuun techdayssa kuultiin esitykset Baublesta, AWS App Meshistä ja React Hookseista, joista muuten voit käydä lukemassa React-aiheisen blogaussarjamme ensimmäisen osan
           &#xD;
      &lt;a href="https://webscale.fi/blogi/react-series-part-1-hooks/"&gt;&#xD;
        
            tästä!
           &#xD;
      &lt;/a&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/IMG_0974-300x22reinvent-eka5.jpg" alt="Syksyn kootut" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Lokakuussa kuukausittainen afterworkimme oli lautapelailua toimistolla ja tietysti myös Webscalen änäriliigan toinen kausi pyörähti käyntiin ja alkusarjan ottelut ovat käynnissä.
           &#xD;
      &lt;a href="https://www.linkedin.com/in/jukka-ukkonen-233798178/" target="_blank"&gt;&#xD;
        
            Jukka
           &#xD;
      &lt;/a&gt;&#xD;
      
           rakentaa sitä varten sovelluksen, josta sarjataulukkoa seurataan. Ainakin ensimmäisen kauden voittanutta
           &#xD;
      &lt;a href="https://www.linkedin.com/in/heikki-h%C3%A4yh%C3%A4-90a6ba82/" target="_blank"&gt;&#xD;
        
            Heikkiä
           &#xD;
      &lt;/a&gt;&#xD;
      
           on jo päästy yllättäviltä tahoilta haastamaan… 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/änäri-300x22reinvent-eka5.jpg" alt="Syksyn kootut" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Katse alkaa meillä pikkuhiljaa olla jo loppuvuodessa;
           &#xD;
      &lt;a href="https://potentiaali.com/" target="_blank"&gt;&#xD;
        
            Kumpulan Potentiaali
           &#xD;
      &lt;/a&gt;&#xD;
      
           -rekrytapahtumassa,
           &#xD;
      &lt;a href="https://reinvent.awsevents.com/" target="_blank"&gt;&#xD;
        
            AWS re:Inventissä
           &#xD;
      &lt;/a&gt;&#xD;
      
           Las Vegasissa ja pikkujouluissa. Näistä sekä sarjataulukkosovelluksen kehittämisestä ja änäriliigasta lisää myöhemmin!  Ovatko tällaiset henkilöstön normaalia työarkea koskevat jutut sinusta kiinnostavaa luettavaa?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/IMG_0809-e1572359148773-p1aklodfbt9j5qvbrzl4jz59avz7brauff8ko3dbsw.jpeg" length="167258" type="image/jpeg" />
      <pubDate>Tue, 29 Oct 2019 14:27:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2019/10/syksyn-kootut-uusia-tyokavereita-kaupunkiseikkailua-ja-instagrammailua</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/IMG_0809-e1572359148773-p1aklodfbt9j5qvbrzl4jz59avz7brauff8ko3dbsw-7d486997.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/IMG_0809-e1572359148773-p1aklodfbt9j5qvbrzl4jz59avz7brauff8ko3dbsw.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>React Series Part 1: Hooks</title>
      <link>https://www.webscale.fi/2019/10/react-series-part-1-hooks</link>
      <description>This post assumes you know the basics of modern JavaScript, React and the concepts around it. What are hooks and why do they matter? The short version is that hooks allow you to write function components, while still using functionality and logic previously only available to class components. This includes lifecycle methods and state. Hooks […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
      
      
        This post assumes you know the basics of modern JavaScript, React and the concepts around it.
      
    
    
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
                  
  What are hooks and why do they matter?

                &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      The short version is that hooks allow you to write function components, while still using functionality and logic previously only available to class components. This includes lifecycle methods and state. Hooks offer a new way to create re-usable, isolated pieces with logic and state. Certain cases that previously needed to be handled with Higher Order Components or Render Props, can now often be solved by reaching for a hook or two.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Common or repetitive pieces of logic can now be extracted from components and made into reusable hooks, and all of them behave and follow the same 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://reactjs.org/docs/hooks-rules.html" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
      
      
        “rules of hooks”
      
    
    
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      . Complex classes that might be hard to read and test can often be made a lot simpler and shorter, with your hook providing the main logic. However, unlike HOC and render props, they don’t cause nesting in your component trees. We also get rid of a few nuances developers face with JavaScript itself – classes, inheritance and how 
      
    
    
                      &#xD;
      &lt;em&gt;&#xD;
        
                        
      
      
        this
      
    
    
                      &#xD;
      &lt;/em&gt;&#xD;
      
                      
    
    
       works. Hooks are only called from React components, which allows a specific hook’s state to be associated with the actual function that called it.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
                  
  From Classes To Functions

                &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      This is not a migration guide, but rather a quick look at what usually changes when you switch from classes to function components with hooks. 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Hooks are very handy and can be fun to write. However, at the end of the day they allow you to do the same thing as before but in a different way. You shouldn’t feel the need to rewrite everything with hooks. Instead, consider trying them out when writing new components, or when making changes to old ones. You might notice that you can get rid of some of the repetitive logic littered around your components.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      The actual process of converting a class component is pretty straight forward. Let’s list which parts change when rewriting a class to use hooks;
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Function components don’t have a class instance – that means there is no class constructor, no “this”, and no super call. You just pass props to your component and that’s it.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      But how does React know which function called which hook and which function uses which state? React keeps track of which component called the hook using an internal list of 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      “memory cells”
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       associated with each component. It’s essentially just a JavaScript object under the hood, you don’t really have to worry about it. 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Unless you have a very specific situation, you can just use 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useEffect
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      , which is called during different lifecycle methods. This depends on how and what dependencies you pass to it. More on that shortly.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Function components return their function body, they don’t need a separate render function.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
                  
  Rules Of Hooks

                &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      While you’re now just writing functions instead of classes, there are still two rules you have to remember to follow;
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      This one is easy enough. You cannot call hooks from classes or from plain utility functions. There must be a React Function that actually calls the hooks.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Only call hooks at the top level of components. Placing hook calls inside conditionals or loops might result in them being called in a different order when the component renders. By keeping them on the top level we ensure that it doesn’t happen.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      The rules are simple but if you’re used to classes you’ll find yourself breaking them every now and then when starting out. There is an 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://www.npmjs.com/package/eslint-plugin-react-hooks" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
      
      
        eslint plugin
      
    
    
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       to help you enforce these rules. The plugin also verifies the list of dependencies for your hooks.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
                  
  The Built-In Hooks

                &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      React offers ten different hooks by default but as long as you know your way around React you will find them relatively easy to learn and use. While React has all these built-in hooks, you’ll spend most of your time working with only 3-4 of them. You can combine and use them together to create custom hooks. If you need to optimize or handle a specific edge case scenario, there are also specialty hooks which you can use. The built-in hooks are all prefixed with 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
      
      
        “use”
      
    
    
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      , and you should be following this practice when writing your own hooks as well.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Let’s run through some of the built-in hooks and see which hook to use in what situation. I’ll also mention some pitfalls you can run into when using them.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  useState

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      The most basic hook, comparable to
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      this.setState
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       from class components with a minor difference being how 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      this.setState
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       merges objects, while 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useState
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       replaces the whole object. 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useState
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       takes an argument that it uses to set its initial value. Calling 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useState
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       returns two items. The first item is the current state value, and the second is a function to update it. You’re free to name them how you want, but the common practice is to prefix the updating function with a 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
      
      
        “set”
      
    
    
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      .
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Note that the first argument, 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      firstName
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       is really just a string, not a magic proxy or a data binding hack – it’s just a normal variable. Calling 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      setFirstName
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       with the same value does not cause a re-render. 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;em&gt;&#xD;
      
                      
    
    
      Note that updating the state with 
      
    
    
                      &#xD;
      &lt;b&gt;&#xD;
        
                        
      
      
        useState
      
    
    
                      &#xD;
      &lt;/b&gt;&#xD;
      
                      
    
    
       will replace the whole state
    
  
  
                    &#xD;
    &lt;/em&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      . If you have an object with multiple properties, you need to use something like 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
      
      
        object spreading
      
    
    
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       to keep the rest of the properties or they will not be part of the next state. 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      You can also access the previous state with the setter function.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      You may also provide the 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useState
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       with a function. It will be executed 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      only on the initial render
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      , making it useful if setting the initial state is expensive; 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      If you need to manipulate more complex states or need something more flexible than what 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useState
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       provides, you should use 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useReducer 
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      which I will present later on. 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  useEffect

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Like the name implies, this hook accepts possibly effectful or imperative code. This is the only place where you should put that logic when using function components. It’s good for side effects like logging, fetching data, subscriptions and so on. Code that needs to run during specific stages of the react lifecycles is put here. You 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
      
      
        can
      
    
    
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       actually write multiple effect functions in your component, which in certain situations might make things more readable and allow you to separate these effects later on to custom hooks more easily.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      The 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useEffect
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       runs by default on every single render, unless you pass dependencies to it. If an effect has dependencies it only runs when they change. By passing an empty array there are no dependencies that can change, so the effect only runs on 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      componentDidMount
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      .
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      You can also provide an effect with a function return statement. This return statement is ran when the component using the hook is unmounted. If you have subscriptions or need to remove event listeners etc, this is where you have to do that. 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;em&gt;&#xD;
      
                      
    
    
      Always remember to return a function that cleans up possible subscriptions and removes event listeners to prevent memory leaks!
    
  
  
                    &#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Here are examples showing the situations when 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useEffect
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       runs depending on the dependencies passed to it;
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      A common source of bugs when using 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useEffect
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       is to use external functions or props from outside of the effect itself. This is not considered safe and could lead to bugs. You should always be passing all of the props that the effect needs in the dependencies. And you should always be calling functions with the props the effect itself has.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Below are some examples. All of them 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
      
      
        work
      
    
    
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       but especially the first one could cause bugs in certain situations.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  useLayoutEffect

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      The signature for this hook is the same as for 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useEffect
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      . In practice it means that they behave the same and technically you could replace almost all effects with 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useLayoutEffect
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      . The key difference is that 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useLayoutEffect
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       waits for all the DOM mutations before rendering while 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useEffect
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       doesn’t. Not waiting for DOM mutations is usually the preferred way, so unless you deliberately need to block the browsers paint you should be using 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useEffect
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      . In the rare cases when you need to do some visual calculations or DOM mutation before the browser paints, you can use 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useLayoutEffect
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      . This way we prevent the layout from flickering suddenly or changing in some way after the initial render.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  useContext

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      The 
      
    
    
                      &#xD;
      &lt;b&gt;&#xD;
        
                        
      
      
        useContext
      
    
    
                      &#xD;
      &lt;/b&gt;&#xD;
      
                      
    
    
       hook does what the name implies. React offers a thing called the Context API, which is a way to pass down props throughout your application. Contexts are helpful when you run into things like excessive prop drilling, which can cause some problems when a codebase grows in size and changes a lot. The 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useContext
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       hook makes it easier to consume that context. This becomes especially helpful if you have nested or multiple contexts.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Note that you need to reference the actual context 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
      
      
        itself
      
    
    
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      , even though you can only read the context when using the 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useContext
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       hook.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  useReducer

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      If you need to handle more complex states or find yourself having a bunch of different state calls all over a component you should use 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useReducer
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      . You get a cleaner and more readable way to set your state. All through the same dispatch function rather than separate update functions.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Let’s say we have a large form with lots of states and complexity. It can often start to look like this;
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      When our component is littered with different setters and variables, it becomes harder to read and see what the actual state is in which situation. This is where 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useReducer
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       comes in.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      We moved our logic out of the component to 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      createUserReducer
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       where we can only focus on the logic. This way, updating the state is always done through the same dispatch function which returns the new state that is then passed to the component state. The reducer-dispatch flow is very similar to Redux, if you’re familiar with that. There are even arguments for that if your state management doesn’t need all the Redux features, you could get away with using just 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useState
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      , 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useReducer
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       and 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useContext
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       in a smaller applications.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  useCallback &amp;amp; useMemo

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Why am I grouping these two together? Because they are very much alike, with only a minor difference.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      These are hooks you should look at when you start optimizing your application. They help you skip expensive operations that occur every render.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      That means that these are the same;
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      If the dependencies haven’t changed these hooks just return the previous value or function. 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  useRef

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Refs are usually used for managing element focus or for example selecting something. You can access the node which the ref is referring to with 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      .current
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      . But since we are now using functions we can’t use the traditional React 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      createRef
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      , since in function components it will be reset on every render.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      That is why we have a 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useRef
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       hook.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      But 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useRef
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       isn’t only useful for DOM refs, you can actually use it like an instance variable. The refs 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      .current
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       is basically an instance variable, which will persist for the whole lifetime of the component where it is used.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Just like 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      createRef
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      , 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useRef
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       provides a mutable value in its 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      .current
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       property which will persist for the full lifetime of the component using it. Mutating the 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      .current
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       property will not re-render the component using it.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useRef
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       should always be used carefully and you should check if there are alternatives before using it.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      An example where 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useRef
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
      
      
        could
      
    
    
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       come in handy is when you do not want an effect to run on the initial render (there are other ways to solve this too);
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
                  
  Custom Hook

                &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      As a final example let’s write a simple demo hook to use event listeners called 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useEventListener
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      . The function will accept three parameters: the 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
      
      
        event name
      
    
    
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      , a 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
      
      
        handler function
      
    
    
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      , and the 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
      
      
        element
      
    
    
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       (window by default) to add the listener to. 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      We start with a 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      useEffect
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       where we add our event listener to your element. Since we don’t want memory leaks, we remember to remove the event listeners in the return function. We also remember that we need to add our dependencies, making the hook run whenever the dependencies change.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Let’s put this hook to use by making a window resize handler which tells us the current window aspect ratio. First, we need a helper function to get the window aspect ratio;
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Next, we set the initial state in the component using our custom hook by passing it the function we just created. It will only be ran on the initial render. Now we can create a handler which we’ll pass to the hook. It also uses the 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      setWindowSize
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       function and passes it the helper function we created.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Now we can see the 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      windowSize
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       updating and the 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
      
      
        height
      
    
    
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       and 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
      
      
        width
      
    
    
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       properties update whenever we resize the window. They are just regular variables we can use.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      We could easily add another event listener in our components now. Let’s add another handler using our hook that tracks the position of our cursor;
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Then just render the state like before;
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Our hook is not perfect, it’s not tested or covers all the edge cases but I think it serves as a good example.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      And that’s a wrap.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      People experienced with Hooks API might’ve noticed I left out a few of the built-in hooks. If you find yourself using these hooks, you’re probably already pretty comfortable with hooks or have ran into a pretty specific situation. For anyone else interested in these hooks I didn’t mention, you can see how and when to use them in the documentation for 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://reactjs.org/docs/hooks-reference.html#useimperativehandle" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
      
      
        useImperativeHandle
      
    
    
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
       and 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://reactjs.org/docs/hooks-reference.html#usedebugvalue" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
      
      
        useDebugValue
      
    
    
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      .
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/coding-p1aklpb9inathctymhzr4gwpw9ukjgekrjw25dbxmo.jpeg" length="73997" type="image/jpeg" />
      <pubDate>Thu, 10 Oct 2019 07:36:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2019/10/react-series-part-1-hooks</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/coding-p1aklpb9inathctymhzr4gwpw9ukjgekrjw25dbxmo.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/coding-p1aklpb9inathctymhzr4gwpw9ukjgekrjw25dbxmo.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Cloud Practitioner -sertifikaatti bisneslähtökohdista</title>
      <link>https://www.webscale.fi/2019/10/cloud-practitioner-sertifikaatti-bisneslahtokohdista</link>
      <description>Teknologiakonsulttien kanssa päiviä viettäessäni olen päässyt ujuttamaan itseäni pilven, softan, analytiikan ja datan maailmaan jo tovin. Modernien teknologioiden virta on pikkuhiljaa alkanut toden teolla viedä mennessään ja jokunen viikko sitten tuli sopiva sauma näyttää, että siinä oppii bisnesnainenkin uimaan. Kävin tekemässä ensimmäisen virallisen AWS-sertifikaattikokeeni AWS Cloud Practitioner -nimellä kulkevaa foundational tason sertifiointia varten. AWS:n teknologiat […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Teknologiakonsulttien kanssa päiviä viettäessäni olen päässyt ujuttamaan itseäni pilven, softan, analytiikan ja datan maailmaan jo tovin. Modernien teknologioiden virta on pikkuhiljaa alkanut toden teolla viedä mennessään ja jokunen viikko sitten tuli sopiva sauma näyttää, että siinä oppii bisnesnainenkin uimaan. Kävin tekemässä ensimmäisen virallisen AWS-sertifikaattikokeeni AWS Cloud Practitioner -nimellä kulkevaa foundational tason sertifiointia varten. AWS:n teknologiat ovat olleet välillisesti osa arkeani nyt reilun puolen vuoden ajan, mutta ensimmäistä kertaa laitoin tietoni niistä testiin. Läpi meni niin, että heilahti.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Muutama hikikarpalo tuli kuitenkin pyyhittyä ohimoilta kokeeseen valmistautuessa siitä yksinkertaisesta syystä, että teknologioita, palveluita, konsepteja ja työkaluja on kokeen scopessa valtavasti ja niiden väliset erot ja kunkin spesifit käyttötarkoitukset on tunnistettava. Kyseisten aihepiirien hallitseminen on toki merkittävästi helpompaa mikäli ne ovat osa omaa päivittäistä työkalupakkia, mutta itselläni näin ei suoranaisesti ollut ja aikaa valmistautumiseen oli hyvin rajallisesti.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         Mikä on Cloud Practitioner -sertifikaatti?
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Cloud Practitioner on sertifikaatti, joka testaa teknisen syväosaamisen sijaan AWS:n julkipilven kokonaiskuvan hahmottamista ja sen käyttökohteiden ymmärtämistä. Se on myös merkittävästi laajempi kokonaisuus kuin esimerkiksi AWS:n tarjoamat verkossa itsenäisesti tehtävät akkreditoinnit, kuten AWS Business Professional. Cloud Practitioner on suunniteltu kahdelle kohderyhmälle: teknisille asiantuntijoille ensimmäiseksi sertifioinniksi, jonka päälle rakentaa perehtyneempää arkkitehtuuri- ja erikoisosaamista, sekä liiketoiminnan, myynnin ja hallinnon henkilöille tuomaan lisää substanssia heidän työhönsä.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Cloud Practitioner käsittää neljä osa-aluetta: teknologiat, julkipilven peruskonseptit, tietoturva, sekä kustannusoptimointi. Teknologiat ja pilven fundamentit kattavat valtaosan koekysymyksistä, tietoturva-asiat noin viidenneksen ja kustannusten hallinnan kysymyksiä on vähiten. Näin ollen kokeeseen valmistautuessa on järkevää miettiä osa-aluekohtaista jakoa ajankäyttöön etenkin jos aika on kortilla. Pilvipalveluiden peruskonseptit ja kustannusoptimoinnin ratkaisut kaipasivat omalla kohdallani selkeästi vähiten läpikäyntiä, joten oli luontevaa keskittyä opiskelussa lähinnä teknologioihin, tietoturvan kulkiessa siinä jatkuvasti mukana. Kokosin alle muutamia vinkkejä valmistautumiseen riippuen siitä, mihin osa-alueisiin kokee tarvitsevansa eniten tukea.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
         Teknologiat
        &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Mikäli perustason tekninen terminologia ei ole ennalta tuttua, kannattaa sen parissa viettää jonkin verran aikaa. Ratkaisujen ja työkalujen oppiminen on sujuvampaa, kun whitepapereita pystyy lukemaan nopeasti pienellä vaivannäöllä, ja opetusvideoita ei tarvitse jokaisen termin kohdalla pysäyttää selityksen hakemista varten. Ja niitä whitepapereita todella kannattaa käydä läpi. AWS kategorisoi teknologiansa opetusmateriaaleissa varsin luontevasti eri osakokonaisuuksiin, mikä helpottaa niiden välisten suhteiden ja eroavaisuuksien, sekä erilaisten käyttökohteiden hahmottamisessa ja muistamisessa.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Teknologioiden osalta kokeen kysymysten määrä vaihtelee osakokonaisuuksittain ja esimerkiksi Compute ja Database -kategorioiden palvelut on hyvä osata perinpohjaisesti. Niistä riittää kokeeseen todennäköisesti laajemmin kysyttävää, kuin esimerkiksi koneoppimisen työkaluista.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
         Pilven peruskonseptit
        &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Jos julkiset pilvipalvelut ja niiden toimintamekanismit ovat yleisesti hallussa, tämä osio on enää lähinnä semantiikkaa. Sanavalintojen ja konseptien kirjaimellisen muotoilun kanssa kannattaa olla tarkka, sillä kokeessa on myös kompakysymyksiä, jotka testaavat konseptien AWS -spesifejä ilmaisuja. Esimerkiksi pilven “elasticity” ja “scalability” -ominaisuudet ovat keskenään hyvin samankaltaisia, mutta niitä käytetään eri yhteyksissä ja kuvaamaan erilaisia toimintoja. Samankaltaisuuteen tuudittautuminen voi maksaa kokeessa pisteitä hyvin äkkiä.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Mikäli julkipilven perusrakenteet eivät vielä ole selkäytimessä, on ne ehdottomasti saatava sinne. Niiden päälle nimittäin rakentuu kaikki muu – teknologioista kustannusoptimointiin. AWS:n Well Architected Framework tukee näiden konseptien oppimista hyvin ja on äärimmäisen hyödyllinen osata Cloud Practitioner -kokeessa. Tämän lisäksi AWS:n globaali infrastruktuuri tulee tuntea, sillä se on erottamaton osa heidän parhaita käytäntöjään.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
         Tietoturva
        &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          AWS kertoo paljon jaetun vastuun mallistaan, joka määrittelee mitkä osat tietoturvasta ovat heidän vastuullaan ja mitkä asiakkaan vastuulla. Lähtökohtaisesti on hyvä ymmärtää, mitä kuuluu pilvialustan itsensä turvallisuuteen, ja mitä puolestaan pilvialustan päällä toteutettavien palveluiden turvallisuuteen. AWS:n vastuulla on pilvialustan turvallisuus – asiakkaan vastuulla puolestaan hänen toteuttamansa ratkaisun turvallisuus. Näissäkin on teknologiakohtaisia erityispiirteitä ja niitä on hyvä ottaa huomioon teknologioita opeteltaessa.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          AWS:lla on myös useita tietoturvaan erikoistuneita palveluita ja toimintoja, joita kokeessa nousee mahdollisesti esiin.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
         Kustannusoptimointi
        &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Monet AWS ratkaisujen taloudelliset hyödyt juontuvat suoraan pilvipalveluiden fundamenteista ja skaalaetujen siirtämisestä asiakkaille, sekä teknologioiden käytettävyydestä todellisen tarpeen mukaan sen sijaan, että kapasiteettia varattaisiin reilusti etukäteen. Kun Cloud Concepts -osiosta on hyvä ymmärrys, on helppo myös nähdä yleisellä tasolla julkipilven tuomat taloudelliset hyödyt. Sertifikaattikoetta varten on tosin hyvä tunnistaa yleisten hyötyjen lisäksi eri skenaarioissa optimaalisimmat kustannusmallit, sillä kokeen tarkoitus on varmistaa henkilöllä olevan kokonaisymmärrys siitä, mitä hyötyjä missäkin yksittäisessä tapauksessa on saavutettavissa.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Tämä vaatii eri palveluiden kustannusrakenteen ymmärtämistä, hyvin tyypillisesti kustannusoptimoinnin kysymykset koskevat EC2 instanssityyppien käyttöä eri skenaarioissa. Näistä löytyy myös kompakysymyksiä ja erikoistapauksia, eli yksityiskohtien kanssa on jälleen kerran oltava tarkkana.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         Ja näin pääset alkuun
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          AWS itse tarjoaa valtavan määrän oppimateriaalia valmistautumisen tueksi ja olennaista onkin tunnistaa sieltä ne hyödyllisimmät juuri tätä koetta varten. Harjoituskokeita on hyvä tehdä jo heti alkuun kokonaiskuvan saamiseksi, ja omalla kohdallani koin ne hyödyllisiksi myös aivan valmistautumisen loppuvaiheessa, juuri ennen koetta. Esimerkiksi Whizlabs tarjoaa harjoituskokeita, joiden sisältö ja toiminnallisuudet ovat riittävän lähellä todellisen kokeen sisältöä, jotta niistä on aitoa hyötyä valmistautumisen kannalta ja ennen koetta vastausrutiinin rakentamiseksi. Oppimateriaalien palveluntarjoajia on kuitenkin useampia ja mikäli tuntee itsensä oppijana hyvin, pystyy jo sen perusteella valitsemaan sopivimmat materiaalit ja menetelmät. Omalla kohdallani selkeästi suurin hyöty oli harjoituskokeista, sekä niiden tarjoamista oikeista vastauksista ja tarkemmista selityksistä kysymyksiin.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Suosittelen kuitenkin käyttämään useampaa kuin yhtä oppimateriaalityyppiä – esimerkiksi hyvin toimiva combo on katsoa ensin ylätason opetusvideoita joista saa helposti kokonaiskuvan asioista ja siirtyä niiden jälkeen whitepapereihin hieman syvällisemmän tiedon hankkimiseksi.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Yhtä kaikki, Cloud Practitioner on varsin toimiva kokonaisuus liiketoiminnallisistakin lähtökohdista ja sen sisällön omaksuminen helpottaa teknologian ja bisneksen välimaastossa kulkemista merkittävästi. Vaikkei pilvipalveluiden kanssa suoraan työskentelisikään, tarjoaa Cloud Practitionerin tuoma oppi vähintäänkin työkaluja vertailla ratkaisuja moninaisten digitaalisten palveluiden toteuttamiseen muuttuvassa liiketoimintaympäristössä. On virkistävää huomata oman ajattelunsa ja tietämyksensä kehittyvän mitä laaja-alaisemmin erilaisia ilmiöitä tulee käsiteltyä. Ja kuka tietää millainen lumipalloefekti tällä onnistuneella sertifioinnilla vielä on allekirjoittaneeseen, maailma on mahdollisuuksia täynnä!
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/IMG_0974-p1aklpb9inathctymhzr4gwpw9ukjgekrjw25dbxmo.jpeg" length="165421" type="image/jpeg" />
      <pubDate>Wed, 02 Oct 2019 10:37:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2019/10/cloud-practitioner-sertifikaatti-bisneslahtokohdista</guid>
      <g-custom:tags type="string">Teknologiat,Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/IMG_0974-p1aklpb9inathctymhzr4gwpw9ukjgekrjw25dbxmo-30230ee7.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/IMG_0974-p1aklpb9inathctymhzr4gwpw9ukjgekrjw25dbxmo.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Offline Video Surveillance using AWS DeepLens</title>
      <link>https://www.webscale.fi/2019/09/video-surveillance-using-aws-deeplens</link>
      <description>I have recently been prototyping with an AWS DeepLens device. We were playing around with an idea of theme songs for people working at the office, and it seemed like a fun idea to have the DeepLens automatically play the theme song for the person who enters the office. With this in mind I was […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          I have recently been prototyping with an AWS DeepLens device. We were playing around with an idea of theme songs for people working at the office, and it seemed like a fun idea to have the DeepLens automatically play the theme song for the person who enters the office. With this in mind I was trying to find a smooth development workflow for the DeepLens and the related AWS infrastructure and to create a working prototype of the project. In this blog, I’ll discuss the project itself and some of the things I have learned during the project.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         What is DeepLens?
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          DeepLens is a deep learning enabled video camera from AWS. Its main purpose is to offer developers an easy way to get hands-on experience in deep learning. The first version became available in 2018, and a second version with some hardware and software improvements was published in 2019.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          The device is basically a small computer with a built-in 4MP video camera and it has the ability to deploy and run visual deep learning models created using SageMaker, Amazon’s tool for building such models. Amazon offers a wide variety of example projects for the DeepLens, such as bird classification, face detection, and activity recognition, that can be deployed to the device in a matter of minutes.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Behind the scenes, DeepLens uses
          &#xD;
    &lt;a href="https://aws.amazon.com/greengrass/" target="_blank"&gt;&#xD;
      
           Amazon IoT Greengrass
          &#xD;
    &lt;/a&gt;&#xD;
    
          to deploy and run lambda functions in the device, and the device can also be used as an ordinary Greengrass core instead of deploying projects through the DeepLens console.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         The Standard Development Pipeline
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          When building a DeepLens project from scratch, the first thing that you need is a deep learning model. The models are built using
          &#xD;
    &lt;a href="https://aws.amazon.com/sagemaker/" target="_blank"&gt;&#xD;
      
           Amazon SageMaker
          &#xD;
    &lt;/a&gt;&#xD;
    
          from which they can be transferred to the DeepLens device. It is also possible to select a model from a library of pre-trained models offered by AWS.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          I addition to the trained model, a DeepLens project needs a lambda function (written in Python 2.7) that at minimum passes the visual data from the device’s camera to the model for inference and then publishes the results.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          The model and the lambda function are then deployed to the DeepLens device using a dedicated DeepLens console in the AWS Management Console. Behind the scenes, the console creates a Greengrass deployment with certain hard coded parameters and deploys that on the device. This is excellent for fast prototyping, but makes certain things a bit more complicated, which I will discuss more later in the blog.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          AWS offers a nice selection of example projects which showcase not only the models and lambda functions deployed into the DeepLens, but also how the device can be used in connection with other parts of the AWS infrastructure, especially the
          &#xD;
    &lt;a href="https://aws.amazon.com/rekognition/" target="_blank"&gt;&#xD;
      
           Amazon Rekognition Image
          &#xD;
    &lt;/a&gt;&#xD;
    
          . Most examples involve dividing the image analysis into different subtasks. Some of these are performed in the DeepLens device, after which the images that require further processing are uploaded to an S3 bucket and analysed using Rekognition.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          As mentioned above, DeepLens uses Greengrass to run the projects on the device. When the device is registered to an account, AWS automatically sets it up as a Greengrass core. The project deployments are also basically Greengrass deployments using certain hard coded resources and settings. Being aware of this is useful, since examining the Greengrass deployment parameters makes it easier to understand what can and cannot be done without extra tweaking.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         The Project
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          I wanted to build a quick prototype of a light video surveillance system using DeepLens as an autonomous security camera. This would be done by pointing the camera at the door, and performing face recognition on the people entering the office, logging information about unidentified people. I took a privacy-oriented approach, where I wanted to build the system so that everything is done on the device. In other words, no uploading images of passersby to S3 for classification using Rekognition. In addition to identifying people, I wanted to be able to encrypt images containing unidentified faces locally before storing them to an S3 bucket, or failing that, to store the images locally to be retrieved later using an SSH connection over the local Wi-Fi network.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          The first option that came to mind was to build a custom model using SageMaker using employee profile photos as training data. This again required uploading the images to cloud, and seemed like it might prove to be pretty complex, so I did some more research and found a DeepLens project called
          &#xD;
    &lt;a href="https://github.com/medcv/OneEyeFaceDetection" target="_blank"&gt;&#xD;
      
           OneEyeFaceDetection
          &#xD;
    &lt;/a&gt;&#xD;
    
          that does manage to perform face recognition on the DeepLens device. The project uses
          &#xD;
    &lt;a href="https://github.com/ageitgey/face_recognition" target="_blank"&gt;&#xD;
      
           face-recognition
          &#xD;
    &lt;/a&gt;&#xD;
    
          , a wonderful python library by Adam Geitgey, and I decided to try the same method. Geitgey’s library performs face recognition using a C++ machine learning toolkit called
          &#xD;
    &lt;a href="https://dlib.net/" target="_blank"&gt;&#xD;
      
           dlib
          &#xD;
    &lt;/a&gt;&#xD;
    
          , which includes excellent face detection and recognition functionality.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          The great thing about this library is that there is no need to retrain the underlying model when adding or removing faces to the list of known persons. The system works by first detecting faces in the image, and then calculating feature vectors for each of the detected faces. After obtaining the feature vectors, we simply compare those to feature vectors generated from our reference photos of known persons, and find the closest one in the sense of the Frobenius norm [1].
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          If none of the reference vectors are similar enough, we label the face as unknown. Adding a new person to the list of known people is as simple as generating a feature vector for that person, and adding it to the feature vector database, together with some id linking the feature vector to the identity of the person.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Using this library makes it easy to perform face detection on the DeepLens device, although at the cost of not being able to take advantage of the GPU processing capabilities of the device. I am aware that this is really not the way that DeepLens is primarily meant to be used, but it is a commercially available device that works well with AWS, and is an interesting hardware alternative for custom devices.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         Problems and Solutions
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          There were a few problems I encountered while working on the project. The first was figuring out how to get the face-recognition library installed on the device. At that point I was completely new to the device, and didn’t really have a clear picture of the environment in which the lambda functions are executed so a certain amount of trial and error over an SSH connection was involved.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Installing the face-recognition library requires connecting to the device over SSH, installing
          &#xD;
    &lt;code&gt;&#xD;
      
           cmake
          &#xD;
    &lt;/code&gt;&#xD;
    &lt;em&gt;&#xD;
    &lt;/em&gt;&#xD;
    
          (and possibly other supporting libraries), then installing
          &#xD;
    &lt;code&gt;&#xD;
      
           dlib
          &#xD;
    &lt;/code&gt;&#xD;
    
          library from source files, and finally installing the
          &#xD;
    &lt;code&gt;&#xD;
      
           face-recognition
          &#xD;
    &lt;/code&gt;&#xD;
    
          python library itself.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          After this I was able to use
          &#xD;
    &lt;code&gt;&#xD;
      
           face-recognition
          &#xD;
    &lt;/code&gt;&#xD;
    
          inside the SSH connection, but it was still inaccessible to the lambda function, probably due to the Greengrass container in which the lambda is executed. I fixed this simply by copying the necessary libraries to another directory that
          &#xD;
    &lt;em&gt;&#xD;
      
           is
          &#xD;
    &lt;/em&gt;&#xD;
    
          visible to the lambda functions (
          &#xD;
    &lt;code&gt;&#xD;
      
           /usr/lib/python2.7/dist-packages/
          &#xD;
    &lt;/code&gt;&#xD;
    
          ), but there are probably other ways of doing this as well.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Accessing S3 required adding new policies to the
          &#xD;
    &lt;em&gt;&#xD;
      
           AWSDeepLensGreengrassGroupRole
          &#xD;
    &lt;/em&gt;&#xD;
    
          defined automatically when the DeepLens device is registered to an AWS account. I disliked the idea of editing an existing role for the purpose, and ended up creating a new role for the project. In order to have the DeepLens use my newly created role, I needed to go to the Group settings in the IoT Greengrass console, where the Group role is defined. The group role is one of the things that are defined automatically when a new DeepLens device is registered to an AWS account.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Even if you do decide to edit the existing role instead of creating a new one, the Group settings are worth checking out. They might give some insight into why something is not working as expected in your DeepLens project. You can for instance set the user ID and group ID that are used to run the lambda functions, and enable or disable containerisation.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          If you want to have write access to the filesystem on the DeepLens while keeping the containerisation, you can also add write permissions for the lambda functions in the Resources section in the Greengrass group console. This is a bit more fiddly though, since whenever a new DeepLens project is deployed, the resources available to the lambda function are reset to the default settings and need to be adjusted again.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         The End Result
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Here’s how the project feed from the DeepLens looks like with the face recognition enabled. The bounding box is produced by the face-recognition library and the initials are stored together with the feature vectors.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/WatchLens-demo.gif" alt="Watchlens demo" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          The next phase is to detect visually when the door opens. With this addition, the door can be used as a trigger for the face detection, instead of keeping the face detection algorithm running all the time. One way to do this is by using the floodfill algorithm from the OpenCV library. Floodfill basically starts from a specific pixel in the image, and then proceeds to colour all connected pixels that are close enough in colour, similar to the ‘paint bucket’ fill tool in image editing software.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          If we limit the examined area to the top part of the door and its surroundings, we can fill the door, measure the filled area, and use the area to decide whether the door is open or not. If the area is too small, the door must be open. The following image shows the idea. I’m limiting the flood filled area to the top part of the door to minimise false positives caused by objects between the camera and the door. How well this works depends on the colouring of the door and its surroundings, and various other factors. Below you can see the system in action.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/watchlens-new.gif" alt="Watchlens demo" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         Conclusions
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          All in all, I’m quite happy with the results of this experiment. The theme song functionality wasn’t yet implemented, but with working face recognition, it’s only a matter of sending a message to another device. Realising that the DeepLens basically functions as a Greengrass core made it easier to find solutions to the problems I encountered. Of course, the way I built the project means that I’m intentionally ignoring the deep learning capabilities of the device, since I’m not taking advantage of SageMaker models and the GPU computing capabilities that the device offers. Then again, I consider being able to use the device also for this sort of prototyping an added bonus that increases its value for me.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
         References
        &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          [1]
          &#xD;
    &lt;a href="https://en.wikipedia.org/wiki/Matrix_norm#Frobenius_norm" target="_blank"&gt;&#xD;
      
           https://en.wikipedia.org/wiki/Matrix_norm#Frobenius_norm
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/jari-artikkelikuva-p1aklq93phc3syslh0edoyo6hnpxr5ib3ojjmnajgg.jpeg" length="82412" type="image/jpeg" />
      <pubDate>Mon, 23 Sep 2019 06:29:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2019/09/video-surveillance-using-aws-deeplens</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/19A18042-0CC7-422B-98C1-3C6264ACCEE8.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/jari-artikkelikuva-p1aklq93phc3syslh0edoyo6hnpxr5ib3ojjmnajgg.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kulissien takana: Suomi24-keskustelualustan järeä uudistus</title>
      <link>https://www.webscale.fi/2019/09/kulissien-takana-suomi24-keskustelualustan-jarea-uudistus</link>
      <description>Pääsimme toteuttamaan Allerille Suomi24-keskustelualustan mittavaa uudistusta. Projektia on ollut toteuttamassa Jukka Ukkonen, ja hän kertoo projektista hieman tarkemmin: “Suomi24-keskustelualustan uudistusprojekti on ollut erittäin mielenkiintoinen. Ensinnäkin keskustelualustalla on pitkä historia ja sillä on erittäin paljon käyttäjiä. Keskustelualusta oli ollut muutaman vuoden ylläpitovaiheessa, eikä uusia ominaisuuksia oltu kehitetty hetkeen. Teknologia ei ollut ajan tasalla, joten prosessien modernisoinnille […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;i&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
      
      
        Pääsimme toteuttamaan Allerille Suomi24-keskustelualustan 
        
      
      
                        &#xD;
        &lt;a href="https://webscale.fi/asiakastarinat/suomi24-uudistuu/"&gt;&#xD;
          
                          
        
        
          mittavaa uudistusta. 
        
      
      
                        &#xD;
        &lt;/a&gt;&#xD;
        
                        
      
      
        Projektia on ollut toteuttamassa Jukka Ukkonen, ja hän kertoo projektista hieman tarkemmin:
      
    
    
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/i&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      “Suomi24-keskustelualustan uudistusprojekti on ollut erittäin mielenkiintoinen. Ensinnäkin keskustelualustalla on pitkä historia ja sillä on erittäin paljon käyttäjiä. Keskustelualusta oli ollut muutaman vuoden ylläpitovaiheessa, eikä uusia ominaisuuksia oltu kehitetty hetkeen. Teknologia ei ollut ajan tasalla, joten prosessien modernisoinnille ja automatisoinnille oli jo selvä tarve
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      .
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Uudistukseen on kuulunut ohjelmistokehitysprosessin ja -työnkulun muutoksia, sovellusten muuttaminen Docker-konteissa suoritettavaksi, sovellusten siirto AWS-palveluihin, CI/CD automatisointi sekä käyttöliittymän modernisointi (frontend- ja backend-muutokset).
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Suomi24:n lokaali kehitysympäristö uudistettiin siten, että kaikkia sovelluksia ajetaan lokaalisti Docker-konteissa. Kaikki lokaalin kehitysympäristön pystytykseen vaadittavat toimenpiteet automatisoitiin mahdollisimman pitkälle docker-composen ja bash-skriptien avulla. Aiemmin uusilla kehittäjillä kesti tyypillisesti kahdesta viikosta kuukauteen pystyttää toimiva kehitysympäristö. Automatisoinnin jälkeen kehitysympäristö saadaan toimintaan alle puolessa tunnissa. Asiakkaan tiimille opetettiin myös gitin käyttöä ja mietittiin yhdessä tiimin kanssa sopiva versionhallintamalli.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Suomi24-palvelun node.js:llä toteutetun backend-sovelluksen riippuvuuksien hallinta vaihdettiin bowerista npm:ään ja paketointityökalu Gulpista Webpackiin. Samalla päivitettiin joitain vanhoja kirjastoja ja järkevöitettiin paketointiprosessia.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Suomi24 node.js backend-sovelluksen suoritusalusta vaihdettiin AWS:än dedikoiduilta palvelimilta Docker-kontteihin ECS klusteriin. Serverin päivitys toteutettiin aiemmin manuaalisesti palvelimilla ajettavilla bash-skripteillä. Uudistuksessa päivitysten asennusprosessi automatisoitiin CircleCI:n, CloudFormationin ja AWS CodeDeployn avulla. 
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Näiden muutosten jälkeen sivustolle haluttiin täysin uusi ilme, jolloin seuraava looginen askel oli modernisoida ja uudistaa käyttöliittymä/frontend-koodi aiemmin käytetystä FlightJS:stä Reactiin. Käyttöliittymän uudistuksessa näkymiä uudistetaan yksi kerrallaan. Uudistus pitää sisällään Reactin lisäksi muitakin osia, kuten esimerkiksi mainosten hallinnan ja SEO:on liittyvien ongelmien ratkaisut. Näkymien uudistamisen yhteydessä on tehty myös muutoksia backend-sovelluksille, kuten esimerkiksi React-sovelluksen renderöinti palvelimella suorituskyvyn ja SEO:n parantamiseksi sekä muutoksia datan hakuun ja käsittelyyn.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Lähitulevaisuudessa tietokannat migratoidaan AWS:n RDS-palveluun sekä nykyiset backend-sovellukset pilkotaan omiksi mikropalveluiksi AWS:n ECS-palveluun ja Lambda-funktioiksi. Myös testauskäytäntöjä uudistetaan syksyn aikana.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Projekti on tällä hetkellä kestänyt noin vuoden. Ensimmäinen osa alkoi syksyllä 2018, ja siinä oli vahvasti mukana Markus Nousiainen. Tämä projektin ensimmäinen osa päättyi tammikuussa 2019, ja heti sen jälkeen alkoi nyt käynnissä oleva toinen osa. Tällä osalla ei ole tarkkaa lopetusaikaa. Kehitystiimimme toimii hyvin, ja yritämme jatkuvasti parantaa tuotteen laatua ja omaa tekemistämme esimerkiksi kehittämällä ohjelmistokehitysprosessia ja hyödyntämällä uusia teknologioita.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Asiakkaan kanssa tehdään erittäin tiivistä yhteistyötä. Olen mukana asiakkaan tiimissä ja työskentelen paljon heidän tiloissaan. Arjessa ei välttämättä edes erota, että olen Webscalen väkeä. Tämä työskentelytapa mahdollistaa parhaan mahdollisen lopputuloksen. Olen itse tykännyt tästä projektista. On ollut palkitsevaa auttaa asiakasta sopivien ratkaisujen löytämisessä.”
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/web-6979-1-p1aklq93phc3syslh0edoyo6hnpxr5ib3ojjmnajgg.jpeg" length="61618" type="image/jpeg" />
      <pubDate>Mon, 09 Sep 2019 06:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2019/09/kulissien-takana-suomi24-keskustelualustan-jarea-uudistus</guid>
      <g-custom:tags type="string">Teknologiat,Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/web-6979-1-p1aklq93phc3syslh0edoyo6hnpxr5ib3ojjmnajgg.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/web-6979-1-p1aklq93phc3syslh0edoyo6hnpxr5ib3ojjmnajgg.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kesän kootut – skumppakilistelyä, masurapsuja ja rentoa yhdessäoloa</title>
      <link>https://www.webscale.fi/2019/07/kesan-kootut-skumppakilistelya-masurapsuja-ja-rentoa-yhdessaoloa</link>
      <description>Elokuu on ihan nurkan takana ja suurin osa lomalaisista palailee sorvin ääreen. Ei meillä silti ihan toimettomina olla oltu kesällä muutoinkaan, kuten etenkin instagramiamme seuraavat tietävät! Ajattelinkin koota tähän joitakin hetkiä meidän kesän työpäivien varrelta. Suvi toivotettiin tervetulleeksi tietysti kesäjuhlien muodossa. Veneilimme jo toista kertaa Stora Herröön, missä viihdyimme muun muassa ruoan, juoman, saunan ja […]</description>
      <content:encoded />
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/kesa-1-e1563879847668-p1am6s2gihfmgxxbc667j2ecgkixxszta1zh88pbsw.jpeg" length="205887" type="image/jpeg" />
      <pubDate>Tue, 23 Jul 2019 11:07:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2019/07/kesan-kootut-skumppakilistelya-masurapsuja-ja-rentoa-yhdessaoloa</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/kesa-1-e1563879847668-p1am6s2gihfmgxxbc667j2ecgkixxszta1zh88pbsw-9dc7d8c0.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/kesa-1-e1563879847668-p1am6s2gihfmgxxbc667j2ecgkixxszta1zh88pbsw.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>AWS Re:Inforce 2019</title>
      <link>https://www.webscale.fi/2019/07/aws-reinforce-2019</link>
      <description>Viime syksyn re:Inventissä julkistettu AWS:n tietoturvaan keskittynyt konferenssi sai konferenssiyleisöltä ansaitut aplodit: viime vuosina vauhdilla kasvanut Las Vegasin tapahtuma houkutteli paikalle yli 50 000 kävijää. Allekirjoittanutta on aina kiinnostanut nimenomaan infrastruktuuritason tietoturva. Vastaavasti hallinta (governance) ja yhteensopivuus (compliance) ovat asioita, joiden kanssa tehdään usein yhteistyötä asiakkaiden kanssa. Tätä silmälläpitäen eurooppalaisesta näkökulmasta lähempänä Bostonissa järjestettävä, pelkästään […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Viime syksyn re:Inventissä julkistettu AWS:n tietoturvaan keskittynyt konferenssi sai konferenssiyleisöltä ansaitut aplodit: viime vuosina vauhdilla kasvanut Las Vegasin tapahtuma houkutteli paikalle yli 50 000 kävijää. Allekirjoittanutta on aina kiinnostanut nimenomaan infrastruktuuritason tietoturva. Vastaavasti hallinta (governance) ja yhteensopivuus (compliance) ovat asioita, joiden kanssa tehdään usein yhteistyötä asiakkaiden kanssa. Tätä silmälläpitäen eurooppalaisesta näkökulmasta lähempänä Bostonissa järjestettävä, pelkästään pilvialustan tietoturvaan keskittynyt konferenssi on loistava keksintö.
         &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Julkisten pilvipalveluiden kasvu näkyy hyvin aiheen tiimoilta järjestetyissä tapahtumissa. Itse vierailin Las Vegasissa vuonna 2015 ja tällöin paikalla oli noin 20 000 vierasta. Siksi tuntuikin käsittämättömältä, että tiistai-aamun avausta, AWS CISO Steve Schmidtin keynotea oli pakkautunut kuuntelemaan noin 10 000 ihmistä yli 50 maasta. “Security is job zero”. Hyvä että tärkeä viesti kiinnostaa muitakin.
         &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
          IT-alan konferensseissa mielenkiintoisin anti kohdistuu yleensä asiakkaiden esityksiin. Ensiksi kerrotaan ongelmallinen case ja tämän jälkeen esitetään ratkaisu. Näin tälläkin kertaa; erilaiset DevSecOps -prosessiin liittyvät aspektit, julkipilven käyttöönotto tietoturva edellä ja turvallisen ulkokehän (secure perimeter) rakentaminen sovellusten ympärille tarjosivat mielenkiintoisia näkökulmia. Security Jam taas mahdollisti leikkimieliseen kisailuun: joukko haasteita joita ratkaistiin yhdessä pienen ryhmän kanssa samalla muita vastaan kilpaillessa tarjosi mukavaa viihdettä iltapäivän ajaksi.
         &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Vaikka re:Inventistä tutut, massiiviset tuotejulkistukset loistivat poissaoloillaan, nähtiin tapahtumassa silti pienempiä julkistuksia.
          &#xD;
    &lt;a href="https://aws.amazon.com/blogs/aws/new-vpc-traffic-mirroring/" target="_blank"&gt;&#xD;
      
           VPC Mirroring
          &#xD;
    &lt;/a&gt;&#xD;
    
           tarjoaa uuden työkalun infrastruktuuritason verkkoseurantaan mahdollistaen esimerkiksi helpomman vianetsinnän ja poikkeamien havaitsemisen liikenteestä. Aiemmin julkistetut
          &#xD;
    &lt;a href="https://aws.amazon.com/security-hub/" target="_blank"&gt;&#xD;
      
           Security Hub
          &#xD;
    &lt;/a&gt;&#xD;
    
          ja
          &#xD;
    &lt;a href="https://aws.amazon.com/controltower/" target="_blank"&gt;&#xD;
      
           Control Tower
          &#xD;
    &lt;/a&gt;&#xD;
    
           ovat nyt myös kaikkien AWS:n asiakkaiden käytössä.
         &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Vaikka konferenssiohjelma pitikin varattuna kellon ympäri, jäi aikaa myös pintapuoliseen kaupunkiin tutustumiseen. Kesäinen päivä kaupungilla kului vauhdikkaasti ennen kotimatkaa.
         &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Ensi vuonna re:Inforce järjestetään kesäkuun puolivälissä Houstonissa, Teksasissa.
         &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Mielenkiintoisia poimintoja sessioista:
          &#xD;
    &lt;br/&gt;&#xD;
    &lt;a href="https://www.youtube.com/watch?v=2lAcE3NA2UU" target="_blank"&gt;&#xD;
      
           DDoS Attack Detection at Scale (SDD408) 
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://www.youtube.com/watch?v=-he4isPw4vI" target="_blank"&gt;&#xD;
      
           How Dow Jones Uses AWS to Create a Secure Perimeter (SDD316)
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://www.youtube.com/watch?v=oqHLLbOoxDg" target="_blank"&gt;&#xD;
      
           Encrypting Everything with AWS (SEP402)
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/reinforcekeynote-p1am89n9c1gyuprhnbbxz6vmbj6v4jwihf65l0hvy8.jpeg" length="128756" type="image/jpeg" />
      <pubDate>Wed, 03 Jul 2019 06:26:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2019/07/aws-reinforce-2019</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/reinforcekeynote-p1am89n9c1gyuprhnbbxz6vmbj6v4jwihf65l0hvy8-db8e903d.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/reinforcekeynote-p1am89n9c1gyuprhnbbxz6vmbj6v4jwihf65l0hvy8.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kasvun vuosi, ja valoisat näkymät uudelle vuodelle!</title>
      <link>https://www.webscale.fi/2019/02/kasvun-vuosi-ja-valoisat-nakymat-uudelle-vuodelle</link>
      <description>2018 on saatu kunnialla päätökseen ja vuodenvaihteeseen perinteisesti kuuluvat kiireet ovat ohi. Nyt voin ilokseni sanoa varauksitta että kulunut vuosi sujui erinomaisesti. Lunastimme pitkäjänteisen laadukkaan työn hedelmiä voittaessamme Yleisradion kilpailutuksen laajasta vaalikoneiden toteutuksesta ja aiemmat menestyksemme vaalikoneiden toteutuksessa herätti ansaittua huomiota myös muiden asiakkaiden keskuudessa. Taloudellisesti liikevaihtomme nousi 81% viime vuodesta 1.5 miljoonaan euroon. Tästä […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    2018 on saatu kunnialla päätökseen ja vuodenvaihteeseen perinteisesti kuuluvat kiireet ovat ohi. Nyt voin ilokseni sanoa varauksitta että kulunut vuosi sujui erinomaisesti.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Lunastimme pitkäjänteisen laadukkaan työn hedelmiä voittaessamme Yleisradion kilpailutuksen laajasta vaalikoneiden toteutuksesta ja aiemmat menestyksemme vaalikoneiden toteutuksessa herätti ansaittua huomiota myös muiden asiakkaiden keskuudessa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Taloudellisesti liikevaihtomme nousi 81% viime vuodesta 1.5 miljoonaan euroon. Tästä oli liikevoittoa 15%. Asiakkaamme ovat olleet tyytyväisiä työhömme sekä kysyttäessä että yhteistyön jatkuvuudella mitattuna – yli 70% liikevaihdostamme teimme asiakkaillemme, joiden kanssa työskentelimme jo aiempina vuosina.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Pitkäaikainen asiakkuus tarjoaa nopeasti kehittyvällä alalla sekä meille että asiakkaillemme tilaisuuden oppia toisiltamme, ja tuoda hyviksi havaittuja teknologioita käyttöön muualta. Syvällinen ymmärrys asiakkaamme toiminnasta ja ympäristöstä tehostaa tietysti myös uuden kehittämistä.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Webscalessa on nähty monta uutta ja ennestään tuttua kollegaa työntekijämäärämme noustua vuoden alun 11 työntekijästä 18 tekijään. Alkanut vuosikin on jatkunut samoissa merkeissä uuden työkaverimme liityttyä kuun alusta joukkoon.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Koulutuspanostuksemme näkyvät muun muassa sertifikaatioiden määrässä – vuoden aikana tekijämme ovat saavuttaneet viisi AWS-sertifikaatiota ja 15 henkilöä on käynyt alan konferensseissa. Dev Trainee -ohjelmaamme osallistunut Heikki on nykyään konsulttina asiakasprojekteissamme saatuaan vahvan pohjan käytännön tekemiselle kokeneempien konsulttien kanssa työskennellessään.
    
  
  
                    &#xD;
    &lt;em&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Meille on tärkeää että rakentaessamme yhteiskunnallisesti merkittäviä palveluita olemme myös aktiivinen ja vastuullinen toimija suomalaisessa yrityskentässä. Tämän vuoksi julkaisemme tiedot verojalanjäljestämme täydentämään jo 
    
  
  
                    &#xD;
    &lt;a href="https://webscale.fi/blogi/talta-nayttaa-it-yrityksen-ymparistojalanjalki/"&gt;&#xD;
      
                      
    
    
      aiempaa katsausta ympäristövaikutuksiimme.
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/2018_verojalanjalki_08M-reinvent-ensikerta.jpg" alt="" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Jatkamme työtämme uusien teknologioiden ja laadukkaiden asiakasprojektien parissa. Ole yhteydessä kun suunnittelet kehityshanketta tai etsit työpaikkaa jossa ei tarvitse harmitella töihin tuloa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/web-6819-e1550827704193-p1ambaojctm89hd3ymgo0fd3889fxfxdkeuh9407wg.jpeg" length="84399" type="image/jpeg" />
      <pubDate>Fri, 22 Feb 2019 09:33:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2019/02/kasvun-vuosi-ja-valoisat-nakymat-uudelle-vuodelle</guid>
      <g-custom:tags type="string">Uutiset</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/web-6819-e1550827704193-p1ambaojctm89hd3ymgo0fd3889fxfxdkeuh9407wg-032dd96c.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/web-6819-e1550827704193-p1ambaojctm89hd3ymgo0fd3889fxfxdkeuh9407wg.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kollegoiden apuri ja haasteisiin tarttuja</title>
      <link>https://www.webscale.fi/2018/12/kollegoiden-apuri-ja-haasteisiin-tarttuja</link>
      <description>DevOps Lead Lauri nauttii Webscalen ilmapiiristä ja muiden auttamisesta DevOps Lead Lauri Stenin päivät täyttyvät työssä AWS- sekä DevOps-asioiden ympärillä. Webscalessa yhdessä tekemisen kulttuuri on syvällä, ja Laurinkin mukaan juuri yhteiset haasteet ja kavereiden jeesaaminen ovat työn parasta antia. Ja onpa hänellä myös nuoremmalle IT-sukupolvelle pari vinkkiä jaettavanaan! Seitsemän kuukautta Webscalella viihtyneellä Laurilla on tällä […]</description>
      <content:encoded>&lt;h3&gt;&#xD;
  
                  
  DevOps Lead Lauri nauttii Webscalen ilmapiiristä ja muiden auttamisesta

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      DevOps Lead Lauri Stenin päivät täyttyvät työssä AWS- sekä DevOps-asioiden ympärillä. Webscalessa yhdessä tekemisen kulttuuri on syvällä, ja Laurinkin mukaan juuri yhteiset haasteet ja kavereiden jeesaaminen ovat työn parasta antia. Ja onpa hänellä myös nuoremmalle IT-sukupolvelle pari vinkkiä jaettavanaan!
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/IMG_6208-e1545214500223-225x300.jpg" alt="" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Seitsemän kuukautta Webscalella viihtyneellä Laurilla on tällä hetkellä työn alla useampikin asiakasprojekti. Erilaiset asiakkaat tuovat työhön vaihtelevuutta ja mielekkyyttä.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      – Autan asiakkaitamme erinäköisissä asioissa alkaen AWS-ympäristön luonnista POC:ien tekemiseen. Autan myös DevOps-periaatteiden kanssa, Lauri kertoo työtehtävistään.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Täysin uusissa greenfield-projekteissa hän vastaa siitä, että ympäristöt rakennetaan parhaiden käytäntöjen mukaan ja tietoturvallisesti.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      – Projekteissa, joissa on menty jo vähän eteenpäin, autan automaatioissa ja oikeanlaisten työkalujen ja -metodien valinnassa. Eli kaikessa, millä vain saadaan asiakkaan tiimistäkin se paras teho irti, Lauri toteaa.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Lauri on siis saanut tarttua monenlaisiin tehtäviin. Firmaan hän päätyi yrityksessä työskentelevien vanhojen tuttujen suosituksesta.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      – Olin kuullut firmasta pelkkää hyvää. Sainkin töitä hakiessa Webscalesta sellaisen käsityksen, että täällä on hyvä työilmapiiri. Huomasin myös, että omat ja firman näkemykset vastaavat hyvin toisiaan.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Pienessä yrityksessä Lauri on päässyt työskentelemään hyvin erilaisten asioiden kimpussa.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      – Jos on tuntunut siltä, että jokin asia kaipaa viilaamista, on aika usein itse päässyt asiaa työstämään. Samalla on nähnyt hyvin erilaisia ratkaisuja ja myös oppinut hurjasti, Lauri kertoo työn viehätyksestä.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Vanhuudenhöperyys iskee – muiden jeesaaminen tuo hyvän fiiliksen

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Lauri on ollut alalla jo pitkään ja häntä voisi kaiketi jo kutsua alan konkariksi. Mikä työssä sitten koukuttaa, miksi sitä jaksaa edelleen?
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      – Vielä muutama vuosi sitten olisin sanonut, että uusien tekniikoiden oppiminen on se juttu. Viime aikoina on varmaan enemmän alkanut vanhuudenhöperyys iskeä ja itselle on ollut tärkeä nähdä, kun muut oppivat. Siitä tulee tosi hyvä fiilis.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Työssään hän saa välillä puurtaa yksinäisenä sutena. Usein kuitenkin juuri kollegoiden kanssa työskentely on työn suola. Yhdessä jumpataan haastavia asioita. Puolin ja toisin kysellään myös mielipiteitä ja apuja eri työtehtävissä.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      – Samalla pääsee pureskelemaan mukavia visaisia pähkinöitä, joihin ei välttämättä muuten törmäisi. Se sopii itselle hyvin, koska olen aina tykännyt haasteista. Ja tietysti on mukava päästä jeesaamaan kavereita.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Nörtit koodaa kellarissa ja muita oletuksia

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      IT-alalla pitää koko ajan olla valmis opiskelemaan lisää ja tarttumaan haasteisiin. Samalla pitää olla valmis kurottamaan oman mukavuusalueen ulkopuolelle.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      – Löydän kyllä itsestäni hyvin vahvasti näitä piirteitä ja siksi työ kiinnostaa ja kehittää jatkuvasti, Lauri hymyilee.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Laurin mukaan ”Nörtit koodaa kellarissa” -ajattelulla ei kuitenkaan enää pärjää.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      – Vaikka IT-alasta on näin perinteisesti ajateltu, ei sillä nykyaikana pitkälle pötki. Muistakaa nuoret panostaa myös niin sanottuihin soft skillseihin eli pehmeisiinkin taitoihin ja arvoihin, eikä pelkästään teknisen osaamisen kehittämiseen, hän ohjeistaa pilke silmäkulmassaan.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;a href="https://www.flickr.com/photos/28839353@N03/25735690657/in/dateposted-public/" target="_blank"&gt;&#xD;
    &lt;img src="https://live.staticflickr.com/4788/25735690657_5dfa40c1d4_c.jpg" alt="" title=""/&gt;&#xD;
  &lt;/a&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
                      
    
    
      Lauri on myös innokas valokuvaaja
    
  
  
                    &#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Työ on vaativaa ja hektistäkin, joten ihan kaikkea ei aina pysty tekemään omalla työajalla. Vapaa-ajalla on pakko, jos ei muuta, niin ainakin välillä seurata alaa. Laurin mukaan omaa aikaa kuitenkin jää ja onhan omaan alaan syventyminen tärkeää myös muilla aloilla.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      – Itsellä vapaa-aika kuitenkin kuluu vaimon kanssa matkustellessa, valokuvausta harrastaessa sekä erinäköisten urheiluharrastusten puitteissa. Sen lisäksi kyllä välillä tulee tehtyä jotain omia IT-projekteja siinä sivussa, hän nauraa.
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
                      
    
    
      Haluatko jutella mitä voimme tarjota sinulle?
    
  
  
                    &#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
                      
    
    
      Ole yhteydessä 
      
    
    
                      &#xD;
      &lt;a href="https://webscale.fi/rekry/"&gt;&#xD;
        
                        
      
      
        Henriin
      
    
    
                      &#xD;
      &lt;/a&gt;&#xD;
      
                      
    
    
       meilillä tai puhelimitse: rekry@webscale.fi tai +358 50 490 5585.
    
  
  
                    &#xD;
    &lt;/em&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/T6A9105-p1akm1j5zhrjoac7n59wivtpma6cbir358dddyttds.jpeg" length="82061" type="image/jpeg" />
      <pubDate>Wed, 19 Dec 2018 10:52:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2018/12/kollegoiden-apuri-ja-haasteisiin-tarttuja</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/T6A9105-p1akm1j5zhrjoac7n59wivtpma6cbir358dddyttds-c06aa547.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/T6A9105-p1akm1j5zhrjoac7n59wivtpma6cbir358dddyttds.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Pyhiinvaellus Vegasiin</title>
      <link>https://www.webscale.fi/2018/12/pyhiinvaellus-vegasiin</link>
      <description>Webscalen jokavuotinen pyhiinvaellus Las Vegasiin ja AWS re:Inventiin on jälleen onnistuneesti suoritettu. Tänä vuonna allekirjoittaneen lisäksi mukana olivat Heikki ja Markus, joille molemmille tämä oli ensimmäinen kerta re:Inventissä. Jo useamman re:Inventin kokeneena oli hienoa saada jälleen uusia webscalelaisia mukaan reissulle. Jo ennakkoon oli tiedossa, että konffapäivät tulisivat olemaan täynnä virallista ja vähän epävirallisempaakin ohjelmaa aina myöhäiseen […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Webscalen jokavuotinen pyhiinvaellus Las Vegasiin ja AWS re:Inventiin on jälleen onnistuneesti suoritettu. Tänä vuonna allekirjoittaneen lisäksi mukana olivat Heikki ja Markus, joille molemmille tämä oli ensimmäinen kerta re:Inventissä. Jo useamman re:Inventin kokeneena oli hienoa saada jälleen uusia webscalelaisia mukaan reissulle.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Jo ennakkoon oli tiedossa, että konffapäivät tulisivat olemaan täynnä virallista ja vähän epävirallisempaakin ohjelmaa aina myöhäiseen iltaan asti. Halusimme kuitenkin nähdä muutakin kuin Stripin ja kasinot, joten yhdistimme matkaan myös muutamia päiviä omaa lomaa ennen ja jälkeen konferenssin. Vegasin tutkiminen kävi helposti ja edullisesti Uberia ja polkupyöriä hyödyntäen. Tarkistimme muun muassa alkuperäisen kasinoalueen Fremont Streetillä, jonka rosoisempi ympäristö oli mukavaa vaihtelua Stripin luksusmiljööseen.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Mieleenpainuvin kokemus reissulla oli tietysti kierros kopterilla Grand Canyonilla, jota voin ehdottomasti suositella kaikille Vegasissa vieraileville. Oma korkeanpaikankammokin unohtui saman tien kun kopterin jalakset irtosivat maan kamaralta.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Itse konferenssi oli tietysti jälleen isompi ja mahtavampi kuin edellisenä vuotena ja oli viimevuotiseen tapaan hajautettu usean hotellin alueelle. Majoituimme Palazzossa, ja koska emme halunneet käyttää aikaa paikasta toiseen siirtymiseen, tuli suurin osa esityksistä katsottua sen vieressä olevassa Venetianissa. Valtavasta osallistujamäärästä huolimatta järjestelyt pelasivat erinomaisesti ja vaikka jonot suosituimpiin sessioihin ja keynoteihin olivat välillä aivan jäätäviä, katosivat ne aina lähes yhtä nopeaa kuin olivat muodostuneetkin.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Mitäpä olisi re:Invent ilman Andyn ja Wernerin julkistuksia uusista AWS-palveluista? Tänä vuonna pääpaino oli koneoppimisessa, analytiikassa ja ylemmän tason palveluissa, jotka helpottavat AWS:n muiden palveluiden käyttöä ja joilla saa nopeasti valmista aikaan ilman, että täytyy ymmärtää taustalla olevia usein hyvinkin monimutkaisia kokonaisuuksia. Tämä on ihan oikea painotus sillä pilven suurimpia etuja ovat juurikin valmiit ratkaisut, joita yhdistelemällä oman palvelun tai tuotteen rakentaminen on nopeaa ja kustannustehokasta.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Meidän mielestä mielenkiintoisimmat julkistukset olivat aikasarjatietokanta
          &#xD;
    &lt;a href="https://aws.amazon.com/about-aws/whats-new/2018/11/announcing-amazon-timestream/" target="_blank"&gt;&#xD;
      
           Amazon Timestream
          &#xD;
    &lt;/a&gt;&#xD;
    
          , Dynamon
          &#xD;
    &lt;a href="https://aws.amazon.com/about-aws/whats-new/2018/11/announcing-amazon-dynamodb-support-for-transactions/" target="_blank"&gt;&#xD;
      
           transaktiot
          &#xD;
    &lt;/a&gt;&#xD;
    
           ja
          &#xD;
    &lt;a href="https://aws.amazon.com/about-aws/whats-new/2018/11/announcing-amazon-dynamodb-on-demand/" target="_blank"&gt;&#xD;
      
           On-demand-kapasiteetti
          &#xD;
    &lt;/a&gt;&#xD;
    
          , useamman AWS-tilin hallinnointia helpottava
          &#xD;
    &lt;a href="https://aws.amazon.com/controltower/" target="_blank"&gt;&#xD;
      
           AWS Control Tower
          &#xD;
    &lt;/a&gt;&#xD;
    
          sekä Lambdan
          &#xD;
    &lt;a href="https://aws.amazon.com/about-aws/whats-new/2018/11/aws-lambda-now-supports-custom-runtimes-and-layers/" target="_blank"&gt;&#xD;
      
           layerit
          &#xD;
    &lt;/a&gt;&#xD;
    
          . Näiden lisäksi oli tietysti valtava joukko muitakin julkistuksia, joihin perehtymiseen saa kyllä varata taas reippaasti aikaa. Katso koko lista uusista jutuista
          &#xD;
    &lt;a href="https://aws.amazon.com/new/reinvent/" target="_blank"&gt;&#xD;
      
           täältä
          &#xD;
    &lt;/a&gt;&#xD;
    
          .
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Kaiken kaikkiaan re:Invent oli jälleen todella hieno kokemus. Päivät täyttyivät mielenkiintoisesta ohjelmasta, joista ainakin omasta mielestäni parhaita olivat nimensä mukaisesti pintaa syvemmälle menevät deep dive -esitykset. Uuden oppimisen vastapainoksi oli mukava tavata vanhoja tuttuja ja tietysti myös tutustua uusiin ihmisiin ja kuulla heidän kokemuksistaan AWS:n palveluista. Kotiin viemisinä saimme roppakaupalla uutta tietoa ja innostusta, joita tuskin maltamme päästä soveltamaan projekteissamme.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/20181202_130901-e1544464492857-p1amg0tbpu34mwhzd6051qfiqyyvmnosjsxd46zym8.jpeg" length="188935" type="image/jpeg" />
      <pubDate>Mon, 10 Dec 2018 07:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2018/12/pyhiinvaellus-vegasiin</guid>
      <g-custom:tags type="string">Teknologiat,Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/20181202_130901-e1544464492857-p1amg0tbpu34mwhzd6051qfiqyyvmnosjsxd46zym8-24de82f6.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/20181202_130901-e1544464492857-p1amg0tbpu34mwhzd6051qfiqyyvmnosjsxd46zym8.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Huippudevaajan unelma – Webscalen kokenut kehittäjä paljastaa tarkoin varjellun salaisuuden</title>
      <link>https://www.webscale.fi/2018/10/huippudevaajan-unelma-webscalen-kokenut-kehittaja-paljastaa-tarkoin-varjellun-salaisuuden</link>
      <description>Juho Rautio on alkujaan Webscalen ensimmäinen palkattu työntekijä. Hän on ollut talossa 3,5 vuoden ajan ja tässä ajassa paljon on muuttunut: kolmen hengen porukka on kasvanut 18-päiseksi ja Raution ura on hänen omien sanojensa mukaan kehittynyt räjähdysmäisesti. Se ei ole mikään uutinen, että kaikki haluavat palkata meidän Juhon. ”Hae meille!” -somemainokset pyörivät kuumina 24/7, headhunterit […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Juho Rautio on alkujaan Webscalen ensimmäinen palkattu työntekijä. Hän on ollut talossa 3,5 vuoden ajan ja tässä ajassa paljon on muuttunut: kolmen hengen porukka on kasvanut 18-päiseksi ja Raution ura on hänen omien sanojensa mukaan kehittynyt räjähdysmäisesti.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Se ei ole mikään uutinen, että kaikki haluavat palkata meidän Juhon. ”Hae meille!” -somemainokset pyörivät kuumina 24/7, headhunterit soittelevat ja LinkedInin viestipalvelu täyttyy houkutteluviesteistä.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      Juho, mikä se huippudevaajan unelma on?
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;em&gt;&#xD;
      
                      
    
    
      Mahdollisuudet oman osaamisen kehittämiseen, monipuoliset projektit ja kivat työkaverit. 
    
  
  
                    &#xD;
    &lt;/em&gt;&#xD;
    
                    
  
  
    Nämä tekijät toistuvat useissa houkutteluviesteissä ja mainoksissa. Näitä siis tyypillisesti odotetaan kuuluvan ohjelmistokehittäjän toivomuslistaan.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Klikkiotsikoinnin mukaisesti Rautio kertoo tässä blogitekstissä, mikä on huippudevaajan unelma, ja mitä nämä tiheään viljellyt korulauseet hänen työssään ovat konkreettisesti tarkoittaneet. Ei se oikeasti ole tarkoin varjeltu salaisuus.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      1. Tekemisen vapaus
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Rautio työskentelee Webscalella toimien tällä hetkellä suurta osaa suomalaisia hyödyttävän palvelun web-tiimin Lead Developerina ja vastaa palvelun arkkitehtuurista ja teknologiavalinnoista. Kyseiselle palvelulle tuli vastikään täyteen miljoona käyttäjää.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    ”Olen talossa ollessani tullut Fullstack-kehittäjästä siihen pisteeseen, että suunnittelen tällaisille massiivisille palveluille arkkitehtuureja, pystyn vetämään tiimejä ja olemaan tästä kaikesta vastuussa”, Rautio kertoo. ”Se on itselleni merkittävä henkilökohtainen kasvu.”
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    ”Olen luonteeltani sellainen, että innostun helposti ja olen kunnianhimoinen. Harvoin tyydyn siihen, että tekisin vain sen mitä pyydetään, vaan haluan tehdä aina vähän enemmän”, hän jatkaa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Ja Rautio on saanut vapaasti tehdä. Hän kertoo, että urakehityksen on ensisijaisesti mahdollistanut se, että vastuuta saa ottaa ja vapaus sekä mahdollisuudet tällaiseksi osaajaksi kehittymiseen on annettu.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
                  
  ”Urakehityksen on ensisijaisesti mahdollistanut se, että vastuuta saa ottaa ja vapaus sekä mahdollisuudet tällaiseksi osaajaksi kehittymiseen on annettu.”

                &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    ”Olen päässyt tekemään monia projekteja ihan nollasta. Sehän on jokaisen kehittäjän unelma. Meillä tehdään paljon tällaisia projekteja, joissa teknisten ratkaisujen reunaehtoja ei ole saneltu, vaan niistä saa itse päättää”, Rautio sanoo.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Webcsalella ollaan juuri käynnistämässä merkittävää Ylen Vaalikone -projektia. Sen webscalelaiset saavat tehdä itse alusta asti. Palvelua tulee käyttämään valtava osa Suomen aikuisväestöstä.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    ”Siinä on hyvä esimerkki kokeneelle tekijälle mielekkäästä projektista, jolla on myös yhteiskunnallista vaikutusta”, Rautio sanoo.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      2. Huippuammattilaisuus
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Toinen tärkeä tekijä on kouluttautuminen ja huippuammattilaisena kehittyminen. Webscalen työntekijöillä on mahdollisuus kouluttautua ja sertifioitua AWS-osaajaksi nopeasti. Pääasiassa webscalelaiset suorittavat AWS Certified Solutions Architect Associate -sertifioinnin, joka on muun muassa maailman 
    
  
  
                    &#xD;
    &lt;a href="https://www.forbes.com/sites/louiscolumbus/2018/03/12/15-top-paying-it-certifications-in-2018/#75df45ba623b" target="_blank"&gt;&#xD;
      
                      
    
    
      toisiksi parhaiten palkattu.
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Rautio itse on suorittanut vaativimman mahdollisen AWS Certified Solutions Architect Professional -sertifioinnin, joka on yksi IT-maailman vaativimmista. Kun Rautio suoritti sen, sellainen oli vain muutamalla tuhannella koko maailmassa. Webscalen porukassa kyseisiä sertifiointeja on yhteensä neljä kappaletta.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/sertiseinä-1024x80eka-kerta-reinvent4.jpg" alt="" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    ”Sertifikaatteihin valmistautuminen ja niiden suorittaminen on auttanut itseäni paljon eteenpäin”, Rautio sanoo. ”Meillä suhtaudutaan vakavasti opiskeluun. Pidämme myös sisäisinä Tech Day -päivinämme toisillemme koulutuksia ja vuosittain matkustamme maailmalle alan tärkeimpiin seminaareihin.”
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
                  
  ”Meillä suhtaudutaan vakavasti opiskeluun.”

                &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Webscalen oman porukan toisilleen pitämät Tech Day -esitykset ovat huippuluokkaa, mistä kertoo esimerkiksi se, että Rautio veti äskettäin työkavereilleen pitämänsä Tech Day -luennon Suomen AWS-yhteisölle.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Rautio on osallistunut Las Vegasissa pidettävään AWS re:Invent -tapahtumaan jo kolme kertaa peräkkäin. Vuoden 2018 tapahtumaan lennätetään tosin tänä vuonna vuorollaan uusia Webscale-kasvoja, jotta firman sisäisesti päästään tasaisemmin jakamaan mahdollisuuksia osallistua seminaariin.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/Vegas-1024x759.jpg" alt="" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      3. Massiiviset projektit ja henkilökohtainen kehitys niiden myötä
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Sanomattakin selvää, että isoja projekteja on Rautiolla tullut tehtyä. Yhdistelmä on aika mukava: pienen firman hengessä tehdään korkean profiilin projekteja.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Rautio sanoo, että projektien vaihtuminen matkan varrella pitää työn mielekkäänä. Projekteissa pääsee oppimaan uutta ja tekemään erilaisia ratkaisuja.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    ”Sitä on huomannut, että olen päässyt asiakkaiden projekteissa aina vastuullisempiin rooleihin, kuin joissa olen sinne mennyt.”
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
                  
  ”Kokemusta talosta löytyy, miten todella isolla käytöllä olevat palvelut pyörivät ympäri vuorokauden kaikille.”

                &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Viime vuosien aikana Webscalen porukka on toteuttanut muun muassa suurimpien suomalaisten sanomalehtien, kuten Helsingin Sanomien vaalikoneita. Kokemusta talosta siis löytyy, miten todella isolla käytöllä olevat palvelut pyörivät ympäri vuorokauden kaikille.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      4. Itseä fiksumpi työporukka
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    ”Meillä on täällä vahva vertaistuki. Se on iso yksittäinen syy, miksi olen tullut tänne alkujaan töihin”, Rautio sanoo. ”Uravalintojani on yhdistänyt punainen lanka, että haluan tehdä aina töitä itseäni fiksumpien kanssa.”
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Webscalella haasteisiin saa apua kasvotusten tai vähintään Flowdockin välityksellä jopa minuuteissa, eikä ole väliä kysyykö neuvoa vieressä istuvalta harkkarilta tai firman toimarilta. Matala hierarkia mahdollistaa myös edellä mainitun oma-aloitteisuuden ja vapauden omaa työtä kohtaan.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
                  
  ”Matala hierarkia mahdollistaa oma-aloitteisuuden ja vapauden omaa työtä kohtaan.”

                &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Rautio sanoo olevansa ylpeä siitä, että porukkaan on saatu myös tulevaisuuden tähtiainesta. Uusia kovia tekijöitä on saatu suoraan koulun penkiltä ja he ovat muutamassa vuodessa kasvaneet isompiin rooleihin asiakasprojekteissa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    ”Porukassamme on sellaista osaamista, että sillä ei mennä pieleen”, Rautio sanoo.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      5. Tulevaisuuden näkymät
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Rautio sanoo, että jos saisi lisätä jonkin lisämausteen Webscaleen parantamaan koostumusta, olisi se tulevaisuudessa sujuvampi jakautuminen tiimeihin. Tämä tuleekin toteutumaan entistä paremmin, kun yritys kasvaa vielä muutamalla työntekijällä. Webscalella halutaan tehdä töitä omalla tiimillä, jolla voi mennä sellaisenaan asiakasprojektiin.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
                  
  ”Webscalella halutaan tehdä töitä omalla tiimillä, jolla voi mennä sellaisenaan asiakasprojektiin.”

                &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    ”Alamme olla jo sen kokoinen firma, että omia tiimejä voidaan muodostaa. Muun muassa tulevaan vaalikoneprojektiimme muodostetaan tiimi kokonaan Webscalen toimesta”, Rautio sanoo. ”Se on korkean profiilin projekti, josta tulemme olemaan ylpeitä.”
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    …
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Meillähän on oma lehmä ojassa. Etsimme nimittäin sinua, 
    
  
  
                    &#xD;
    &lt;a href="https://webscale.fi/rekry/react-kehittaja/"&gt;&#xD;
      
                      
    
    
      kokenut Frontend-devaaja
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    , vahvistamaan rivejämme entisestään ja tekemään isolla osaamisroolilla kanssamme lisää vaativia projekteja. Lue lisää 
    
  
  
                    &#xD;
    &lt;a href="https://webscale.fi/rekry/react-kehittaja/"&gt;&#xD;
      
                      
    
    
      avoimesta tehtävästä!
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/juho-huippudevaaja-741x352-p1amh58dvpmgi4v9t5h3iy8cajfntn591cz8r3c16o.jpeg" length="108384" type="image/jpeg" />
      <pubDate>Mon, 22 Oct 2018 09:16:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2018/10/huippudevaajan-unelma-webscalen-kokenut-kehittaja-paljastaa-tarkoin-varjellun-salaisuuden</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/juho-huippudevaaja-741x352-p1amh58dvpmgi4v9t5h3iy8cajfntn591cz8r3c16o-409ff024.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/juho-huippudevaaja-741x352-p1amh58dvpmgi4v9t5h3iy8cajfntn591cz8r3c16o.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Tältä näyttää IT-yrityksen ympäristöjalanjälki</title>
      <link>https://www.webscale.fi/2018/09/talta-nayttaa-it-yrityksen-ymparistojalanjalki</link>
      <description>Mikä on Webscalen vaikutus ympäristöön? Maapallon ympäristöasiat ovat olleet viimeiset parikymmentä vuotta hyvästä syystä esillä: Samaan aikaan kun tiedeyhteisössä on todettu ihmisen vaikutuksen ilmastonmuutokseen olevan näillä tiedoilla tosiasia, lähemmässä mittakaavassa on jo pitkään puhuttu diversiteetin katoamisesta. Viime vuosina pinnalle on noussut myös muovijätteen kertyminen luontoon. Vaikka näiden asioiden korjaamiseen oikea paikka olisi valtioiden välisten sopimusten […]</description>
      <content:encoded>&lt;h2&gt;&#xD;
  
                  
  Mikä on Webscalen vaikutus ympäristöön?

                &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Maapallon ympäristöasiat ovat olleet viimeiset parikymmentä vuotta hyvästä syystä esillä: Samaan aikaan kun tiedeyhteisössä on todettu ihmisen vaikutuksen ilmastonmuutokseen olevan näillä tiedoilla tosiasia, lähemmässä mittakaavassa on jo pitkään puhuttu diversiteetin katoamisesta. Viime vuosina pinnalle on noussut myös muovijätteen kertyminen luontoon. Vaikka näiden asioiden korjaamiseen oikea paikka olisi valtioiden välisten sopimusten tasolla sekä kansallisessa lainsäädännössä, on yritysten silti syytä tarkastella myös omaa toimintaansa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
                  
  Miten sovelluskehitys vaikuttaa ympäristöön?

                &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Sinänsä kaltaiselleni idealistille IT-ala on sikäli palkitseva, että järjestelmiä tehdään usein vähentämään turhaa työtä ja turhaa kulutusta palveluissa tai teollisissa prosesseissa. Siltä osin alan toiminnalla on positiivinen vaikutus. Käytännössä kuitenkin tietotekniikan vastuulle tulee samanaikaisesti valtava sähkönkulutuksen kasvu, ja esimerkiksi Bitcoinit kuluttavat tällä hetkellä arvioiden mukaan jo saman verran sähköä kuin Tanska [1].
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Netflix aiheuttaa 37% kaikesta verkkoliikenteestä [2]. Vaikka streamauspalveluiden käyttö keskittyy ensisijaisesti nuoriin tai teknisesti ennakkoluulottomiin käyttäjiin, tuo verkkoliikenne on käytännössä ylimääräistä sähkönkulutusta. Monet palvelut ovat olemassa saattaakseen ihmisiä yhteen, ja samalla somepalvelut haalivat ihmisistä ikuisesti säilytettävää dataa, josta louhitaan suurella säilytys- ja laskentakapasiteetilla markkinoijille ja mielipiteenmuokkaajille tietoa. Kaikki tuo laskentakapasiteetti kuluttaa sähköä, ja ala on jatkuvassa kasvun tilassa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Laitteiden tuottaminen kuluttaa luonnonvaroja, mutta esimerkiksi kännykät voidaan jättää tällaisessa tarkastelussa ulkopuolelle itse alan arviosta, koska puhelimet voidaan olettaa hankittavan muutenkin. Kannettavat tietokoneet ovat energiankulutukseltaan tehokkain vaihtoehto työvälineeksi, mutta niiden valmistus ja kierrätys ovat ongelmallisia ympäristön näkökulmasta [3]. Tällä hetkellä kannettavat tietokoneet ovat vähiten haitallinen vaihtoehto tarjolla olevista työvälineistä.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Valmistuksen osalta kiinnostavaa on työvälineiden ja muiden hankintojen kestävyys, koska niiden ympäristökuormituksestä on vaikeampi saadta luotettavaa numeerista tietoa. Valtaosa kaikista yrityksen sähkölaitteista tuotetaan ulkomailla ja kuljetetaan Suomeen. Tältä emme nykyisellään pysty välttymään, ja voimme lähinnä tiedostaa asian. Massan puolesta merkittävämpää ovat kalusteet, jotka tietääksemme ovat lähes täysin kotimaista tekoa, eikä esimerkiksi merikuljetuksia ole tarvittu. Käytännössä kuitenkin materiaalien alkuperästä ei ole varmaa tietoa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Henkilöstön liikkumistapojen suhteen toimisto ydinkeskustassa suosii vahvasti julkisen liikenteen käyttöä – vasta Kehä I:n ulkopuolelle siirryttäessä alkaa autoilu olemaan mielekäs vaihtoehto kulkuvälineenä. Myynti ja kauempana sijaitsevilla asiakkaillamme työskentelevät konsultit kulkevat siellä pääosin autoilla, eikä tuohon ole ajankäytön vuoksi järkevää vaihtoehtoa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
                  
  Entä pilvipalveluiden ympäristövaikutus?

                &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Webscale on erikoistunut käyttämään AWS:n pilvi-infrastruktuuria, ja tämä palvelininfra edustaa verkkoliikenteen lisäksi kaikkea yllä mainittujen palveluiden energiankulutusta. Jatkuvasti kehittyvät pilvialustat mahdollistavat innovatiivisten palveluiden ja datavarastojen rakentamisen, jonka vuoksi näitä järjestelmiä kehitetään aina vain enemmän, ja aina vain isommiksi. Tekninen kehitys siis mahdollistaa halvemmalla yhä useammalle yritykselle ja julkiselle toimijalle uusien palveluiden käyttöönoton ja esimerkiksi tekoälyratkaisujen toteuttamisen AWS-pilveen on resurssien puolesta hyvin suosittu käyttötapaus.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Käyttämämme palvelinresurssit ovat konseptuaalisesti irrotettu fyysisestä palvelimesta – käsittelemme virtuaalisia laskentayksikköjä, joista maksamme ennalta määrättyä hintaa. Oman tarkastelumme kannalta voimme todennäköisesti jättää fyysisten laitteiden valmistuskustannukset pois, koska emme voi niihin vaikuttaa. Sen sijaan sähkönkulutus sekä laitteiden käyttöön että jäähdytykseen olisi hyödyllinen mittari. Käytännössä näitä tietoja ei kuitenkaan ole saatavilla, edes suhteellisena arvona per laskentayksikkö. Teknisesti ottaen haluaisin tietää kuinka suuri on kW / vCPU – eli kilowattitunteja per virtuaalinen prosessoriyksikkö. Tätääkän tietoa ei ole saatavilla, ja yritykset kauniista eleistä huolimatta eivät jaa kyseistä tietoa tai edes suurpiirteisiä lukuja joista voisi päätellä asioita. Esimerkiksi tietoliikenneyhteyksien osalta on käytetty kWh / Gb -arvoa kuvaamaan sähkönkulutusta runkoverkon liikenteeseen.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Greenpeace kritisoi AWS:ää 2015 läpinäkyvyyden puutteesta [4] artikkelissa, jossa ennen kaikkea heidän tavoitteenaan oli edistää uusiutuvien energialähteiden käyttämistä. AWS julkaisi silloin heidän AWS &amp;amp; Sustainability-brosyyrisivustonsa [5]. Siellä he ilmoittavat että ovat nykyisin 50% uusiutuvan energian käyttäjiä, ja että nykyiset EU:n data centerit ovat “carbon neutral”. Tätä väittämää ei avata sen enempää perusteiltaan kuin toteutustavaltaankaan. Energiamixin osalta ongelmallista on amerikkalainen ydinvoiman välttely, joka johtaa tilanteeseen jossa 25% sähköstä tuotetaan edelleen hiilellä, ja erityisesti Greenpeace rinnastaa implisiittisesti ydinvoiman ja hiilen yhtä huonoiksi vaihtoehdoiksi vertailutaulukossaan.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Mielenkiintoisempia argumentteja pilvi-infran ympäristövaikutuksista löytyy ennen kaikkea AWS:lle työskentelevien James Hamiltonin vastineesta [6] ja Jeff Barrin blogista [7]. Barrin julkaisemien lukujen perusteella 2015 “On average, AWS customers use 77% fewer servers, 84% less power,and utilize a 28% cleaner power mix, for a total reduction in carbon emissions of 88% from using the AWS Cloud instead of operating their own data centers.”
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Parempaan käyttöasteeseen ei ole lainkaan vaikeuksia uskoa, mutta energiamix on sijaintikohtainen asia. Tämän vertailun kannalta voidaan keskittyä pelkästään tuohon 84% virransäästöön. Se tarkoittaa että kulutettujen resurssien pysyessä vakiona pilvi-infrastruktuurin käyttäminen tarkoittaa energian kulutuksen vähentämistä kuudesosaan siitä, mihin omassa konesalissa päästäisiin.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
                  
  Kuinka paljon yrityksen muu toiminta vaikuttaa?

                &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Käytämme melko vähän energiaa ja fyysisiä tavaroita itse liiketoimintaan – ilman fyysisen tavaran myyntiä kulutuksemme vastaa normaalia palveluliiketoimintaa. Toimitilojen lämmitys muodostaa yhden suurimmista yksittäisistä eristä Suomen ilmastossa. Toimimme lähinnä Suomessa, joten työmatkustustakaan asiakaskäynneistä ei tule ulkomaille. Kotimaassa hyödynnämme vahvasti etätyömahdollisuuksia toisinaan jopa Helsingin seudun sisäisen liikkumisen välttämiseen.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Suurimmat liikennepäästövaikutukset syntyvät varmasti henkilöstön koulutuksesta ja konferenssimatkustuksesta. AWS re:Invent on ollut vuosia vakio-ohjelmistossamme päivittämään henkilöstömme osaamista uusimpien AWS:n muutosten osalta. Olkoonkin että konferenssissa käyvien määrä on pysynyt melko vakiona yrityksen koon kasvaessa moninkertaiseksi.
    
  
  
                    &#xD;
    &lt;br/&gt;&#xD;
    
                    
  
  
    
Valtaosa muusta konferenssimatkustamisesta tapahtuu Euroopan sisällä, ja jää pienemmäksi vaikutukseltaan.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Säännöllisenä tapahtumana Webscalen Levin-reissu tuottaa yksittäisenä tapahtumana isoimmat matkustuksen päästöt, koska tuonne matkustaa koko yritys. Tämä on selkeä kohde jossa voisimme kuluttaa vähemmän, mutta tällä hetkellä matka on tärkeä tilaisuus virkistäytymiseen ja tutustumiseen työn ulkopuolella. Ajan- ja rahankäytön vuoksi tuolle ei ole parempaa vaihtoehtoa kuin lentäminen.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/webscale-hiilijalanjalki-v20180918-5b-1024x633.png" alt="" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
                  
  Miksi energiankulutuksesta pitäisi välittää?

                &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Anders S.G. Andrae esitti 2017 [8] että todennäköisessä tilanteessa globaali ICT-teknologian energiankäyttö tulee kasvamaan vuoden 2015 8.2% globaalista kulutuksesta vuoteen 2025 20.7 prosenttiin. “Best case”-skenaariossa merkittävien energiatehokkuuden parannusten kera ennuste on 9.0% globaalista kulutuksesta.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    IT-energiankulutuksen jakautuminen kuluttajien välilä myös muuttuu nykyisestä tilanteesta, jossa kuluttajalaitteeet käyttävät 55% ja data centerit 11% IT-kulutuksesta. Samalla kun kulutajalaitteet tulevat energiatehokkaammiksi, data centerien ennustettu kulutus kasvaa merkittävästi [9]. Tämä energiankulutus on jatkossa merkittävin tekijä IT-järjestelmien ympäristökuormassa, ja se välillisesti näkyy datacentereiden sijoituspaikoissa paikallisen sähköntuotannon energiamixin muodossa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/global-ict-repartition-trends-for-ict-2015-to-2025-1024x765.png" alt="" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    Anders S.G. Andrae (Huawei). (2017). Total Consumer Power Consumption Forecast. 
    
  
    
                    &#xD;
    &lt;i&gt;&#xD;
      &lt;a href="https://www.researchgate.net/publication/320225452_Total_Consumer_Power_Consumption_Forecast" target="_blank"&gt;&#xD;
        
                        
        
      
        researchgate.net
      
    
      
                      &#xD;
      &lt;/a&gt;&#xD;
    &lt;/i&gt;&#xD;
    
                    
    
  
    .
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Viitteet:

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    [1] Ars Technica : Bitcoin insane energy consumption explained – https://arstechnica.com/tech-policy/2017/12/bitcoins-insane-energy-consumption-explained/
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    [2] Variety : https://variety.com/2015/digital/news/netflix-bandwidth-usage-internet-traffic-1201507187/
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    [3] Sciencing : https://sciencing.com/laptops-affect-environment-23252.html
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    [4] Greenpeace : https://www.greenpeace.org/usa/wp-content/uploads/legacy/Global/usa/planet3/PDFs/2015ClickingClean.pdf
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    [5] AWS &amp;amp; Sustainability: https://aws.amazon.com/about-aws/sustainability/
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    [6] James Hamilton. (2015): Greenpeace, Renewable Energy, and Data Centers. https://perspectives.mvdirona.com/2015/05/greenpeace-renewable-energy-and-data-centers/
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    [7] Jeff Barr. (2015): Cloud Computing Server Utilization &amp;amp; the Environment. https://aws.amazon.com/blogs/aws/cloud-computing-server-utilization-the-environment/
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    [8] Anders S.G. Andrae (Huawei). (2017). Total Consumer Power Consumption Forecast. 
    
  
  
                    &#xD;
    &lt;i&gt;&#xD;
      &lt;a href="https://www.researchgate.net/publication/320225452_Total_Consumer_Power_Consumption_Forecast" target="_blank"&gt;&#xD;
        
                        
      
      
        researchgate.net
      
    
    
                      &#xD;
      &lt;/a&gt;&#xD;
    &lt;/i&gt;&#xD;
    
                    
  
  
    .
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    [9] Anders S.G. Andrae and Peter Edler (2015): On Global Electricity Usage of Communication Technology: Trends to 2030  
    
  
  
                    &#xD;
    &lt;a href="https://www.mdpi.com/2078-1547/6/1/117/htm" target="_blank"&gt;&#xD;
      
                      
    
    
      mdpi.com
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/2018-metsa-kesajuhla-1400x666-crop-p1akm4cojzven4846ohs8d43efsfym2a5mbttspmv4.jpeg" length="319685" type="image/jpeg" />
      <pubDate>Fri, 21 Sep 2018 11:24:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2018/09/talta-nayttaa-it-yrityksen-ymparistojalanjalki</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/2018-metsa-kesajuhla-1400x666-crop-p1akm4cojzven4846ohs8d43efsfym2a5mbttspmv4-81b061f2.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/2018-metsa-kesajuhla-1400x666-crop-p1akm4cojzven4846ohs8d43efsfym2a5mbttspmv4.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Webscale 5 vuotta!</title>
      <link>https://www.webscale.fi/2018/08/webscale-5-vuotta</link>
      <description>Webscale täytti juuri pyöreät viisi vuotta. Tuntuu uskomattomalta, että tätä on tehty jo niin kauan – tekemisen meininki on pysynyt samanlaisena innostuneena, vaikka meitä on nykyään kolmen sijaan seitsemäntoista. Perusasiat on pidetty ennallaan, vaikka kasvu näkyykin laajemmassa osaamisen ja kiinnostuksen kohteiden kirjossa: Tehdään teknisesti meitä kiinnostavia kehitysprojekteja asiakkaille, joiden kanssa haluamme työskennellä. Muutimme juuri toiseen […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Webscale täytti juuri pyöreät viisi vuotta. Tuntuu uskomattomalta, että tätä on tehty jo niin kauan – tekemisen meininki on pysynyt samanlaisena innostuneena, vaikka meitä on nykyään kolmen sijaan seitsemäntoista. Perusasiat on pidetty ennallaan, vaikka kasvu näkyykin laajemmassa osaamisen ja kiinnostuksen kohteiden kirjossa: Tehdään teknisesti meitä kiinnostavia kehitysprojekteja asiakkaille, joiden kanssa haluamme työskennellä.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Muutimme juuri toiseen toimistoomme Kalevankadulle edellisen käytyä ahtaaksi, mutta firmalle tämä on jo neljäs osoite. Perustettaessa firma sijaitsi virallisesti yhden perustajan kotona. Vain pieni parannus tilanteeseen oli postiosoitteen siirtäminen toimistohotelliin, josta se pian siirtyikin jo Rautatientorin laidalle Mikonkadulle. Viimeisin toimiston etsiminen kesti yli vuoden verran, kunnes löysimme uuden kodin Pyy-korttelista samasta risteyksestä Kolmen sepän kanssa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Täällä ympäriinsä katsellessa huomaan, että olemme päässeet vuosien varrella mukaan Suomen mittakaavassa suuren luokan projekteihin tekijöiksi – on rakennettu videostreamauspalveluita, useampi vaalikone, massiivisia analytiikkajärjestelmiä, uudistettu sulautettuja järjestelmiä ja oltu mukana tukemassa startupien kasvua. Asiakkaina kaikkea startupeista suuriin konserneihin – esimerkkeinä HS TV, Helsingin Sanomat, Keskisuomalainen, Menumat, Aktia, Liquidblox ja Zervant. Näiden asiakkaiden kanssa on ennen kaikkea ollut mukavaa tehdä kehitysprojekteja siellä toimivien tekijöiden vuoksi.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Yrityksen strategia on karkeasti ottaen ollut tehdä kiinnostavia teknisiä projekteja hyvien asiakkaiden ja mukavien työkavereiden kanssa. Tuolla toiminta-ajatuksella työ on ollut hauskaa jo 5 vuotta ja pidämme siitä kiinni jatkossakin kasvaessamme.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/reinvent-eka5-p1amj0wrjs73q24ytyq8ih5j2a637ulxany7b0joqo.jpeg" length="171801" type="image/jpeg" />
      <pubDate>Thu, 16 Aug 2018 06:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2018/08/webscale-5-vuotta</guid>
      <g-custom:tags type="string">Uutiset</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/reinvent-eka5-p1amj0wrjs73q24ytyq8ih5j2a637ulxany7b0joqo.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/reinvent-eka5-p1amj0wrjs73q24ytyq8ih5j2a637ulxany7b0joqo.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>EFAIL ja suositus PGP-salauksesta luopumisesta</title>
      <link>https://www.webscale.fi/2018/05/efail-ja-suositus-pgp-salauksesta-luopumisesta</link>
      <description>OpenPGP [1] on pitkäikäinen salausstandardi sähköpostiviestintään. Sitä on pitkään pidetty turvallisena tapana välittää sähköpostia turvattomassa kanavassa, jota nykyinen vaihtelevasti salattu sähköpostin siirtoväylä Internetin yli on. Muun muassa Edward Snowden suositteli PGP:n / GPG:n käyttöä journalisteille ja muille, jotka toimivat vihamielisessä ympäristössä – kuten aktivisteille, sekä yritysten ja hallinnon whistleblowereille. Äskettäin julkaistu tekninen artikkeli [2] “Efail: […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    OpenPGP [
    
  
  
                    &#xD;
    &lt;a href="#gpg-link"&gt;&#xD;
      
                      
    
    
      1
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    ] on pitkäikäinen salausstandardi sähköpostiviestintään. Sitä on pitkään pidetty turvallisena tapana välittää sähköpostia turvattomassa kanavassa, jota nykyinen vaihtelevasti salattu sähköpostin siirtoväylä Internetin yli on. Muun muassa Edward Snowden suositteli PGP:n / GPG:n käyttöä journalisteille ja muille, jotka toimivat vihamielisessä ympäristössä – kuten aktivisteille, sekä yritysten ja hallinnon whistleblowereille.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Äskettäin julkaistu tekninen artikkeli [
    
  
  
                    &#xD;
    &lt;a href="#paper-link"&gt;&#xD;
      
                      
    
    
      2
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    ] “Efail: Breaking S/MIME and OpenPGP Email Encryption using Exfiltration Channels” osoittaa, että hyödyntämällä vastaanottajan sähköpostiohjelmistojen haavoittuvuuksia, voidaan PGP-salatun viestin sisältö saada selville mikäli hyökkääjällä on käytettävissään salattu viesti. Haavoittuvuus on julkaistu sivustolla 
    
  
  
                    &#xD;
    &lt;a href="https://efail.de" target="_blank"&gt;&#xD;
      
                      
    
    
      https://efail.de
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    .
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Hyökkäys hyödyntää sähköpostiohjelmien taipumusta suosia käyttäjäystävällisyyttä turvallisuuden sijaan. Artikkeli ja efail.de näyttävät miten HTML-viestissä ulkoisen resurssin lataamista käytetätän vuotamaan salattua tietoa – salattu viesti puretaan osaksi ladattavan kuvan osoitetta, joka ladataan viestin purkamisen jälkeen ja samalla lähetetään purettu viesti palvelimelle.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Haavoittuvuuden julkaisun jälkeen verkkoon julkaistiin tulkintoja asiasta, ja toimintaohjeet vaihtelivat epäselvistä varsin teknisiin. Alla selventävää tietoa asiasta.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Keskipitkän aikavälin ratkaisu on sähköpostiohjelmien päivittäminen estämään nyt tunnetut haavoittuvuudet. Pidemmän ajan vaativa todellinen ratkaisukeino edellyttää S/MIME ja PGP-standardien päivitystä vastaamaan muuttuvaa tilannetta ja vastaavasti sähköpostiohjelmien päivityksen uuteen standardiin.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
                      
    
    
      Linkit
    
  
  
                    &#xD;
    &lt;/span&gt;&#xD;
    
                    
  
  
    :
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/efail-logo-p1akm5aiqtwoyq6r16wesuvjztnt6b60hqzbb2o8ow.png" length="23792" type="image/png" />
      <pubDate>Tue, 15 May 2018 08:36:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2018/05/efail-ja-suositus-pgp-salauksesta-luopumisesta</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/efail-logo-p1akm5aiqtwoyq6r16wesuvjztnt6b60hqzbb2o8ow.png">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/efail-logo-p1akm5aiqtwoyq6r16wesuvjztnt6b60hqzbb2o8ow.png">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kokoelma ihmisiä, jotka testaavat ideaansa</title>
      <link>https://www.webscale.fi/2018/04/kokoelma-ihmisia-jotka-testaavat-ideaansa</link>
      <description>Eräästä liiketoiminnan lähtökohtia käsittelevästä esityksestä minulle on jäänyt yksi lause erityisesti mieleen: ”Yritys on pohjimmiltaan kokoelma ihmisiä, jotka testaavat ideaansa. Asiakkaat joko uskovat siihen tai sitten eivät usko.” KTT Kari Lohivesi, Tampereen yliopiston johtamiskorkeakoulu Lauseessa viitataan liikeideaan, mutta se herättää itsessäni myös enemmän ajatuksia. Jokaisella ihmisellä on idea omasta tulevaisuudesta ja siitä, mihin haluaa panostaa […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Eräästä liiketoiminnan lähtökohtia käsittelevästä esityksestä minulle on jäänyt yksi lause erityisesti mieleen:
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Lauseessa viitataan liikeideaan, mutta se herättää itsessäni myös enemmän ajatuksia. Jokaisella ihmisellä on idea omasta tulevaisuudesta ja siitä, mihin haluaa panostaa aikaansa. Asiakkaiden lisäksi työntekijöiden on uskottava yrityksen liikeideaan. Terve yritys tarjoaa työntekijöillensä mahdollisuuden testata ja toteuttaa ideoitansa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  Työntekijälähtöisyys

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Toimimme alalla, jossa kilpailemme sekä hyvistä osaajista että mielenkiintoisista projekteista ja kehittyvistä asiakaskumppanuuksista. Olemme haastaneet itsemme miettimään asiakashyötyä ja työn mielekkyyttä monesta eri näkökulmasta.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Kilpailuetu syntyy asiakkaiden ja työntekijöiden kokemasta arvosta ja siitä, että on jossakin heille tärkeässä asiassa kilpailijoita parempi. Tiedämme, että monessa yrityksessä on huippuosaamista, mutta ihmiset eivät välttämättä ole tyytyväisiä työhönsä. Tämä valitettavasti näkyy myös asiakkaille, kun projektien avainhenkilöt vaihtuvat ja hankkeet viivästyvät. Väitän, että asiakkaiden kannalta varsinkin osaajakeskeisillä aloilla on iso merkitys millainen yrityskulttuuri kumppaniyrityksessä on.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Työn mielekkyys muodostuu monesta tekijästä ja haemme mielekkyyttä eri tasoilla. Yksilötasolla on merkitystä esimerkiksi mahdollisuudella hyödyntää omaa osaamistaan ja kehittyä. Monille työn sosiaalinen aspekti on tärkeä. Se muodostuu mm. työkavereista, asiakkaista ja arvostuksesta. Työntekijälähtöisyys on kilpailuetu, kun yrityksen toimintatavat- ja mallit muotoillaan niin, että ne tukevat jokaisen tavoitteita – sekä työntekijän että asiakkaan. Kun ihminen voi hyvin, niin on helpompi toimia ja olla tuottava alati muuttuvassa toimintaympäristössä, jollaisia usein ketterät ohjelmistokehityshankkeet ovat.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  Osaamista ja välittämistä

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Yrityksemme kasvaa ja olemme kiitollisia, että sekä asiakkaat että työntekijämme uskovat liikeideaamme. Kilpaillulla alalla asetan usein itselleni silti kysymyksen: miksi asiakas ostaa juuri meiltä?
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Uskon, että alallamme asiakashyöty rakentuu osaamisesta ja välittämisestä. Tähän oleellisesti liittyy myös lupausten tekeminen. Työntekijöille lupaamme mahdollisuuden toteuttaa ideoita ja asiakkaille lupaamme, että he hyötyvät näistä ideoista ja huippuosaamisesta digitaalisen liiketoiminnan tehokkuuden parantumisena. Välitämme siitä, että työntekijämme pääsevät toteuttamaan itseänsä – ja siitä, että asiakkaamme hyötyvät tästä.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/porukka-p1amjll7q4zethaxh7o11bxo4rc5x6w0piavv3p0xs.jpeg" length="61177" type="image/jpeg" />
      <pubDate>Wed, 25 Apr 2018 09:27:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2018/04/kokoelma-ihmisia-jotka-testaavat-ideaansa</guid>
      <g-custom:tags type="string">Teknologiat,Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/porukka-p1amjll7q4zethaxh7o11bxo4rc5x6w0piavv3p0xs.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/porukka-p1amjll7q4zethaxh7o11bxo4rc5x6w0piavv3p0xs.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Muista nämä IOT-hanketta ostaessasi</title>
      <link>https://www.webscale.fi/2018/03/muista-nama-iot-hanketta-ostaessasi</link>
      <description>IoT-hankkeissa vanhat sulautetut järjestelmät ja puutteet hankintasopimuksissa tulevat kalliiksi hidasteeksi, kun järjestelmiä lähdetään laajentamaan ja jatkokehittämään. Tämän vuoksi päätin julkaista omat neuvoni yritysten järjestelmähankintoihin. Olennaiseksi nämä asiat tulevat, kun olemassa olevaa järjestelmää lähdetään nostamaan toiminnallisesti seuraavalle tasolle datan yhdistelyn, automaattisen huoltotoiminnan ja älykkään valvonnan osalta – jolloin usein pelkän rautatoimittajan kyvykkyys ja intressit eivät usein […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    IoT-hankkeissa vanhat sulautetut järjestelmät ja puutteet hankintasopimuksissa tulevat kalliiksi hidasteeksi, kun järjestelmiä lähdetään laajentamaan ja jatkokehittämään. Tämän vuoksi päätin julkaista omat neuvoni yritysten järjestelmähankintoihin. Olennaiseksi nämä asiat tulevat, kun olemassa olevaa järjestelmää lähdetään nostamaan toiminnallisesti seuraavalle tasolle datan yhdistelyn, automaattisen huoltotoiminnan ja älykkään valvonnan osalta – jolloin usein pelkän rautatoimittajan kyvykkyys ja intressit eivät usein riitä muuttuneisiin tarpeisiin.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Kaikkien projektituotosten pitäisi olla hankinnan lopuksi laitteen ostajan omaisuutta tai vähintään vapaasti käytettävissä. Muussa tapauksessa laitteilla liiketoimintaa tekevä ostaja joutuu kantamaan liiketoimintariskin siitä, että laitteen toimittaja lopettaa toimintansa tai ryhtyy kiristämään hinnoittelemalla monopoliasemansa turvin työnsä kalliiksi.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Järjestelmien hankintaan liittyy kolme erilaista kehityshanketta, joilla kullakin on omat huomioitavat piirteensä hankintaa tehtäessä. Sulautetun laitteen suunnittelutyö ottaa kantaa ennen muuta fyysiseen laitteeseen ja sen elektroniikkasuunnitteluun. Vahvasti sidoksissa itse laitteeseen on laitteen ohjelmakoodin kehitys, joka on puhtaasti digitaalisena tuotoksena hyvin eri luonteinen kuin fyysinen tuote. Johtuen kytköksestä itse laitteeseen, laitteen ohjelmistossa on pakostikin juuri tälle laitteelle räätälöityä toteutusta, mutta tämä on syytä abstraktoida hyvin itse toimintalogiikassa. Kolmas osa on verkkopalvelun kehittäminen laitteen tietojen ohjaamiseksi. Sulautettujen järjestelmien kanssa poikkeukset tavanomaisesta verkkopalvelukehityksestä johtuvat mahdollisista laitteen rajoittamista kyvykkyyksistä tietoliikenteen ja salauksen suhteen.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Sulautetun laitteen suunnittelutyö:

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                     
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Laitteen ohjelmakoodin kehityshuomiot:

                &#xD;
&lt;/h3&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Verkkopalveluiden kehitys:

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Kun näistä asioista on sovittu jo hankintaa tehdessä pitävästi, voit paljon luottavaisemmin mielin kehittää liiketoimintaasi tietäen, että IOT-järjestelmäsi on teknisesti kehittämiskelpoinen, eikä kehitystyöhön jatkossa tule hintalappua kankean järjestelmän korvaamisesta tai selvittelystä puutteellisin lähtötiedoin. Lupaan myös, että tulevat kehittäjäsi kiittävät hyvästä pohjatyöstä.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/piirilevy3-p1amkqy42uk10bmurpjm31hy9pobbvg7j708z9zpc0.jpeg" length="88226" type="image/jpeg" />
      <pubDate>Thu, 29 Mar 2018 09:45:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2018/03/muista-nama-iot-hanketta-ostaessasi</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/piirilevy3-p1amkqy42uk10bmurpjm31hy9pobbvg7j708z9zpc0.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/piirilevy3-p1amkqy42uk10bmurpjm31hy9pobbvg7j708z9zpc0.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Implementing a simple serverless SMS handler with Twilio and AWS Lambda</title>
      <link>https://www.webscale.fi/2018/03/implementing-a-simple-serverless-sms-handler-with-twilio-and-aws-lambda</link>
      <description>In some projects you need a way to receive and handle SMS messages. Your project might require you to make custom actions based on content of a received SMS or send SMS from your application. Ideally you would want the integration of SMS functionality to be easy and affordable. Your country probably has some local […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    In some projects you need a way to receive and handle SMS messages. Your project might require you to make custom actions based on content of a received SMS or send SMS from your application. Ideally you would want the integration of SMS functionality to be easy and affordable. Your country probably has some local actors that provide SMS services but these might not be the best options if you want to get up and running fast and affordably.
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    Amazon’s Simple Notification Service (SNS) would be a natural choice when working with Amazon’s cloud services. With SNS you can send SMS, Mobile Push notifications, Email and
    
  
    
                    &#xD;
    &lt;a href="https://aws.amazon.com/sns/details/" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
        
      
        more
      
    
      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
    
                    
    
  
    . But with SNS you can’t receive SMS from users and this gap must be filled somehow.
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    Twilio can be the answer if you need a way to handle incoming and outgoing SMS, voice, or even fax. You can send and receive SMS on a local or global scale. Twilio provides a broad set of easy to use tools, pay-per-use pricing and scalability.
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    In this post we will talk about my experience using Twilio for a simple serverless SMS handler. We will also discuss things that you should know before deciding to use Twilio for a project.
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;b&gt;&#xD;
        
                        
        
      
        What is Twilio?
      
    
      
                      &#xD;
      &lt;/b&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://www.twilio.com/" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
      
      
        Twilio
      
    
    
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
     is a cloud service for phone calls, SMS, video and a lot
    
  
  
                    &#xD;
    &lt;a href="https://www.twilio.com/products" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
      
      
        more
      
    
    
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    . Twilio provides rich APIs, open source libraries and SDKs for different programming languages which make using the service nice and easy. Twilio even provides a visual editor for building Twilio apps and a serverless hosting service for your Twilio code.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    Twilio is a fully scalable cloud service with a pay-per-use pricing model. Twilio also deserves praise for their somewhat intuitive and fancy dashboard.
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
      
    
      Competitors to Twilio
    
  
    
                    &#xD;
    &lt;/b&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    There are a couple of services similar to Twilio on the market. Two services worth mentioning are 
    
  
    
                    &#xD;
    &lt;a href="https://www.nexmo.com/" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
        
      
        Nexmo
      
    
      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
    
                    
    
  
     and 
    
  
    
                    &#xD;
    &lt;a href="https://www.plivo.com/" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
        
      
        Plivo
      
    
      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
    
                    
    
  
    . The availability of services, phone number availability in countries and pricing varies between these providers. The comparison of these services is outside scope of this post but before choosing a service be sure to investigate and compare which one is the best option for you. In this post we are solely focusing on Twilio.
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
      
    
      Things to know when considering using Twilio
    
  
    
                    &#xD;
    &lt;/b&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    Firstly you should check from your Twilio dashboard that your country is supported for the service you want to use. For example Twilio doesn’t 
    
  
    
                    &#xD;
    &lt;i&gt;&#xD;
      
                      
      
    
      yet
    
  
    
                    &#xD;
    &lt;/i&gt;&#xD;
    
                    
    
  
     provide finnish SMS compatible numbers but in our case we were fine with using an Estonian number for the simple serverless SMS handler.
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    Of course
    
  
    
                    &#xD;
    &lt;a href="https://www.twilio.com/pricing" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
        
      
        pricing
      
    
      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
    
                    
    
  
     is important and something you might have to think about. Pricing varies by country. With Twilio you only pay for what you use. As with any pay-per-use cloud service you 
    
  
    
                    &#xD;
    &lt;i&gt;&#xD;
      
                      
      
    
      really
    
  
    
                    &#xD;
    &lt;/i&gt;&#xD;
    
                    
    
  
     do pay for everything you use so make sure that you are aware of the volume you are going to need to avoid being blown away by massive bills. This should not be a problem unless you operate on a massive scale.
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    In the case of SMS numbers you pay for sending and receiving SMS. The price of sending and receiving SMS can vary by carrier. You also pay a fixed rate per month for each number you have bought from Twilio. At least this is the case with Estonian SMS numbers. Check the pricing for your country before using the service.
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    Twilio works in the way that it charges you a fixed amount (20$ – 2000$ in 10$ increments, 14.7.2018) when your funds drop under a specified amount (10$ – 1000$ in 10$ increments, 14.7.2018). You can also manually add funds to your account.
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    Finally, as with any service you are about to use, make sure you understand the
    
  
    
                    &#xD;
    &lt;a href="https://www.twilio.com/legal/aup" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
        
      
        acceptable use policy
      
    
      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
    
                    
    
  
    . Twilio has a minimum usage requirement of two (2) transmissions for each SMS number per month. If your SMS number is deemed inactive it might be released for others to buy. This is understandable since there exists a finite amount of phone numbers.
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
      
    
      Case: simple serverless SMS handler
    
  
    
                    &#xD;
    &lt;/b&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    In this example we simply want to receive SMS, handle them and respond with an SMS.
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    The high level architecture for this handler is seen in figure 1.
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    The process begins with a user sending an SMS to the number you have bought from Twilio. Twilio receives the SMS and does a HTTP POST request to the URL you have defined in the Twilio dashboard. You can choose if you want the request to be either GET or POST.
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    In this case the URL is an API Gateway endpoint that triggers a Lambda Node.js function. The function will handle the message however you decide to and in our case it posts a message to one of our company’s chat rooms.
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    The function uses Twilio’s Node.js SDK to answer the SMS with an SMS.
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
      
    
      The lambda function
    
  
    
                    &#xD;
    &lt;/b&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    The function is Node.js and uses Express. Naturally, to use the Twilio SDK we have to
    
  
    
                    &#xD;
    &lt;a href="https://www.twilio.com/docs/libraries/node" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
        
      
        add the library
      
    
      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
    
                    
    
  
     to our dependencies. In order for the SDK to work you must define two (2) global variables TWILIO_SID and TWILIO_AUTH_TOKEN. You can get both of these from your Twilio dashboard. If you for some reason don’t have these global variables set, you can also start using the SDK in the way shown in the below code snippet.
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;i&gt;&#xD;
      
                      
      
    
      Request validation
    
  
    
                    &#xD;
    &lt;/i&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    Twilio is nice enough to provide a
    
  
    
                    &#xD;
    &lt;a href="https://www.twilio.com/docs/guides/how-to-secure-your-express-app-by-validating-incoming-twilio-requests#use-twilio-express-request-validation-middleware" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
        
      
        webhook
      
    
      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
    
                    
    
  
     that can validate that the request really is from Twilio. In the code snippet below the middleware takes the parameters validate and url. No parameters are required by the middleware.
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    validate (true/false): If the request should be validated or not. It is configured to be false in local development and true in test and production.
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    url (string): In our case this parameter must be given because the SSL connection is terminated upstream in our stack and the URL our function receives does not match the URL Twilio calls to reach our application. Therefore to successfully validate the request we must set the url parameter. The url parameter is the same url that you have defined in the Twilio dashboard for the HTTP POST request.
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;i&gt;&#xD;
      
                      
      
    
      Handling and answering a request
    
  
    
                    &#xD;
    &lt;/i&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    Incoming SMS have a bunch of
    
  
    
                    &#xD;
    &lt;a href="https://www.twilio.com/docs/api/messaging/message" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
        
      
        properties
      
    
      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
    
                    
    
  
    . In this case we are interested in the content of the SMS and the sender’s phone number. They are naturally found from the request body as seen in the code snippet below.
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    Under the hood Twilio uses 
    
  
    
                    &#xD;
    &lt;a href="https://www.twilio.com/docs/api/twiml" target="_blank"&gt;&#xD;
      &lt;span&gt;&#xD;
        
                        
        
      
        Twilio Markup Language
      
    
      
                      &#xD;
      &lt;/span&gt;&#xD;
    &lt;/a&gt;&#xD;
    
                    
    
  
     (TwiML, basically XML-documents) as the data format between transmissions which you don’t luckily have to code yourself (unless you want to).
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;b&gt;&#xD;
      
                      
      
    
      Summary
    
  
    
                    &#xD;
    &lt;/b&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    Twilio is a good choice for applications that need to receive and send SMS especially because of its easy signup, fancy dashboard, developer friendly APIs and SDKs, exhaustive documentation, scalability and affordable pricing.
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    As a service Twilio is interesting and it opens up opportunities for you because it makes powerful SMS and other services accessible to everyone. It is easy to use it in conjunction with other cloud services, like AWS Lambda.
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    
    
  
    On a final note when using Twilio you might have to pay close attention to your spending. Also be sure to check the availability of services you want to use in your country.
  

  
                  &#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/sms-phone-p1akm68cxnxzac5dvpb1dcn0l7j6e09qtvmsscmuio.jpeg" length="57104" type="image/jpeg" />
      <pubDate>Wed, 21 Mar 2018 10:47:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2018/03/implementing-a-simple-serverless-sms-handler-with-twilio-and-aws-lambda</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/sms-phone-p1akm68cxnxzac5dvpb1dcn0l7j6e09qtvmsscmuio+%281%29.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/sms-phone-p1akm68cxnxzac5dvpb1dcn0l7j6e09qtvmsscmuio.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Tekemisen vapaus ohjelmistokehityksessä</title>
      <link>https://www.webscale.fi/2018/02/tekemisen-vapaus-ohjelmistokehityksessa</link>
      <description>Ohjelmistokehitys on luovaa työtä ja siinä kokeillaan usein uusia teknologioita ja ideoita. Työn luonteeseen kuuluu, että ratkaisua työstetään ja parannetaan niin pitkään, kunnes lopputulos on miellyttävä. Luovaan työhön yhdistetään usein myös tekemisen vapaus. Tekemisen vapaus ohjelmistokehityksessä pitää sisällään esimerkiksi vapautta päättää työajoista ja -tavoista sekä käytettävistä teknologioista. Tehokkaissa tiimeissä kehittäjillä on vapaus toteuttaa haluttu toiminnallisuus […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Ohjelmistokehitys on luovaa työtä ja siinä kokeillaan usein uusia teknologioita ja ideoita. Työn luonteeseen kuuluu, että ratkaisua työstetään ja parannetaan niin pitkään, kunnes lopputulos on miellyttävä.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Luovaan työhön yhdistetään usein myös tekemisen vapaus. Tekemisen vapaus ohjelmistokehityksessä pitää sisällään esimerkiksi vapautta päättää työajoista ja -tavoista sekä käytettävistä teknologioista. Tehokkaissa tiimeissä kehittäjillä on vapaus toteuttaa haluttu toiminnallisuus heidän parhaaksi näkemällään tavalla. Kehittäjien kannalta vapaus on tärkeää, koska se motivoi heitä, edesauttaa heidän omaa kehittymistä ja parantaa ohjelmiston laatua.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  Laadukas ohjelmistoprojekti

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Laadukkaan ohjelmistoprojektin kannalta on tärkeää luoda sellaiset olosuhteet, jotka tukevat vapautta. Tällaisia olosuhteita ovat esimerkiksi nykyaikaiset teknologiavalinnat ja hyvä projektinhallinta. Nykyaikaisilla teknologiavalinnoilla varmistetaan, että voidaan noudattaa parhaita käytäntöjä ja käyttää moderneja lähestymistapoja erilaisiin ongelmiin. Lisäksi kehittäjien ammattitaito pysyy ajan tasalla ja myös tekeminen säilyy mielekkäänä. Projektinhallinnassa tämä tulisi ottaa huomioon yrittämällä löytää balanssi kehittäjien vapauden ja toiminnallisuuksien toimittamisen välillä.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  Vapaus tuo myös vastuuta

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Kehittäjän näkökulmasta vapauteen liittyy myös paljon vastuuta. Tärkeimpänä vastuuna on osata erilaisia teknologioita ja ratkaisumalleja, jolloin tekemisen vapautta voidaan käyttää hyödyksi parhaalla mahdollisella tavalla. Tästä syystä on tärkeää pitää omaa ammattitaitoa yllä, koska ala kehittyy jatkuvasti nopealla tahdilla. Laatuvaatimukset ja projektin scope voivat asettaa rajoitteita tekemisen vapauteen, sillä ne voivat estää tai rajoittaa jonkin tietyn lähestymistavan käyttämistä kyseisessä projektissa. On myös tärkeää ymmärtää projektiin liittyvän asiakkaan liiketoimintamalli, koska tällöin voidaan asettaa selkeämmät tavoitteet kehitystyölle.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  Tekemisen vapaus Webscalessa

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Webscalella 
    
  
  
                    &#xD;
    &lt;a href="https://webscale.fi/rekry/#jobs"&gt;&#xD;
      
                      
    
    
      tekemisen vapaus
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
     näkyy usealla eri tavalla. Tekijät pääsevät itse vaikuttamaan siihen, että minkälaisissa projekteissa he haluavat työskennellä. Projekteissa on mahdollisuus päästä vaikuttamaan teknologiavalintoihin, jolloin päästään tekemään töitä itselle mielenkiintoisten teknologioiden parissa. Tällöin asiakkaan tekninen ympäristö modernisoituu samalla. Myös omien projektien tekemistä tuetaan, sillä ne ovat erinomainen tapa kehittää omaa osaamista. Omissa projekteissa tekijällä on kaikki valta päätöksistä sekä täysi luovuuden ja tekemisen vapaus. Tästä syystä omien projektien parissa saakin hyvin syvennettyä omaa ammattiosaamista, koska pääsee keskittymään juuri sellaisiin kokonaisuuksiin kuin itse haluaa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  Oma osaaminen vaikuttaa

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Oman osaamisen ylläpidolla on vaikutusta tekemisen vapauteen, koska oma ammattitaito määrittelee paljon miten hyvin vapautta pystytään käyttämään hyödyksi. Tästä syystä Webscalella oman ammattitaidon ylläpitämistä arvostetaan ja tuetaan paljon. Webscalella pystyy kehittymään monipuolisten asiakasprojektien ansiosta, koska tällöin saa kokemusta erilaisista teknologioista, ratkaisuista ja domaineista. Työntekijöiden osaamiseen panostetaan aidosti erilaisten konferenssien, koulutusten ja tech-dayiden avulla. Säännöllinen vaihtelu projekteissa tarjoaa tilaisuuden työskennellä erilaisten asioiden parissa. Näin ollen tech-dayt ovatkin loistava tilaisuus jakaa käytännön oppeja muiden työntekijöiden kanssa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/notes-p1akm68cxnxzac5dvpb1dcn0l7j6e09qtvmsscmuio.jpeg" length="86705" type="image/jpeg" />
      <pubDate>Wed, 07 Feb 2018 10:10:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2018/02/tekemisen-vapaus-ohjelmistokehityksessa</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/notes-p1akm68cxnxzac5dvpb1dcn0l7j6e09qtvmsscmuio.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/notes-p1akm68cxnxzac5dvpb1dcn0l7j6e09qtvmsscmuio.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Etäyhteisöllisyyttä ja vapaan tekemisen kulttuuria</title>
      <link>https://www.webscale.fi/2018/01/etayhteisollisyytta-ja-vapaan-tekemisen-kulttuuria</link>
      <description>Arki sujuu Webscale -tiimissä erityisen itseohjautuvasti. Yhteisöllisyys on korkealla tasolla, vaikka olemme suurimman osan ajasta hajallaan jakautuneena asiakkaiden toimitiloihin, kotitoimistoille ja Mikonkadulla sijaitsevalle Webscale-päämajalle. Se on jotakin, josta voimme olla ylpeitä. Tässä hieman yhden Webscalen perustajista, seniorikonsulttina työskentelevän Hannu-Pekan, tuttavallisemmin HP:n ajatuksia siitä, mitä tarvitaan hyvän yhteisöllisyyden ylläpitoon sekä porukan tiiviinä pitämiseen etätöiden ja jokaisen […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Arki sujuu Webscale -tiimissä erityisen itseohjautuvasti. Yhteisöllisyys on korkealla tasolla, vaikka olemme suurimman osan ajasta hajallaan jakautuneena asiakkaiden toimitiloihin, kotitoimistoille ja Mikonkadulla sijaitsevalle Webscale-päämajalle. Se on jotakin, josta voimme olla ylpeitä.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Tässä hieman yhden Webscalen perustajista, seniorikonsulttina työskentelevän Hannu-Pekan, tuttavallisemmin HP:n ajatuksia siitä, mitä tarvitaan hyvän yhteisöllisyyden ylläpitoon sekä porukan tiiviinä pitämiseen etätöiden ja jokaisen itse itselleen suunnittelemien aikataulujen keskellä.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Mitä tarvitaan etäyhteisöllisyyden ylläpitämiseen, HP?

                &#xD;
&lt;/h3&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  Tiedon välittäminen on jokaisen vastuulla

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    ”Teen itse noin puolet ajasta etätöitä. Asiakasprojekteissa toimimme aina asiakkaan toiveiden mukaan: joskus projektitiimin yhteistyö vaatii jatkuvaa läsnäoloa”, sanoo HP. Työn luonne on kuitenkin suurimmaksi osaksi sitä, että töitä tehdään monitoimittajatiimeissä erillään Webscale -porukasta. Etätöitä meillä tehdään pääasiassa kotitoimistolta, mitä nyt 
    
  
  
                    &#xD;
    &lt;a href="https://webscale.fi/blogi/espoon-rauhasta-berliinin-vilskeeseen/"&gt;&#xD;
      
                      
    
    
      HP itse toimi kerran muutaman kuukauden jakson Saksasta käsin
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    .
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    HP:n mukaan erityisen tärkeäksi tekijäksi etäyhteisöllisyydessä muodostuu tietenkin yhteydenpito. Pidämme etäpäivinä yhteyttä Flowdockin välityksellä, meilaamme ja soittelemme. Tarkempi asioiden läpikäyminen vaatii jo videochatin. Flowdockissa keskustellaan projekteista ja teknologioista, mutta juttu luistaa tietenkin myös kaikesta vapaa-aikaan liittyvästä. ”Tärkeää on, että apua ja neuvoa työkavereilta kysytään heti, ja tukea saa eikä tarvitse lyödä yksin kotona päätä seinään”, HP kertoo.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Vaikka HP on keskusteluissa aktiivinen, hän ei itse asiassa ole edes porukan puheliaimmasta päästä. Tärkeää yhteisöllisyyden ylläpitämisessä onkin se, että jokainen on itse vastuussa omasta aktiivisuudestaan. Jos itse ei muista tuoda esille ajatuksiaan, ei kukaan muu osaa niistä kysyä saati tarjota apuaan. Etäyhteisöllisyyden ja vapaan tekemisen kulttuuria vaalitaan ja myös tiimin kanssa vietetty aika on tärkeällä sijalla. Sitä varten pidetään yhteinen toimistopäivä joka perjantai. Silloin tehdään porukalla töitä, pidetään viikkokatsaus ja päivitetään kuulumiset firman ja työkavereiden tapahtumista. ”Usein perjantaisin järjestämme myös tech dayn, jolloin jaetaan opittua koko tiimille, esitellään mielenkiintoisia asioita ja ajatuksia sekä opetellaan yhdessä esimerkiksi uusia teknologioita”, HP kuvailee yrityksen käytäntöjä.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  Vapaus sekä työn ja muun elämän yhteensovittaminen

                &#xD;
&lt;/h4&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Webscalessa on töissä useampia, jotka elävät parhaillaan ns. ruuhkavuosia ja arkeen kuuluu niin ikään lapsiperheen aikataulujen ja työn yhteensovittaminen. Elämää helpottaa huomattavasti se, että työmatkaan kuluvan ajan voi useana päivänä viikosta säästää ja käyttää hyödyksi. Meillä pidetään tärkeänä, että työn ja muun elämän yhteensovittaminen sujuu saumattomasti.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Etätyökulttuurin haasteena HP:n mukaan voidaan pitää sitä, että työtunnit saattavat lipsahtaa turhan pitkiksi. Etätyöskentely siirtää työnohjauksellisen vastuun lähes kokonaisuudessaan yksilölle. Systeemi perustuukin täysin luottamukseen ja silloin on muistettava myös itse piirtää raja työn ja vapaa-ajan välille. HP toteaakin: ”Ongelmia tulee, jos ei muisteta etätyöpäivän jälkeen vaihtaa vapaalle. Se alkaa pitemmän päälle näkyä ihmisestä, kun sitä rupeaa harmittamaan”.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Emme tarkoituksella ole kehittäneet tiukkoja sääntöjä tai ohjeistuksia etätyöarkeen. Meillä toimivaa etätyökulttuuria pidetään arvokkaana, ja tavoitteena on pitää se yhtä vapaana, itseohjautuvana ja yhteisöllisenä myös Webscalen kasvaessa suuremmaksi.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h4&gt;&#xD;
  
                  
  Etäyhteisöllisyyden kolme tärkeintä

                &#xD;
&lt;/h4&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/etayhteiso-p1amm3tpy8exs1nuuao7op5x5qzeg4u91wxhxnz8cg.jpeg" length="79731" type="image/jpeg" />
      <pubDate>Wed, 24 Jan 2018 08:47:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2018/01/etayhteisollisyytta-ja-vapaan-tekemisen-kulttuuria</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/etayhteiso-p1amm3tpy8exs1nuuao7op5x5qzeg4u91wxhxnz8cg.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/etayhteiso-p1amm3tpy8exs1nuuao7op5x5qzeg4u91wxhxnz8cg.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Webscale vahvistaa palvelutarjontaansa</title>
      <link>https://www.webscale.fi/2018/01/webscale-vahvistaa-palvelutarjontaansa</link>
      <description>Tavoitteemme on tarjota Suomen parasta Amazon Web Services (AWS) -konsultointia asiakkaillemme, joiden tarpeet vaativat pilvialustan perinpohjaista tuntemista ja laaja-alaista osaamista moderneista ohjelmistoteknologioista. Asiakaspalautteen perusteella olemme onnistuneet tässä erinomaisesti. Nyt syvennämme yhteistyötä Amazonin kanssa AWS:n pilvipalveluiden jälleenmyyntikumppanuudella, jolla vastaamme asiakkaiden kasvaviin tarpeisiin pilvialustan käyttöönotoissa, kehityksessä ja hallintapalveluissa. Helmikuussa 2017 saavutimme myös vaativan AWS Advanced Consulting -kumppanuustason. […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Tavoitteemme on tarjota Suomen parasta Amazon Web Services (AWS) -konsultointia asiakkaillemme, joiden tarpeet vaativat pilvialustan perinpohjaista tuntemista ja laaja-alaista osaamista moderneista ohjelmistoteknologioista. Asiakaspalautteen perusteella olemme onnistuneet tässä erinomaisesti.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Nyt syvennämme yhteistyötä Amazonin kanssa
    
  
  
                    &#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
       AWS:n pilvipalveluiden jälleenmyyntikumppanuudella
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    
                    
  
  
    , jolla vastaamme asiakkaiden kasvaviin tarpeisiin pilvialustan käyttöönotoissa, kehityksessä ja hallintapalveluissa. Helmikuussa 2017 saavutimme myös vaativan 
    
  
  
                    &#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      AWS Advanced Consulting
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    
                    
  
  
     -kumppanuustason.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    AWS Channel Reseller ja AWS Advanced Consulting Partner -kumppanisopimusten avulla tarjoamme entistäkin kattavammin parhaita osaajia ja pilvipalveluita digitalisaatiohankkeisiin. Kokeneet ja AWS-sertifioidut kehittäjämme auttavat sekä suuria että pieniä yrityksiä skaalautuvien digitaalisen palvelun suunnittelussa, toteutuksessa ja ylläpidossa. AWS:n jälleenmyyntikumppanina tarjoamme asiakkaille johtavan globaalin pilvipalveluyhtiön palveluita suomenkielisen ja paikallisen tiimin tukemana. Lue lisää 
    
  
  
                    &#xD;
    &lt;a href="https://webscale.fi/palvelut/"&gt;&#xD;
      
                      
    
    
      palveluistamme
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    .
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Vahvan kasvun tueksi olemme myös rekrytoineet uusia osaajia ja 
    
  
  
                    &#xD;
    &lt;b&gt;&#xD;
      
                      
    
    
      palkkaamme nyt lisää päteviä henkilöitä AWS-konsulteiksi ja kehittäjiksi
    
  
  
                    &#xD;
    &lt;/b&gt;&#xD;
    
                    
  
  
    . Tutustu 
    
  
  
                    &#xD;
    &lt;a href="https://webscale.fi/rekry"&gt;&#xD;
      
                      
    
    
      avoimiin tehtäviimme
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
     ja ota yhteyttä!
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/working-e1516399795676-p1amutrtcwcphsztx2dlthxvkfzzv1gll2to831qm8.jpeg" length="183789" type="image/jpeg" />
      <pubDate>Fri, 12 Jan 2018 14:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2018/01/webscale-vahvistaa-palvelutarjontaansa</guid>
      <g-custom:tags type="string">Uutiset,Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/working-e1516399795676-p1amutrtcwcphsztx2dlthxvkfzzv1gll2to831qm8.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/working-e1516399795676-p1amutrtcwcphsztx2dlthxvkfzzv1gll2to831qm8.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Serverless in re:Invent 2017</title>
      <link>https://www.webscale.fi/2017/12/serverless-in-reinvent-2017</link>
      <description>This years re:Invent was a blast! Great announcements, solid sessions, hilarious gameday, fun networking opportunities and what a re:Play after party with DJ Snake! Personally this was third in a row and best one so far! I’ve been working with serverless systems for the past year and that’s what was in my scope! I was […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           This years re:Invent was a blast! Great announcements, solid sessions, hilarious gameday, fun networking opportunities and what a re:Play after party with DJ Snake! Personally this was third in a row and best one so far! I’ve been working with serverless systems for the past year and that’s what was in my scope!
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           I was glad to find out AWS announced a bucket full of new services and improvements for serverless applications. Serverless is the direction the world is going, so if you aren’t on the serverless train yet, now is the time to catch up.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           What is serverless?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            Serverless has many definitions, but it can be considered as next step from IaaS (Infrastructure as a Service), to FaaS (Function as a service) where abstraction of application processing moves up from deploying virtual machines and containers to deploying bare business logic functions to be executed on ephemeral automatically scalable managed execution environment such as AWS Lambda. Serverless functions can be triggered from multiple events, for example https request to API Gateway or S3 event stream event. Currently 20 different AWS services can trigger Lambda functions.  [
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://docs.aws.amazon.com/lambda/latest/dg/invoking-lambda-function.html" target="_blank"&gt;&#xD;
      
           1
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ]
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Serverless architectures and applications greatly differ from traditional server/virtual machine/container based architectures and applications. In serverless environment developer no longer needs to worry about building AMIs, installing OS patches, load balancing, instance types or in some cases even VPC networking since if you only need AWS managed services like DynamoDB or S3, you can access those from public internet. Serverless application can scale virtually to any load. You only pay for the actually consumed resources like processor time, memory, networking and utilized managed services.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Amazon Aurora Serverless
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            “Amazon Aurora Serverless is an on-demand auto-scaling configuration for Amazon Aurora, where the database will automatically start up, shut down, and scale up or down capacity based on your application’s needs. Aurora Serverless enables you to run your relational database in the cloud without managing any database instances or clusters.”  [
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://aws.amazon.com/about-aws/whats-new/2017/11/sign-up-for-the-preview-of-amazon-aurora-serverless/" target="_blank"&gt;&#xD;
      
           2
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ]
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Aurora Serverless is the single most important announcement regarding serverless development. If your data has many relations and access patterns are not predictable you need a relational database. So far RDS (Relational Database Service) has been the only AWS managed option to provision relational databases. While RDS does its job well it doesn’t automatically scale in terms of performance or costs.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           What is great about serverless is that extra environments cost next to nothing. You could have production like environment for every developer and you only pay for the consumed resources. Aurora serverless enables just this and can automatically scale up and down when you hit that unpredicted traffic spike.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           DynamoDB Backup and Restore
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            DynamoDB is the go-to database in serverless environment when data access patterns are well known and there is no need for relational database features like joining tables or transactions. Previously backing up and restoring DynamoDB tables has been quite painful so this is very welcome feature which makes DynamoDB even more compelling.  [
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://aws.amazon.com/about-aws/whats-new/2017/11/aws-launches-amazon-dynamodb-backup-and-restore/" target="_blank"&gt;&#xD;
      
           3
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ]
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           DynamoDB Global Tables
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            “Global Tables builds upon DynamoDB’s global footprint to provide you with a fully managed, multi-region, and multi-master database that provides fast, local, read and write performance for massively scaled, global applications. Global Tables replicates your Amazon DynamoDB tables automatically across your choice of AWS regions.”  [
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://aws.amazon.com/about-aws/whats-new/2017/11/aws-launches-amazon-dynamodb-global-tables/" target="_blank"&gt;&#xD;
      
           4
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ]
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           DynamoDB Global Tables is very welcome feature when high availability and near user global performance matter. Active-active disaster recovery model which can withstand an outage of a whole region just became so much easier to implement. Database multi-master replication is very complex issue and now it has been solved for you.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Traffic Shifting and Phased Deployments with AWS CodeDeploy
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            You can now shift incoming traffic between two AWS Lambda function versions based on pre-assigned weights. This allows you to gradually shift traffic between two versions, helping you reduce the risk and limit the blast radius of new Lambda deployments.  [
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://aws.amazon.com/about-aws/whats-new/2017/11/aws-lambda-supports-traffic-shifting-and-phased-deployments-with-aws-codedeploy/" target="_blank"&gt;&#xD;
      
           5
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ]
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Weighted traffic switching takes Lambda to new maturity level. No need to risk destroying whole system when deploying new versions. This obviously adds complexity to CI/CD pipelines and increases monitoring requirements, but CodeDeploy should ease the pain. What is your customer experience worth?
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           AWS Serverless Application Repository in Preview
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            “The AWS Serverless Application Repository is a collection of serverless applications published by developers, companies, and partners in the serverless community.”  [
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://aws.amazon.com/about-aws/whats-new/2017/11/aws-serverless-application-repository-enables-customers-to-discover-deploy-and-publish-serverless-applications/" target="_blank"&gt;&#xD;
      
           6
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            ]
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;span&gt;&#xD;
        
            AWS announced SAM (Serverless Application Model) at 2016 re:Invent. Serverless Application Repository is a boilerplate and plugins sharing platform for SAM applications. It remains to be seen what kind of traction the repository catches. Competition is tough and currently 
           &#xD;
      &lt;/span&gt;&#xD;
    &lt;/span&gt;&#xD;
    &lt;a href="https://serverless.com/" target="_blank"&gt;&#xD;
      
           Serverless.com
          &#xD;
    &lt;/a&gt;&#xD;
    &lt;span&gt;&#xD;
      
             is dominating serverless space from GitHub with 20,674 stars, 2,159 forks and 343 contributors.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Summary
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;h4&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/h4&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Serverless is clearly the future of cloud software development in AWS. While this year lacked the 2015 dramatic paradigm change caused by Lambda functions publication, there were many very useful serverless announcements, especially for databases, Serverless Aurora being the most interesting one. With Serverless Aurora and DynamoDB Global Tables it’s easy and very cost efficient to scale globally. Serverless space is currently moving and evolving super fast – several of these services merit more in depth posts. Stay tuned!
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [1] AWS Lambda documentation, Supported Event Sources
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://docs.aws.amazon.com/lambda/latest/dg/lambda-services.html"&gt;&#xD;
      
           https://docs.aws.amazon.com/lambda/latest/dg/lambda-services.html
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [2] Sign up for preview of Amazon Aurora Serverless
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://aws.amazon.com/about-aws/whats-new/2017/11/sign-up-for-the-preview-of-amazon-aurora-serverless/"&gt;&#xD;
      
           https://aws.amazon.com/about-aws/whats-new/2017/11/sign-up-for-the-preview-of-amazon-aurora-serverless/
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [3] AWS Launches Amazon DynamoDB Backup and Restore
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://aws.amazon.com/about-aws/whats-new/2017/11/aws-launches-amazon-dynamodb-backup-and-restore/"&gt;&#xD;
      
           https://aws.amazon.com/about-aws/whats-new/2017/11/aws-launches-amazon-dynamodb-backup-and-restore/
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [4] AWS Launches Amazon DynamoDB Global Tables
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://aws.amazon.com/about-aws/whats-new/2017/11/aws-launches-amazon-dynamodb-global-tables/"&gt;&#xD;
      
           https://aws.amazon.com/about-aws/whats-new/2017/11/aws-launches-amazon-dynamodb-global-tables/
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [5] AWS Lambda Supports Traffic Shifting and Phased Deployments with AWS CodeDeploy
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://aws.amazon.com/about-aws/whats-new/2017/11/aws-lambda-supports-traffic-shifting-and-phased-deployments-with-aws-codedeploy/"&gt;&#xD;
      
           https://aws.amazon.com/about-aws/whats-new/2017/11/aws-lambda-supports-traffic-shifting-and-phased-deployments-with-aws-codedeploy/
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           [6] Announcing the AWS Serverless Application Repository in Preview
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://aws.amazon.com/about-aws/whats-new/2017/11/aws-serverless-application-repository-enables-customers-to-discover-deploy-and-publish-serverless-applications/"&gt;&#xD;
      
           https://aws.amazon.com/about-aws/whats-new/2017/11/aws-serverless-application-repository-enables-customers-to-discover-deploy-and-publish-serverless-applications/
          &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/reinvent_unicorn-e1516399873871-p1anka8ggd79xm0m9kiuukoar4ivbxiw32w34vaw3k.jpeg" length="176251" type="image/jpeg" />
      <pubDate>Fri, 22 Dec 2017 13:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2017/12/serverless-in-reinvent-2017</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/reinvent_unicorn-e1516399873871-p1anka8ggd79xm0m9kiuukoar4ivbxiw32w34vaw3k.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/reinvent_unicorn-e1516399873871-p1anka8ggd79xm0m9kiuukoar4ivbxiw32w34vaw3k.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Building a durable Jenkins CI setup in AWS</title>
      <link>https://www.webscale.fi/2017/11/building-a-durable-jenkins-ci-setup-in-aws</link>
      <description>CI pipeline is an essential part of modern software project and one of the most popular CI-servers is Jenkins. Managing and setting up a highly available Jenkins server can be a tedious job. For smaller projects, cost of running a multi-instance setup is often too expensive. If you are willing to accept minor downtime in case […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          CI pipeline is an essential part of modern software project and one of the most popular CI-servers is 
          &#xD;
    &lt;a href="https://jenkins.io/" target="_blank"&gt;&#xD;
      
           Jenkins
          &#xD;
    &lt;/a&gt;&#xD;
    
          . Managing and setting up a highly available Jenkins server can be a tedious job. For smaller projects, cost of running a multi-instance setup is often too expensive.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          If you are willing to accept minor downtime in case of a sudden server loss, we demonstrate here a simple self-healing single server setup that you can use in your AWS environment.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          The setup uses 
          &#xD;
    &lt;a href="https://aws.amazon.com/ebs/" target="_blank"&gt;&#xD;
      
           AWS EBS
          &#xD;
    &lt;/a&gt;&#xD;
    
          . EBS is highly available and persistent block storage service, that we can use to persist Jenkins state between server terminations.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          We use AWS autoscaling group with node count of exactly one that automatically restarts new server if the existing server is suddenly terminated (remember, in reality 
          &#xD;
    &lt;a href="https://thenextweb.com/2008/04/04/werner-vogels-everything-fails-all-the-time/" target="_blank"&gt;&#xD;
      
           everything fails, all the time 
          &#xD;
    &lt;/a&gt;&#xD;
    
          ).
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          We use 
          &#xD;
    &lt;a href="https://aws.amazon.com/route53/" target="_blank"&gt;&#xD;
      
           AWS Route53
          &#xD;
    &lt;/a&gt;&#xD;
    
           for registering a domain for the newly created Jenkins instance – so that access to the server is not bound to node IP address that changes upon termination.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          To glue everything together we use EC2 instances user data and AWS Cloudformation for documented and repeatable setup.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         The prerequisite
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          To use this template you should have basic VPC with at least one public subnet and Route53 hosted zone already set up.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         The basic setup
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/jenkins-setup.jpg" alt="Jenkins CI AWS" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;small&gt;&#xD;
      
           Simple jenkins setup architecture diagram
          &#xD;
    &lt;/small&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          For the sake of simplicity we install the Jenkins into public subnet, but in production usage you should run it in private subnet and manage the network access depending on your networking configuration.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         The permissions
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          First your EC2 instance needs some permissions to call AWS API. We define IAM role that has policy that grants access to listing and attaching EBS volumes and allows EC2 to update its own DNS record in the given Route53.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         The EBS Mounting
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          The real magic happens in the userdata script that is executed when the EC2 instance is started. When the EC2 instance is first time started a custom 
          &#xD;
    &lt;a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html" target="_blank"&gt;&#xD;
      
           user data script
          &#xD;
    &lt;/a&gt;&#xD;
    
           is run. This configures the instance with defined software packages and it is also the place to run you EBS mounting and Route53 registration code.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         The Route53 registration
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          When the Jenkins is up and running we need to bind it to some domain name 
          &#xD;
    &lt;i&gt;&#xD;
      
           (in this example jenkins.{yourdomain})
          &#xD;
    &lt;/i&gt;&#xD;
    
          , so you don’t have to lookup the IP address every time the server restarts.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
         Doing the first login
        &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          To gain access to Jenkins for the first time you need get the first time login password from Jenkins.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          This part of script checks if this is first Jenkins start and prints the first time login password into std-out. You can view the userdata scripts output in AWS Console.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/first_login.png" alt="Jenkins CI AWS" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;i&gt;&#xD;
      
           Go to AWS console -&amp;gt; ec2 -&amp;gt; select jenkins instance 
          &#xD;
    &lt;/i&gt;&#xD;
    &lt;br/&gt;&#xD;
    
          In the context menu select 
          &#xD;
    &lt;i&gt;&#xD;
      
           Instance settings -&amp;gt; Get system log
          &#xD;
    &lt;/i&gt;&#xD;
    
           and you should see in the bottom part of the log a entry 
          &#xD;
    &lt;b&gt;&#xD;
      
           Your Jenkins Password **********
          &#xD;
    &lt;/b&gt;&#xD;
    
          . You can copy paste that password into Jenkins ui and login.
          &#xD;
    &lt;br/&gt;&#xD;
    
          Now you have successfully created a simple and durable Jenkins setup =).
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;b&gt;&#xD;
      
           You can view/download the whole template 
           &#xD;
      &lt;a href="https://webscale.fi/wp-content/uploads/jenkins.yaml"&gt;&#xD;
        
            jenkins.yaml here
           &#xD;
      &lt;/a&gt;&#xD;
    &lt;/b&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/jenkins-setup-blog-p1akmkbxs6ha4hkwldefwr2xhzlolgtpvtf2zi1xxc.png" length="102132" type="image/png" />
      <pubDate>Fri, 24 Nov 2017 11:05:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2017/11/building-a-durable-jenkins-ci-setup-in-aws</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/jenkins-setup-blog-p1akmkbxs6ha4hkwldefwr2xhzlolgtpvtf2zi1xxc+%281%29.png">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/jenkins-setup-blog-p1akmkbxs6ha4hkwldefwr2xhzlolgtpvtf2zi1xxc.png">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Espoon rauhasta Berliinin vilskeeseen</title>
      <link>https://www.webscale.fi/2017/04/espoon-rauhasta-berliinin-vilskeeseen</link>
      <description>Hannu-Pekan perheellä oli yhteinen haave: tehdä irtiotto arjesta Suomessa ja kokeilla hetki asumista ulkomailla. Kun H-P:n vaimon töiden puolesta sitten tuli sopiva hetki ja lapsetkin ovat vielä alle kouluikäisiä, syntyi päätös tarttua tuumasta toimeen ja lähteä puoleksi vuodeksi Berliiniin. Aluksi H-P:n oli saatava työasiat järjestymään. Heti idean saatuaan hän kysyi tukea Berliiniin muutolle muilta webscalelaisilta […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Hannu-Pekan perheellä oli yhteinen haave: tehdä irtiotto arjesta Suomessa ja kokeilla hetki asumista ulkomailla. Kun H-P:n vaimon töiden puolesta sitten tuli sopiva hetki ja lapsetkin ovat vielä alle kouluikäisiä, syntyi päätös tarttua tuumasta toimeen ja lähteä puoleksi vuodeksi Berliiniin.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Aluksi H-P:n oli saatava työasiat järjestymään. Heti idean saatuaan hän kysyi tukea Berliiniin muutolle muilta webscalelaisilta ja saikin kannustavan vastaanoton. Päätöstä ei tarvinnut harkita kahdesti Webscalenkaan puolesta, koska yritys haluaa tukea työntekijöidensä mahdollisuuksia sovittaa työnteko osaksi muuta elämää ja tiedetään, että kokeneille ohjelmistokehittäjille on kysyntää ympäri maailman. Työkuvioiden järjestymisestä huolimatta jännitystä aiheuttivat muut järjestelyt – löytyisikö Suomen asuntoon vuokralaisia, mitä kautta löytyisi mieluisa vuokra-asunto, pääsisivätkö lapset Saksassa päivähoitoon?
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Esivalmisteluja muutolle oli tehty jo hyvissä ajoin. H-P lähti kesällä viettämään pitkää viikonloppua Berliinissä vaimonsa kanssa ja otti kaupunkia haltuun pyöräilemällä ympäri keskusta-alueita. Silloin hahmottui, että mieluisa asuinalue olisi Prenzlauer Berg: paljon puistoja lapsille, mutta kuitenkin tarpeeksi keskustassa eläväisen kaupunkikulttuurin äärellä. Yksi syy irtiottoon oli asua hetki rauhallisen Espoon sijasta ison kaupungin sykkeessä. Lopulta kaikki järjestyikin mainiosti: omaan kotiin löytyi hyvä vuokralainen koko ajalle, asunto löytyi eläväiseltä Kollwitzstraßelta ja mieluisa työprojektikin järjestyi kivenheiton päästä asunnolta.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Nyt kun Hakamäen Berliinissä oloa on muutama kuukausi takana, soitin hänelle ja kyselin, minkälaisissa tunnelmissa elo saksanmaalla on sujunut. H-P kertoi olleensa kiinnostunut kokemaan, kuinka työnteko sekä työkulttuuri poikkeaa suomalaisesta. Näin parin kuukauden jälkeen hän on huomannut, ettei se oikeastaan poikkea. Työnteko itsessään on ihan samanlaista ja vahva pilviteknologiaosaaminen on arvossaan myös ulkomailla. Tiimi asiakkaalla sen sijaan on hyvin kansainvälinen; neljäntoista hengen porukkaan mahtuu saksalaisten ja suomalaisten lisäksi ihmisiä niin Puolasta, Hollannista, Yhdysvalloista kuin Iso-Britanniastakin, joten huvittuneesti H-P on todennut, että ainakaan työn puolesta hän ei tule saksaa tällä reissullaan oppimaan tippaakaan.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Intohimoisen ruoanlaittajan arki koki mullistuksen berliiniläisen ravintolatarjonnan edessä. Kotikatu suljetaan torstaisin ja lauantaisin, jolloin sinne tulee tori. Sen lisäksi ympäristö notkuu ravintoloita ja kahviloita ja hintataso on huokea, joten ravintoloiden illallistarjonnasta tulee nautittua selvästi enemmän kuin kotona.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/berlin_1_long-p1amnwol1svq151nbkpgyqsq5c3q78zqaty01rb2f4.jpeg" length="116614" type="image/jpeg" />
      <pubDate>Thu, 06 Apr 2017 12:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2017/04/espoon-rauhasta-berliinin-vilskeeseen</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/berlin_1_long-p1amnwol1svq151nbkpgyqsq5c3q78zqaty01rb2f4-76ba13f2.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/berlin_1_long-p1amnwol1svq151nbkpgyqsq5c3q78zqaty01rb2f4.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Webscale AWS Advanced Consulting Partneriksi</title>
      <link>https://www.webscale.fi/2017/02/webscale-aws-advanced-consulting-partneriksi</link>
      <description>Pitkäjänteisen kehitys- ja koulutustoiminnan tuloksena Webscale saavutti Amazon Web Servicesin Advanced Consulting Partner-kumppanuustason. Tätä on tavoiteltu edellisen Standard Partner-tason saavuttamisesta lähtien ja sitä varten kaikki Webscalen kehittäjät on koulutettu AWS:n arkkitehtisertifikaation perustasolle ja kokeneimmat professional-tasoisille sertifikaatioille. Nyt saavutettu kumppanuustaso edellyttää Webscalelta useita loppuun asti saatettuja projektitoteutuksia, koko henkilöstömme sertifioimista vaativilla AWS-sertifikaatioilla sekä AWS:n palveluiden käyttöä […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Pitkäjänteisen kehitys- ja koulutustoiminnan tuloksena Webscale saavutti Amazon Web Servicesin Advanced Consulting Partner-kumppanuustason. Tätä on tavoiteltu edellisen Standard Partner-tason saavuttamisesta lähtien ja sitä varten kaikki Webscalen kehittäjät on koulutettu AWS:n arkkitehtisertifikaation perustasolle ja kokeneimmat professional-tasoisille sertifikaatioille.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Nyt saavutettu kumppanuustaso edellyttää Webscalelta useita loppuun asti saatettuja projektitoteutuksia, koko henkilöstömme sertifioimista vaativilla AWS-sertifikaatioilla sekä AWS:n palveluiden käyttöä suuressa mittakaavassa mitattuna palveluiden laskutuksena.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Näin saatu tunnustus osaamisestamme on meille kannustava välitavoite, ja jatkamme panostamista AWS-kehitykseen. Kehittäjillemme tämä lisää entisestään nopeutta ja ketteryyttä suurten ympäristöjen kehityksessä. Asiakkaillemme kumppanuutemme takaa sen, että meillä on sekä kokemusta, että osaavia tekijöitä ratkaisemaan heidän ongelmansa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/advanced_partner_blog-p1amte2ox0dxr92xay14icziw92t3ord1yxytv6e4g.jpeg" length="96481" type="image/jpeg" />
      <pubDate>Tue, 21 Feb 2017 07:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2017/02/webscale-aws-advanced-consulting-partneriksi</guid>
      <g-custom:tags type="string">Uutiset,Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/advanced_partner_blog-p1amte2ox0dxr92xay14icziw92t3ord1yxytv6e4g.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/advanced_partner_blog-p1amte2ox0dxr92xay14icziw92t3ord1yxytv6e4g.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Innovaatiosetelien haku on käynnissä</title>
      <link>https://www.webscale.fi/2016/10/innovaatiosetelien-haku-kaynnissa</link>
      <description>Tekesin innovaatioseteli on tarkoitettu pienille ja keskisuurille yrityksille, jotka haluavat kehittää tuotteitaan ja liiketoimintaansa. Setelin arvo on 5000 euroa, jonka avulla yritys voi tehdä esimerkiksi nopeita kokeiluja, protoja ja demoja. Käytännössä innovaatioseteliä voi hyödyntää mm. digitaalisten palveluiden suunnitteluun ja kehittämiseen. Webscale toimii innovaatiopalveluiden tarjoajana, joka suunnittelee ja toteuttaa skaalautuvia digitaalisia palveluita pilviteknologioita hyödyntäen. Voit käyttää […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Tekesin innovaatioseteli on tarkoitettu pienille ja keskisuurille yrityksille, jotka haluavat kehittää tuotteitaan ja liiketoimintaansa. Setelin arvo on 5000 euroa, jonka avulla yritys voi tehdä esimerkiksi nopeita kokeiluja, protoja ja demoja. Käytännössä innovaatioseteliä voi hyödyntää mm. digitaalisten palveluiden suunnitteluun ja kehittämiseen.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Webscale toimii innovaatiopalveluiden tarjoajana, joka suunnittelee ja toteuttaa skaalautuvia digitaalisia palveluita pilviteknologioita hyödyntäen. Voit käyttää innovaatioseteliä yrityksemme palveluiden hankintaan mm. uuden palvelun suunnittelussa, nykyisen palvelun kehittämisessä tai proton toteutuksessa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Innovaatiosetelien haku on käynnistynyt lokakuussa 2010. Rahoituksen hakeminen tapahtuu Tekesin sivuilla: 
    
  
  
                    &#xD;
    &lt;a href="https://www.tekes.fi/rahoitus/pk-yritys/innovaatioseteli/" target="_blank"&gt;&#xD;
      
                      
    
    
      https://www.tekes.fi/rahoitus/pk-yritys/innovaatioseteli/
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Mikäli yrityksesi harkitsee innovaatiosetelin hyödyntämistä digitaalisen palvelun suunnitteluun tai toteutukseen, niin 
    
  
  
                    &#xD;
    &lt;a href="https://webscale.fi/yhteystiedot/"&gt;&#xD;
      
                      
    
    
      ota meihin yhteyttä
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    . Kerromme mitä voimme tarjota yrityksesi tarpeisiin ja neuvomme tarvittaessa hakuprosessissa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Suuri osa asiakkaistamme on startupeja ja nopean kasvuvaiheen yrityksiä, joten tiedämme mitä yhteistyössä meiltä odotetaan ja miten saavutamme yhdessä tuloksia. Yrittäjänä ja liiketoimintapäättäjänä arvostat tehokkaasti toimivaa tiimiä, joka suhtautuu kunnianhimoisesti työhönsä ja jolla on näyttöjä merkittävistä ohjelmistokehityshankkeista.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/sprint-p1akm841bc0jxk2nkq4aic5xrz9wteh7i4xrqwk268.jpeg" length="233916" type="image/jpeg" />
      <pubDate>Mon, 10 Oct 2016 04:55:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2016/10/innovaatiosetelien-haku-kaynnissa</guid>
      <g-custom:tags type="string">Uutiset</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/sprint-p1akm841bc0jxk2nkq4aic5xrz9wteh7i4xrqwk268.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/sprint-p1akm841bc0jxk2nkq4aic5xrz9wteh7i4xrqwk268.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Avoiding SEO pitholes when building Single Page Apps in AWS</title>
      <link>https://www.webscale.fi/2016/09/avoiding-seo-pitholes-building-single-page-apps-aws</link>
      <description>Requirements for satisfying web user experience are growing fast and it is becoming increasingly difficult to fulfill those requirements with traditional server side rendered web pages. Users want immediate feedback and fluid transitions. JavaScript Single Page Applications (SPA) can provide just that, highly responsive user interfaces without freezing page loads. SPAs are quickly replacing traditional […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Requirements for satisfying web user experience are growing fast and it is becoming increasingly difficult to fulfill those requirements with traditional server side rendered web pages. Users want immediate feedback and fluid transitions. JavaScript Single Page Applications (SPA) can provide just that, highly responsive user interfaces without freezing page loads.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          SPAs are quickly replacing traditional server side rendered web application user interfaces. Chart below demonstrates this trend with currently most popular SPA framework AngularJS against traditional server side rendering technologies. Historically popular PHP is in decline too but is left out to keep the chart readable.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/spa.jpg" alt="SEO" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Even though SPAs are great for building responsive app like user experiences and provide many benefits over the server side rendered static html sites, they come with few fundamental drawbacks. Biggest issue is that most crawlers and bots can’t render JavaScript content yet, except for Google and Bing to some level.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          It’s absolutely crucial for any public site to be accessible for search crawlers and social media platforms. To achieve this reliably crawlers and bots need to be served pre-rendered static HTML of the requested content instead of the SPA. Some latest SPA frameworks like ReactJS and Angular 2 provide means for server side prerendering, but with most others like AngularJS 1.X prerendering has to be implemented manually.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
         Prerendering
        &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Prerendering means that the SPA is executed with browser like PhantomJS and the outputted static HTML snapshot of the application state is returned to the requester instead of the actual SPA. This way the requester doesn’t need to execute any JavaScript to get fully rendered HTML.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Easiest way to achieve prerendering is to use open source NodeJS application like 
          &#xD;
    &lt;a href="https://github.com/prerender/prerender" target="_blank"&gt;&#xD;
      
           prerender
          &#xD;
    &lt;/a&gt;&#xD;
    
          . You can run it on your own machines or use SAAS offerings like 
          &#xD;
    &lt;a href="https://prerender.io/" target="_blank"&gt;&#xD;
      
           https://prerender.io/
          &#xD;
    &lt;/a&gt;&#xD;
    
          .
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Now all you need to do is to detect when a bot or a crawler is requesting the page and respond with the prerendered static HTML. ‘User-Agent’ HTTP Request header is the easiest way to detect crawlers and bots. There are ready made configurations available for most popular platforms like 
          &#xD;
    &lt;a href="https://gist.github.com/thoop/8165802" target="_blank"&gt;&#xD;
      
           this one for Nginx
          &#xD;
    &lt;/a&gt;&#xD;
    
          . There is one major problem with User-Agent headers and CloudFront which I will describe in detail below.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
         CloudFront
        &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Amazon Web Services (AWS) has a great Content Delivery Network (CDN) managed service called 
          &#xD;
    &lt;a href="https://aws.amazon.com/cloudfront/" target="_blank"&gt;&#xD;
      
           Amazon CloudFront
          &#xD;
    &lt;/a&gt;&#xD;
    
          . In a nutshell CloudFront is network of distributed edge location servers providing fast access to resources by caching them close to user. CloudFront is a must have for almost any public site running on AWS.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          When resource is requested from the service URL the request is routed to the CloudFront edge location. CloudFront replies with cached object if present or passes the request to the origin. Origin is the actual service running in AWS datacenter.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          In order for CloudFront to work efficiently it doesn’t cache requests based on User-Agent header.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          This is problematic since the web server running on the origin needs the User-Agent header to detect bots and crawlers.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Unfortunately there is no perfect solution for the issue. The best solution is to configure CloudFront to pass all page load requests to the origin with User-Agent header. User-Agent header is not passed by default so it needs to be configured. This means CloudFront can’t cache any page load requests and the bootstrap index.html is always returned from the origin. Good news is that you can and should have all other resources cached to the CloudFront to minimize the performance hit.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
         Conclusion
        &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          JavaScript Single Page Applications can provide great user experience and are quickly replacing traditional server side rendered web frameworks. Web fundamentals change slowly and only few crawlers and bots can render JavaScript content. Search engine visibility and compatibility with social media platforms is crucial for any public website.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          For SPA to be accessible for all the platforms, prerendering needs to happen. Prerendering sets special requirements for the infrastructure configuration.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Amazon CloudFront is powerful content delivery network and should be leveraged for almost every public web service on AWS to guarantee steady performance globally. To enable prerendering with CloudFront some special configurations are required until AWS comes up with something more elegant.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Ideally AWS would add custom cache key header for crawlers and bots as they have already implemented support for different device types:
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/code-p1amw3twns3rap4xg4abpobgobozc7jg3esgqn5g5c.jpeg" length="63869" type="image/jpeg" />
      <pubDate>Tue, 20 Sep 2016 09:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2016/09/avoiding-seo-pitholes-building-single-page-apps-aws</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/code-p1amw3twns3rap4xg4abpobgobozc7jg3esgqn5g5c-23997d23.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/code-p1amw3twns3rap4xg4abpobgobozc7jg3esgqn5g5c.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Paremman maailman tavoittelijat</title>
      <link>https://www.webscale.fi/2016/09/paremman-maailman-tavoittelijat</link>
      <description>Elämäni yrittäjänä alkoi 2013 perustaessani Webscalen kahden kollegani kanssa. Tavoitteenamme oli työ, jossa itse päätämme mitä ongelmia lähdemme ratkaisemaan, ja miten elämme valtaosan hereilläoloajastamme. Nyt olemme näytöillämme lunastaneet ne perusoletukset, joilla yritystä suunnitellessamme perustelimme päätöksen itsellemme – laaja kokemuspohja ja rakkaus ihmisten kanssa työskentelyyn on tuonut meille pitkäaikaisia asiakkuuksia, kiinnostavia ongelmia ratkaistavaksi ja ennen kaikkea […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Elämäni yrittäjänä alkoi 2013 perustaessani Webscalen kahden kollegani kanssa. Tavoitteenamme oli työ, jossa itse päätämme mitä ongelmia lähdemme ratkaisemaan, ja miten elämme valtaosan hereilläoloajastamme.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Nyt olemme näytöillämme lunastaneet ne perusoletukset, joilla yritystä suunnitellessamme perustelimme päätöksen itsellemme – laaja kokemuspohja ja rakkaus ihmisten kanssa työskentelyyn on tuonut meille pitkäaikaisia asiakkuuksia, kiinnostavia ongelmia ratkaistavaksi ja ennen kaikkea muutamia hyviä ystäviä.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Samalla itselleni on korostunut yrittäjien kanssa toimimisen edut – voin puhelinsoitolla sopia hankkeista, joissa molemmat haluavat nähdä toisen osapuolen menestyvän, enkä sitä varten tarvitse pitkiä neuvotteluja lakiosaston tai budjettineuvostojen kanssa. Yrittäjien kanssa toimiessa näillä yrityksillä on kasvot.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Vaikka päässä pyörii päivästä toiseen sekä pitkän tähtäimen suunnitelmat että yrityksen välittömät tarpeet, on päivän päätteeksi kuitenkin olo, että oma kohtalo on omissa käsissäni, eikä kukaan muu ole esteenä oman ideaalimaailmani rakentamiselle.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Perheeni – ne jotka kanssani näkevät tämän elämän joka päivä – kertoo että yrittäjäksi ryhdyttyäni olen ollut iloisempi iltaisin. Siinä on jo syytä riittävästi.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Hyvää Yrittäjän päivää kaikille nykyisille ja tuleville yrittäjille!
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/jukka-henri-p1akm841bc0jxk2nkq4aic5xrz9wteh7i4xrqwk268.jpeg" length="115475" type="image/jpeg" />
      <pubDate>Mon, 05 Sep 2016 08:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2016/09/paremman-maailman-tavoittelijat</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/jukka-henri-p1akm841bc0jxk2nkq4aic5xrz9wteh7i4xrqwk268.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/jukka-henri-p1akm841bc0jxk2nkq4aic5xrz9wteh7i4xrqwk268.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kilpailukyky syntyy osaamisesta</title>
      <link>https://www.webscale.fi/2016/03/kilpailukyky-syntyy-osaamisesta</link>
      <description>Nyt voimaan tulevan kilpailukykysopimuksen myötä suomalaisten työaika kasvaa yhteensä 24 tuntia vuodessa. Tämän toteuttaminen on paikallisesti sovittavissa. Meillä ei ole IT-alalla perinteisesti ongelmana, että työt eivät kiinnostaisi. Pikemminkin rajanvetoa joutuu tekemään sen välillä, että onko kotona iltaisin toteutettu harrasteprojekti käytettävissä asiakastöissä, ja jos on, miten tuo työ kompensoidaan. Perinteisesti yhden devaajan mielenkiintoisesta ideasta lähtenyt open […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Nyt voimaan tulevan kilpailukykysopimuksen myötä suomalaisten työaika kasvaa yhteensä 24 tuntia vuodessa. Tämän toteuttaminen on paikallisesti sovittavissa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Meillä ei ole IT-alalla perinteisesti ongelmana, että työt eivät kiinnostaisi. Pikemminkin rajanvetoa joutuu tekemään sen välillä, että onko kotona iltaisin toteutettu harrasteprojekti käytettävissä asiakastöissä, ja jos on, miten tuo työ kompensoidaan. Perinteisesti yhden devaajan mielenkiintoisesta ideasta lähtenyt open source -projekti on otettu ensin sisäiseen käyttöön, ja monesti vielä lähdetty tuotteistamaan kyseista projektia. Vaikka projekti ei koskaan pöytälaatikosta nousisikaan esiin, sitä työstäessä on opittu tulevissa hankkeissa tarvittavaa osaamista.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Webscalella päätimme, että työajan lisäys käytetään ammattitaidon kehittämiseen itse valittuna ajankohtana. Ainoana edellytyksenä pidämme, että tätä kerättyä taitoa jaetaan myös muille tiimipäivinä. Ensi vuonna työntekijämme saavat käyttää tätä työaikaa open source- tai oman harrasteprojektin kehittämiseen, osallistumiseen vertaisryhmiin kuten meetupeihin, osallistujana normaalin työajan ulkopuolella konferensseihin, tai vaikka lasten koodikoulun järjestämiseen.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/sea_drone-p1akmeown69k6tt3iayohsi5xodhba7bv1i63uaayo.jpeg" length="48377" type="image/jpeg" />
      <pubDate>Tue, 22 Mar 2016 22:37:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2016/03/kilpailukyky-syntyy-osaamisesta</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/sea_drone-p1akmeown69k6tt3iayohsi5xodhba7bv1i63uaayo.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/sea_drone-p1akmeown69k6tt3iayohsi5xodhba7bv1i63uaayo.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Miten välttää epäonnistuminen digitalisaatiohankkeissa?</title>
      <link>https://www.webscale.fi/2016/01/miten-valttaa-epaonnistuminen-digitalisaatiohankkeissa</link>
      <description>Tänä päivänä Suomessa on käynnissä useita digitalisaatiohankkeita niin julkisella kuin yksityiselläkin puolella. Sähköisten palvelujen saaminen yhdeltä luukulta nopeasti ja turhaa käsittelyä välttäen tuo säästöjä ja parantaa käyttäjäkokemusta. Suuret tavoitteet johtavat monesti suuriin hankkeisiin, ja suuret hankkeet ovat tunnetusti olleet aina haastavia. Miten tällä kertaa voitaisiin välttää ne samat ongelmat, joihin kerta toisensa jälkeen törmätään, kun […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Tänä päivänä Suomessa on käynnissä useita digitalisaatiohankkeita niin julkisella kuin yksityiselläkin puolella. Sähköisten palvelujen saaminen yhdeltä luukulta nopeasti ja turhaa käsittelyä välttäen tuo säästöjä ja parantaa käyttäjäkokemusta.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Suuret tavoitteet johtavat monesti suuriin hankkeisiin, ja suuret hankkeet ovat tunnetusti olleet aina haastavia. Miten tällä kertaa voitaisiin välttää ne samat ongelmat, joihin kerta toisensa jälkeen törmätään, kun rakennettava kokonaisuus kasvaa isommaksi kuin tekijöidensä kyky ymmärtää sitä?
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Miksi aina käy niin?

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Miksi järjestelmät sitten kasvavat hallitsemattomiksi monoliiteiksi ja lopulta rämettyvät sellaiseen tilaan, että niiden ylläpito ja kehittäminen käy mahdottomaksi? Harvoin ne syntyessään ovat tässä lohduttomassa jamassa, vaan muutos tapahtuu ajan kanssa ja lähes huomaamatta sitä mukaa kun järjestelmälle keksitään yhä uusia tehtäviä ja vastuita. Jokainen lisätty ominaisuus tekee seuraavasta muutoksesta aina vähän vaikeampaa, kunnes kehitys pysähtyy. Miten tämä jo ennalta nähtävissä oleva kohtalo voidaan välttää?
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Suuri kokonaisuus pienistä paloista microservices-arkkitehtuurilla

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Microservices-arkkitehtuurissa yhden ison ja kaikesta vastuussa olevan järjestelmän sijaan rakennetaan useita pienempiä palveluja, joilla jokaisella on vain yksi tarkkaan rajattu tehtävä. Nämä palvelut ovat itsenäisiä kokonaisuuksia, joilla on mahdollisimman vähän riippuvuuksia keskenään. Palvelujen välinen viestintä tapahtuu kevyillä protokollilla, joista yleisimpiä ovat REST-rajapinnat sekä viestijonot.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Poistamalla palvelujen väliset tiukat riippuvuudet saavutetaan useita etuja:
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Vaikeaan ongelmaan ei ole helppoa ratkaisua

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Microservices-periaatteiden noudattaminen ei kuitenkaan ole aina helppoa. Suunnittelun kannalta haastavin tehtävä on päättää missä kulkevat palvelujen välisten vastuiden rajat. Tämä linjanveto voi olla hyvinkin vaikeaa, varsinkin jos toimiala ei ole tuttu tai sen liiketoimintasäännöt ovat tekijöille hepreaa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Myös arkkitehtuurin hajautettu luonne tuo mukanaan omat haasteensa ja vaatimuksensa. Palveluista on esimerkiksi rakennettava vikasietoisia, jotta lyhyet tietoliikennehäiriöt tai yksittäisten palvelujen hetkellinen hajoaminen ei vie kaikkia muitakin mukanaan.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Microservices-arkkitehtuuri ei tietenkään sovellu kaikkiin projekteihin. Se tuo mukanaan kompleksisuutta ja suuremman määrän liikkuvia osia, joiden hallinta ja orkestrointi voi viedä suhteettoman paljon resursseja projektissa. Pienet ja yksinkertaiset järjestelmät eivät siis todennäköisesti hyödy microservices-arkkitehtuurista, mutta suurille IT-hankkeille se voi olla ainoa järkevä vaihtoehto.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h2&gt;&#xD;
  
                  
  Innovaatioita ja uutta tekemisen meininkiä!

                &#xD;
&lt;/h2&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Voitaisiinko microservices-arkkitehtuuria noudattamalla varmistaa digitalisaatiohankkeiden onnistuminen? Pelkästään tekniseltä kannalta tarkasteltuna sen mukanaan tuomat edut kuulostavat jo varsin hyviltä, mutta on vielä jotain muutakin, joka oikein hyödynnettynä voi muuttaa tavan, jolla isoja hankkeita vedetään.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Microservices-arkkitehtuurin yhteydessä puhutaan projektien sijaan tuotteista. Tuotteen rakentanut tiimi vastaa siitä kokonaisuudessaan myös julkaisun jälkeen ylläpitäen sitä ja oppien kuinka se käytännössä toimii tuotantoympäristössä. Pitkäjänteisempi työ tuotteen parissa tuo kehittäjät lähemmäksi loppukäyttäjiä ja auttaa heitä löytämään ratkaisuja, joilla tuote saadaan palvelemaan käyttäjiään vieläkin paremmin.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Erityisesti julkishallinnon hankkeet hyötyisivät tällaisesta kehitysmallista, koska se mahdollistaa myös kotimaisten pienten ja ketterien IT-talojen osallistumisen julkisten palvelujen kehittämiseen. Aito kilpailu varmistaisi myös sen, ettei yhdellekään toimittajalle tulisi edes mieleen tarjota nykyaikaan täysin sopimattomia ratkaisuja, kuten Apotti-hankkeen 
    
  
  
                    &#xD;
    &lt;a href="https://thedailywtf.com/articles/A_Case_of_the_MUMPS" target="_blank"&gt;&#xD;
      
                      
    
    
      MUMPS
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    .
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Suomessa on jo pitkään kyselty innovaatioiden perään. Koko kansan palveluiden digitalisoinnin yhteydessä on kaikki edellytykset luoda hyvät olosuhteet innovoinnille ja tuoda samalla kaivattua uutta näkemystä ja intoa julkisen puolen IT-hankkeisiin.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/crash-p1akm841bc0jxk2nkq4aic5xrz9wteh7i4xrqwk268.jpeg" length="148454" type="image/jpeg" />
      <pubDate>Fri, 15 Jan 2016 07:30:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2016/01/miten-valttaa-epaonnistuminen-digitalisaatiohankkeissa</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/crash-p1akm841bc0jxk2nkq4aic5xrz9wteh7i4xrqwk268.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/crash-p1akm841bc0jxk2nkq4aic5xrz9wteh7i4xrqwk268.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Älä omista mitään</title>
      <link>https://www.webscale.fi/2015/11/ala-omista-mitaan</link>
      <description>Tänään vietetään Älä osta mitään-päivää, tavoitteena herättää kuluttajia ajattelemaan ennen turhan krääsän hankkimista kotinsa täytteeksi. Jokainen meistä pärjäisi vähemmällä viihde-elektroniikalla ja vähemmillä leluilla. Mahdollisesti niihin leluihin kuluvan ajan voisi myös käyttää paremminkin. Yritykset ovat jatkuvasti tehostamassa toimintaansa, ja useimmat turhat kulut onkin jo pudotettu budjetista vuosia sitten. Jäljelle jääneet kuluerät on jonkin osaston mukaan välttämättömiä […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Tänään vietetään Älä osta mitään-päivää, tavoitteena herättää kuluttajia ajattelemaan ennen turhan krääsän hankkimista kotinsa täytteeksi. Jokainen meistä pärjäisi vähemmällä viihde-elektroniikalla ja vähemmillä leluilla. Mahdollisesti niihin leluihin kuluvan ajan voisi myös käyttää paremminkin.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Yritykset ovat jatkuvasti tehostamassa toimintaansa, ja useimmat turhat kulut onkin jo pudotettu budjetista vuosia sitten. Jäljelle jääneet kuluerät on jonkin osaston mukaan välttämättömiä kuluja, joista ei millään voi enää leikata.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Tässä vaiheessa on siis syytä kyseenalaistaa välttämättömyyksiä yrityksen ydintoiminnan kautta. Aiemmilla vuosikymmenillä IT-osasto on ollut vastuussa työkoneiden lisäksi palvelimista, niiden tiloista, huollosta, korjaamisista, jäähdytyksestä ja ylläpidosta. Aika on kuitenkin ajanut tästä mallista ohi. Jos yritys edelleen omistaa palvelimia, on sille vain muutama kelvollinen perustelu:
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Kaikissa muissa tapauksissa palvelimia omistetaan tavan vuoksi, muutoksen pelossa tai koska oman työpaikan pelätään olevan kiinni niissä laitetorneissa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Kun yritys luopuu turhasta materiasta palvelinten muodossa, se vapautuu kolmivuotissuunnitelmista päivitysten suhteen, vapauttaa toimitilojaan tuottavaan käyttöön sekä vapauttaa henkilöstönsä ratkomaan ydintoiminnan murheita fyysisten laitteiden kunnossapidon sijaan.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Samalla tavalla kuin yrityksen näkökulmasta sähkö tulee töpselistä, on syytä ymmärtää että nykyään laskentakapasiteetti tulee pilvestä. Jokainen voi yrittää pyörittää omaa sähköntuotantoaan, mutta ellei se ole yrityksen ydinliiketoimintaa, kaikki pääoma joka sidotaan sähköntuotantoon, on poissa asiakkaiden palvelemisesta. Samoin palvelinkapasiteetin kanssa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/biggy-p1akm841bc0jxk2nkq4aic5xrz9wteh7i4xrqwk268.jpeg" length="24147" type="image/jpeg" />
      <pubDate>Fri, 27 Nov 2015 12:45:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2015/11/ala-omista-mitaan</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/biggy-p1akm841bc0jxk2nkq4aic5xrz9wteh7i4xrqwk268.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/biggy-p1akm841bc0jxk2nkq4aic5xrz9wteh7i4xrqwk268.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Olemme nyt Webscale Oy</title>
      <link>https://www.webscale.fi/2015/11/olemme-nyt-webscale-oy</link>
      <description>Uusi nimi selkeyttää yhtiön identiteettiä skaalautuvien digitaalisten palveluiden suunnittelijana ja toteuttajana sekä mahdollistaa myös paremmin kansainvälisen toiminnan. Webscale rakentaa digitaalisia menestystarinoita asiakkailleen, joille on tärkeätä liiketoiminnan ketteryys, skaalautuvuus ja innovatiivisuus. Yhtiön asiakaskunta muodostuu laajasti eri toimialoilta ja eri kokoluokista. Uuden nimen yhteydessä Webscale julkaisee myös asiakastarinat Helsingin Sanomien vaalikoneesta ja startup-yritys LiquidBloxista. Amazon Web Services (AWS) konsultointikumppanina […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Uusi nimi selkeyttää yhtiön identiteettiä skaalautuvien digitaalisten palveluiden suunnittelijana ja toteuttajana sekä mahdollistaa myös paremmin kansainvälisen toiminnan.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Webscale rakentaa digitaalisia menestystarinoita asiakkailleen, joille on tärkeätä liiketoiminnan ketteryys, skaalautuvuus ja innovatiivisuus. Yhtiön asiakaskunta muodostuu laajasti eri toimialoilta ja eri kokoluokista. Uuden nimen yhteydessä Webscale julkaisee myös 
    
  
  
                    &#xD;
    &lt;a href="https://webscale.fi/asiakastarinat/"&gt;&#xD;
      
                      
    
    
      asiakastarinat
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
     Helsingin Sanomien vaalikoneesta ja startup-yritys LiquidBloxista.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Amazon Web Services (AWS) konsultointikumppanina Webscale panostaa henkilöstön koulutukseen ja osaamiseen. Yhtiön kaikki konsultit ovat AWS-sertifioituja ja heillä on keskimäärin 10 vuoden työkokemus kehittäjä- ja arkkitehtirooleissa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale_mug-p1amp3x5s6iwv7aub3eb5fvxh26m1brdsryc4hiygw.jpeg" length="57576" type="image/jpeg" />
      <pubDate>Tue, 10 Nov 2015 06:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2015/11/olemme-nyt-webscale-oy</guid>
      <g-custom:tags type="string">Uutiset</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale_mug-p1amp3x5s6iwv7aub3eb5fvxh26m1brdsryc4hiygw.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/webscale_mug-p1amp3x5s6iwv7aub3eb5fvxh26m1brdsryc4hiygw.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>AWS re:Invent suomalaisen kumppaniyrityksen silmin</title>
      <link>https://www.webscale.fi/2015/10/aws-reinvent-suomalaisen-kumppaniyrityksen-silmin</link>
      <description>Viime viikolla Las Vegasissa järjestetty AWS re:Invent tarjosi jälleen kerran valtavasti mielenkiintoisia julkistuksia, erinomaisia esityksiä ja mukavaa iltaohjelmaa. Olimme edellisen vuoden tapaan paikan päällä ottamassa selvää mihin suuntaan pilvipalvelut tulevat seuraavan vuoden aikana kehittymään. AWS:n palveluiden käyttö on kasvanut valtavasti viimeisen vuoden aikana ja samassa tahdissa on kasvanut myös itse konferenssi, joka myytiin loppuun pari […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Viime viikolla Las Vegasissa järjestetty AWS re:Invent tarjosi jälleen kerran valtavasti mielenkiintoisia julkistuksia, erinomaisia esityksiä ja mukavaa iltaohjelmaa. Olimme edellisen vuoden tapaan paikan päällä ottamassa selvää mihin suuntaan pilvipalvelut tulevat seuraavan vuoden aikana kehittymään.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          AWS:n palveluiden käyttö on kasvanut valtavasti viimeisen vuoden aikana ja samassa tahdissa on kasvanut myös itse konferenssi, joka myytiin loppuun pari kuukautta ennen sen alkamista. Tapahtumapaikkana toimineen Venetian-hotellin käytävät ja salit tuntuivatkin välillä käyvän jo liian ahtaiksi viime vuodesta reilusti kasvaneelle konferenssille. Perinteiseen tapaan AWS:n uudet palvelut julkistettiin peräkkäisinä päivinä pidetyissä keynoteissa, joista ensimmäisen piti AWS:n VSP Andy Jassy ja jälkimmäisen CTO Werner Vogels.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Internet of Things (IoT) on käsite, jonka potentiaali on valtava ja josta kaikki puhuvat. Tähän asti puhetta onkin riittänyt, mutta konkretian tasolle pääseminen on ollut vaikeampaa. Osasyynä tähän on varmasti se, että riittävän helppoja ja tehokkaita työkaluja ei ole ollut yleisesti saatavilla. 
          &#xD;
    &lt;a href="https://aws.amazon.com/iot/" target="_blank"&gt;&#xD;
      
           AWS IoT
          &#xD;
    &lt;/a&gt;&#xD;
    
           on yksi tämän vuoden kiinnostavimmista julkistuksista ja sen myötä IoT-vallankumouksen ei pitäisi jäädä ainakaan työkaluista kiinni. Myös Webscalen porukkaan nousi välittömästi ennennäkemätön IoT-kuume, jota entisestään ruokki konferenssissa jaetut AWS IoT:hen valmiiksi integroidut pikkulaitteet, joille kilvan keksimme käyttöä.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://webscale.fi/wp-content/uploads/./juho-btn.jpg" alt="AWS re:invent" title=""/&gt;&#xD;
  &lt;span&gt;&#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          IoT oli ehkä tämän vuoden suurin yksittäinen puheenaihe, mutta AWS:llä oli paljon muutakin uutta tarjolla. Analytiikka ja Business Intelligence oli yksi vahva teema, jonka alle AWS julkisti useita uusia palveluita. 
          &#xD;
    &lt;a href="https://aws.amazon.com/quicksight/" target="_blank"&gt;&#xD;
      
           Amazon QuickSight
          &#xD;
    &lt;/a&gt;&#xD;
    
           on BI-työkalu, jolla ennusteiden ja analyysien teko suurista datamääristä on vaivatonta ja reaaliaikaista. QuickSight integroituu saumattomasti AWS:n muihin palveluihin, joten se voi hyödyntää esimerkiksi AWS Redshiftiin tai DynamoDB:hen kerättyä tietoa. QuickSight tulee olemaan todellinen haastaja perinteisille BI-työkaluille edullisen hintansa ja suorituskykynsä ansiosta.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Amazon Kinesis sai myös lisää ominaisuuksia, jotka tekevät siitä entistäkin hyödyllisemmän ratkaisun jatkuvien datavirtojen käsittelyyn ja tallentamiseen: 
          &#xD;
    &lt;a href="https://aws.amazon.com/kinesis/firehose/" target="_blank"&gt;&#xD;
      
           Amazon Kinesis Firehose
          &#xD;
    &lt;/a&gt;&#xD;
    
           suoraviivaistaa datavirtojen tallentamista suoraan S3:een ja Redshiftiin, ja Amazon Kinesis Analytics taas mahdollistaa SQL-kyselyjen ajamisen suoraan datavirtaan.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Odotettu lisäys AWS:n analytiikkatyökalujen valikoimaan oli myös 
          &#xD;
    &lt;a href="https://aws.amazon.com/elasticsearch-service/" target="_blank"&gt;&#xD;
      
           Amazon Elasticsearch Service
          &#xD;
    &lt;/a&gt;&#xD;
    
          , joka nimensä mukaisesti mahdollistaa Elasticsearchin, tuon suositun open source haku- ja analytiikkamoottorin ajamisen palveluna AWS:n pilviympäristössä. Elasticsearch on erinomainen työkalu esimerkiksi sovellusten ja niiden logien reaaliaikaiseen monitorointiin ja analysointiin.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Osa julkistuksista oli tarkoitettu helpottamaan pilveen siirtymistä. Näistä merkittävimpiä olivat Amazon RDS:n tuki 
          &#xD;
    &lt;a href="https://aws.amazon.com/rds/mariadb/" target="_blank"&gt;&#xD;
      
           MariaDB:lle
          &#xD;
    &lt;/a&gt;&#xD;
    
           ja uusi mielikuvituksettomasti nimetty 
          &#xD;
    &lt;a href="https://aws.amazon.com/dms/" target="_blank"&gt;&#xD;
      
           AWS Database Migration Service
          &#xD;
    &lt;/a&gt;&#xD;
    
          , joka lupaa merkittävästi helpottaa tietokantamigraatioita tarjomalla työkalut datan siirtämiselle ja muokkaukselle eri tietokantatuotteiden välillä. Persoonallisemmin nimetty 
          &#xD;
    &lt;a href="https://aws.amazon.com/importexport/" target="_blank"&gt;&#xD;
      
           AWS Snowball
          &#xD;
    &lt;/a&gt;&#xD;
    
           puolestaan tarjoaa yrityksille kustannustehokkaan tavan siirtää äärimmäisen suuria, petatavuluokan datamääriä konesaleista pilveen.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          Näiden lisäksi re:Inventissä julkaistiin suuri määrä muitakin tuotteita ja palveluita. Esimerkiksi uusi 
          &#xD;
    &lt;a href="https://aws.amazon.com/blogs/aws/ec2-instance-update-x1-sap-hana-t2-nano-websites/" target="_blank"&gt;&#xD;
      
           EC2 X1 -instanssi
          &#xD;
    &lt;/a&gt;&#xD;
    
          järisyttävällä 2 Teratavun muistilla, 
          &#xD;
    &lt;a href="https://aws.amazon.com/lambda/" target="_blank"&gt;&#xD;
      
           AWS Lambdan
          &#xD;
    &lt;/a&gt;&#xD;
    
           tuki Python-ohjelmointikielelle ja lukuisia odotettuja parannuksia Dockerien ajoon tarkoitettuun EC2 Container Serviceen. Näistä ja muista uusista julkistuksista voit lukea lisää 
          &#xD;
    &lt;a href="https://aws.amazon.com/new/reinvent/" target="_blank"&gt;&#xD;
      
           AWS:n sivuilta
          &#xD;
    &lt;/a&gt;&#xD;
    
          .
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          AWS re:Invent on ennen kaikkea oppimiskonferenssi, joka on suunnattu ensisijaisesti AWS:n palveluiden käyttäjille ja heille, jotka kehittävät omia ratkaisujaan niiden päälle. Päivät olivatkin täynnä asiaa ja hyviä oppeja tarttui roppakaupalla kotiin viemisiksi. Iltaisin virallisen ohjelman vastapainoksi oli hyvin aikaa rentoutua, verkostoitua ja tavata muita asiantuntijoita.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
          AWS-konsultointikumppanina meille on tärkeää, että asiakkaidemme projekteissa työskentelevillä asiantuntijoilla on tuoreimmat tiedot ja tämän takia meillä AWS re:Invent on aina ensisijaisesti devaajien tapahtuma.
         &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/reinvent_2015_2-p1akm91vi61u961af8ix2txedd5a13kxu9l986io00.jpeg" length="164226" type="image/jpeg" />
      <pubDate>Fri, 16 Oct 2015 12:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2015/10/aws-reinvent-suomalaisen-kumppaniyrityksen-silmin</guid>
      <g-custom:tags type="string">Teknologiat,Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/reinvent_2015_2-p1akm91vi61u961af8ix2txedd5a13kxu9l986io00-1f84bc2a.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/reinvent_2015_2-p1akm91vi61u961af8ix2txedd5a13kxu9l986io00.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Top 3 wishlist for our public cloud Christmas – the AWS re:Invent</title>
      <link>https://www.webscale.fi/2015/10/top-3-wishlist-public-cloud-christmas-aws-reinvent</link>
      <description>AWS re:Invent is right around the corner, and Webscale engineering squad is flying over to our yearly cloud Christmas event to get the latest tech releases fresh from the source – and to enjoy a week in Vegas as a bonus. In 2014 we came back home with shiny new toys – Lambda for serverless […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    AWS re:Invent is right around the corner, and Webscale engineering squad is flying over to our yearly cloud Christmas event to get the latest tech releases fresh from the source – and to enjoy a week in Vegas as a bonus.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    In 2014 we came back home with shiny new toys – Lambda for serverless applications, EC2 Container Service to run Docker clusters and Aurora for massively scaling SQL backend.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    This year we come prepared with a wish list of things AWS could do even better.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  1. Scheduling service

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Creating backups, sending a scheduled newsletter and computing web store predictions are all often required examples of scheduled jobs that need to run on online services.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    While AWS offers a brilliant set of services for most other needs, a job scheduler is still something you need to write yourself, from scratch.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Commonly used implementations are using a application server scheduling system – which requires a server – or running them as scripts on a on-schedule autoscaling groups – which requires a server – or lately, scheduling the job on Data Pipeline. Each of these implementations works, but requires extra effort and bunch of boilerplate for a simple job. It is like hammering a nail with a chainsaw – in some cases it works, but it is clear that this is not the right tool for the job.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  2. API-driven ELB preheating – or better load balancers instead

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    When you know your service is about to receive a high traffic surge, you need to prepare your environment. Despite being able to scale up your correctly designed AWS environment in minutes, the load balancer service component ELB is a known potential bottleneck for high sudden loads.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Nowadays you need to manually create a support ticket for preparing, “pre-heating”, the load balancer every time you know the service traffic is about to spike. Imagine sending a monthly discount promotion newsletter and having to each and every time send that ticket – or getting lower performance.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    We’ve been telling AWS at every turn that this needs to be automated – or gotten rid of the preheating need entirely. In best AWS tradition they tell us it’s being worked on but they can’t really publicly say anything about release plans.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  3. NAT server as a service

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Running your servers without any publicly visible endpoints is done with private subnets, and having a NAT instance controlling the traffic to your infrastructure privates.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    This is something you literally need at every single distributed web service stack, and instead of managing NAT server health it should be just another resource that AWS manages for you completely.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    From what AWS architects tell me, we are not alone with this wish.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    What’s your top wish from AWS this year? Come tell us over a pint or two on us in the Nordic get together!
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/present-p1akm9zpp034krzx9qxjnbouyr0n8soo6e8qpgh9ts.jpeg" length="110487" type="image/jpeg" />
      <pubDate>Fri, 02 Oct 2015 11:38:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2015/10/top-3-wishlist-public-cloud-christmas-aws-reinvent</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/present-p1akm9zpp034krzx9qxjnbouyr0n8soo6e8qpgh9ts.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/present-p1akm9zpp034krzx9qxjnbouyr0n8soo6e8qpgh9ts.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Kankea tietojärjestelmä on taakka kaikille</title>
      <link>https://www.webscale.fi/2015/08/kankea-tietojarjestelma-taakka-kaikille</link>
      <description>Sanotaan, että tietotekniikka on tehty palvelemaan ihmistä. Usein tekniikka herättää voimakkaita tunteita, varsinkin jos se ei toimi. Miksi tietotekniikka aiheuttaa ongelmia? Taustalla voi olla inhimillisiä virheitä, huonoa suunnittelua tai vanhentunutta teknologiaa. Uskon, että suurin osa meistä ei ole edes kiinnostunut vian syystä. Tärkeintä on, että tekniikka toimii siinä tarkoituksessa mihin sitä on käyttämässä. Tuoko nopea […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Sanotaan, että tietotekniikka on tehty palvelemaan ihmistä. Usein tekniikka herättää voimakkaita tunteita, varsinkin jos se ei toimi. Miksi tietotekniikka aiheuttaa ongelmia? Taustalla voi olla inhimillisiä virheitä, huonoa suunnittelua tai vanhentunutta teknologiaa. Uskon, että suurin osa meistä ei ole edes kiinnostunut vian syystä. Tärkeintä on, että tekniikka toimii siinä tarkoituksessa mihin sitä on käyttämässä. Tuoko nopea tekninen kehitys vain uusia haasteita?
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Olen aina suhtautunut tietotekniikkaan ja uusiin innovaatioihin positiivisesti. Mahdollisia ongelmia olen pyrkinyt ymmärtämään perehtymällä niiden syihin: tekniset ongelmat ovat yleisiä ja niistä on mahdollista myös oppia. Viimeisen parin vuoden aikana olen kuitenkin huomannut, että suhtautumiseni tekniikkaan on muuttunut. Uusin käyttöjärjestelmäpäivitys ei ollutkaan muutos parempaan. Kaipaan puhelimia, joilla pystyi vain soittamaan ja vastaamaan. Kärsivällisyyteni hitaita tietojärjestelmiä kohtaan alkaa olla lopussa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Kun mikään kanava ei toimi

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Verkkokauppa on tuonut kaupan alalle uusia mahdollisuuksia ja yritykset panostavat monikanavaisiin ratkaisuihin. Mitä tapahtuu, kun mikään kanava ei toimi?
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Jokin aika sitten olin ostamassa perheemme esikoiselle puhelinliittymää ja samalla tarkoitus oli hankkia toinen liittymä tablettia varten. Olin netissä jo tutustunut eri vaihtoehtoihin ja päätin perjantain kauppamatkan yhteydessä poiketa erään operaattorin myyntipisteellä. Ajattelin, että tilaus hoituu nopeasti. Myyntipisteellä oli kaksi myyjää, jotka molemmat aloittivat tilausten tekemisen. Tehokasta työskentelyä, joten alku näytti lupaavalta.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Tilaukset oli kirjattu järjestelmään muutamassa minuutissa. Sitten tietotekniikka astui kuvaan. Tilaus ei lähtenytkään eteenpäin. Aluksi myyjät luulivat tehneensä itse virheen, joten tilauksen tekeminen aloitettiin alusta. Homma töksähti samaan pisteeseen. Syyksi selvisi jokin häiriö tietojärjestelmässä. Kiusallinen hiljaisuus. Toinen myyjistä yritti soittaa tukipalvelunumeroon, joka oli myös ruuhkautunut ja palveluun oli yli 20 minuutin jono. Aloin tuolloin jo vilkuilla kelloa. Toinen myyjistä yritti pelastaa tilannetta tiedustelemalla tarvetta edulliselle tabletille. Ei kiitos.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Viimeinen oljenkorsi oli yrittää tilausta verkkokaupan kautta. En tosin tätä kautta olisi saanut liittymäkorttia heti mukaan, mutta tilauksella ei ollut kiire. Myyjä kirjoitti tiedot, mutta homma kaatui jälleen viimeiseen vaiheeseen.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Myyntitapahtuman aikana kysyin miten yleisiä nämä häiriöt ovat. Molemmat myyjät huokaisivat ja totesivat, että viime aikoina ongelmia on ollut usein – varsinkin vilkkaina kauppapäivinä. Ikävä kuulla, että tilausjärjestelmä muodostuu myynnin pullonkaulaksi.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Kiitin myyjiä hyvästä yrityksestä. Muutaman päivän jälkeen kokeilin tilauksen tekemistä verkkokaupan kautta. Tilausprosessin lopuksi sain viestin: “Palvelussa tapahtui tekninen virhe. Yritä hetken kuluttua uudelleen”. Päätin tilata liittymät toiselta operaattorilta.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Mitä tästä opimme?

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Joskus tietotekniikkaan liittyvät ongelmat tekevät mahdottomaksi palvella asiakkaita. Mitä yrittäjä tai liiketoimintapäättäjä voi tehdä, ettei vastaavanlaisia ongelmia tapahdu omassa yrityksessä?
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Neuvoja on varmasti useita. Kertomassani tapauksessa tilausjärjestelmä kannattaa muuttaa sellaiseksi, että tekninen vika loppuvaiheessa ei estä tilausta. Palvelut on mahdollista rakentaa niin, että ne korjaavat itsensä vikatilanteissa ja pystyvät sen jälkeen jatkamaan keskeytyneiden tilausten käsittelyä. Tämän avulla minä ja todennäköisesti muutama muukin henkilö olisimme kyseisen operaattorin uusia asiakkaita. Olen melko varma, että myös yrityksen työntekijät olisivat tyytyväisempiä käyttämäänsä järjestelmään.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Ohjelmistokehityksen ja pilvipalveluiden asiantuntijayrityksen näkökulmasta suosittelemme panostamaan laadukkaaseen suunnitteluun ja toteutukseen. Liiketoimintavaatimusten muuttuessa myös it-ympäristöjen on kyettävä muuttumaan. Ketteryys ja skaalautuvuus ovat nykyaikaisen it-ympäristön avainsanoja.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Tekniikka kehittyy valtavaa vauhtia ja se luo uusia mahdollisuuksia myös muuttaa toimintatapoja. Työni puolesta olen viimeisen vuoden aikana päässyt tapaamaan useita it- ja liiketoimintapäättäjiä, jotka haluavat vastata muuttuvan maailman tarpeisiin mm. pilven avulla. Pilvi tarjoaa yrityksille joustavuutta ja mahdollisuuden kehittää uusia liiketoimintamalleja sekä päivittää kankeita järjestelmiä paremmin toimiviksi.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Nopea tekninen kehitys tuo muutoksia meidän kaikkien elämään. Välillä ne turhauttavat, kuten minua uudet käyttöjärjestelmät tai epävarmasti toimivat puhelimet. Moni muutos on kuitenkin positiviinen. Webscalella lähestymistapamme tekniikkaan ja sovelluskehitykseen on hyvin käytönnönläheinen. Teknologiat ja prosessit ovat meille ensisijaisesti työkaluja asetettujen maalien saavuttamiseksi. Tämän vuoksi suosimme kypsiä ja luotettavia teknologioita sekä maailmalla hyviksi havaittuja menetelmiä ja käytäntöjä.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/old-computer-p1akm9zpp034krzx9qxjnbouyr0n8soo6e8qpgh9ts.jpeg" length="94301" type="image/jpeg" />
      <pubDate>Tue, 25 Aug 2015 05:30:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2015/08/kankea-tietojarjestelma-taakka-kaikille</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/old-computer-p1akm9zpp034krzx9qxjnbouyr0n8soo6e8qpgh9ts.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/old-computer-p1akm9zpp034krzx9qxjnbouyr0n8soo6e8qpgh9ts.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Mobile vulnerabilities threaten your cloud infrastructure</title>
      <link>https://www.webscale.fi/2015/08/mobile-vulnerabilities-threaten-cloud-infrastructure</link>
      <description>What if an attacker gained system level access to your mobile phone? What could they achieve with that data? In light of recent new Android vulnerabilities, this is no longer a purely theoretical exercise. Stagefright was published widely on 27 July (by Zimperium), and there are implications (by Trend Micro &amp; comment section) that it has been out […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    What if an attacker gained system level access to your mobile phone? What could they achieve with that data? In light of recent new Android vulnerabilities, this is no longer a purely theoretical exercise.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Stagefright was published widely on 27 July (by 
    
  
  
                    &#xD;
    &lt;a href="https://blog.zimperium.com/experts-found-a-unicorn-in-the-heart-of-android/" target="_blank"&gt;&#xD;
      
                      
    
    
      Zimperium
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    ), and there are implications (by 
    
  
  
                    &#xD;
    &lt;a href="https://blog.trendmicro.com/trendlabs-security-intelligence/mms-not-the-only-attack-vector-for-stagefright/" target="_blank"&gt;&#xD;
      
                      
    
    
      Trend Micro
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
     &amp;amp; comment section) that it has been out in the wild for considerably longer. Among its potential attacks are reading / writing files with same privileges OS mediaserver has.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    It is fair to assume that over time a commonly available exploit will be made available that allows either system level read access or screen scraping, both enough to gather critical information for further, more profitable attacks.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Trend Micro claims they know of no publicly available attacks so far.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Why should this concern you?

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Root access to your mobile phone means your following identity resources are likely to be compromised:
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    With these resources, the damage potential is staggering:
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Given the damage potential, we recommend immediate action to mitigate the attack potential, and to reduce the damage in case your credentials are already lost.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Mitigate the MMS attack vector.

                &#xD;
&lt;/h3&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Reduce damage potential of next stage attacks.

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Since the published vulnerability is recent, it is unlikely that you or your administrators have been targeted unless you and your company are in a high impact, high visibility position. Taking the above steps without resetting your phone should be enough. However, it is probably worth considering these issues organization wide and ensuring that nobody is no longer vulnerable to the attack.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    While this specific vulnerability will be patched within few weeks or months on all up to date devices, it is certain that similar attacks will be discovered given the current pace of new feature additions to mobile operating systems.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  More secure processes to avoid this in the future.

                &#xD;
&lt;/h3&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Sources:

                &#xD;
&lt;/h3&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/stagefright-share-p1amq9a24w3j21mrll9w75g7m0irg0bkmgnp8ntmv4.jpeg" length="103720" type="image/jpeg" />
      <pubDate>Thu, 06 Aug 2015 12:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2015/08/mobile-vulnerabilities-threaten-cloud-infrastructure</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/stagefright-share-p1amq9a24w3j21mrll9w75g7m0irg0bkmgnp8ntmv4.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/stagefright-share-p1amq9a24w3j21mrll9w75g7m0irg0bkmgnp8ntmv4.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Uusi Webscale-päämaja Helsingin keskustaan</title>
      <link>https://www.webscale.fi/2015/04/uusi-webscale-paamaja-helsingin-keskustaan</link>
      <description>Helsingin ydinkeskustassa, rautatieaseman välittömässä läheisyydessä osoitteessa Mikonkatu 15 B sijaitsee uusi Webscale-päämaja. Hienojen näkymien lisäksi yhdeksännen kerroksen toimistostamme on erinomaiset yhteydet tärkeimmille asiakkaillemme ja myös mukavat puitteet tavata heitä sekä muita Webscalelle tärkeitä henkilöitä. Asiakkaiden ja yhteistyökumppanien lisäksi tärkeiden ihmisten joukko sisältää tietysti myös työntekijämme. Heille uusi toimistomme tarjoaa lyhyen työmatkan ja toimivat työtilat, jotka […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Helsingin ydinkeskustassa, rautatieaseman välittömässä läheisyydessä osoitteessa Mikonkatu 15 B sijaitsee uusi Webscale-päämaja.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Hienojen näkymien lisäksi yhdeksännen kerroksen toimistostamme on erinomaiset yhteydet tärkeimmille asiakkaillemme ja myös mukavat puitteet tavata heitä sekä muita Webscalelle tärkeitä henkilöitä.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Asiakkaiden ja yhteistyökumppanien lisäksi tärkeiden ihmisten joukko sisältää tietysti myös työntekijämme. Heille uusi toimistomme tarjoaa lyhyen työmatkan ja toimivat työtilat, jotka työajan ulkopuolella palvelevat olohuoneena keskellä kaupunkia.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Etsimme parhaillaan lisää hyviä tyyppejä joukkoomme. Tarjoamamme työ on siistiä sisätyötä hyvässä seurassa ja parhailla teknologioilla. Helppoa ja turvallisen tasaista se ei sen sijaan ole. Hyvin tehdystä työstä maksamme tietysti reilun korvauksen ja myös osakkuus kasvavassa yrityksessämme on mahdollinen.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Jos siis tunnet tervettä vetoa pilvipalveluihin, nautit haastavista tehtävistä ja viihdyt asiakasrajapinnassa, niin ota Jukkaan yhteyttä (+358 50 301 1297) ja poikkea kahville/teelle keskustelemaan kanssamme.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/office_night-p1akmbve2o5p7zx6yrqssb7s5irdo6w4unjpo0ehhc.jpeg" length="140955" type="image/jpeg" />
      <pubDate>Tue, 28 Apr 2015 05:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2015/04/uusi-webscale-paamaja-helsingin-keskustaan</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/office_night-p1akmbve2o5p7zx6yrqssb7s5irdo6w4unjpo0ehhc.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/office_night-p1akmbve2o5p7zx6yrqssb7s5irdo6w4unjpo0ehhc.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Are you sure you own your data?</title>
      <link>https://www.webscale.fi/2015/03/are-you-sure-you-own-your-data</link>
      <description>Whoever owns the keys to your data, owns your data. In many cases that is not you. When you took up AWS for the first time, it felt confounding for all of its options. You picked that single feature you needed and realized how powerful it was. Soon, you built your whole development environment on […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Whoever owns the keys to your data, owns your data. In many cases that is not you.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    When you took up AWS for the first time, it felt confounding for all of its options. You picked that single feature you needed and realized how powerful it was. Soon, you built your whole development environment on it, and once your managers and/or founders noticed how far you had gotten by yourself, you ended up having a production system running on it as well.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Consulting our customers, we see more often than not that AWS environment is set up organically. It has been used to solve simple issues, and over time more and more features have been included from the AWS offering. While this is exactly what AWS is good for, and its cost model supports incremental steps perfectly, it is often dangerous from a security point of view.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    The most common access-related threats we see are:
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Security gone wrong

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    A cautionary tale of AWS security gone wrong is Codespaces.com, a SaaS cloud storage provider. I should say 
    
  
  
                    &#xD;
    &lt;em&gt;&#xD;
      
                      
    
    
      was
    
  
  
                    &#xD;
    &lt;/em&gt;&#xD;
    
                    
  
  
    , because after their AWS account was breached, they went out of business shortly afterwards, unable to recover their customer data.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    What happened to Codespaces was that an attacker gained access to their AWS root account, set up a denial of service and demanded payment to return the assets to Codespaces. Codespaces staff tried taking control of their account, but failed. Seeing this, the attacker proceeded to wipe everything. All the data, all the servers.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Codespaces posted a letter of apology shortly afterwards, informing their customers they could not recover the data, and not being able to pay their customers reparations, the company shut down.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Privilege levels you should identify:

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    First step in securing your system is to reduce the user authorizations bare minimum that they need to perform their tasks. A good starting point for this is classifying your AWS privileges into different severity levels by purpose and storage method.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://aws.amazon.com/blogs/aws/new-managed-policies-for-aws-identity-access-management/" target="_blank"&gt;&#xD;
      
                      
    
  
      managed policies
    

  
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Convenience over security

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Recently I have come across several instances of root keys being managed by external company, most usually your cloud consulting partner or development partner. There is absolutely no reason to do this. Every operation that you can do with root account, you can authorized IAM user account to do as well, including viewing billing information.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    The main reason you need to hold on to the root account keys is that only the root user can be absolutely certain that your CloudTrail logs have not been tampered with. It is also the only user that can not be deleted or changed at whim of any Administrator-privileged user.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Auditing

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    For many companies the effort to educate their admins on the finer points of AWS security may be too much, since everyone is overloaded with work. In this case I recommend buying the expertise from outside – find your local AWS consulting partner and ask for a quote on security audit of your environments. At the very least, require that they check for the issues detailed above.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Conclusions

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    More widespread the AWS usage is in your organization, more important it is that your operational security is up to task. Strict privilege management prevents unintended side effects and mitigates damage potential in the case of your keys being compromised.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Key management should always be ultimately in your own control. Regardless of who you have running your AWS operations, the account root keys should be locked away behind the top responsible tech officer, with CloudTrail set to follow every action.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    With the root access in your own sole control, you can still give your contractors and new employees admin level access without compromising your audit trail and ultimate control over your own operations.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Security requires continuous improvement, tuning and reviewing to stay up to speed in an environment where setting up a massive customer facing service could take less than 15 minutes to create. Well-thought privilege restriction and periodic auditing of your whole system are the practices every production system owner should have in place.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/lock-p1akmbve2o5p7zx6yrqssb7s5irdo6w4unjpo0ehhc.jpeg" length="140914" type="image/jpeg" />
      <pubDate>Mon, 30 Mar 2015 09:30:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2015/03/are-you-sure-you-own-your-data</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/lock-p1akmbve2o5p7zx6yrqssb7s5irdo6w4unjpo0ehhc-02f0dd50.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/lock-p1akmbve2o5p7zx6yrqssb7s5irdo6w4unjpo0ehhc.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Otatko kaiken hyödyn irti automatisoinnista? – DevOps ja AWS</title>
      <link>https://www.webscale.fi/2015/03/otatko-kaiken-hyodyn-irti-automatisoinnista-devops-ja-aws</link>
      <description>Ohjelmistokehitykseen kohdistuu kiihtyvällä tahdilla vaatimuksia liittyen aikatauluun, kustannuksiin, laatuun ja toiminnallisuuksiin. Perinteiset menetelmät ja työkalut eivät pysy tässä tahdissa mukana. DevOps pyrkii vastaamaan näihin vaatimuksiin parantamalla ohjelmistokehityksestä ja järjestelmäylläpidosta vastaavien tiimien välistä yhteistyötä sekä korostamalla automaation merkitystä kaikissa ohjelmistokehitysprosessin vaiheissa. Automatisoinnin tueksi on syntynyt lukuisia työkaluja, jotka yleensä tarjoavat ratkaisun tietyn prosessin vaiheen tarpeisiin. Yhtä, […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Ohjelmistokehitykseen kohdistuu kiihtyvällä tahdilla vaatimuksia liittyen aikatauluun, kustannuksiin, laatuun ja toiminnallisuuksiin. Perinteiset menetelmät ja työkalut eivät pysy tässä tahdissa mukana.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    DevOps pyrkii vastaamaan näihin vaatimuksiin parantamalla ohjelmistokehityksestä ja järjestelmäylläpidosta vastaavien tiimien välistä yhteistyötä sekä korostamalla automaation merkitystä kaikissa ohjelmistokehitysprosessin vaiheissa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Automatisoinnin tueksi on syntynyt lukuisia työkaluja, jotka yleensä tarjoavat ratkaisun tietyn prosessin vaiheen tarpeisiin. Yhtä, joka tilanteeseen ja kaikille sopivaa, työkalua on mahdoton luoda, jonka vuoksi vaihtoehtoja ja valinnanvaraa riittää. Pelkästään konfiguraation hallintaan on tarjolla jo paikkansa vakiinnuttaneet Puppet ja Chef, sekä näille alati kasvava joukko tuoreempia haastajia.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Mitä AWS tarjoaa DevOps-kentälle?

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Amazon Web Services on muiden pilvipalvelujen tarjoajien ohella ollut jo pitkään mahdollistamassa ja vauhdittamassa DevOpsin yleistymistä. AWS:n DevOpsia tukemaan luotujen palvelujen lista on kattava ja heijastaa hyvin sitä tosiasiaa, että organisaatiot ja niiden ohjelmistokehitysprojektit ovat erilaisia.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    CloudFormation, OpsWorks, Elastic BeanStalk ja CodeDeploy tarjoavat kaikki toisiinsa yhdistettävissä olevia ratkaisuja organisaatioiden ohjelmistokehityksen tarpeisiin. Ne eivät yritä pakottaa tiettyyn toimintatapaan tai prosessiin, vaan tukevat organisaatioiden työtä kuten DevOpsissa järjestelmäylläpito tukee kehittäjien työtä parhaan lopputuloksen saavuttamiseksi.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  DevOps on liikkuva maali

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Menetelmistä ja työkaluista ei ole hyötyä, jos niitä ei osata tai haluta hyödyntää. Hyvä kehittäjä pyrkii koko ajan löytämään uusia tapoja tehdä asioita tehokkaammin. Osaaminen pysyy ajan tasalla sekä tekemällä että kouluttautumalla.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Pilvipalveluiden asiantuntijana ja ohjelmistokehitystalona Webscale on perustamisestaan lähtien ollut vahvasti mukana DevOps-kentässä. Panostamme aidosti ammattilaistemme osaamiseen ja pidämme huolta siitä, että tunnemme syvällisesti myös AWS:n DevOps-työkalut. Erinomainen osoitus tästä on se, että suoritimme ensimmäisten joukossa maailmassa uuden 
    
  
  
                    &#xD;
    &lt;a href="https://aws.amazon.com/certification/certified-devops-engineer-professional/" target="_blank"&gt;&#xD;
      
                      
    
    
      AWS Certified DevOps Engineer Professional
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
     -sertifikaatin, joka testaa nimenomaan DevOps-osaamista AWS:n pilviympäristössä.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/aws-devops-p1amrsqjc47g31e7lr8vs9genqxf25fqi35cjzjeo0.jpeg" length="66327" type="image/jpeg" />
      <pubDate>Mon, 02 Mar 2015 07:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2015/03/otatko-kaiken-hyodyn-irti-automatisoinnista-devops-ja-aws</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/aws-devops-p1amrsqjc47g31e7lr8vs9genqxf25fqi35cjzjeo0.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/aws-devops-p1amrsqjc47g31e7lr8vs9genqxf25fqi35cjzjeo0.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>AWS re:Invent Las Vegasissa</title>
      <link>https://www.webscale.fi/2014/11/aws-reinvent-las-vegasissa</link>
      <description>Osallistuimme kolmatta kertaa järjestettyyn AWS re:Invent -konferenssiin Las Vegasissa. Viidelle päivälle jakautunut tapahtuma sisälsi monipuolisen kattauksen esityksiä, koulutuksia ja iltaohjelmaa, joiden välissä oli vielä mahdollisuus käydä suorittamassa sertifikaatteja ja harjoituksia. re:Invent on perinteisesti ollut AWS:n vuoden tärkein tapahtuma, jossa julkistetaan uudet tuotteet ja palvelut. Odotetusti keskiviikon ja torstain pääpuheenvuorot sisälsivät hengästyttävän määrän uusia julkistuksia. Osa […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Osallistuimme kolmatta kertaa järjestettyyn AWS re:Invent -konferenssiin Las Vegasissa. Viidelle päivälle jakautunut tapahtuma sisälsi monipuolisen kattauksen esityksiä, koulutuksia ja iltaohjelmaa, joiden välissä oli vielä mahdollisuus käydä suorittamassa sertifikaatteja ja harjoituksia.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    re:Invent on perinteisesti ollut AWS:n vuoden tärkein tapahtuma, jossa julkistetaan uudet tuotteet ja palvelut. Odotetusti keskiviikon ja torstain pääpuheenvuorot sisälsivät hengästyttävän määrän uusia julkistuksia. Osa näistä oli erittäin odotettuja, kuten 
    
  
  
                    &#xD;
    &lt;a href="https://aws.amazon.com/blogs/aws/cloud-container-management" target="_blank"&gt;&#xD;
      
                      
    
    
      AWS EC2 Container Service
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    , joka helpottaa merkittävästi Docker-klustereiden ajamista Amazonin pilviympäristössä. Tämä varmasti edistää jo nyt hyvin etenevää Dockerin maailman valloitusta.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Hieman yllättävämpi julkistus sen sijaan oli 
    
  
  
                    &#xD;
    &lt;a href="https://aws.amazon.com/blogs/aws/run-code-cloud/" target="_blank"&gt;&#xD;
      
                      
    
    
      AWS Lambda
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    , jonka tilaton tapahtumiin perustuva ohjelmointimalli mahdollistaa toiminnallisuuksien tarjoamisen ilman yhtäkään omaa palvelinta. Kehittäjän vastuulle jää kirjoittaa sovelluslogiikka, joka reagoi pilviympäristön tuottamiin tapahtumiin samalla kun AWS vastaa sovelluksen ajamisesta aina halutulla suoritusteholla. Sovelluskehitys Lambdan avulla on entistä ketterämpää ja tulee varmasti muuttamaan tapaa, jolla sovelluksia jatkossa pilveen rakennetaan.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Uudeksi Amazon RDS -tietokantamoottoriksi julkistettiin 
    
  
  
                    &#xD;
    &lt;a href="https://aws.amazon.com/blogs/aws/highly-scalable-mysql-compat-rds-db-engine/" target="_blank"&gt;&#xD;
      
                      
    
    
      Amazon Aurora
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    . Se on lineaarisesti skaalautuva MySQL-yhteensopiva relaatiotietokanta, joka lupaa parhaimpien kaupallisten tietokantojen suorituskyvyn ja vikasietoisuuden yhdistettynä open source -tietokantojen yksinkertaisuuteen ja kustannustehokkuuten.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Sovelluskehittäjille saapui tänä vuonna joulu etuajassa, sillä heidän työnsä tueksi Amazon julkaisi peräti kolme uutta palvelua. 
    
  
  
                    &#xD;
    &lt;a href="https://aws.amazon.com/blogs/aws/code-management-and-deployment/" target="_blank"&gt;&#xD;
      
                      
    
    
      CodeCommit, CodeDeploy, CodePipeline
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
     tarjoavat ratkaisuja versionhallintaan, automatisoituun sovellusten julkaisuun sekä sovellusympäristöjen ylläpitoon ja hallintaan.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Muita uusia palveluita olivat kryptausavainten hallintaan tarkoitettu 
    
  
  
                    &#xD;
    &lt;a href="https://aws.amazon.com/blogs/aws/new-key-management-service/" target="_blank"&gt;&#xD;
      
                      
    
    
      AWS Key Management Service
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    , pilviympäristön konfiguraation hallintaan ja auditointiin keskittyvä 
    
  
  
                    &#xD;
    &lt;a href="https://aws.amazon.com/blogs/aws/track-aws-with-config/" target="_blank"&gt;&#xD;
      
                      
    
    
      AWS Config
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
     sekä 
    
  
  
                    &#xD;
    &lt;a href="https://aws.amazon.com/blogs/aws/aws-service-catalog/" target="_blank"&gt;&#xD;
      
                      
    
    
      AWS Service Catalog
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
     tuoteportfolioiden ylläpitoon.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Kaiken kaikkiaan uudet palvelut ovat erinomainen lisä Amazonin jo ennestään laajaan valikoimaan.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Löysimme myös hetken ylimääräistä aikaa täyteen pakatun ohjelman keskeltä ja kävimme suorittamassa SysOps Administrator -sertifikaatit jo aiemmin hankittujen Solutions Architect -sertifikaattien seuraksi.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    re:Invent oli kaikin puolin mahtava kokemus. Reissusta tarttui mukaan aimo annos uutta AWS-tietoa ja erinomaisia kontakteja. Tulemme ehdottomasti osallistumaan myös ensi vuoden konferenssiin koko yrityksen voimin. Tämän kokemuksen jälkeen on mukava palata takaisin sorvin ääreen ja päästä hyödyntämään uusia oppeja ja ratkaisuja yhdessä asiakkaidemme kanssa.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/reinvent_2014-p1ams098ushqnx3aduhwc7k3etwcrq9l74d8e789a8.jpeg" length="143719" type="image/jpeg" />
      <pubDate>Fri, 21 Nov 2014 12:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2014/11/aws-reinvent-las-vegasissa</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/reinvent_2014-p1ams098ushqnx3aduhwc7k3etwcrq9l74d8e789a8.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/reinvent_2014-p1ams098ushqnx3aduhwc7k3etwcrq9l74d8e789a8.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>A full year in cloud business</title>
      <link>https://www.webscale.fi/2014/09/full-year-cloud-business</link>
      <description>This autumn Webscale reached an important milestone as it was one year ago we started the company. And what a year it has been! During our first twelve months we went through a crash course in entrepreneurship and IT sales, and of course refined our AWS expertise even further. Overall, we are very pleased with […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    This autumn Webscale reached an important milestone as it was one year ago we started the company. And what a year it has been! During our first twelve months we went through a crash course in entrepreneurship and IT sales, and of course refined our AWS expertise even further.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Overall, we are very pleased with the choices we made and how we have been able to push towards our goals. Especially our decision to put all in on Amazon Web Services has turned out to be the right one. In the past year, several leading companies put their trust in our new company to help them develop their cloud services. Being able to work closely with our clients and providing solutions that utilize the full potential of the cloud is really the best reward for all the hard work and investment we have put in.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Future looks bright for Webscale as there is growing interest in our services. We are committed to answer to that demand and therefore we are now looking for talented people to join our ranks. If you are experienced in the software business and already have strong AWS knowledge, you might be just the right person for the job. We offer partnership programme and challenging role with real opportunities to influence our growing company. Send your CV to 
    
  
  
                    &#xD;
    &lt;a href="mailto:rekry@webscale.fi"&gt;&#xD;
      
                      
    
    
      rekry@webscale.fi
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    . For more information about working at Webscale, call Jukka +358 50 301 1297.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/birthday-p1amsfanw52btohfy0zxg3rgwzu86vxal6t02mlyio.jpeg" length="52936" type="image/jpeg" />
      <pubDate>Fri, 12 Sep 2014 10:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2014/09/full-year-cloud-business</guid>
      <g-custom:tags type="string">Webscalerit</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/birthday-p1amsfanw52btohfy0zxg3rgwzu86vxal6t02mlyio.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/birthday-p1amsfanw52btohfy0zxg3rgwzu86vxal6t02mlyio.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Webscale becomes AWS Consulting Partner</title>
      <link>https://www.webscale.fi/2014/09/webscale-becomes-aws-consulting-partner</link>
      <description>Webscale became Amazon Web Services Consulting Partner on August 6 2014. AWS has been the strategic technology choice from day 1 of our company. During our first year of operations, we have been able to provide our customers with reliable services more rapidly than before, thanks to AWS’s elastic infrastructure. We, as developers, see immense […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Webscale became Amazon Web Services Consulting Partner on August 6 2014.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    AWS has been the strategic technology choice from day 1 of our company. During our first year of operations, we have been able to provide our customers with reliable services more rapidly than before, thanks to AWS’s elastic infrastructure. We, as developers, see immense productivity gains working with high quality API-based, on-demand infrastructure as opposed to on-premise data centers.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Every engineer in Webscale has been certified with at least the first AWS Solution Architect certification level. We also guarantee that every developer in the company is trained and certified to have strong understanding of AWS.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Our enterprise customers have already seen major benefits from migrating to AWS-based environments. With this partnership, we are able to provide you with even better service, resulting in cost savings and agility to execute you vision.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/2014-09-03-p1akmeown69k6tt3iayohsi5xodhba7bv1i63uaayo.png" length="85949" type="image/png" />
      <pubDate>Wed, 03 Sep 2014 09:15:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2014/09/webscale-becomes-aws-consulting-partner</guid>
      <g-custom:tags type="string">Uutiset,Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/2014-09-03-p1akmeown69k6tt3iayohsi5xodhba7bv1i63uaayo.png">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/2014-09-03-p1akmeown69k6tt3iayohsi5xodhba7bv1i63uaayo.png">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Growing the gap: IaaS market three years in a row</title>
      <link>https://www.webscale.fi/2014/08/growing-gap-iaas-market-three-years-row</link>
      <description>Gartner recently released their 2014 IaaS Magic Quadrant [1] report, covering 20 major players in the Infrastructure-as-a-Service market. Amazon Web Services is leading the IaaS market by a massive margin, as it has been since 2012 when the first such report was published. What is noteworthy – and not obvious by looking at just 2014 […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Gartner recently released their 2014 IaaS Magic Quadrant [
    
  
  
                    &#xD;
    &lt;a href="https://blogs.gartner.com/lydia_leong/2014/05/30/the-2014-cloud-iaas-magic-quadrant/" target="_blank"&gt;&#xD;
      
                      
    
    
      1
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    ] report, covering 20 major players in the Infrastructure-as-a-Service market. Amazon Web Services is leading the IaaS market by a massive margin, as it has been since 2012 when the first such report was published.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    What is noteworthy – and not obvious by looking at just 2014 report – is that AWS is outpacing its competitors, growing the gap each year even though the market as a whole has evolved significantly during this time.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Other major changes in the market this year were the entry of Google into the IaaS market with their Google Compute Engine, and the grand leap to Leader quadrant by Microsoft Azure offering.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Gartner only included cloud compute IaaS in their Magic Quadrant, not including storage, cloud brokerage or hardware and software providers intended for building cloud infrastructure. Heavy emphasis was in self-service and automation in a standardized environment – the primary context being enterprises with the desire to have a cloud “data center”. Evaluation focused on the common requirements for these customers.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    The report does a good apples to apples comparison, which is rare in this market: Certain providers are explicitly called out as cloudwashing their dedicated managed services into “IaaS”.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Evaluated companies in general could promise monthly compute availability SLAs of 99.95% and higher, which is typically higher than availability SLAs for managed hosting. All the companies are believed to be financially stable, with business plans that are adequately funded. Customers should not need to worry about them going out of business.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    The API supported by each provider is also mentioned – the Amazon Web Services (AWS), OpenStack and vCloud being the most common. It is essential to understand that even though the API might be identical between providers, there is likely to be no interoperability of services. OpenStack implementation especially differs from provider to another, rendering the hyped lack of vendor lock-in practically false.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Google entered the IaaS market only recently with their general availability launch in December 2013. Although Google entered the market very late in the game, Gartner considers that their ability productize existing capability instead of building from scratch will enable them to move significantly faster than most competition. Productizing existing capacity also means that their cost of service is very low. The effect of GCE pricing has already pushed Amazon into lowering their entry-tier compute pricing. As of now, AWS T2-tier is the most inexpensive option.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Mirosoft Azure business was previously strictly PaaS, but with the launch of Infrastructure Services, Microsoft entered the IaaS market in April 2013. It is already second in IaaS market share, far ahead of the smaller competitors – even if it is still far from Amazon
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    As downsides to Azure IaaS offering, Gartner sees the lack of support for complex network topologies and Microsoft centricity, as shown by lack of enterprise Linux options. Azure Infrastructure Services appeals primarily to .NET developers, even though running heterogenous loads is possible.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    The growing gap between AWS offerings and other providers, together with the fact that the developer ecosystem for AWS is superb, strengthens our belief that Amazon Web Services should be the standard part of every highly productive developers choice of tools. Whether we are migrating a customers enterprise system off premises, or creating their brand new global flagship service, AWS provides us as developers with a scalable, inexpensive and reliable service without limiting our freedom of building just the right kind of solution.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://webscale.fi/blogi/2014-08-05-growing-the-cap/#"&gt;&#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    [1] 
    
  
  
                    &#xD;
    &lt;a href="https://blogs.gartner.com/lydia_leong/2014/05/30/the-2014-cloud-iaas-magic-quadrant/" target="_blank"&gt;&#xD;
      
                      
    
    
      Gartner 2014 IaaS Magic Quadrant released
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Interested in how your organization could be more agile and save in costs with AWS? Contact us at 
    
  
  
                    &#xD;
    &lt;a href="mailto:info@webscale.fi"&gt;&#xD;
      
                      
    
    
      info@webscale.fi
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/2014-08-05-p1akmeown69k6tt3iayohsi5xodhba7bv1i63uaayo.png" length="46806" type="image/png" />
      <pubDate>Tue, 05 Aug 2014 07:00:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2014/08/growing-gap-iaas-market-three-years-row</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/2014-08-05-p1akmeown69k6tt3iayohsi5xodhba7bv1i63uaayo.png">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/2014-08-05-p1akmeown69k6tt3iayohsi5xodhba7bv1i63uaayo.png">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Know your cloud storage: Integrity, privacy and SLAs</title>
      <link>https://www.webscale.fi/2014/04/know-cloud-storage-integrity-privacy-slas</link>
      <description>The cloud storage services have been around for years, and the offerings have been improving rapidly. There are Google Docs Drive, Microsoft SkyDrive OneDrive, Dropbox, Amazon S3, Azure (Blob) Storage, Google Cloud Storage, iCloud, et cetera. What I see ever more often is a lack of understanding of what each of the storage services are meant for. This is […]</description>
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    The cloud storage services have been around for years, and the offerings have been improving rapidly. There are Google 
    
  
  
                    &#xD;
    &lt;del&gt;&#xD;
      
                      
    
    
      Docs
    
  
  
                    &#xD;
    &lt;/del&gt;&#xD;
    
                    
  
  
     Drive, Microsoft 
    
  
  
                    &#xD;
    &lt;del&gt;&#xD;
      
                      
    
    
      SkyDrive
    
  
  
                    &#xD;
    &lt;/del&gt;&#xD;
    
                    
  
  
     OneDrive, Dropbox, Amazon S3, Azure (Blob) Storage, Google Cloud Storage, iCloud, et cetera.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    What I see ever more often is a lack of understanding of what each of the storage services are meant for. This is made more confusing by the tendency of storage service providers to wrap their services with tools closely resembling the operating systems file explorer view, even if internally the storage is nothing like plain disk storage.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Last week 
    
  
  
                    &#xD;
    &lt;a href="https://www.myce.com/news/microsoft-onedrive-for-business-modifies-files-as-it-syncs-71168/" target="_blank"&gt;&#xD;
      
                      
    
    
      myce.com published their findings on how OneDrive alters the stored files
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
    , which rightly caused many to reconsider their usage of the service for sensitive data or corporate information. Integrity of the files means that you expect to get out files in identical condition as they were when you put them in. OneDrive fails at this, and what is worse, does so while making it superficially look like nothing has changed. The actual changed content was some sort of metadata about the files.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  End user services

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    From the list above, I would classify OneDrive, Dropbox, Google Drive and iCloud as built for the end users, and therefore intended not to require any prior knowledge of the internal functioning of the service.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    OneDrive and iCloud are built in to specific desktop operating systems and mobile platforms, to the degree that it actually takes more user effort to disable them than to use them. Dropbox needs to be separately installed, but similarly ‘just works’ as automatically cloud syncing file system path.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Drive differs from the rest in that it is intended primarily as online office document creation service, and only provides the storage capability as a side effect of that function. Regardless, many use it for lightweight cloud storage, myself included. The tools and the service experience are regardless built for layman use, and should be considered from that viewpoint.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    The OneDrive incident only shows that Microsoft keeps true to their vision of making the end user experience as easy as possible, regardless of how a small portion of technically inclined users might feel about their service effectively breaking the integrity of the stored files. Microsoft has a long history of altering user data starting with MediaPlayer &amp;amp; MP3 metadata. And can you blame them for forcing their vision for their ecosystem, when Apple would do the same thing on theirs? Only if you made the assumption that you should use the same service to backup your corporate files that teenagers are using for sharing their selfies.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    I came across another breach of implied service level with Dropbox shared directories. I purchased my old work laptop when leaving an employer, so I ended up having a previously shared Dropbox directory with monthly sales summary documents in them. My access rights to those files had been revoked, but they still existed on my local hard drive, and Dropbox still kept trying to sync them with online versions: Actual file contents were not updated, but I still got the metadata updates on when files had been changed. My personal assumption had been that once you revoke someones access to files, they will get nothing related to those files. Turns out I was wrong.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Infrastructure services

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    Amazon S3, Azure Storage and Google Cloud Storage are entirely different services from the end user services. While at core their function is to act as storage services like previous ones do, they are in a stark contrast with end user services by providing very versatile access controls while providing only crude graphical tools for file operations. Access to and manipulation of the files are intended to be done through APIs, and effective use of the services for heavy users requires somewhat thorough understanding of the storage architecture.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    The most significant difference comes from having a service level agreement (or SLA) for these infrastructure services. 
    
  
  
                    &#xD;
    &lt;a href="https://aws.amazon.com/s3/sla/" target="_blank"&gt;&#xD;
      
                      
    
    
      Amazon S3 SLA promises
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
     their users 99,9% Monthly Uptime Percentage, with up to 25% of monthly costs given as service credits for failing to live up to that promise. In addition, their product details describe the service having been designed for 99.999999999% durability and 99.99% availability of objects over a given year, and to sustain the concurrent loss of data in two facilities.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;a href="https://azure.microsoft.com/en-us/support/legal/sla/" target="_blank"&gt;&#xD;
      
                      
    
    
      Azure Storage SLA
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
     and 
    
  
  
                    &#xD;
    &lt;a href="https://developers.google.com/storage/sla" target="_blank"&gt;&#xD;
      
                      
    
    
      Google Cloud Storage SLA
    
  
  
                    &#xD;
    &lt;/a&gt;&#xD;
    
                    
  
  
     provide similar promises.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;h3&gt;&#xD;
  
                  
  Building blocks

                &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    
                    You should also be aware that some of the end user services are actually built on those infrastructure services. Most famous example is Dropbox, which is often used as a good example of how to use Amazon S3 innovatively as the storage backend. Dropbox only stores user information and metadata about the files on their own servers, and does all the heavy lifting with S3. Comparing their billing ($9.99/month for Dropbox Pro, 100 Gb) with S3’s ($0.03/month/Gb * 100 Gb = $3/month) they get a decent cut for providing good user experience on top of other providers infrastructure.
                  &#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/2014-04-24-p1akmeown69k6tt3iayohsi5xodhba7bv1i63uaayo.jpeg" length="60664" type="image/jpeg" />
      <pubDate>Thu, 24 Apr 2014 09:05:00 GMT</pubDate>
      <guid>https://www.webscale.fi/2014/04/know-cloud-storage-integrity-privacy-slas</guid>
      <g-custom:tags type="string">Teknologiat</g-custom:tags>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/2014-04-24-p1akmeown69k6tt3iayohsi5xodhba7bv1i63uaayo.jpeg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp.cdn-website.com/6a1f2ca5/dms3rep/multi/2014-04-24-p1akmeown69k6tt3iayohsi5xodhba7bv1i63uaayo.jpeg">
        <media:description>main image</media:description>
      </media:content>
    </item>
  </channel>
</rss>
