AWS Reinvent – ja Andy Jassyn keynote

No niin, AWS pilvipalveluiden julkistuksia on ammuttu taas matkaan sellaiseen tahtiin että päätä huimaa. Blogautin jo aiemmin esimaistiaisista, Sumerian ja Amazon Media Services. Nyt oli sitten Andy Jassyn keynote ja uutta palvelua pukkasi tiukkaan tahtiin, kaikille kentille. Sinällään fiilis on vähän sama kuin yleensäkin AWS palvelupalettia seuratessa, mutta nyt tapahtui parin tunnin sisään kaikki.

2017-11-29 07.17.34.jpg

Katsotaanpas muistiinpanoja..

Itse povailin jo etukäteenkin että Kubernetes saisi vähän rakkautta – ja se saikin, Amazon Elastic Container Service for Kubernetes eli tuttavallisemmin EKS julkaistiin. Kubernetes on yksi ihastuttava vaihtoehto konttien hallintaan kun puhutaan pikkasenkin suuremmista kokonaisuuksista, tai havitellaan rolling updates/canary deployment/green-blue deployment/etc tyylisiä ratkaisuja. Samalla julkaistiin Fargate palvelu – konttien hallintaa palveluna, tarvitsematta itse provisioida resursseja pysyvästi. Minä touhotan aina konteista, Dockerista ja Kuberneteksesta, joten olen miedosti innostunut.

2017-11-29 08.05.25

Uusia instanssityyppejä on julkaistu muutama, samoin Bare Metal instanssit. Summattakoon, että vääntöä löytyy tarvittaessa, ja nyt pääsee lähemmäs rautaa. Ei kuitenkaan ole tullut itsellä vastaan vielä tarvetta, joten let’s move on.

Pieniä juttuja jotka herättävät mielenkiintoa – Lambdoille CodeDeploy tuki, ja Weighted Routing. Lambdat nostavat enemmän ja enemmän päätään myös devaajan työkalupakissa, ja noiden avulla saa paremman tuen pipelineille, versioiden hallinnalle, rollbackeille, em. canary deploymentille (päästetään esim. 10% liikennettä uuteen versioon ja haistellaan tuotannossa onko kaikki kunnossa – ihanaa continuous deployment-microserviceille)

2017-11-29 08.06.09

Muita uusia palveluita jotka herättivät mielenkiintoa – Amazon Appsync on käytännössä GraphQL-kerros-palveluna, ja tarkoitettu eri asiakasohjelmien väliseen tilanhallintaan. Amazon MQ on käytännössä ActiveMQ-as-service. Storage-puolelle Aurora sai vahvistusta, siitä tuli Serverless ja Multi-Master vaihtoehdot, joten sekin alkaa vahvasti nostamaan profiiliaan vielä entisestä – muistuttaa paljolti Googlen Spanner-tarjontaa. DynamoDB veti AZ-replikoinnista Regionien väliseen replikointiin Global Tables-muodossa, ja sai parempia backup-vaihtoehtoja. Lopulta julkaistiin Neptune uutena palveluna – graph-database-as-service. Tämä vaatii itseltä vähän paneutumista ennen kuin uskallan sanoa juuta tahi jaata.

Mutta noista yhteenvetona, entistä enemmän saa taas palveluna, jolloin ei tarvitse maksaa tyhjästä ajasta, ja skaalautuminen ja päivitykset ovat vielä entistäkin automaattisempaa. Aurora ja DynamoDB vahvistavat kovasti asemiaan, ja uutta kivaa tulee. Eikä siinä vielä kaikki…

2017-11-29 08.29.29.jpg

S3 sai vahvistusta – nyt esim. analytiikan tarpeisiin pystyy louhimaan S3 tiedoista esisuodatuksella valikoiden, mitä haluaa sillä kertaa analysoida. Tässä siis kyseessä S3 select. Vieläkin huimempaa on Glacier select – valikoivaa louhintaa arkistoista. Aiemmin Glacier toimi lähinnä arkistoihin, joita ei koskaan/kovin usein kaivattu, ja sieltä tiedon haku kestää – otetaan ikäänkuin iso mappi kerrallaan tavaraa, vaikka käytettäisiin vain hippusta.

Machine Learning puolelle tuli vahvistusta, Deeplens, SageMaker muodossa. En sano näistä mitään kun en ole vielä syvällä teemassa, mutta isot pojat kohisevat näistä. SageMaker on käytännössä machine-learning-as-service, eli nostaa abstraktiotasoa tuoden sen helpommin muidenkin kuin superkoodaajien ulottuville. Deeplens laitteita on arvonnoissa luvassa per heti, ja jatkossa niitä saa muutamalla satalappusella. Niiden avulla voi opettaa koneita kuvamateriaalilla, ja siihen liittyen…

Amazon Rekognition Video ja Amazon Kinesis Video Streams – tunnistusta suoraan videolta/videovirrasta, ja tehokasta videovirtojen keruuta ja varastointia. Cool – and a bit scary stuff! Jo käytössä virkavallalla ainakin täällä jenkeissä… Suattaapi luoda jänniä hetkiä GDPR parissa täällä peräpohjolassa..

Ja lopulta, Amazon Translate, Amazon Comprehend, ja Amazon Transcribe. Kielen ymmärrystä ja käännöksiä, reaaliaikaisesti tai pidemmän, luonnollisen kielen mukaan. Puhetta tekstiksi. Palasia on ollut jo olemassa, mutta lisää korkeamman abstraktiotason palveluita, joissa koneoppiminen on jo sisäänrakennettuna. Sattuneesta syystä kiinnostaa kyllä!

Eikä siinä vielä kaikki, mutta onhan tätä jo tässsäkin! Huom! Julkistuksissa elinkaari vaihtelee, osa jo hienosti valmiina, osa vasta esimaistiaisena.

Kaiken kaikkiaan, AWS on pilvialustana isoin, vapain, ja energisin. Täällä tapahtuu ja on sykettä. Kehittäjillä ja rakentajilla on valinnan vapautta runsaasti. Vapauden myötä tulee tietysti myös suuri vastuu, kyllä näillä rakennuspalasilla voi ampua itseään pahasti jalkaan, ja yritys joka syöksyy suinpäin pilveen takamus edellä, maksaa kalliit läksyt virheistään. If you got one account for all you’re doing it wrong! If you’ve got personal accounts for builders you’re doing it wrong! Onneksi asiansa osaavat pilviarkkitehdit auttavat näissä asioissa mielellään. *oman hännän nosto*

Luonnollisesti keynoteen sisältyi myös ystävällismielistä ja vähän vähemmän ystävällismielistä kettuilua Oracle, Microsoft ja Google suuntaan. Syystäkin – AWS on iso, innovatiivinen, innostava ja … ihana? 😉 Lisää detaileja mm. Solitan dev-blogissa. Tällä alustalla tapahtuu!

2017-11-29 08.41.34

Linkkejä:

http://dev.solita.fi/

https://aws.amazon.com/blogs/aws/

https://aws.amazon.com/blogs/aws/introducing-amazon-appsync/

https://aws.amazon.com/blogs/aws/amazon-mq-managed-message-broker-service-for-activemq/

https://aws.amazon.com/blogs/aws/amazon-elastic-container-service-for-kubernetes/

https://aws.amazon.com/blogs/aws/aws-fargate/

https://aws.amazon.com/blogs/aws/in-the-works-amazon-aurora-serverless/

https://aws.amazon.com/blogs/aws/new-for-amazon-dynamodb-global-tables-and-on-demand-backup/

https://aws.amazon.com/blogs/aws/amazon-neptune-a-fully-managed-graph-database-service/

https://aws.amazon.com/blogs/aws/s3-glacier-select/

https://aws.amazon.com/blogs/aws/sagemaker/

https://aws.amazon.com/blogs/aws/deeplens/

https://aws.amazon.com/blogs/aws/launch-welcoming-amazon-rekognition-video-service/

https://aws.amazon.com/blogs/aws/amazon-kinesis-video-streams-serverless-video-ingestion-and-storage-for-vision-enabled-apps/

https://aws.amazon.com/blogs/aws/amazon-transcribe-scalable-and-accurate-automatic-speech-recognition/

https://aws.amazon.com/blogs/aws/introducing-amazon-translate-real-time-text-language-translation/

https://aws.amazon.com/blogs/aws/amazon-comprehend-continuously-trained-natural-language-processing/

https://aws.amazon.com/blogs/aws/aws-iot-device-management/

https://aws.amazon.com/blogs/aws/in-the-works-aws-sepio-secure-your-iot-fleet/

 

Mainokset

Ensivaikutelmia Re:Invent 2017 tapahtumasta Las Vegasissa

Fuck the desert.

Jotain tuonsuuntaista ovat varmaan Las Vegasin perustajat ajatelleet, kun alkoivat rakentamaan. Koko kaupunki on mielipuolinen esitys jossa korostuvat pöyhkeys, liiottelu, ja vastakohdat. Tottakai täytyy rakentaa jättimäisiä uima-altaita ja suihkulähteitä keskelle autiomaata, jossa vedestä on pulaa. Tottakai pystytetään neon-kylttejä kaikkialle ja rakennetaan teemapuistoja ja kaikenlaisia huomion kiinnittäjiä kunnes öisin voisi kuvitella astuneensa Blade Runner elokuvaan. No niin, paitsi tietysti sade. Las Vegas on ahnas, julma koneisto joka on suunniteltu rutistamaan vierailijoista kaikki raha ulos viimeiseen tippaan. Se on myös kaunis, ja ihastuttavan kunnianhimoinen yli kaikkien järkevien rajojen.

PB270158.JPG

Tällaiseen ympäristöön posahti tänä vuonna yli 40 000 pilvi-ninjaa tekemään vuosittaisen pyhiinvaellusmatkansa, osallistuakseen AWS Re:Invent konferenssiin. Viikko hullua ja hektistä menoa, niin paljon tietoa sulateltavaksi, logistisia haasteita ratkottavaksi, niin paljon ihmisiä. Ehkä konferenssista alkaa tulemaan vähän liiankin iso: Jonot olivat valtavia, järjestelyt pettivät pahastikin aika ajoin, ja Redditissä syntyi ihan vihasäie tämän vuoden konferenssia koskien. Matka hotellien välillä kesti noin 30-60 minuuttia, jo saman hotellin sisällä paikasta toiseen menee helposti 20 minuuttia siirtymiseen. Ellei ole varannut etukäteen paikkaa esitykseen, on turha unelmoida pääsyst sisään. Jonot olivat täysin mielettömiä. Mutta kaiken kaikkiaan – täysin kaiken tuon arvoista.

2017-11-27 07.14.41

Olen ollut pilvipalveluiden käyttäjä ja fani jo pitkiä aikoja, mutta softaa rakentaessa käyttö osui pääosin peruselementteihin kuten S3, EC2, ja IAM. Kun aloitin nykyisessä työpaikassani, Solitalla, altistuin data ja analytiikkapuolen kuvioille, ja uusi maailma aukeni edessäni. En ollut huomannutkaan miten paljon AWS oli kasvanut palveluiden suhteen niin nopeasti. Nykypäivänä alkaa olla aika typerää kohdella AWS:ää vain virtuaalipalvelin-pilvenä. Jos haluaa löytää aitoa skaalautuvuutta ja kustannustehokkuutta, hyvä ajatusleikki on miettiä mitä tapahtuu jos EC2 osan poistaa kokonaan yhtälöstä. Paletista löytyy niin hurjasti kaikenlaista mistä voidaan koostaa uutta – ja lisää tulee koko ajan. Ja siitä puheenollen…

Mitä uutta?

Seminaari ei ole ohi – se jatkuu edelleen muutaman päivän verran, ja varsinaiset keynotet ovat vasta tulossa. Olen varma, että niissä julkaistaan mehukkaita uusia juttuja, jotka saavat alkuviikon julkaisut kalpenemaan. Mutta ihan mielenkiintoista uutta löytyi jo alkuviikostakin.

Esim. Amazon Sumerian julkaistiin. Kyseessä on uusi VR/AR työkalupakki, esim. Oculus Rift ja HTC Vive tyyppisille laitteille, ja kun Amazon seisoo sen takana, voin kuvitella että työntövoimaa piisaa. Kun lisäksi VR settien hinnat ovat juuri about puolittuneet, ja sitä myöden ostomäärät kohisten nousseet, voin nähdä tässä kentässä aika mielenkiintoisia mahdollisuuksia. Amazonin ansiosta ne tulevat helpommin saavutettavaksi. Rekisteröidyin itse kiinnostuneeksi tästäkin tekkipinosta, ja pengon lisää jahka saan jotain konkreettista. Olen itse työskennellyt viime aikoina paljon paikkatiedon ja karttojen parissa, ja on pari ideaa miten ne voisivat kohdata VR:n.

Toinen kiinnostava aihe oli useat sessiot Devops ja Secops teemoista, sekä automaatiosta, mikä on oma kiihkoilun kohde. Jos teet saman asian kahdesti, kannattaa jo automatisoida se. Mitään uutta järisyttävää julkaisua ei vielä ole tullut, mutta paljon parhaita käytäntöjä ja kokemuksia siitä miten tämä toimii eri ympäristöissä. Uskon vahvasti siihen, että tietoturva-vaste kannattaa automatisoida niin pitkälle kuin sen voi. 2010-luvulla kun joudut hyökkäyksen kohteeksi, minuutitkin voivat ratkaista. Automatisoimalla fiksusti pystyt suodattamaan kiinnostavan taustahälystä, ja ratkaisemaan osan tilanteista vaikka keskellä yötä, ennen kuin ihmispäivystäjä ehtii edes sen huomata. Automatiikka myös skaalautuu hienosti alaspäin, projekteihin joissa ei voida unelmoidakaan SOC tiimeistä tai päivystyksestä ympäri vuorokauden. Lisäksi GDPR tietosuoja-asetuksenkin suhteen saadaan paljon hyötyä siitä, että vältetään ns security misconfiguration – konfiguraatiovirhe joka johtaa tietoturva-aukkoon. Näitä on sattunut… (katso linkki lopussa)

Tietoturvan automatisointi

Korvaako Lambda SOC tiimisi? Tietystikään ei, mutta olisi idioottimaista olla viemättä automaatiota niin pitkälle kuin se taipuu. Hyvä mittapuu on se, kun ihmisten elämä käy pitkäveteiseksi. Se on merkki siitä, että rutiinitehtävät on onnistuneesti automatisoitu, ja on aika hakea lisää haasteita, korkeampia tasoja tekemiseen. Automaatiolla voidaan saavuttaa nopeampi vaste, ja esim. DDOS hyökkäyksen tapahtuessa nopeampi automaattinen toipuminen. Useimmissa tapauksissa manuaalinen vastaus tietoturvahyökkäykseen tai tapahtumaan on aivan liian myöhässä auttaakseen – siinä kohtaa vain kerätään forensiikkaa ja yritetään ymmärtää mitä tapahtui.

DDOS hyökkäyksistä puheenollen, ne ovat aina vain yleisempiä näinä päivinä, ja AWS tarjoaa paljonkin niitä vastaan. Lisääkin on tulossa. Tavoitteena on ns no-op security, koska mitä näkymättömämpää tietoturva on, sitä paremmin se toimii. Jos tietoturva riippuu monista manuaalisista askeleista, se on kovin altis inhimillisille virheille ja viiveille. Jotta DDOS hyökkyksestä voi toipua, on syytä pysäyttää helposti havaittavat hyökkäykset jo etuporteilla, ja skaalata taustaa moneen suuntaan hienostuneempia hyökkäyksiä vastaan. Vain pilvi voi tosiasiassa tarjota tätä.

2017-11-27 13.44.12.jpg

Mediatiedostojen käsittelyyn tuli myös uutta, AWS Elemental tuoteperhe. Videotiedostojen elinkaari ei ole tähän asti ollut tärkeänä osana projekteissa joita teen, mutta näistäkin vaihtoehdoista on mukava tietää, ei koskaan tiedä jos vaikka seuraava projekti sukeltaisi näihinkin syvyyksiin. Tottakai myös Helsinki on saanut tässä kuussa lisää AWS rakkautta: Jo ennen ReInvent tapahtumaa julkistettiin DirectConnect saatavuus Helsingissä, ja nyt julkistettiin CloudFront Edge Location, myös Helsingissä. Käytännössä: Soundcloud striimaa nyt nopeammin 😉

Jo muutaman päivän jälkeen olen väsynyt, mutta samaan aikaan latautunut ja innostunut. Kuten useinkin suurissa seminaareissa, ihmisten energia ja kokemukset ja näkemykset ovat se paras anti. Pilvi on juuri nyt se paikka missä tapahtuu, ja pilven rakentajina meillä in suuri vastuu tehdä asiat oikein, ja näyttää suuntaa. Odotan malttamattomasti, mitä jää vielä haaviin tulevina päivinä – otin sinne mm. annoksen Alexaa koska povailen sille menestystä ensi vuoden aikana, ja näyttää että se on tämän vuoden ReInventin hittitavaraa muutenkin.

Links:

Solita dev-blogi
Sumerian VR/AR
Cloudfront edge locations, Directconnect new locations
Amazon Mediastore
S3 breaches
AWS Elemental MediaStore
AWS Elemental MediaConvert
AWS Elemental MediaLive
AWS Elemental MediaPackage
AWS Elemental MediaTailor

 

Kohti Reinvent 2017 seminaaria

Vannoin itselleni että jättäisin tänä vuonna ulkomaan seminaarit sikseen, osittain iloisten perhetapahtumien johdosta, osittain kiristyvän maailmanpoliittisen tilanteen johdosta. Etenkin jenkkeihin on aika raskasta lentää, ja rajalla saa varautua kaikenlaisiin kummallisuuksiin, riippuen juuri sen viikon tilanteesta. Mutta kaikesta huolimatta näyttää että nokka vie kohti Las Vegasia, muutaman viikon päästä. Tuli tilaisuus lähteä, ja en voinut sitä missata.

https://reinvent.awsevents.com/

Re:Invent on AWS pilvipalveluiden suurin tapahtuma. 40 000 uuden rakentajaa kokoontuu yhteen, opiskelemaan ja yhdistämään tietojaan siitä, miten moderneilla pilvipalveluilla voidaan tuoda ihmisten arkea helpottavia ratkaisuja. Ja tietystikin, miten voidaan luoda uusia, ennennäkemättömiä innovaatioita.

Olen hivenen innoissani. Seminaarireissuja on tullut nähtyä aiemminkin, ja ne ovat aina mukavia tilaisuuksia ristiinpölyttää vähän kokemuksia ja näkemyksiä. Suomessa on lopulta aika pienet piirit ja ennen pitkää on tullut nähtyä variaatiot mitä tulee vastaan, ja tietysti projektejakaan ei aina tehdä siinä mittäkaavassa, mitä jenkkilässä voi osua tutkaan. On yksi asia kuulla jostain AWS palvelusta tai teknologiasta teoriatietoa, ja aivan toinen asia on kuulla mitä sillä on tehty, ja miten homma on onnistunut – tai ei.

Taas kerran on valinnan vaikeutta ilmassa. Yli 1000 perussessiota, ja kaikenlaisia ihania workshoppeja luvassa. Mahdottoman vaikeaa priorisoida ne parhaat. Onneksi meidän pajasta lähtee tällä kertaa vähän isompi iskuryhmä, niin voidaan vähän jakaa mielenkiinnon aiheita. Esim. analytiikan koneoppimisen puolelta on jo vahvaa edustusta. Itse aion sukeltaa tuonne devaajahattu päässä. Eniten kiinnostaa tietysti kaikki.

Omaan kalenteriini menee siis syväsykelluksia palveluihin, jotka jo tunnen, sekä pieniä tutustumisia aivan uusiin asioihin. Yksi kenttä, jota en ole vielä päässyt työhommissa luotaamaan, on Alexa puhekäyttöliittymä käytännön ongelmanratkaisussa, eli otin sitä puuhasteltavaksi vähän. Kuten olen useasti todennut, näppäimistö ja hiiri on niin arkaainen käyttöliittymä koneälyyn, että edelleen ihmetyttää että niitä käytetään kaikkialla. Johonkin ne sopivat, ja tietysti jossain ne ovat varsin nostalgisia. Mutta kun mietitään nykypäivän laitteiden verkostoitumista ja älykkyyden ja oppimisen tasoa (ja vääntöä ja muskelia), on ainakin mahdollisuus kokeilla jotain uutta. En tiedä onko se äänikäyttöliittymä, mutta omassa varovaisessa käytössä, ja muutamassa toteutuneessa digitalisaatiossa, jota olen seurannut, se on ainakin alustavasti hitonmoisen lupaava suunta.

Mitäs muuta otan mukaan? Suunta kohti serverless teemaa ainakin kiinnostaa. Meidän pajan Data Science-poppoolle se on jo arkipäivää, mutta devauspuolella voitaisiin ottaa rohkeampiakin askelia. Uudet (no uudet ja uudet…) teknologiat kuten Lambdat, streamit, kaipaavat devauspuolella tuekseen automaatiota, johon ollaan laadukkassa softatoimituksessa totuttu. Jatkuva integraatio, jatkuva testaus, jatkuva toimitus, vaativat vähän yhteensovitusta kun avataan käyttöön koko AWS paletti. Tästä teemasta otin pari sessiota ajatusteni tueksi, ja odotan mielenkiinnolla.

Kaikken eniten kuitenkin odotan taas sitä tilaa sessioiden välissä. Sessioista suurin osa valuu kuitenkin verkkoon ennen pitkää, ne voisi katsella kotisohvaltakin. Se mitä ei kotisohvalta koe on ne vertaiskeskustelut, innovointi, ideointi, haaveilukin, kontaktit, verkostot, omien ajatusten ravistelu ja kyseenalaistus, monipuoliset näkökulmat, ja miksei myös uudet tuotteet ja palvelutkin, mitä on tarjolla. Siinä on se syy, miksi jaksaa veivata toistakymmentätuntia ahtaassa metallituubissa kahteen suuntaan, jet lagien kera.

P.S. Jos luit tämän, ja olet itsekin menossa, voidaan vaikka moikata paikan päällä!

 

Spring Boot, Java 8, AngularJS, ja Heroku pilvipalvelu

Tuli ajankohtaiseksi puskea Spring Boot sovellus Herokun alle tarjoiltavaksi. Heroku on siitä vänskä palveluntarjoaja että sieltä saa ilmaisella jäsenyystasolla jo jonkun verran prosessoriaikaa, ja resursseja – samoin kuin Google App Enginestä (ainakin aikoinaan).

Homma ei mennyt ihan heittämällä, joten kirjailen taas vähän kokemuksia ja säätöjä tähän. Omassa tapauksessani muutama kiemura johtui siitä että olin yhdistänyt sekä Javaa että Angularia samaan pakettiin – ja Heroku parka meni sekaisin sen suhteen mitä pitäisi buildata ja miten. Muuten Spring Boot + Heroku on taivaassa tehty liitos, mahtava yhdistelmä!

Mitä tarvitaan/esivalmistelut:

– Yksi Spring Boot sovellus, jossa esim. In-Memory tietokanta ja AngularJS UI sisään paketoituna – ei niin välttämätöntä, mikä hyvänsä Spring Boot käy lopulta, mutta kannat vaativat toki esim extratyötä

– Projekti pitäisi olla git versioitu, se tekee heroku käytön suorastaan naurettavan helpoksi

– Tietty Heroku free tier tunnukset tarvitaan, ja ne tulisi olla tiedossa

– Heroku Toolbelt asennettuna omalle käyttöjärjestelmällesi

– Pientä lisäjännää: Haluat ehkä lisätä bower_components tyyppiset vendor javascript kirjastot gittiin, koska jos buildaat projektin Java builderillä, mitään automatiikkaa javascript/angular puolelle ei ole, eli sen mitä lähetät Herokuun tulisi olla joko Mavenin kautta buildattua automaattisesti, tai sitten esirouskuteltua staattista sisältöä. bower_components pusku gittiin on muutenkin paras käytäntö koska ulkomaan repositoryt tai interweb eivät noin muutenkaan ole aina buildatessa saatavana, joten näillä mennään!

Ja sitten touhuamaan. Aluksi kannattaa lisätä projektiin muutama tiedosto, ellei niitä jo ennestään löydy. Tarvitset settings.properties tiedoston, Procfile tiedoston, ja application.properties tiedoston. Näistä kaksi ensimmäistä liittyy Heroku-alustaan, ja viimeinen on Spring Boot standarditiedosto – joka on luontevaa tallettaa /config kansioon.

Tässä niiden sisältö:

  • /settings.properties (asettaa JDK versioksi 8)
    • system.properties=1.8
  • /Procfile (kertoo mikä sovellus ja mistä käynnistyy)
    • web: java $JAVA_OPTS -jar target/*.jar
  • /config/application.properties (määrittää käyttäämän serveriporttina PORT ympäristömuuttujaa, tai 8080 jos sitä ei löydy)
    • server.port: ${port:8080}

Näistä tosiaan application.properties saattaa olla jo tehtynä, ja voi olla muussa kansiossakin, eli ole tarkkana. Se on Spring Boot perustiedostoja.

Nyt voidaan alkaa touhuamaan. Lisää kaikki edellämainitut git repositoryyn, commitoi, ja jatka näillä Heroku komennoilla:

  • heroku login (tänne sitten tunnareita ja salasanaa Herokun mukaan)
  • heroku create (luo sovelluksen, ja käytännössä määrittelee uuden remote repositoryn nimeltä heroku)
  • heroku buildpack:set https://github.com/heroku/heroku-buildpack-java (asettaa builderiksi juuri Java, eikä esim. NodeJS tms)
  • heroku ps:scale web=1 (asettaa käyttöön yhden dynon, ellei ole jo – nyt on resursseja ajamaan sovellusta)

Voiton puolella jo! Nyt voidaan puskea sovellus herokuun, tähän tapaan:

git push heroku master

Seuraa tarkkaan ilmoituksia mitä näkyy – etenkin jos virheilmoituksia ilmenee. Jos kaikki sujui hyvin, voit nyt avata sovelluksen:

heroku open

Toimiko? Onnittelut! Jos ei pelannut, tässä muutama debugging niksi:

  • Tarkista Heroku logit komennolla: heroku logs –tail
  • Tarkista web dynojen status komennolla: heroku ps

Huomioi että jos dynoja on vain yksi käynnissä, Heroku nukuttaa sen jos tuntiin ei ole ollut käyttöä. Näin ollen se käynnistyy hitaanlaisesti kun sitä taas tarvitaan. Tämän voi kiertää laittamalla kaksi dynoa – tai enemmän:

heroku ps:scale web=2

Huomaa että free tier antaa vain 750 dyno-tuntia, joten kahden dynon voimalla ei piisaa tehoja kuin puoleen kuukauteen ilmaistasolla. Muista myös sammutella dynot kun et niitä enää tarvitse, komennolla:

heroku ps:scale web=0

Näin! Spring Boottia voi siis tunkea Raspberry Pi kakkoseen, tai pilveen. Vaikuttaa aika toimivalta alustalta nykymuodossaan.

Tässä hyvä linkki myös artikkeliin jossa käsitellään Heroku multi-buildpack strategiaa – eli miten voit buildata sekä Java että JavaScript puolen erikseen sillä suunnalla.

https://devcenter.heroku.com/articles/using-grunt-with-java-and-maven-to-automate-javascript-tasks

Itse käytin joskus aikanaan Eirslett Maven-Grunt pluginia, joka osaa imaista node, npm, bower jne työkalustot paikallisiksi ja käyttää niitä projektin alta – mutta se oli aika monimutkainen ja kömpelökin ratkaisu. Monella on tarpeista riippuen ollut menestystä myös ihan exec-maven pluginin kanssa javascript prosessoinnissa, mutta sen ongelmana on että node pitäisi olla koneeseen asennettuna etukäteen.

Codenvy ja koodausta pilvessä

JavaOne seminaarissa yksi mieleen jääneistä asioista oli Codenvy pilvipalvelu, jossa poiketen monesta muusta tarjolla olevasta, malli ei ole serveri pilvessä, vaan malli on kehitysympäristö pilvessä. Kehitysympäristö joka kytkeytyy tarpeen mukaan erilaisiin alustoihin testausta varten, joiden kautta voi saada mm. Android emulaattoritestausta pilvipalveluna – tai ihan tavallista serveripään kamaa.

IDE pilvessä herätti itselle mielenkiinnon koska se tarkoittaa että taas kerran voi varata kapasiteettia tarpeen mukaan, ja ympäristöjä on helppo monistaa, ne toimivat aina samalla tavalla toisin kuin IDE omassa kannettavassa tai työkoneessa. Ja niitä voi käyttää tabletilla (itse käytän bluetooth näppistä koodatessani).

Olen pystyttänyt muutaman työtilan Codenvyyn, ja tässä on factory jonka kautta niiden pitäisi aueta. Peruskäyttö pilvessä on maksutonta, mutta tuttuun tapaan ruokahalun kasvaessa tulevat maksutkin peliin. Tässä on esimerkki factorystä Spring työtilaan:

Linkki Codenvy Spring-työtilaan

Itse saatan kokeilla jakaa jatkossa koodinpätkiä tätä kautta – saa enemmän interaktiivisuutta aikaan. Osan asioita voi tehdä kirjautumatta, osan voi tehdä luomalla maksuttomat tunnukset kuten itsellä on, ja osa piirteitä aukeaa kaupallisen tilin myötä.

codenvy

Pikkasen kutkuttaisi tutkia mahdollisuuksia myös koulutuskäytössä ympäristönä. Alkaa olla vanhentunutta itse ylläpitää koneita ja ympäristöjä, koodatahan voisi vaikka ipadeillä.. Tai millä ikinä koneella haluaakaan.

Harmi ettei sinne (tietääkseni) saa vielä Java 8 tai Java EE 7 ympäristöjä. Mutta Springilläkin saa monenmoista ja Maven näyttää olevan peruskauraa.

JavaOne seminaarissa oli tosiaan monenmoista pilvipalvelua, pitänee perehtyä myös testauksen palveluihin jatkossa, mutta Codenvyn tutkiminenkin on vielä itseltä kesken. Pidemmän päälle tietenkin kiinnostaa vakaus ja lähdekoodin versionhallinta.

JavaOne 2013 loppuraportti – executive summary (RasPI, IoT, Lambdas)

Jälleen oli työntäyteinen viikko San Franciscossa – yllättävänä bonuksena aurinkokin pilkisteli hieman. Konferenssi oli Javaa työkseen käyttäville suunnattu – paikalla oli Java kehittäjiä/koodaajia runsain mitoin, mutta samoin myös testaajia, projektinvetäjiä, konsultteja, ylläpitäjiä, ja jonkun verran myös business-puolen ihmisiä. Aurinkoa tuli nähtyä vaikka erityisen lämmintä ei ollutkaan, pääosin kuitenkin aika kului pimeissä konferenssihuoneissa. Yli 20 000 osallistijaa – yli  400 esitystä viikon ajalle jaettuna – valintoja oli tehtävä. Sykettä ja suoranaista innostusta oli taas ilmassa. Wired raportoi Javan renessanssista – tai uudesta tulemisesta. Twitter toteaa miten Java on heille ainoa mahdollinen alusta (Hylättyään Rubyn aikoja sitten Javan hyväksi).

2013-09-22 22.14.05

Ja tähän se yhteenvedon yhteenveto: Uudet versiot Java SE 8 ja Java EE 7 ovat tärkeitä ja merkittäviä päivityksiä. Java alustana elää ja voi vahvasti. Se on siirtynyt entistäkin enemmän avoimen lähdekoodin maailmaan. Jo pitkään hypetetty pilvi on saapunut, se on jo täällä. Se tarjoaa uusia mahdollisuuksia ja Java on nihiin valmis. Nykypäivän ja tulevaisuuden älykkäät päätelaitteet mukaanlukien mobiililaitteet, mutta myös autot ja älykodit kytketään serveripäähän, tyypillisesti HTML5+JavaScript tekniikoin – mutta tilanteen mukaan millä vain. Vuoden 2014 trendejä ovat em ohella Lambdat ja Websocketit, sekä HTML5 ja Javascript. Niitä voivat käyttää jo nyt Glassfish palvelimien käyttäjät (Kuten Tieturi), mutta ensi vuonna myös muilla palvelimilla homma hoituu. Ja aina voi vuokrata pilven päältä viipaleen tilaa itselleen. Lambdat ovat Java-kielen tasolla huomattavasti suurempi muutos kuin esim. Generics aikoinaan.

Yksi piiloteema on myös alustan yhdenmukaistuminen: Java ME 8 + Java SE 8 yhdistyminen lähemmäs toisiaan, jatkuu versiossa 9 toivon mukaan Project Jigsawn kera.  Jatkossa on tarkoitus synkronoida myös SE ja EE julkaisuja enemmän samaan tahtiin. Erittäin mielenkiintoinen huomio taas siitä mitä ei ole: Yhden yhtä Java ME demoa puhelimessa en nähnyt, eli alusta on karkaamassa jo kansoitetusta puhelin ja tablet alustasta (niitä hoidetaan HTML5+Javascript mallilla tai sitten vain natiivikoodauksella ja RESTful web serviceilä) – kohden todellisia sulautettuja järjestelmiä: Kulunhallintaa, kapasiteetin hallintaa, käytön hallintaa, kunnon hallintaa.

Mitä uutta Javasta?

Varsinaiset uutuudet olivat tietysti Javan uudet ja tulevat versiot. Tärkein niistä oli Java EE 7 palvelinstandardi, joka julkaistiin jo viime kesänä ja alkaa nyt valumaan pikkuhiljaa Java-serveriympäristöihin. Toinen tärkeä uutuus on ensi vuonna alkupuolella julkaistava Java SE 8, joka pistää käytännössä kaiken Javan uusiksi – hyvällä tavalla. Vanha Java-koodi tulee toimimaan, kuten aina ennenkin, edelleen ilman muutoksia. Mutta kaikki tulevat rajapinnat tulevat rakentumaan niin vahvasti Java 8 Lambda expression malleihin – ja olemassaoleviakin on jo Java 8 osalta päivitety rajusti – että koodaajilla on edessään suuri osaamisen päivitys. Väittäisin että suurempi kuin Java versiossa 5 aikanaan.

2013-09-25 11.59.55

Rivien välissä oli myös muuta tarinaa trendeistä luettavissa. Näytteilleasettajien puolella oli hurjasti pilvipalveluita tarjolla niille jotka haluavat ja uskaltavat ulkoistaa infransa vuokrattavaksi. Pilvipohjaista kehitysympäristöä, testausympäristöä, entistä helpompaa pilvipohjaista ajoympäristöä sovelluksille, jne. Pilvi on tullut ja on jo osa elämää ja rutiinia. Yhtenä haasteena paikan päällä koodasin CloudFoundry pilveen Spring Tool Suitella tehdyn Spring web-sovelluksen jossa integroin JavaOne tweettejä twitteristä – helppoa kuin heinänteko. Codenvy tarjosi kehitysympäristöä pilveen – jossa voi vuokrata kapasiteetin. Sauce Labs tarjosi testausta pilvessä, web ja mobiilisovelluksille, mahdollisuus testata automatisoidusti yli 150 selain/käyttöjärjestelmäkombinaatiolla.  New Relic tarjoaa edelleenkin ulkoistettua serverin monitorointia pilvessä.

Internet of Things – robottien maihinnousu

Itselleni yllättävä painotus oli Internet of Things – IOT ihan kaikkialla. Konferenssissa esiteltiin Raspberry Pi- tuttavallisemmin RasPi – pohjaisia robotteja, tabletteja, kotiautomaatiota, klustereita, autojen toiminnan etälukua langattomasti, Raspberry Pi esiintyi niin monesti esityksissä että oli pakko ostaa tuliaisiksi itsellekin sellainen – maksaahan yksikkö vain 30 dollaria ja sillä voi sentään ajaa Linuxia ja Javaa! 😉 Tosin omana mielipiteenä on, että mielenkiintoinen sulautettujen yksiköiden suunta on käytetyt matkapuhelimet – pari kolme generaatiota vanha Android on äärimmäisen hyvin ohjelmoitavissa ja niitä saa tyyliin ilmaiseksi kun jaksaa vain kärrätä pois, etenkin käytettynä. Tässäpä olisi business idea: Rakenna klusteroitu supertietokone käytetyistä Android laitteista ja myy sieltä pilvikapasiteettia käyttäjille. Tai tee niistä kodintekniikan keskuksia.

Java embedded-haasteessa joku rakensi sydänmonitorin jossa oli mukana Java, RasPI, sekä Google Glass 😉

Shakinpeluurobotti

Tuotteistettunakin löytyy jo E-Health alusta, joka rakentuu RasPI tai Arduino alustojen päälle, ja mittaa mm. pulssia, hapen määrää veressä, hengitystä, ruumiinlämpöä, EKG:tä, verensokeria, hikoilua, verenpainetta, potilaan asentoa, ja lihaksiston kuntoa – ja lähettää tiedot reaaliajassa analysoitavaksi.

Piiloviesti tämän alla valkeni vasta muutaman esityksen katsottuani: yhteistä IoT esityksille oli vahva Java EE 7 serveri pinnan alla, jossa on tila ja logiikka. Java EE 7 tarjoaa entistäkin helpomman tavan rakennella sovelluksen sydänlogiikka – ja niitä voi viskata pilveen ellei halua omaa serveriä ostaa. Toinen mielenkiintoinen teema oli EE 7 uusi websocket mallin käyttö: Se muuttaa ohjelmoinnin siitä että asiakkaat hakevat aktiivisesti sisältöä sellaiseksi että lukuisat erilaiset asiakasohjelmat vastaanottavat tapahtumia ja sanomia kun serverillä tapahtuu jotain. Näin pystyvät esim. ipad, laptop, ja robotti keskustelemaan sulavasti keskenään. Ideana on että IoT on (mikro- ja muiden) laitteiden pilvi jotka tuottavat sekä Big Dataa että Fast Dataa. Keskellä olevan Java EE 7 serverin rooli on yhdistää, prosessoida ja suodattaa datamääriä. Kyseessä on eräänlainen väylä-ajattelu, vähän eri näkökulmasta.

Hazelcast Lego-Pi cluster

IoT on myös nykyisellään puhdasta villiä länttä. Innovointi on vahvaa, ja se tarkoittaa että tietoturvaa ei yleensä ole juuri ollenkaan. Jo nyt on kertomuksia miten hakkerit ovat murtautuneet auton viihdejärjestelmän kautta sisään ja onnistuneet ohjaamaan pyöriä – tai miten hotellin valonohjaus on otettu haltuun tökkäämällä pistorasiaan oma kontrollimoduuli – tai miten Android puhelimella on hakkeroitu lentokoneen järjestelmiä. Tietoturva on osa-alue joka nousee aina vain tärkeämmäksi jatkossa, koska IoT laitteiden tietoturvahaavoittuvuuksissa voi olla seurauksena loukkaantumisia tai jopa hengen menetyksiä – toisin kuin ennen vanhaan jos joku virus päätti pistää koneen levyasemat tasaiseksi.

Ihmisiä valuu luentosaliin

Eurotech demonstroi myös IoT ajattelua toteuttamalla JavaOne kävijämäärien laskureita luentosaleihin ja auloihin. Uutta oli se että ne ovat langattomia laskureita, kytkettynä Oraclen pilveen ja antavat reaaliaikatietoa siitä miten paljon missäkin on ihmisiä. Näitä on toteutettu mm. wc-tilojen puhdistusaikataulutukseen, bussien kapasiteetinohjaukseen, taksijonojen optimointiin, jne.

Entä akronyymit? Mikä on kuumaa ja mikä kylmää?

Tässä vielä teknisempää trendilistaa. Mielestäni nousussa ovat:

Java EE 7, etenkin EJB 3.2 ja Websocket sekä CDI ihan kaikkialla.

– Netbeans – jopa Gosling kyykytti Eclipseä ja kehui netbeansiä. Se on mainettaan paljon parempi kapistus ja 7.4 versiosta alkaen myös HTML5 + JavaScript ovat saaneet ainutlaatuisen hyvän tuen. Tukee tottakai kaikkea mitä Java EE 7 voi antaa.

Glassfish. No, nopea, kevyt, maksuton serveri. On se kova. Ei niin ettei myös JBOSS olisi. Ei pidä unohtaa myöskään TomEE palvelinta tai Jettyä. Yhä enemmän tehdään joka tapauksessa open sourcella.

HTML5, JavaScript – mahdollistavat sen että varsinaista serveripään web sovelluskehystä ei aina tarvita. Tässä saa olla hieman tarkkana tietoturvan kanssa mutta valmiita kirjastoratkaisuja löytyy kuten Vaadin, Project Avatar, ja mikä hyvänsä javascript kirjasto.

– GPU kiihdytys, eli grafiikkapiirien käyttäminen laskemiseen. Se on jo ennestään kova juttu tietoturvamaailmasta, mutta nyt myös tietokanta ja sovelluspalvelinmaailmassa hyödynnetään – case IBM ja Oracle.

– Tietoturva. No joo, sen pitäisi aina olla nousussa. Lisätään monimuotoisemmat ympäristöt ja EU:sta päin tulevat lainsäädännölliset paineet niin ehkä tähänkin aletaan budjetoimaan enemmän.

Laskussa ovat:

– JavaServer Faces JSF – murheellista sanoa, mutta vaikka JSF on standardi se ei ole ainoa vaihtoehto käyttöliittymiin. Se on edelleen aivan mainio kohtuukokoisille yrityssovelluksille missä projektin kustannustehokkuus on kaiken a ja o ja pitää saada nopeasti hyvää jälkeä aikaan. Mutta IoT maailmassa vaihtoehdot ovat tärkeitä. Niitä voi olla vaikkapa juuri open sourcattu Project Avatar, joka sisältää mm. Node.js tekniikasta päivitetyn JVM version.

Todettakoon kuitenkin että JSF 2.2 on myös aika hieno, sieltä löytyy mm. HTML5 leiskapohjamalli – ei ole siis pakko käyttää jsf tagejä. Sieltä löytyy JSF Flow malli jolla voi määritellä miten sivuilla liikutaan. Sieltä löytyy entistä enemmän mahdollisuuksia tilattomuuteen jos niin haluaa.

Kaupalliset serverit ja kehitysvälineet. Tästä voi olla montaa mieltä – mutta jos katsoo meidänkin asiakaskuntaamme niin yhä harvemmalla on satojentuhansien lisenssillä varustettua serverisoftaa tai tuhansien eurojen lisenssillä varustettua kehitysympäristöä Javan tekemiseen. Toki rahalla saa – sekä Oracle että IBM julkistivat mahtavia parannuksia serverituotteisiinsa joissa teemana on että kytkintä kääntämällä saa lisää vääntöä, tai operaatio voidaan tehostaa 48 kertaa nopeammaksi.

Seuraavien asioiden status ei mielestäni ole nousussa tai laskussa, niitä käytetään kun ne sopivat: JavaFX, RESTful web services, Spring Framework (jos seminaarin luennoitsijoilta kysytään, se on kuitenkin kirjastoraskasta legacymoskaa josta pitäisi pääästä eroon ja siirtyä uuteen kauniiseen Java EE 7 aikaan 😉

Miten päivitetään taidot vuoden 2014 tasoon?

Eli meidän asiakkaillemme koulutusterveisiä: Kannattaa tarkistaa että koodaajilla on modernit Java versiot hallussa – tällä hetkellä Javan uudet piirteet versiosta 5.0 versioon 7.0 – ja pian myös 8.0. Kannattaa myös tarkistaa että Java EE 7 taso ja paletti on hallussa – EJB, CDI ja JPA niistä tärkeimpinä. Ehdottoman tärkeää on tarkistaa että suunnittelijat tietävät missä mennään – Java EE 7 ja Spring Frameworkin uusimpiin versioihin tutustuminen ei ole huono idea.

Jos kaipaa parempia tuotteita sovelluksen seurantaan, niitä olisi tarjolla maailmalla, eikä edes maksa paljoa. Javan ei tarvitse olla musta laatikko. Samoin jos pilvi kiinnostaa, niin ei ole mitään syytä miksi sinne ei voisi mennä vaikka heti. Vaihtoehdot kuten Jelastic, Google App Engine, CloudFoundry, Oracle Public Cloud – ovat valmiina Java EE sovelluksille samantien. Voi myös miettiä onko sovelluskehitysympäristö tai testausympäristö pilvessä jotain mikä voisi kiinnostaa – itseäni kiinnostaa, koska skaalautuvuus ja käyttöönoton vaivattomuus on tällaisessa omaa luokkaansa. Ja voi koodata vaikka Nexus 7 tabletilla seminaariluentoja katsellessaan.. :p

Niin, vuosi 2014 tulee nopeammin kuin voi arvatakaan, osaamisen päivittämistä on jo korkea aika suunnitella. Edelleenkin koulutuksissa käy ilmi että kaikki koodaajaresurssit eivät ole täysin tuttuja Java 5 uusien piirteiden kanssa – ja nyt puhutaan kuitenkin Java versioista 7 ja 8, ja uudet piirteet ovat kaikkialla rajapinnoissa käytössä. Edelleen kuulee myyttejä jotka perustuvat vanhaan J2EE maailmaan: monimutkaisuus ja suorituskyky sekä ORM tekniikoiden uskottavuus. Ei kannata tehdä olettamuksia ellei ole toteuttanut projektia Java EE 7:llä  -se on hauskaa, helppoa ja varsin uskottavaa.

Vanhoilla teknologioilla projektien tekeminen on kuin lähtisi ajelemaan maanteille T-mallin fordilla: Voihan sitä huvikseen tehdä ellei ole erityistä kiirettä.

Täältä niitä koulutuksia löytyy jos tarvetta ilmenee:

http://www.tieturi.fi/java

Ja tuossa Wired artikkeli samasta seminaarista:

http://www.wired.com/wiredenterprise/2013/09/the-second-coming-of-java/all/

Koodausta testausta ja emulointia pilvessä – Codenvy ja ManyMo

Tänään tuli JavaOne seminaarissa pohdiskeltua pilvipohjaisia kehitysympäristöjä. Idea on kuten pilvessä yleensäkin: Ei tarvitse itse investoida infrastruktuuriin vaan vuokraa sen palveluna. Ideasta tulee houkutteleva kun on aikansa taistellut työasemien vaihtelevien kehitysympäristö-asennusten kanssa. Idea muuttuu vieläkin houkuttelevammaksi kun tajuaa, että koodauksen ohella hommaan liittyy myös testaus-ympäristöjen pystytys ja huolto, samoin Continuous Integration-tyyppiset automatisoinnit, lähdekoodin hallintaratkaisut, jne. Miksi ostaa/ladata ja viritellä kaikki elementit, jos voi vuokrata valmiina ja monistaa tarpeen mukaan?

Codenvy IDE pilvessä

Muutama negatiivinen huomio tulee mieleen. Voi olla se kaunis päivä kun pilvi on maissa, ja mikään ei toimi. Yritin aamulla koodata pienen hetken Codenvy-IDE:llä uusia oppimiani jippoja. Sisäänkirjautuessa kävi näin:

Kuva

Twiittasin asiasta huvittuneena, ja tilanne korjautui pikapikaa, selityksen kera. Valmistautuessa JavaOneen viime hetken päivitykset olivat hetkeksi vieneet systeemin alas ja juuri niillä hetkillä osuin itse linjoille. Kuitenkin.. kyseessä on riskin ulkoistaminen. Siitä seuraa uudet kysymykset: toimiiko verkkoinfra? Toimiiko palvelu itse?

Toinen pulma mitä tulee mieleen on palvelun tuki teknologioille mitä haluaa käytellä. Jos haluaa testata Java 8 early access versiota on parasta varautua vielä pystyttämään ympäristö itse old school-tapaan.

Codenvy projektityyppejä

Kuitenkin, ajatus IDE ympäristön vuokrauksesta pilvestä on kutkuttava, on siinä hyvääkin..

– Mainitsin jo mahdollisuuden vuokrata kapasiteettia tarpeen mukaan, ylös tai alaspäin skaalaten. Sopii kahdelle kehittäjälle, sopii kahdellesadalle.

– Koska käännökset ja testit ja emulaattorit ajetaan pilvessä, työasemalta ei vaadita juurikaan resursseja. Käyttö tapahtuu esim. Codenvyssä selaimen kautta. Tämä taas mahdolistaa oman lempipuuhani: Koodauksen esim. tabletin kautta (Ylempi kuvaruutukaappaus on Nexus 7 ruudulta). Varustukset muuttuvat reippaasti keveämmäksi. Voisin koodata jopa kännykälläni, siihenhän voi tuitata esim. bluetooth näppiksen ja hdmi:llä vain kiinni isompaan näyttöön tai videotykkiin. Tai google glasses heijastamaan suoraan silmämunaan. (Seminaarissa on tullut bongattua useita Google Glasses käyttäjiä joiden katse suuntautuu taivaisiin)

– Esim. Codenvyssä potkaistaan testaukseen käyntiin uusi virtualisoitu web-palvelin, eli kun sanot palvelinsovellukselle run, se käynnistyy ja antaa tilapäisen linkin tilapäiseen testipalvelimeen. Itselleni uusi jippo oli mobiililaitteiden emulointi toisen palvelun kautta: Tein tunnukset ManyMo palveluun ja sain sieltä Security Tokenin jonka asensin Codenvyyn- näin voin tehdä Android projekteja, koodata niitä Nexus 7:llani Codenvyssä, ja kun on aika testata, potkaista emulaattorin myös pilvipalveluna käyntiin, ja jatkaa testailua selaimessa. Pretty neat! (Tosin Android softaa ei kannata liikaa emulaattorissa testata, kunnon rauta on aina parempi idea – mutta sopii tuo esim. käyttöliittymän hahmotteluun). Paras hyöty on kyky testata softaa nopeasti lukuisilla eri emulaattoreilla eri kokoisilla ruuduilla ja Android versioilla.

ManyMo emulaattori pilvessä

ManyMo emulaatio käynnissä

How many mo’ ? 😉

Manymo emulaation vaihtoehtoja

Utopistista? Suomessakin tämä on jo käytössä useammassakin yrityksessä.  Katsoessa tuotteita läpi löytyi myös mahdollisuus vuokrata testiympäristö pilven reunalta. Siellä pystyi ajelemaan Selenium testejä nipuittain taas kerran investoimatta infraan itse. Päivittelen tähän tuotteen nimen jahka ehdin muistiinpanojani käymään läpi, ollut aika hektistä kun luentoja on aamusta ilmaan ja tauot vähissä.

Tällaisia mietintöjä tänään. Lisää tulossa tämän päivän aiheista jahka ehdin!