• No results found

Kostnad för drift

För att driva den utvecklade tjänsten tillkommer en kostnad för drift. Det finns två identifierade kostnadsområden, kostnad för serverdrift och kostnad för geocoding. I sektion 4.6.1 jämförs några tjänster för geocoding och en prisbild tas fram samt i sektion 4.6.2 tas en prisbild för serverdrift fram. Totalt blir en uppskattad kostnad 109 USD per månad exklusive eventuella skatter, varav 99 USD för geocoding och 10 USD för serverdrift.

4.6.1 Geocoding

Att fritt använda geocoding (översättning från gatuadresser till koordinater) som fungerar tillräckligt bra utan begränsningar för denna systemarkitektur i Stock-holmsområdet har inte visat sig möjligt. Detta eftersom OSM har visat sig sakna gatunummer för många testade adresser och företag som erbjuder tjänster för geoco-ding har begränsningar för användningen. För att möjliggöra framtagandet av en ungefärlig prisbild för drift har krav för geocoding och en jämförelse mellan tjänster gjorts. Syftet är därför inte att undersöka olika API-tjänster på djupet.

Krav

De krav och utvärderingskriterier som identifierats för en geocoding-tjänst är:

• Geocoding ska fungera i Uppland. Resultatet behöver inte vara exakt rätt byggnad men korrekt gata krävs och ett felaktigt resultat får inte vara för

24

4.6. KOSTNAD FÖR DRIFT

långt bort från den korrekta koordinaten. Om felaktiga koordinater ges för längre gator som exempelvis Sveavägen i Stockholm, finns risken att dåliga rutter genereras då restid till andra koordinater påverkas. Ges fel gator som är nära fågelvägen riskerar även resultatet att påverkas om exempelvis ett vattendrag går emellan felaktiga koordinater och korrekta. Kartdatan ska även vara uppdaterad, annars finns risken att nya adresser inte finns med.

• Väntetiden får vara max några sekunder, detta då denna väntetid direkt på-verkar väntetiden för användaren. För att detta ska vara möjligt kan stöd för batch-förfrågningar krävas (flera koordinater i en fråga), detta för att undvika att antalet förfrågningar är lika med antalet adresser.

• Ett API som kan användas med antingen Spring eller Javascript, det måste vara möjligt att implementera använding av APIet. Förslagvis följer APIet REST-principen och använder sig av HTTP för plattformsoberoende.

• Pris, om möjligt.

Jämförelse

De tjänster som har identifierats för geocoding där Sverige är sökbart är Map-box [11], Google Maps API [13], Bing Geocode Dataflow API [10] och Here REST API [28]. Tjänster där nybyggda vägar saknades som exempelvis Norra Länken ex-kluderades direkt som möjliga kandidater. Två exempel på karttjänster där nya vägar inte fanns med vid skrivande stund var ViaMichelin och Yandex.

I tabell 4.2 på sida 26 ses en mindre jämförelse mellan de fyra tjänsterna. Överlag har Mapbox en bra prismodell för denna systemarkitektur men har en otillräcklig träffsäkerhet i mer glesbefolkade områden.

Google Maps API ger ett resultat som får anses vara tillräckligt bra för sys-temarkitekturen, problemet kan vara en hög driftskostnad. För tillgång till batch-förfrågningar eller en högre ”rate-limit” i server-APIet med max 50 batch-förfrågningar istället för 10 varje sekund krävs en ”Premium-plan”.

Klient-APIet erbjuder inte stöd för batchförfrågningar och dess ”rate-limit” vi-sade sig vid testning utföra geocoding inom några sekunder för de första 10-20 adresserna, därefter begränsades frekvensen till mindre än en beräkning per se-kund vilket är för långsamt. Google Maps API för klient-sidan är mer riktat till fler enstaka förfrågningar och inte riktat till enstaka tillfällen med ett större antal förfrågningar.

Kontakt har etablerats med Googles säljavdelning för prisuppgift för geocoding för denna systemarkitektur men ingen prisuppgift kunde ges, eftersom priset beror på många faktorer såsom hur kommersiellt syftet är. Risk är en hög driftskostnad eftersom fördelar såsom tillgång till en servicetekniker ingår, vilket inte krävs för att driva denna systemarkitektur i en mindre skala.

Bing Geocode Dataflow API skulle kunna fungera också men ställer större krav på att slutanvändaren kontrollerar att adresser på landsbygden är korrekta. Bäst

KAPITEL 4. SYSTEMARKITEKTUR

Tabell 4.2: Jämförelse mellan fyra tjänster för geocoding.

Träffsäkerhet Begränsningar & pris Mapbox Stockholm med förorter

funge-rar vid stickprov. Orter och adresser på landsbygden i Upp-land fungerar inte.

I gratisversionen 50000 kartvisningar per månad och 600 förfrågningar per minut. För API med stöd för batch-förfrågningar krävs en vilket borde räcka för ändamå-let.

Finns API för klient- och ser-versidan. Server-API begränsat till 2500 förfrågningar per dag och 10 per sekund. Premium-plan utan explicit pris krävs för batch-förfrågningar. Klient-API

Liknar Google Maps med vilka adresser som klaras av. Ett pro-blem är dock att fall där Google Maps returnerar inget svar eller korrekt ort, returnerar Bing helt fel platser.

Oklar prisbild och oklara be-gränsningar. Någon form av

Bra. Några enstaka adresser på landsbygden som Google och Bing har svårigheter för klaras här av.

Finns en ”Starter plan” för 99 USD per månad med stöd för batch-geocoding.

för driftssättning kan Here REST API vara eftersom de har en bra träffsäkerhet och en tydlig prisbild där inga avtal behöver förhandlas.

Gemensamt med dessa tjänster är att krav vanligtvis är att slutanvändaren ska se resultatet på en karta från dem själva. Tack vare användningen av Leaflet är det enkelt att byta karttjänst, exempelvis rutter som visas på kartan renderas som en polylinje och kräver inget stöd hos karttjänsten. Gemensamt är även att resultat från geocoding normalt sett inte får sparas i en databas utan endast får cachas kortare tider.

4.6.2 Serverdrift

Krav för en server är möjlighet att köra OSRM och en Tomcat-server för Spring.

Tillräcklig prestanda krävs även och priset för drift är kopplat till den prestan-da som krävs, högre prestanprestan-da innebär snabbare beräkningar. För stabilitet, enkel skalbarhet och kontroll är en virtuell server lämplig.

26

4.6. KOSTNAD FÖR DRIFT

Ett företag som erbjuder virtuella servrar och gör det möjligt att enkelt byta till en med mer prestanda är Digital Ocean [29] . En virtuell server med en enkärning processor och 1GB RAM kostar 10 USD per månad. Önskas bättre prestanda kan servern uppgraderas till exempelvis två kärnor och 2GB RAM för 20 USD per månad. Fördelen med dessa virtuella servrar är att full kontroll ges till en virtuell maskin, vilket gör det möjligt att köra exempelvis OSRM utan begränsningar i operativsystemet.

Kapitel 5

Diskussion och slutsatser

I denna sektion diskuteras några specifika ämnen, i sektion 5.1 diskuteras återkopp-ling till syftet och tider för lösningsförslag, i sektion 5.2 och 5.3 diskuteras två ämnen med förslag på lösningar, i sektion 5.4 diskuteras några specifika möjliga framtida arbeten, i sektion 5.5 diskuteras kort alternativa lösningar och detta ar-betes bidrag till forskning samt i sektion 5.6 reflekteras det kring val av metod och verktyg.

5.1 Återkoppling till syfte

Systemarkitekturen klarar av att för testfall ta fram lösningsförslag som vid kontroll rutt för rutt på en karta ser ut att vara rimliga inom rimlig tid. Resultatet får därför anses lyckat och målen uppfyllda, med undantag för delen med geocoding som visade sig vara komplicerad eftersom öppna data inte kunde användas.

För att minska beräkningstider kan ytterligare optimering av systemarkitektu-ren ske i verifieringssteget, istället för att synkront skicka en fråga i taget till OSRM kan flera frågor skickas parallellt, mycket tid förloras troligtvis i overhead eftersom en server behöver anropas med HTTP vid varje anrop. Beräkning av kantmatris med OSRM får anses ske väldigt snabbt, ca 500ms för ca 200 koordinatpar får an-ses vara över förväntan. Optaplanner kan vara möjligt att optimera ännu mer, men tider i lägre storleksordningar är troligtvis svårt att erhålla.

Related documents