<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Codento - Blog</title>
	
	<link>http://blog.codento.com</link>
	<description />
	<lastBuildDate>Fri, 11 May 2012 12:31:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/codento" /><feedburner:info uri="codento" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Langaton verkko pilvipalveluna</title>
		<link>http://feedproxy.google.com/~r/codento/~3/kwgyXlL9No0/</link>
		<comments>http://blog.codento.com/2012/05/langaton-verkko-pilvipalveluna/#comments</comments>
		<pubDate>Fri, 11 May 2012 12:31:44 +0000</pubDate>
		<dc:creator>Teemu Kalvas</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[näin meillä]]></category>
		<category><![CDATA[pilvi]]></category>

		<guid isPermaLink="false">http://blog.codento.com/?p=1459</guid>
		<description><![CDATA[<p>Codentolla on jo useampia vuosia ollut ajoittain intohimoisestikin ajettu tavoite olla halaamatta palvelimia. Tästä johtuen palveluita, joita moni ajaisi omilla palvelimilla itse ylläpidetyllä palvelinsoftalla, ei meillä tarvitse ylläpitää. Riittää, kun maksaa laskun. Esimerkiksi versionhallintaa palveluna myy github, ja hyvin myykin.</p> <p>On kuitenkin joitakin palveluita, joita valitettavasti ei vielä kukaan ole ymmärtänyt myydä pilvipalveluna. Näistä yksi [...]]]></description>
			<content:encoded><![CDATA[<p>Codentolla on jo useampia vuosia ollut ajoittain intohimoisestikin ajettu tavoite olla halaamatta palvelimia. Tästä johtuen palveluita, joita moni ajaisi omilla palvelimilla itse ylläpidetyllä palvelinsoftalla, ei meillä tarvitse ylläpitää. Riittää, kun maksaa laskun. Esimerkiksi versionhallintaa palveluna myy github, ja hyvin myykin.</p>
<p>On kuitenkin joitakin palveluita, joita valitettavasti ei vielä kukaan ole ymmärtänyt myydä pilvipalveluna. Näistä yksi minua ammatillisesti eniten häiritsevistä (CIO-hattua käyttäessäni) on langaton verkko toimistolla.</p>
<p>Yrityksemme tarve langattomalle verkolle on melkein, mutta ei aivan, yksinkertaisin mahdollinen. Poikkeamat yksinkertaisimpaan mahdolliseen ovat: toimistomme on pitkä ja kapea, ja yhdellä tölkillä on vaikea saada luotettavaa kuuluvuutta joka kulmaan. Haluamme myöskin antaa erillisen verkon satunnaisille vierailijoille, kuin se, jota itse käytämme työntekoon. (Tähän liittyy yksi toinen palvelu, jota valitettavasti ei saa pilvipalveluna: tulostin. Avatkaapas tulostimenne avoimeen langattomaan verkkoon kokeeksi. Ja tarkoitan siis, että älkää avatko. Syyt voi pohtia itse läpi.)</p>
<p>Koska identiteettimme on olla yritys, jossa on jonkinlainen kulukontrolli, aina välillä innostumme tekemään asioita halvalla. Niinpä esim. wlan voidaan toteuttaa siideripalkalla, koska verkostosta löytyy asiaan harrastuneisesti suhtautunut partneri, joka heikkona hetkenä suostuu tällaiseen ehdotukseen.</p>
<p>Pitkäksi venähtänyt johdanto selittää, miksi torstaina viideltä korkkasimme Jessen kanssa toimistolla siideriä, ja varoitimme mattimyöhäisiä verkon mahdollisesta ajoittaisesta toimimattomuudesta. Projektiomistajalle oli annettu kahden siiderin työmääräarvio.</p>
<p>Neljä tuntia myöhemmin kävi mielessä, että projektiomistaja oli ammattilainen, koska siideri ei ollut vielä loppunut kesken.</p>
<p>Viiden tunnin kohdalla langaton verkko toimi vaatimusmäärittelyn mukaisesti. Matkan varrella suunnilleen kaikki oli mennyt eri tavalla kuin suunniteltu, ja useita komponentteja alkuperäisen laajuuskäsityksen ulkopuolelta oli päätynyt mukaan.</p>
<p>Aamulla palasin tapahtumapaikalle inventoimaan vahingot ja kirjoittamaan tilanteen arvokkuutta heijastelevan blogauksen.</p>
<img src="http://feeds.feedburner.com/~r/codento/~4/kwgyXlL9No0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.codento.com/2012/05/langaton-verkko-pilvipalveluna/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://blog.codento.com/2012/05/langaton-verkko-pilvipalveluna/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=langaton-verkko-pilvipalveluna</feedburner:origLink></item>
		<item>
		<title>Konsultin niksinurkka: Älä sorru huonoihin kopioihin</title>
		<link>http://feedproxy.google.com/~r/codento/~3/MrJQEiUOJs8/</link>
		<comments>http://blog.codento.com/2012/05/konsultin-niksinurkka-ala-sorru-huonoihin-kopioihin/#comments</comments>
		<pubDate>Wed, 02 May 2012 07:59:13 +0000</pubDate>
		<dc:creator>Santeri Paavolainen</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[konsultin niksinurkka]]></category>
		<category><![CDATA[post-it]]></category>

		<guid isPermaLink="false">http://blog.codento.com/?p=1306</guid>
		<description><![CDATA[<p>Konsultin Niksinurkan Vinkki Numero 3:</p> <p>Älä käytä halpoja huonoja Post-It® kopioita.</p> <p>Jos ostat Post-It®-brändiä, käytä Super Sticky -versioita.</p> <p>En tarkoita että muut tarralaput olisivat huonoja &#8211; mutta &#8220;muiden&#8221; brändit vaihtelevat maittain ja tukkureittain joten niiden suhteen ei pysty antamaan yleisesti pätevää suositusta.</p> <p>Jos tarralappujen erot kiinnostavat enemmän, kannattaa lukea tarkemmin <a href="http://blog.codento.com/2012/04/pseudotarralapputiedetta/" target="_blank">aiemmin tekemästäni kokeesta</a> [...]]]></description>
			<content:encoded><![CDATA[<p>Konsultin Niksinurkan Vinkki Numero 3:</p>
<p><strong>Älä käytä <del>halpoja</del> huonoja Post-It® kopioita.</strong></p>
<p>Jos ostat Post-It®-brändiä, käytä Super Sticky -versioita.</p>
<p>En tarkoita että muut tarralaput olisivat huonoja &#8211; mutta &#8220;muiden&#8221; brändit vaihtelevat maittain ja tukkureittain joten niiden suhteen ei pysty antamaan yleisesti pätevää suositusta.</p>
<p>Jos tarralappujen erot kiinnostavat enemmän, kannattaa lukea tarkemmin <a href="http://blog.codento.com/2012/04/pseudotarralapputiedetta/" target="_blank">aiemmin tekemästäni kokeesta</a> jossa tutkin eri tarralappumerkkien seinällä pysyvyyttä &#8211; tuloksena mm. että jotkut kloonilaput pärjäsivät aivan yhtä hyvin kuin Post-It® Super Stickyt.</p>
<img src="http://feeds.feedburner.com/~r/codento/~4/MrJQEiUOJs8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.codento.com/2012/05/konsultin-niksinurkka-ala-sorru-huonoihin-kopioihin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.codento.com/2012/05/konsultin-niksinurkka-ala-sorru-huonoihin-kopioihin/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=konsultin-niksinurkka-ala-sorru-huonoihin-kopioihin</feedburner:origLink></item>
		<item>
		<title>Pseudotarralapputiedettä</title>
		<link>http://feedproxy.google.com/~r/codento/~3/xx-vROm4FCk/</link>
		<comments>http://blog.codento.com/2012/04/pseudotarralapputiedetta/#comments</comments>
		<pubDate>Mon, 30 Apr 2012 13:35:19 +0000</pubDate>
		<dc:creator>Santeri Paavolainen</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[empiirinen tiede]]></category>
		<category><![CDATA[post-it]]></category>
		<category><![CDATA[tarralaput]]></category>

		<guid isPermaLink="false">http://blog.codento.com/?p=1429</guid>
		<description><![CDATA[<p>Tein vähän pseudotieteellisiä tutkimuksia tarralappujen pysyvyydestä seinällä. Pseudotiedettä siksi, että tämä saattaa näyttää satunnaisen ohikulkijan silmään tieteeltä, mutta ei sitä oikeasti ole. Tai ehkä on, mutta aika huonoa sellaista.</p> <p>Lähtökohdaksi otin oman olettamukseni siitä, että halvat tarralaput ovat huonoja tarralappuja.</p> <p>Mutta tämä on vain oma oletukseni. Onko näin oikeasti?</p> Ensimmäinen koe <p>Tein siis testin. Laitoin [...]]]></description>
			<content:encoded><![CDATA[<p>Tein vähän pseudotieteellisiä tutkimuksia tarralappujen pysyvyydestä seinällä. Pseudotiedettä siksi, että tämä saattaa näyttää satunnaisen ohikulkijan silmään tieteeltä, mutta ei sitä oikeasti ole. Tai ehkä on, mutta aika huonoa sellaista.</p>
<p>Lähtökohdaksi otin oman olettamukseni siitä, että halvat tarralaput ovat huonoja tarralappuja.</p>
<p>Mutta tämä on vain oma oletukseni. Onko näin oikeasti?</p>
<h2>Ensimmäinen koe</h2>
<p>Tein siis testin. Laitoin neljän eri valmistajan tarralappuja sähkökaapin oveen. Sitten odotin.</p>
<p>Päivä 1</p>
<p><a href="http://blog.cdn.codento.com/files/2012/04/IMG_0127_small.jpg"><img class="aligncenter size-thumbnail-horiz wp-image-1432" title="Ensimmäinen päivä" src="http://blog.cdn.codento.com/files/2012/04/IMG_0127_small-450x337.jpg" alt="" width="450" height="337" /></a></p>
<p>Päivä 4</p>
<p><a href="http://blog.cdn.codento.com/files/2012/04/IMG_0128_small.jpg"><img class="aligncenter size-thumbnail-horiz wp-image-1433" title="Päivä 4" src="http://blog.cdn.codento.com/files/2012/04/IMG_0128_small-450x337.jpg" alt="" width="450" height="337" /></a></p>
<p>&#8230;</p>
<p>Päivä 21</p>
<p><a href="http://blog.cdn.codento.com/files/2012/04/IMG_0162_small.jpg"><img class="aligncenter size-thumbnail-horiz wp-image-1434" title="Päivä 21" src="http://blog.cdn.codento.com/files/2012/04/IMG_0162_small-450x337.jpg" alt="" width="450" height="337" /></a></p>
<p>Papukaijamerkki sille, joka keksii trendin tuloksista.</p>
<p>Yksikään ei suostunut tippumaan (siellä ne ovat kaikki kiinni edelleenkin tätä artikkelia kirjoittaessa). Mikä pettymys!</p>
<p>Nollatulos siis. Hypoteesi ei saanut vahvistusta kumpaankaan suuntaan. Mikä on tietysti alkuperäisen hypoteesin testaamisen kannalta ongelmallinen &#8211; miten verrata tarralappujen tarrautumisominaisuuksia, jos ne eivät suostu ollenkaan tippumaan?</p>
<p>Kokeen epäonnistumiseen löytyi käytävältä heti hyviä spekulaatioita:</p>
<ul>
<li>Oven maalattu pinta on hyvin sileä. Neukkareiden seinät harvemmin ovat sileitä, joten testi olisi syytä toistaa joko maalatulla kivi- tai kipsilevyseinällä.</li>
<li>Monesti työpajoissa lappuja siirrellään useasti. Ehkä lapun irrottaminen ja uudelleenkiinnittäminen vaikuttaa tuloksiin.</li>
</ul>
<h2>Toinen koe</h2>
<p>Ei muuta kuin toimeen. Kohteeksi päätyi neukkarin harmaaksi maalattu betoniseinä. Viisi eri tarralappumerkkiä päätyi testiin, jokaisesta 9 lappua jaettuna kolmeen ryhmään: suoraan seinälle laitetut, 3 kertaa seinälle laitetut ja 10 kertaa laitetut. Tässä siis ”laitettu” tarkoittaa sitä, että lappu laitetaan kiinni, irrotetaan &#8230; ja toistetaan. Tarkoitus on simuloida työpajaa, jossa lappuja siirretään ja ryhmitellään toistuvasti uudestaan.</p>
<p>Tulokset? No, katso alla oleva video.</p>
<div class='embed-vimeo' style='text-align:center;'><iframe src='http://player.vimeo.com/video/41285905' width='400' height='300' frameborder='0'></iframe></div>
<p>Kokonaisuudessaan testi kesti muutaman tunnin vajaa 8 päivää. Lopputulos oli joiltain osin selkeä, joiltain yllättävä.</p>
<div id="attachment_1430" class="wp-caption aligncenter" style="width: 460px"><a href="http://blog.cdn.codento.com/files/2012/04/IMG_0161-ANNOTATED.jpg"><img class="size-thumbnail-horiz wp-image-1430" title="Toisen kokeen lopputulokset" src="http://blog.cdn.codento.com/files/2012/04/IMG_0161-ANNOTATED-450x253.jpg" alt="" width="450" height="253" /></a><p class="wp-caption-text">Toisen kokeen lopputulos. Eri merkit on numeroitu 1-5.</p></div>
<p>Miksi suoraan seinälle laitetut lapun tippuivat ensin? Hypoteesina kun oli, että lappujen irroittelu kerää seinältä pölyä liimapintaan, jota kautta niiden tarrautuvuus heikkenee. Tässä näytti käyvän täysin päinvastoin.</p>
<p>Mahdolliseksi virhelähteeksi käytäväkaarti päätyi ehdottamaan liimapinnan ikääntymistä. Nipun ylimpien lappujen liima on ollut eniten alttiina ympäristölle, eli on mahdollista että ne ovat kuivuneet. (Liiman kuivumisen hitaus on toki yksi tarralappujen laatuominaisuus, mutta lappujen ikä oli tässä kokeessa kontrolloimaton muuttuja.)</p>
<p>Toinen yllätys oli, että originaalit Post-It® tarrat eivät ole automaattisesti muita parempia. Merkki 1 (vasemmanpuoleisin) ei ole 3M:n tuote. Toisaalta merkki 5 (oikeanpuoleisin) on Post-It® Super Sticky -tarralappu. (Muut mallit aivan tämän kirjoituksen lopussa.)</p>
<p>Mitä opimme tarrojen pysyvyydestä?</p>
<ul>
<li>Kiinnityspinnalla on merkitystä.</li>
<li>Tarralappumerkeillä on eroja.</li>
<li>Lappunipun iällä saattaa olla merkitystä.</li>
</ul>
<p>Ainakin minulla oli alunperin olettamus, että ”originaalit 3M:n tuotteet” olisivat automaattisesti kilpailijoitaan parempia. Näin ei ole. Super Sticky on selvästi hyvä, mutta merkki 1 oli tässä kokeessa aivan vastaavalla tasolla.</p>
<p>Mitä ongelmia kokeessa oli?</p>
<p>Kokeessa käytettiin mitä tahansa eri valmistajien lappuja joita satuin toimistotarvikehyllyltä ja laatikoiden pohjilta löytymään. Tässä suhteessa ne eivät esimerkiksi liiman kuivumisen suhteen ole samalla lähtöviivalla. Liiman kuivuminen &#8211; tai sen hitaus &#8211; on toki hyvän tarralapun ominaisuus, mutta tällöin pitäisi vertailla yhtä tuoreita lappunippuja eikä satunnaisia säkin pohjan löytöjä.</p>
<p>Seuraavia asioita voisi tutkia tarkemmin jatkossa:</p>
<ol>
<li>Poistaa lappujen ikääntymisen vaikutukset käyttämällä vain samanikäisiä pinkkoja.</li>
<li>Vertailla pinkan päältä ja keskeltä otettujen lappujen ominaisuuksia keskenään.</li>
<li>Tutkia ikääntymisen eli toimistoilma-altistuksen keston vaikutusta tarralapun ominaisuuksiin.</li>
</ol>
<p>P.S. Ei kenelläkään olisi käsillään mN-alueella toimivaa voimamittaria ja olisi valmis lainaamaan sitä?</p>
<p>P.P.S. Uteliaille tiedoksi: Eri merkit olivat siis (vasemmalta oikealle):</p>
<ol>
<li>Corporate Express</li>
<li>Talex</li>
<li>Stick</li>
<li>Post-It® (Regular)</li>
<li>Post-It® Super Sticky</li>
</ol>
<p>Älkää suinkaan tulkitko tätä niin, että X on parempi kuin Y. Ainoa tulos oli, että jotkut ovat parempia kuin toiset. Jos lappusi siis tippuvat maahan, tiedä että vaihtoehtoja on. Jos lappusi pysyvät paikoillaan, ei vaihtaminen välttämättä kannata.</p>
<img src="http://feeds.feedburner.com/~r/codento/~4/xx-vROm4FCk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.codento.com/2012/04/pseudotarralapputiedetta/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.codento.com/2012/04/pseudotarralapputiedetta/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=pseudotarralapputiedetta</feedburner:origLink></item>
		<item>
		<title>Ohjelmoijan muistinmenetys</title>
		<link>http://feedproxy.google.com/~r/codento/~3/2tWlI-dVbzo/</link>
		<comments>http://blog.codento.com/2012/04/ohjelmoijan-muistinmenetys/#comments</comments>
		<pubDate>Fri, 27 Apr 2012 11:41:44 +0000</pubDate>
		<dc:creator>Teemu Kalvas</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[kokemus]]></category>
		<category><![CDATA[ohjelmointi]]></category>
		<category><![CDATA[työkalut]]></category>

		<guid isPermaLink="false">http://blog.codento.com/?p=1413</guid>
		<description><![CDATA[<p>Tyypillinen työviikko 90-luvulla saattoi koostua neljästä päivästä armotonta koodausta ja perjantaina tajuamisesta, että sekä työaikakirjanpito että toteutuksen dokumentointi on viikon todellisuudesta jäljessä. Tässä vaiheessa korjasin asian.</p> <p>Epätyypillinen työviikko 10-luvulla koostuu neljästä päivästä armotonta koodausta ja perjantaina tajuamisesta, että työaikakirjanpitoon tulee &#8220;koodausta, 30 tuntia&#8221; ja toteutusta ei saada ikinä dokumentoitua kunnolla. Tyypillisempi viikko menee niin, että [...]]]></description>
			<content:encoded><![CDATA[<p>Tyypillinen työviikko 90-luvulla saattoi koostua neljästä päivästä armotonta koodausta ja perjantaina tajuamisesta, että sekä työaikakirjanpito että toteutuksen dokumentointi on viikon todellisuudesta jäljessä. Tässä vaiheessa korjasin asian.</p>
<p>Epätyypillinen työviikko 10-luvulla koostuu neljästä päivästä armotonta koodausta ja perjantaina tajuamisesta, että työaikakirjanpitoon tulee &#8220;koodausta, 30 tuntia&#8221; ja toteutusta ei saada ikinä dokumentoitua kunnolla. Tyypillisempi viikko menee niin, että kirjoitan sekä dokumentit että projektikirjanpidon etukäteen, koska muuten en muista edes mitä suunnittelin tekeväni.</p>
<p>Jälkiviisaana olen aika varma, että kukaan kaksikymppinen ei toimi tällasissa asioissa järjestyksessä, joka meille neljääkymmentä lähestyville on täysin pakollinen.</p>
<p>Parikymppiset lukijat jakautuvat nyt kahtia: toiset eivät pysty edes kuvittelemaan näin huonoa muistia, ja toiset ovat kauhuissaan eivätkä pysty kuvittelemaan miten ilman muistia voi tehdä töitä. Tähän liittyy toinen ero. Niin kauan, kun muistaa suunnilleen kaiken, mitä elämässä on tapahtunut, ei sisäistetyn tiedon ja sattumanvaraisen tiedon välinen ero ole käsitteellisesti välttämätön. Tieto kuin tieto. Tosiasiassa kuitenkin sisäistetty tieto käyttäytyy eri tavalla. Vaikka en muista mitään, muistan kuitenkin kuinka C:tä koodataan, koska osaan koodata C:tä. En muista mitä söin keskiviikkona lounaalla. Se ei kuulu osaamiseen.</p>
<div id="attachment_1417" class="wp-caption alignnone" style="width: 605px"><a href="http://blog.codento.com/2012/04/ohjelmoijan-muistinmenetys/p1040027/" rel="attachment wp-att-1417"><img class="size-large wp-image-1417" src="http://blog.cdn.codento.com/files/2012/04/P1040027-1024x635.jpg" alt="" width="595" height="368" /></a><p class="wp-caption-text">Santtu piirsi tähän kuvan, mutta vanhemman ohjelmoitsijan päässä on jo niin paljon kaikkea muutakin. Hyvää Vappua.</p></div>
<img src="http://feeds.feedburner.com/~r/codento/~4/2tWlI-dVbzo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.codento.com/2012/04/ohjelmoijan-muistinmenetys/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.codento.com/2012/04/ohjelmoijan-muistinmenetys/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=ohjelmoijan-muistinmenetys</feedburner:origLink></item>
		<item>
		<title>Tuloksia vai panoksia?</title>
		<link>http://feedproxy.google.com/~r/codento/~3/B31YKyprgcI/</link>
		<comments>http://blog.codento.com/2012/04/tuloksia-vai-panoksia/#comments</comments>
		<pubDate>Fri, 20 Apr 2012 11:21:44 +0000</pubDate>
		<dc:creator>Otso Kivekäs</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[mittaaminen]]></category>
		<category><![CDATA[ohjelmistotuotanto]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://blog.codento.com/?p=1379</guid>
		<description><![CDATA[<p>Asiakas kysyi minulta, leikillään totta kai, montako unetonta yötä olen viettänyt heidän projektinsa parissa. Ikään kuin uneton yö osoittaisi, että töitä tehdään tosissaan ja täysillä.</p> <p>Vastasin, että en yhtäkään. Sen sijaan satsaan hyvin nukuttuihin öihin, joiden jälkeen ymmärrän heidän arkkitehtuuriaan paljon paremmin kuin katkonaisten unien jälkeen.</p> <p>Pohjimmiltaan tässä on kyse siitä, halutaanko työntekijältä (alihankkijalta, jne) [...]]]></description>
			<content:encoded><![CDATA[<p>Asiakas kysyi minulta, leikillään totta kai, montako unetonta yötä olen viettänyt heidän projektinsa parissa. Ikään kuin uneton yö osoittaisi, että töitä tehdään tosissaan ja täysillä.</p>
<p>Vastasin, että en yhtäkään. Sen sijaan satsaan hyvin nukuttuihin öihin, joiden jälkeen ymmärrän heidän arkkitehtuuriaan paljon paremmin kuin katkonaisten unien jälkeen.</p>
<p>Pohjimmiltaan tässä on kyse siitä, halutaanko työntekijältä (alihankkijalta, jne) panoksia vai tuloksia. Mitataanko sitä, kuinka suurta vaivaa nähdään ja kuinka suuria uhrauksia tehdään, vai sittenkin sitä, kuinka hyvää jälkeä saadaan aikaiseksi.</p>
<p>Oikea vastaus on tietenkin päivänselvä. Siksi ketterissä menetelmissä keskitytään saamaan <a href="http://blog.codento.com/2011/10/demoefekti/">mahdollisimman nopeasti</a> toimivaa softaa eli tuloksia, eikä piitata niinkään paljon tarkoista työmäärä-arvioista tai niiden pitävyydestä eli panoksista. Siksi myyntiä palkitaan kaupoista ja johtoa voitosta, eikä sankarillisista työsuorituksista.</p>
<div id="attachment_1400" class="wp-caption aligncenter" style="width: 355px"><img class="wp-image-1400    " src="http://blog.cdn.codento.com/files/2012/04/stahanov.jpg" alt="" width="345" height="290" /><p class="wp-caption-text">Työn sankari</p></div>
<p>Yleensä bisneskirjallisuudessa asia jääkin sitten tähän, teoreettisestihan asia on selvä. Todellisuus on kuitenkin monimutkaisempi. Erityisesti softa-alalla tuloksia on nimittäin yllättävän vaikea mitata.</p>
<p>Konsulttitoiminnassa myydään oleellisesti työtunteja asiakaalle. Luulisi siis, että olisi helppoa mitata myytyjen tuntien määrää ja palkita sen mukaan. Mutta ongelmaksi tulee, että on myös yrityksen sisäisiä töitä, ja nekin pitää tehdä. Jos ne lasketaan asiakastyön tapaan &#8220;palkittaviksi&#8221;, niin sitten palkitsematta jääneet tunnit ovatkin äkkiä palkattomia tunteja, eikä niiden tekeminen kiinnosta juuri ketään. Pian kaikki tunnit kirjataan asiakasprojektin puolelle, tehtiin todellisuudessa mitä hyvänsä. Seurauksena tuntikirjanpidosta ei voi enää päätellä mitä on oikeastaan tehty ja paljonko siihen meni aikaa. Sen arvo yrityksen ohjaamiseen tai kannattavuuden laskentaan lähenee siis nollaa. Tämän olen nähnyt myös toteutuvan käytännössä.</p>
<p>Vielä hankalampi on mitata keskeneräisen projektin edistystä. On helppo katsoa, montako suunnitelluista toimenpiteistä on tehty ja ollaanko niiden suhteen aikataulussa, mutta se on taas panosten mittaamista: listalta puuttuvat ne toimenpiteet, joita ei arvattu tarvittavan. Scrumin vauhtipisteetkään eivät ole juuri parempia. Ne kertovat lähinnä miten hyvin tiimi osaa ennakoida seuraavan kahden viikon töiden vaativuutta. Arvokasta tietoa tiimille, mutta ei kerro siitä, paljon tuloksia lopulta tuotetaan. Ja jos korkeasta vauhdista alettaisiin palkita, numerot kasvaisivat hyvin äkkiä, koska ei ole mitään estettä vaikka tuplata kaikkia pistemääriä. Tämä veisi mittaamisesta taas kaiken hyödyn.</p>
<p>Lähes kaikki mittarit luovat mittauksen kohteille tarpeen siistiä käytöstään näyttämään paremmalta mittarissa. Erityisen vahvana tämä efekti toimii, jos mittauksen tuloksista vielä palkitaan jotenkin. Sitä saa mitä mittaa, eli mittaustuloksia. Asiakastunteja, vauhtipisteitä tai vaikka commit-rivejä. Yksikään niistä ei ole projektin tavoite. Harkitsematon palkitsemisjärjestelmä tai edes mittaaminen aiheuttaa merkittävää oheishaittaa.</p>
<p>Eräänlaisena nollatasona tulosten mittaamiselle toimiikin arvioijan fiilis, perstuntuma. Projektin etenemistä ja sen jäsenten suoriutumista voi arvioida niin, että juttelee ihmisten kanssa, ja sitten vaan luottaa omaan intuitioonsa. Yleensä varsinkin epäonnistumiset ovat olleet tunnetasolla tiedossa jo kauan ennen kun ne näkyvät missään mittarissa.  Fiilismittarissa on ilmeiset riskinsä (suosikit, väärinymmärrykset, valehtelu&#8230;) mutta niin on kaikessa muussakin.</p>
<p>Ennen kun otat jonkin metriikan käyttöön, perustele itsellesi, miten tämä metriikka antaa parempia tuloksia ja tuottaa pienemmät haitat kuin perstuntumalla arviointi. Useimmat mittaus- ja palitsemisjärjestelmät kun häviävät tuolle nollatasolle.</p>
<img src="http://feeds.feedburner.com/~r/codento/~4/B31YKyprgcI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.codento.com/2012/04/tuloksia-vai-panoksia/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://blog.codento.com/2012/04/tuloksia-vai-panoksia/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=tuloksia-vai-panoksia</feedburner:origLink></item>
		<item>
		<title>Konsultin niksinurkka: Viivateippaukset scrum-seinään</title>
		<link>http://feedproxy.google.com/~r/codento/~3/JvTLB9juP58/</link>
		<comments>http://blog.codento.com/2012/04/konsultin-niksinurkka-viivateippaukset-scrum-seinaan/#comments</comments>
		<pubDate>Tue, 10 Apr 2012 13:02:20 +0000</pubDate>
		<dc:creator>Santeri Paavolainen</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[konsultin niksinurkka]]></category>
		<category><![CDATA[niksinurkka]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[scrum-seinä]]></category>
		<category><![CDATA[viivateippi]]></category>

		<guid isPermaLink="false">http://blog.codento.com/?p=1354</guid>
		<description><![CDATA[<p>Konsultin Niksinurkan Vinkki Numero 2:</p> <p>Suorat, kestävät ja tussitaulua tuhoamattomat viivat saat tehtyä viivateipillä.</p> <p>Ketteriä ohjelmistonkehitysmenetelmiä käyttäneet ovat tuttuja scrum-seinän kanssa. Minimissään sellainen ei tarvitse kuin seinän, tarralappuja ja tussin. Tästä voi hifistellä eteenpäin lisäämällä viivoja osioiden ja/tai tarinoiden ajokaistojen välille (&#8220;swim lane&#8221;):</p> <p>Jos kuitenkin haluaa oikeasti hifistellä ja tehdä suorat ja kestävät viivat scrum-seinään, [...]]]></description>
			<content:encoded><![CDATA[<p>Konsultin Niksinurkan Vinkki Numero 2:</p>
<p><strong>Suorat, kestävät ja tussitaulua tuhoamattomat viivat saat tehtyä viivateipillä.</strong></p>
<p>Ketteriä ohjelmistonkehitysmenetelmiä käyttäneet ovat tuttuja scrum-seinän kanssa. Minimissään sellainen ei tarvitse kuin seinän, tarralappuja ja tussin. Tästä voi hifistellä eteenpäin lisäämällä viivoja osioiden ja/tai tarinoiden ajokaistojen välille (&#8220;swim lane&#8221;):</p>
<div id="attachment_1385" class="wp-caption aligncenter" style="width: 460px"><a href="http://www.flickr.com/photos/2ni/5814650182/"><img class="size-thumbnail-horiz wp-image-1385" title="Scrum-seinä" src="http://blog.cdn.codento.com/files/2012/03/5814650182_ac07d5924f_z-450x336.jpg" alt="" width="450" height="336" /></a><p class="wp-caption-text">Yhdenmallinen scrum-seinä. (Kuva Denis Des Mesmaeker.)</p></div>
<p>Jos kuitenkin haluaa oikeasti hifistellä ja tehdä <strong>suorat</strong> ja <strong>kestävät</strong> viivat scrum-seinään, tämä onnistuu <strong>viivateipin </strong>avulla. Tätä ihmettä saa autojen maalaukseen erikoistuneista liikkeistä &#8211; sen alkuperäinen käyttötarkoitus on nimenomaan viivamaisten maalausten tekemiseen autoihin (ensin pohjamaali, sitten teippi päälle, uusi maalauskerros, teippi pois).</p>
<p>Viivateippi toimii erinomaisesti scrum-seinien ruudukoinnissa vaikka käyttötarkoitus onkin kaukana alkuperäisestä. Ratkaisuna se on pysyvämpi kuin taulutussiviivat muttei silti yhtä lopullinen kuin permanenttitussi.</p>
<p>Itse olen ostanut viivateippiä <a href="http://kauppa.completos.fi/PublishedService?file=&amp;pageID=3&amp;action=view&amp;groupID=6395&amp;OpenGroups=6395" target="_blank">täältä</a>, mutta eräs nimeltämainitsematon hakukone kyllä auttaa hakusanoilla &#8220;<a href="https://www.google.fi/search?q=viivateippi" target="_blank">viivateippi</a>&#8221; ja &#8220;<a href="https://www.google.com/search?q=pinstripe+tape" target="_blank">pinstripe tape</a>&#8220;.</p>
<p>(Huom! Suorien viivojen tekemiseen kannattaa varata kaksi ihmistä ja muutama iteraatio.)</p>
<img src="http://feeds.feedburner.com/~r/codento/~4/JvTLB9juP58" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.codento.com/2012/04/konsultin-niksinurkka-viivateippaukset-scrum-seinaan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.codento.com/2012/04/konsultin-niksinurkka-viivateippaukset-scrum-seinaan/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=konsultin-niksinurkka-viivateippaukset-scrum-seinaan</feedburner:origLink></item>
		<item>
		<title>Konsultin niksinurkka: Käsittele Post-It® tarroja oikein</title>
		<link>http://feedproxy.google.com/~r/codento/~3/jIpRBtdzXAs/</link>
		<comments>http://blog.codento.com/2012/04/konsultin-niksinurkka-kasittele-post-it-tarroja-oikein/#comments</comments>
		<pubDate>Wed, 04 Apr 2012 06:53:26 +0000</pubDate>
		<dc:creator>Santeri Paavolainen</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[konsultin niksinurkka]]></category>
		<category><![CDATA[niksinurkka]]></category>
		<category><![CDATA[post-it]]></category>

		<guid isPermaLink="false">http://blog.codento.com/?p=1299</guid>
		<description><![CDATA[<p>Jokainen arkkitehti, fasilitaattori, konsultti ja vastaava on tuttu 3M Post-It® -tarrojen kanssa. Niitä voi käyttää <a href="https://www.youtube.com/watch?v=BpWM0FNPZSs" target="_blank">vaikka</a> mihin <a href="https://www.youtube.com/watch?v=Y1rZqw5bXb4" target="_blank">hauskaan</a>&#8230; mutta ihan normaalissakin käytössä on omat niksinsä, kuten:</p> <p>Konsultin Niksinurkan Vinkki Numero 1:</p> <p>Irrota laput vetämällä sivuttain, ei kulmittain tai pystyyn.<br /> </p> <p>Siis näin (ks. myös alkuperäinen <a href="http://palojono.blogspot.com/2011/11/how-to-peel-post-it-so-it-doesnt-fall.html" target="_blank">blogikirjoitus</a>):</p> <p>Lapun irrottamisen [...]]]></description>
			<content:encoded><![CDATA[<p>Jokainen arkkitehti, fasilitaattori, konsultti ja vastaava on tuttu 3M Post-It® -tarrojen kanssa. Niitä voi käyttää <a href="https://www.youtube.com/watch?v=BpWM0FNPZSs" target="_blank">vaikka</a> mihin <a href="https://www.youtube.com/watch?v=Y1rZqw5bXb4" target="_blank">hauskaan</a>&#8230; mutta ihan normaalissakin käytössä on omat niksinsä, kuten:</p>
<p>Konsultin Niksinurkan Vinkki Numero 1:<strong></strong></p>
<p><strong>Irrota laput vetämällä sivuttain, ei kulmittain tai pystyyn.<br />
</strong></p>
<p>Siis näin (ks. myös alkuperäinen <a href="http://palojono.blogspot.com/2011/11/how-to-peel-post-it-so-it-doesnt-fall.html" target="_blank">blogikirjoitus</a>):</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='615' height='376' src='http://www.youtube.com/embed/Zj8EFqVoqYE?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span>
<p>Lapun irrottamisen tekniikkaa voi varioida, mutta tärkeää on estää lapun käpristyminen. Litteänä pysyvä tarra jakaa lapun irrottamiseen pyrkivät voimat (eli lapun painon) tasaisesti koko liimapinnalle, käyristynyt lappu jakaa tämän epätasaisesti*.</p>
<p>Miksi tämä on tärkeää? Koska lattialle tippuvien tarralappujen jatkuva noukkiminen nyt vain on noloa&#8230;</p>
<p><span style="font-size: x-small;">(* Caveat: Tämä on massiivinen yksinkertaistus, mutta riittävä.)</span></p>
<img src="http://feeds.feedburner.com/~r/codento/~4/jIpRBtdzXAs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.codento.com/2012/04/konsultin-niksinurkka-kasittele-post-it-tarroja-oikein/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.codento.com/2012/04/konsultin-niksinurkka-kasittele-post-it-tarroja-oikein/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=konsultin-niksinurkka-kasittele-post-it-tarroja-oikein</feedburner:origLink></item>
		<item>
		<title>AWS, kehitystiimi ja käyttöoikeuksien jakaminen</title>
		<link>http://feedproxy.google.com/~r/codento/~3/tu2sOEC0Mbw/</link>
		<comments>http://blog.codento.com/2012/03/aws-kehitystiimi-ja-kayttooikeuksien-jakaminen/#comments</comments>
		<pubDate>Thu, 29 Mar 2012 11:31:25 +0000</pubDate>
		<dc:creator>Santeri Paavolainen</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[aws consolidated billing]]></category>
		<category><![CDATA[aws iam]]></category>
		<category><![CDATA[näin meillä]]></category>

		<guid isPermaLink="false">http://blog.codento.com/?p=1078</guid>
		<description><![CDATA[<p>AWS:n pilvilaskentapalveluiden käyttö varmasti houkuttaa monia tuotekehitysryhmiä, mutta sen käyttöön liittyy ihan pelkän työkaluosaamisen lisäksi myös laskutuksen ja pääsynhallinnan miettiminen.</p> <p>Tässä aion lyhyesti kertoa kolme eri tapaa ratkaista sen, miten AWS:n resursseja voidaan tuotekehitystiimin tasolla ottaa käyttöön.</p> <p>Ihan ensimmäiseksi kuitenkin pari perusasiaa AWS:n, sen laskutuksen ja pääsynhallinnan perusteista:</p> AWS:n perusyksikkö laskutuksen ja pääsynhallinnan suhteen on [...]]]></description>
			<content:encoded><![CDATA[<p>AWS:n pilvilaskentapalveluiden käyttö varmasti houkuttaa monia tuotekehitysryhmiä, mutta sen käyttöön liittyy ihan pelkän työkaluosaamisen lisäksi myös laskutuksen ja pääsynhallinnan miettiminen.</p>
<p>Tässä aion lyhyesti kertoa kolme eri tapaa ratkaista sen, miten AWS:n resursseja voidaan tuotekehitystiimin tasolla ottaa käyttöön.</p>
<p>Ihan ensimmäiseksi kuitenkin pari perusasiaa AWS:n, sen laskutuksen ja pääsynhallinnan perusteista:</p>
<ul>
<li>AWS:n perusyksikkö laskutuksen ja pääsynhallinnan suhteen on <strong>tili</strong>.</li>
<li>Kullakin tilillä on <strong>omistaja</strong> (sähköpostiosoite) ja <strong>laskutuskanava</strong> (luottokortti).</li>
<li>Tilin omistajaa vastaa <strong>aina</strong> yksi käyttäjä (kirjautuminen tilin sähköpostiosoitteella), jolla on <strong>aina</strong> täydet hallintaoikeudet ko. tilin resursseihin.</li>
</ul>
<p>Tämä on siis perustilanne josta lähdetään liikkeelle. AWS:n eri mekanismien avulla voidaan rakentaa erilaisia suhteita tilien omistajuuden, laskutuksen ja pääsyoikeuksien välille, mutta tässä esittelen niistä kolme mallia:</p>
<ol>
<li>Yhteinen tili, joka vastaa perustilannetta.</li>
<li>Kehittäjäkohtaiset, mutta keskitetysti laskutetut tilit.</li>
<li>Yksi tili, useita IAM:n kautta luotuja käyttäjiä.</li>
</ol>
<div id="attachment_1295" class="wp-caption aligncenter" style="width: 460px"><a href="http://blog.cdn.codento.com/files/2012/03/aws-tilit-jakaminen.jpg"><img class="size-thumbnail-horiz wp-image-1295" title="AWS-tilien jakaminen" src="http://blog.cdn.codento.com/files/2012/03/aws-tilit-jakaminen-450x253.jpg" alt="" width="450" height="253" /></a><p class="wp-caption-text">Erilaisia tapoja jakaa AWS:n käyttöoikeuksia ja hoitaa laskutusta yrityskäytössä.</p></div>
<h2>Yhteinen tili</h2>
<p>Yksinkertaisin tapa jakaa pääsy AWS:ään on jakaa tilin tunnus usean käyttäjän välillä. Siis jakaa yhden tilin salasana usealle henkilölle.</p>
<p><strong>Älä missään nimessä tee tätä tuotantojärjestelmillä!</strong></p>
<p>Tuotekehityksessä tunnuksen ja salasanan jakaminen on helppo ja toimiva ratkaisu. Ainakin niin kauan kuin tunnuksen käytön pelisäännöt ovat selvillä ja se, joka itseasiassa on vastuussa laskusta seuraa tilin käyttöä.</p>
<p>Fyysisen maailman analogiana tilanne vastaa huoneellista kehitys- ja testipalvelimia, joihin kaikilla kehittäjillä on pääsy sekä mahdollisuus muokata verkon kaapelointeja ja verkkolaitteiden asetuksia.</p>
<h2>Eri tilit, jaettu laskutus</h2>
<p><a href="http://docs.amazonwebservices.com/AWSConsolidatedBilling/1.0/AWSConsolidatedBillingGuide.html" target="_blank">Consolidated Billing</a> mahdollistaa usean tilin laskuttamisen keskitetysti <strong>yhden</strong> tilin kautta. Laskutustili näkee eri tilien kulut, mutta sillä ei ole hallintaoikeutta muihin tileihin. Laskutustilin valta muihin tileihin on vain siinä, että se voi päättää poistaa tilin yhteislaskutuksesta. <strong></strong></p>
<p><strong>Laskutustili ei siis näe eikä voi hallita muiden tilien resursseja</strong>. Laskutustili voi ainoastaan katkaista laskunmaksun ja sitä kautta potentiaalisesti itse palvelun, mutta suoraa kontrollia kohdetilin resursseihin sillä ei ole.</p>
<p>Tässä mallissa kaikilla kehittäjillä on oma, yrityksen sähköpostiosoitteelle rekisteröity AWS-tili. Tilit ja niiden pääsyoikeudet ovat tällöin kunkin kehittäjän omassa hallinnassa. Tilien laskutus kuitenkin hoidetaan consolidated billingin kautta, jolloin AWS-resurssien käytöstä tulee vain yksi lasku riippumatta kehittäjien määrästä.</p>
<p>Haasteena tässä mallissa on se, että koska kenelläkään ei ole näkyvyyttä kaikkiin tileihin niin yksittäiseen tiliin &#8220;unohdettu&#8221; klusteri raksuttaa lisää euroja laskuun niin kauan kunnes tili joko irrotetaan laskutuksesta, tai tilin omistaja saadaan terminoimaan ne&#8230; (tai yrityksen IT kaappaa ko. tilin omistajan sähköpostin, resetoi AWS-salasanana jne.)</p>
<p>Huomaa kuitenkin, että kullakin tilillä on oltava voimassa oleva luottokortti vaikka kuinka tilit olisivat keskitetyn laskutuksen piirissä. Jos tili poistetaan keskitetystä laskutuksesta, siirtyy AWS käyttämään tilin oletusluottokorttia. Vaihtoehtoina on käyttää joko (yhteistä) firman korttia kaikille kehittäjätileille tai kehittäjien omia henkilökohtaisia luottokortteja. Molemmissa tavoissa on kuitenkin omat hankaluutensa.</p>
<h2>IAM</h2>
<p>IAM eli <a href="http://aws.amazon.com/iam/" target="_blank">AWS Identity and Access Management </a>on &#8230; no, aika monimuotoinen ja jatkuvasti kehittyvä järjestelmä, jolla voidaan yksittäisen tilin resursseja ja oikeuksia jakaa eteenpäin hyvinkin hienojakoisella tavalla.</p>
<p>Yksinkertaisimmillaan AWS:ää voi kuitenkin käyttää luomalla tilin alle &#8220;käyttäjiä&#8221;. Tuotekehityksessä näille käyttäjille voi hyvin antaa ylikäyttäjän oikeudet (paitsi IAM-hallinta itse!) jolloin kuka tahansa pystyy myös hallitsemaan muiden käyttäjien luomia resursseja.</p>
<p>Käytännössä homma menee näin:</p>
<ul>
<li>Projektin vastaava luo projektikohtaisen AWS-tilin.</li>
<li>IAM:ssa luodaan käyttäjätunnus superkäyttäjäoikeuksin jokaiselle tiimin jäsenelle.</li>
<li>Normaalikäytössä kirjaudutaan sisään IAM:n kautta sisään.</li>
</ul>
<p>Tämä helpottaa myös sekalaista automaatiota, esim. AWS:n käytön raportointia varten voidaan luoda oma tunnus jonka oikeudet rajataan pelkkiin lukuoperaatioihin (DescribeInstances jne.). Toinen esimerkki on luoda &#8220;backup&#8221;-tunnus, jolla on oikeudet luoda levykuvien snapshotteja &#8211; eikä mitään muuta.</p>
<h2>Miten meillä?</h2>
<p>Meillä on käytössä kaikki yllä olevat vaihtoehdot:</p>
<ul>
<li>Kehittäjillä on henkilökohtaiset tilit, jotka on liitetty Codenton laskutustiliin.</li>
<li>Projekteilla on projektikohtaiset tilit, jotka ovat myös liitetty laskutustiliin.</li>
<li>Projektitilit jaetaan projektin luonteesta, kestosta ja tarpeista riippuen joko IAM:lla tai yksinkertaisesti kaikille jaetulla projektitilin salasanalla.</li>
<li>Raportointeja, varmuuskopioita, automaattista palomuurin hallintaa ymv. varten teemme erilliset  IAM-tunnukset.</li>
</ul>
<p>Projektitilin elinkaari on projektin mittainen ja vähän päälle. Projektin loppuessa projektitilin salasana vaihdetaan, IAM-tunnukset poistetaan (tai deaktivoidaan) ja käytössä olleet instanssit sammutetaan. Noin kuukauden päästä loput instanssit, snapshotit yms. tuhotaan ja itse tili poistetaan.</p>
<p>&nbsp;</p>
<h2>Yhteenveto</h2>
<ol>
<li>AWS:n käyttöä voidaan helposti siivuttaa niin yrityksen, projektin kuin yksittäisen työntekijän tasolla.</li>
<li>Koko yrityksen AWS-käyttö on mahdollista saada yhdelle laskulle, eroteltuna laskutuskohteiden ja alitilien mukaan eli projektien kustannuspisteiden mukaan.</li>
<li>Projektin vaatimusten ja tarpeiden mukaan voidaan valita sopiva kohta joustavuuden ja turvallisuuden välillä.</li>
</ol>
<p>&nbsp;</p>
<p><img class="aligncenter size-thumbnail-horiz wp-image-1287" title="Identiteetti?" src="http://blog.cdn.codento.com/files/2012/03/iStock_000017977128Small-450x299.jpg" alt="" width="450" height="299" /></p>
<img src="http://feeds.feedburner.com/~r/codento/~4/tu2sOEC0Mbw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.codento.com/2012/03/aws-kehitystiimi-ja-kayttooikeuksien-jakaminen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.codento.com/2012/03/aws-kehitystiimi-ja-kayttooikeuksien-jakaminen/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=aws-kehitystiimi-ja-kayttooikeuksien-jakaminen</feedburner:origLink></item>
		<item>
		<title>Levy halpa, pilvi helppo</title>
		<link>http://feedproxy.google.com/~r/codento/~3/J5uVeFQSSeM/</link>
		<comments>http://blog.codento.com/2012/03/levy-halpa-pilvi-helppo/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 09:34:31 +0000</pubDate>
		<dc:creator>Teemu Kalvas</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[aamiaistilaisuus]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[dropbox]]></category>
		<category><![CDATA[pilvi]]></category>
		<category><![CDATA[s3]]></category>

		<guid isPermaLink="false">http://blog.codento.com/?p=1271</guid>
		<description><![CDATA[<p>Rakas asiakkaamme, startup, tarvitsi äkillisesti teran tai kaksi levytilaa. Koska meillä on hyllyssä aina muutama varalevy, annoimme herralle kahden teran ulkoisen usbilevyn yhä kaupan muoveissa muistoksi hyvästä suunnittelupalaverista.</p> <p>Unohdin asian täydellisesti, kunnes löysin levyn maanantaiaamuna hyllyn päältä. Yhä kaupan muoveissa.</p> <p>Kuulemma levyn käyttöönotto olisi ollut kauhean vaivalloista. S3:sta tilan sai käyttöön paljon helpommin. Paketti lojui [...]]]></description>
			<content:encoded><![CDATA[<p>Rakas asiakkaamme, startup, tarvitsi äkillisesti teran tai kaksi levytilaa. Koska meillä on hyllyssä aina muutama varalevy, annoimme herralle kahden teran ulkoisen usbilevyn yhä kaupan muoveissa muistoksi hyvästä suunnittelupalaverista.</p>
<p>Unohdin asian täydellisesti, kunnes löysin levyn maanantaiaamuna hyllyn päältä. Yhä kaupan muoveissa.</p>
<div id="attachment_1273" class="wp-caption aligncenter" style="width: 490px"><a href="http://blog.codento.com/2012/03/levy-halpa-pilvi-helppo/levy-480/" rel="attachment wp-att-1273"><img class="size-full wp-image-1273" title="Yhä muoveissa" src="http://blog.cdn.codento.com/files/2012/03/levy-480.jpg" alt="Yhä muoveissa" width="480" height="359" /></a><p class="wp-caption-text">Yhä muoveissa</p></div>
<p>Kuulemma levyn käyttöönotto olisi ollut kauhean vaivalloista. S3:sta tilan sai käyttöön paljon helpommin. Paketti lojui asiakkaan toimistolla kuukausia, kunnes tuli taas asiaa meidän toimistollemme, ja levy löysi tiensä takaisin kotiin.</p>
<p>Tapahtuneella herkutellessani Santeri kertoi, että ennen hän lähetti Codenton aamiaistilaisuuksien raakavideot editoijalle ulkoisella kovalevyllä. Tähän liittyi vaivalloinen fyysisen esineen toimittamisvaihe. Nykyään he kuulemma käyttävät Dropboxia.</p>
<p>(Codenton menneiden aamiaistilaisuuksien esitykset ovat muuten pääsääntöisesti <a title="Codento Vimeo.com:issa" href="http://vimeo.com/codento" target="_blank">verkossa katseltavissa</a>.)</p>
<p>Eivät uudet tavat tietenkään välttämättä voita. Perinteinen tapa viedä data pilveen Antonov AN-225:llä täynnä irtolevyjä on kustannustehokkuudeltaan ja kaistanleveydeltään parempi kuin Amazon, kunhan ne levyt ovat täynnä. Useimmiten vain eivät ole.</p>
<img src="http://feeds.feedburner.com/~r/codento/~4/J5uVeFQSSeM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.codento.com/2012/03/levy-halpa-pilvi-helppo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.codento.com/2012/03/levy-halpa-pilvi-helppo/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=levy-halpa-pilvi-helppo</feedburner:origLink></item>
		<item>
		<title>C on Venuksesta, Go on Marsista</title>
		<link>http://feedproxy.google.com/~r/codento/~3/SmrDhSzrm7U/</link>
		<comments>http://blog.codento.com/2012/03/c-on-venuksesta-go-on-marsista/#comments</comments>
		<pubDate>Fri, 16 Mar 2012 09:15:04 +0000</pubDate>
		<dc:creator>Antti Rasinen</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[google appengine]]></category>
		<category><![CDATA[ohjelmointikielet]]></category>
		<category><![CDATA[sous-vide]]></category>

		<guid isPermaLink="false">http://blog.codento.com/?p=1258</guid>
		<description><![CDATA[<p>Tällä viikolla <a href="https://groups.google.com/group/golang-nuts/browse_thread/thread/987c980d2ca790f9" target="_blank">Google julkaisi Go-kielestään version 1.0 </a>ensimmäisen julkaisukandidaatin; tuote kulkee tuttavallisesti nimellä Go 1 RC1. Lopullinen 1.0 versio tulee kevään aikana. Optimistisesti voisi sanoa, että Go pääsee versioon 1.0 alle vuoden ikäisenä. Marsilaisen vuoden, nimittäin.</p> <p>Go tuntuu marsilaisten versiolta C:stä. Olen käyttänyt Gota viime aikoina <a title="Sous-vide-ohjelmointi" href="http://blog.codento.com/2012/02/sous-vide-ohjelmointi/" target="_blank">harrastusohjelmointiin</a>. Vanhakin koira voi [...]]]></description>
			<content:encoded><![CDATA[<p>Tällä viikolla <a href="https://groups.google.com/group/golang-nuts/browse_thread/thread/987c980d2ca790f9" target="_blank">Google julkaisi Go-kielestään version 1.0 </a>ensimmäisen julkaisukandidaatin; tuote kulkee tuttavallisesti nimellä Go 1 RC1. Lopullinen 1.0 versio tulee kevään aikana. Optimistisesti voisi sanoa, että Go pääsee versioon 1.0 alle vuoden ikäisenä. Marsilaisen vuoden, nimittäin.</p>
<p>Go tuntuu marsilaisten versiolta C:stä. Olen käyttänyt Gota viime aikoina <a title="Sous-vide-ohjelmointi" href="http://blog.codento.com/2012/02/sous-vide-ohjelmointi/" target="_blank">harrastusohjelmointiin</a>. Vanhakin koira voi oppia uusia ohjelmointikieliä, mutta kyllä se pari kertaa haukkuu oudosti sijoitetuille suluille tai erikoisille vaatimuksille.</p>
<p>Teemu <a title="Go, eli oliko muuta korjattavaa kuin CREAT" href="http://blog.codento.com/2009/12/go-eli-oliko-muuta-korjattavaa-kuin-creat/" target="_blank">kommentoi tuoreeltaan blogissamme vastasyntynyttä Gota</a>. Hänen analyysinsä keskittyi itse kielen ominaisuuksiin. Parametrisoidut tyypit puuttuvat. Slicet ja mapit käyttäytyvät vieraalla tavalla. Nollaosoitin on sallittu.</p>
<p>Käytännön tasolla en ole kuitenkaan näihin rajoituksiin törmännyt. Jotkin tyypit ovat tasa-arvoisempia kuin toiset, mutta itse sopeuduin siihen ensimmäisen sadan koodirivin jälkeen. Kerran huomasin toivovani lampun hengeltä tyyppiparametreja&#8230; mutta hetken pohdinta osoitti tämänkin tarpeettomaksi.</p>
<p>Go:n erikoiset valinnat vaikuttavat käytännön työssä perustelluilta, vaikka ne paperilla pelottaisivatkin. Eniten käytännön työtä rajoitti kehno työkalusetti. Puoli (Maan) vuotta vanhassa stabiilissa versiossa (r60) oli käytössä vielä alkuperäinen gomake/goinstall/gotest -työkalusarja. Nämä olivat hieman kankeita; ne nojasivat määrämuotoisiin Makefileihin, jotka saivat omat karvani pystyyn. En minä Makea vastaan sinällään ole. Boilerplate-Makefile minua ärsyttää! Antakee armoa, C-mestarit!</p>
<p>Go 1 yhdistää tyypilliset työvaiheet go-komennon alle. Makefilet ovat tarpeettomia, sillä go-komento analysoi kooditiedostoja suoraan. Se kääntää, testaa, benchmarkaa, dokumentoi ja asentaa. Eikä siinä vielä kaikki! GOPATH-ympäristömuuttujan kanssa se tarjoaa yksinkertaisen (mutta riittävän) mekanismin projektin kirjastojen isolointiin.</p>
<h2>Pieni esimerkki</h2>
<p>Go-työkalu odottaa tietynlaisen hakemistorakenteen (GOPATH osoittaa workspace-hakemistoon):</p>
<ul>
<li>workspace/</li>
<ul>
<li>src/</li>
<ul>
<li>paketti1/*.go</li>
<li>paketti2/*.go</li>
<li>paketti3/alipaketti/*.go</li>
</ul>
<li>pkg/</li>
<li>bin/</li>
</ul>
</ul>
<p>Ohjelmoijan tarvitsee välittää vain src-hakemistosta. Go-työkalu luo sekä bin- että pkg-hakemistot. Ensin mainittuun asennetaan binäärit ja jälkimmäiseen käännetyt kirjastot.</p>
<p>Näillä oletuksilla testaaminen sujuu komennolla</p>
<blockquote><p><code>go test paketti1 paketti2 paketti3/...</code></p></blockquote>
<p>Tällöin työkalu kääntää lähdekoodin ja testit ja ajaa syntyneen testibinäärin. Go-kääntäjä on niin nopea, että koodauksen ja testauksen välinen feedback-looppi pysyy tehokkaana.</p>
<p>Pelkkä kääntäminen tapahtuu komennolla</p>
<blockquote><p><code>go build &lt;paketti&gt;</code></p></blockquote>
<p>Useammin kuitenkin voi suoraan ajaa komennon <code>go install &lt;paketti&gt;</code>, joka kääntää paketit ja asentaa ne bin- ja pkg-hakemistoihin.</p>
<p>Työkalu nojaa pitkälti konventioihin. GOPATH on käytännössä ainoa konfiguraatio, mitä työkalun käyttöön tarvitaan. Erittäin käyttäjäystävällistä!</p>
<h2>Muuta miellyttävää</h2>
<p><a href="http://golang.org/pkg/testing/" target="_blank">Testauskirjaston</a> mukana tulee yksinkertainen (mutta riittävä) benchmark-työkalu. Suorituskykytestejä on yhtä suoraviivaista tehdä kuin yksikkötestejä. Helppous johtaa siihen, että teen näitä benchmarkkeja, mikä johtaa suorituskyvyn seuraamiseen, mikä johtaa suorituskyvyn parantumiseen. Lordi Kelvinin kuuluisa lause pätee: &#8220;Jos asiaa ei voi mitata, sitä ei voi parantaa&#8221;.</p>
<p>Rubyn DSL-pohjaisten testityökalujen syntaktiseen eleganssiin Go:n testing-kirjasto ei pääse. Eri XUnit-kirjastojen käyttäjät ovat kuitenkin kuin kotonaan.</p>
<p>Kääntäjä on miellyttävän tosikko. Esimerkiksi käyttämätön muuttuja ei johda varoitukseen, vaan siitä tulee suoraan virhe. Kääntäjän virheilmoitukset ovat pääasiassa ymmärrettäviä ja kohdistuvat oikeille riveille.</p>
<p><a href="http://code.google.com/appengine/docs/go/overview.html" target="_blank">Googlen App Engine tarjoaa myös Go-ajoympäristöä</a>. Ympäristö on rajoitettu, kuten kaikki GAE-ympäristöt. Kiusallisimmat rajoitukset koskevat rinnakkaisohjelmoinnin gorutiinien niputtamista yhteen säikeeseen. Tämä tekee gorutiineista hitusen raskaampia kuin mitä niiden pitäisi.</p>
<p>GAE-ympäristön suorituskyvystä on toistaiseksi vielä vaikea löytää numerotietoja. Seuraavat havainnot pohjaavat IRC-anekdootteihin ja sähköpostilistan tarinoihin. Suorituskyky on samalla tasolla Java-ympäristön kanssa. Muistinkäyttö pysyy pienenä ja erityiskehuja annetaan instanssien käynnistysajalle. Uudet instanssit käynnistyvät 50-100 millisekunnissa.</p>
<p>Mutuni vihjaa, että GAE-Go sopisi hyvin SOA-tyyppiseen pienistä palveluista koostuvaan arkkitehtuuriin.</p>
<p>Loppufiilikseni. Go 1 vaikuttaa erittäin lupaavalta. Työkalut ovat käyttökelpoisia. Dokumentaatio on kypsynyt. Windowsiakin tuetaan. Go ei koskaan tule olemaan uusi Java, mutta veikkaan sen valtaavan itselleen muutaman nichen. Jos olet etsinyt tekosyytä kokeilla Gota, kannattaa aloittaa Go 1:stä.</p>
<p>&nbsp;</p>
<img src="http://feeds.feedburner.com/~r/codento/~4/SmrDhSzrm7U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.codento.com/2012/03/c-on-venuksesta-go-on-marsista/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.codento.com/2012/03/c-on-venuksesta-go-on-marsista/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=c-on-venuksesta-go-on-marsista</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 1.139 seconds. --><!-- Cached page generated by WP-Super-Cache on 2012-05-16 23:14:15 -->

