vattenweb.smhi.se Esa Falkenroth, work@falkenroth.se, SMHI Molntjänster för GIS, Stockholm 2011-11-29
vattenweb.smhi.se Sedan starten år 2008 har SMHI arbetat med att utveckla, förvalta och tillgängliggöra information inom den svenska vattenförvaltningen. Detta har medfört att stora mängder vattenrelaterad information nu finns fritt tillgänglig via internet, och utvecklingen har fortsatt under 2011. 2
vattenweb.smhi.se Produktionssystem Vattenförvaltning 3
http://vattenweb.smhi.se Hur är vattenkvaliten där du bor? 4
SMHI Vattenförvaltning - Flera sätt att hämta data Portal med kartor och nerladdning av stora datamängder i Excel-dok. Utsökning sker ur miljard värden (postgres) Standardiserad WMS och WFS för kartor Web services för nerladdning av stora mängder data i XML-format Interna web service för att hämta data från databaser 5
vattenweb.smhi.se Vi vill få ut data till folk som jobbar med vår miljö. På vattenweb kan du hämta resultat från beräkningar med den högupplösta hydrologiska modellen S-HYPE Hype beräknar vattenföring och vattenkvalitet i Sveriges sötvattenförekomster. >30,000 sötvattenförekomster Data från 1990 till 2009.
Vad är koppling till molntjänster? - Alla komponenter kan köras både hemma och i moln. - Modellberäkningar av vattenkvalitet (Amazon EC2) - Förgenerering av tiles i molnet (Amazon EC2) - Karttjänster (Geoserver hos Amazon EC2) - Datalagring i molnet (Amazon S3/EBS) - Webbapplikationen (Tomcat) kan köras molnet
Avdramatisera molnet Alla komponenter kan köras både hemma och i molnet Ägarna bryr sig egentligen inte om var det körs. Utvecklarna kör där det är smidigast : hemma eller molnet. Användarna ser ingen skillnad: hemma eller molnet. IT-ledningen följer utvecklingen och analyserar för- och nackdelar med moln.
Vattenweb framgångsfaktorer vattenweb = + data + agilitet + moln + webservice + open-source Framgångsrik kombination: om man tar bort någon av faktorerna så påverkas produktiviteten.
En titt bakom kulisserna
Webservice för modellkörningar Modellkörningar körs numera även i molnet. Modellen körs när man fått nya indata och kalibrering är klar Körtider på SMHI: ett par dygn. Efter det behövs inte servern. Nu körs modellen i molnet körtid under 12 timmar. Istället för att köpa en in dyr hårdvara som bara körs några dagar om året så tar vi datakraft från kranen (Amazon). Efter körningarna stängs och slängs server-instanserna i molnet.
Webservice för modellkörningar Tekniskt: Vi skapade en webservice som bygger upp en infrastruktur för modellkörningar Bygga upp disksystem Installera en (eller flera) linux-servrar Ladda upp indata och köra igång Hype-modellen i Fortran Hämta resultat och städa bort servrar och diskar. Nytta: Snabbare körtider innebär feedback nästa dag till forskarna istället för nästa vecka. Bättre ekonomi eftersom servern slängs efter körningarna (inga löpande kostnader).
Webservice för förgenering av kartor Förgenerering av alla kartor Alla tio zoom-nivåer På SMHI tar kartgenerering flera dagar. Teknik: webservice (Pythonscript) skapar ett stort antal servrar Körtid några timmar iställer för några dagar. Kostnad: ett par hundra kr. Alternativet t förgenerering är dyra högprestandaservrar för kartor. Zoomnivå Antal bilder Procent av tot. 0 1 0,00% 1 4 0,00% 2 16 0,00% 3 64 0,00% 4 256 0,02% 5 1024 0,07% 6 4096 0,29% 7 16384 1,17% 8 65536 4,69% 9 262144 18,75% 10 1048576 75,00% totalt 1398101 100,00% Totalt 4.2 miljoner bilder
SMHI UTV VattenWeb Amazon EC2 GWC GeoWebCache GeoServer GeoServer GeoServer 10 9 GeoServer 8 GeoServer 7 GeoServer 6 GeoServer 5 GeoServer 4 GeoServer 3 GeoServer 2 1 Amazon EC2 API-tools för att: Först skapa en EC2-linuxserver och installerar RPM-paketerad GeoServer med alla shape filer. Skapa många kopior av servern som skapar bilderna Cachning var lämpligit första test: ej produktion, kan även köras på hemmaplan 14
Webservice för nerladdning av data Utvecklat för VISS men kan efter överenskommelse anpassas/användas Vilka områden finns det data för? GET /v1/downloadsetup1/ Hämta alla data för ett område GET /v1/downloadsetup1/613954-134879/ https://vattenwebws.smhi.se/v1/ https://vattenwebws.smhi.se/v1/downloadsetup1/613913-134124 https://vattenwebws.smhi.se/v1/downloadsetup1/613913-134124/mon
vattenweb.smhi.se, kartjänst med hjälp av molnet, webbtjänster och SMHI i molnet Web service nerladdning av data 16
Extern användning från länstyrelserna:viss.lst.se 17
Intern användning web services Ett osäkert lager (DMZ) utan kopior av stora interna databaser säker åtkomst till interna resurser på SMHI via webservice Interna resurser åtkomliga men ändå skyddade. INTERNET DEMILITARIZED ZONE ACCESS-MODULER (A-NET) INTERNA RESURSER 18
vattenweb.smhi.se, kartjänst med hjälp av molnet, webbtjänster och SMHI i molnet REST, så enkelt kan det vara Package com.suryasuravarapu.jersey; import javax.ws.rs.get; import javax.ws.rs.path; import javax.ws.rs.produces; @Path ("/helloworld") public class HelloWorldResource { } @GET @Produces ("text/plain") public String sayhello() { } return "Hello World"; Tredjepartsprodukter Apache/Tomcat/Jersey tar hand om anropet från maskinen Jersey bygger på Representational state transfer (REST) JSR 311(JAX-RS) standarden. Svar från web service kan formateras: - XML enligt kundkrav - XML enligt Inspirespecifikationer - Excel enligt kundkrav - Textfiler. etc, etc.. 19
Från hype till Hype: En praktiskt sätt att använda molnet. Molnet är industrialisering av IT Mitten av 1900-talet byggde SMHI egna datorer och gjorde egna operativsystem. Nu köper vi servrar som hyllvara SMHI har flera hundra servrar för vår produktion Nästa steg var virtualisering men vi gör fortfarande installation operativsystem och sköter driften i våra egna datorhallar Hur upplever man molnet: Användarna? Systemägarna? De som betalar? Utvecklare? IT-avdelningen?
Erfarenheter från användare Som användare ser jag ingen skillnad mellan applikationer i molnet eller om de körs på SMHI.
Erfarenheter från systemägare Gör som ni tycker är bäst. Ägarna bryr sig inte om vi kör i molnet eller på lokala servrar.
Erfarenheter av ekonomi Rimliga kostnader men inte gratis. Detaljerad mikrouppföljning av kostnader möjlig Serveranvändning per timme Lagring Nätverkstrafik Prissättningen är komplex Man får betala för allt! Inga kryphål. svårt att i förväg uppskatta kostnad Spot-prismarknad minskar kostnader Stora möjlighet att trimma kostnader (pris/prestanda) Kreditkort krävs för Amazon-molnet. Ingen fakturering! En person i organisationen måste lämna ut kortnummer ;) Vi underskattade kostnad (räknade inte med backup) Microinstanser är gratis :) Open-source + skalbarhet = inga extra licenskostnader
Amazon Elastic Compute Cloud (EC2) Exempel på server typer och kostnad: Type Virtual cores Memory Instnace storage plattform Price(EU) linux kr/timme Micro Instance 1 613MB 10GB EBS 32 or 64-bit $0.025 free to try 0,17 Small Instance 1 1.7GB 160GB 32-bit $0.095 0,63 Large Instance 2 7.5GB 850GB 64-bit $0.38 2,51 High-CPU Extra large 8 7GB 1690GB 64-bit $0.76 5,02 För aktuella prisuppgifter se amazon.com 24
Erfarenheter: systemutvecklare Rätt att jobba effektivt Om jag behöver en programvara för att göra mitt jobb så laddar jag ner den Om jag behöver en server för att göra mitt jobb så får jag skapa den i molnet (slipper investeringsbegäran... och väntetider) Jag får tillgång till en fullskalig utvecklingsmiljö. Minskar mitt jobb med att gå från utveckling till produktion Alla data finns på plats (inte bara lite testdata) Jag blir produktivare Agila projekt kräver agil infrastruktur Utvecklare vill snabbt leverera det som krävs men hamnar ofta i väntläge för att det tar tid att köpa/leverera/installera servrar. Typiskt tar det någonstans mellan 1-10 veckor att få en server redo med ITIL-processer på plats. I molnet tar det ca 3 minuter inklusive administration.
Erfarenheter från systemutvecklare Tänk efter före näri det gäller deploy : Slipp inlåsningseffekt Bygg från scratch (tom ren server) Minimera användning av leverantörsberoende Programvaror som kan användas på olika OS. Måste själv ta ansvar för delar av det IT-avdelningen gör! Hålla reda på vilka servar är igång Konfigurera brandväggar Säkerhetspatchning av servrar Ta backup på data Driftövervakning (uptimerobot) Avveckling av datavolymer och servrar Kostnadsuppföljning Automatisera processer Skalbarhet är fantastisk men prestanda per server är medel Bandbredden är skalbar med per server är den medel.
Vad tycker IT? IT-ledning har koll på utvecklingen Det finns för- och nackdelar med att tappa kontrollen Policy nu: Måste följa lagstiftning: PUL, etc. System med låga tillgänglighetskrav kan läggas ut i molnet. F.n. tillgänglighet i molnet i nivå med SMHIs egna miljöer. Det finns en oro att okontrollerad heterogenitet smyger in via molnet. Evangelister och hype-rapporter förvirrar.
Billigt och enkelt att prova: Amazon EC2, skapa konto http://aws.amazon.com/ec2 Amazon EC2, konsol https://console.aws.amazon.com/ec2/home 28
Frågor? Esa Falkenroth, Informationsarkitekt SMHI. 29
Esa Falkenroth Är SMHIs informationsarkitekt sedan tio år tillbaka jobbar med projekt för stora datamängder inom bl.a. SMHIs vattenförvaltning. Även arbete åt EU-kommissionen om standarder för utbyte av geospatiala data (Inspire tematisk arbetsgrupp om meteorologi/atmosfär).