Undvika flaskhalsar när distribuera applikationer

Commentary- Vårt förhållningssätt till mjukvaruutveckling har förändrats under de senaste åren. IT-personal och mjukvaruutvecklare arbetar närmare varandra än någonsin tidigare. Den DevOps trenden sträcker sig även till en bekräftelse på att automatisering är en viktig faktor för att minska kostnaderna och öka släpp hastigheter.

Utvecklare, Google köper Apigee för $ 625.000.000, hårdvara, Raspberry Pi träffar tio miljoner försäljning, firar med “premium” bunt, säkerhet, Adobe reanimates NPAPI Flash för Linux efter fyra års stasis, lagring, Facebook öppna källor ZStandard datakomprimering algoritm, mål att ersätta tekniken bakom Zip

Strävar efter att vara kostnadseffektiv är en konstant för alla företag men ökat fokus på hastighet av utbyggnaden är en produkt av tillväxten av molnet och Agile utvecklingsmetodik. Kärnpunkten är – desto snabbare nya funktioner, korrigeringar och förbättringar nå kunden, desto större tillfredsställelse. Samma princip gäller i en företagsmiljö – desto snabbare den senaste versionen av ett program når användarna, desto mer produktiva de kan vara.

Båda miljöer kräver skalbarhet. Som produktutbud växer och förgrenas ut, måste leveransmetod kunna hantera förändringarna. I företagsmiljö en stor portfölj av program är normen och eventuell utplacering lösning måste kunna skala.

Automatiserad app driftsättning kan minska kostnaderna, öka hastigheten och skala som behövs, men innan vi tar en titt på lösningen låt oss diskutera problemet.

App distributions mardrömmar, Det finns en hel del potentiella problem i utbyggnaden program manuellt. Inte minst är den tid det kan konsumera för utvecklare och IT-support. Konfiguration är den första utmaningen. Där programmet lagras? Vilken version ska installeras? Var ska den installeras? Var är konfigurationsfilen och hur den tillämpas?

Säkerhet är en annan fråga. Vilka rättigheter som krävs för att installera och köra programmet? Hur mycket tillgång behöver användarna har?

Manuella steg kostar också tid och pengar och de inför risken för mänskliga fel. Du kan behöva kopiera en specifik fil till en viss plats eller byta namn på en fil. Även kör separata skript för olika miljöer och projekt kan vara en tidsflykt och varje manuell process som krävs ökar risken.

Automation huvudvärk; Automatiserad app utplacering har sin egen uppsättning problem. Om du har någon skapa egna distributions skript kan du kringgå några av problemen, men som bara fungerar för en app driftsättning. Det tar också tid och det betyder att du litar på att en specialist för att uppdatera skript som krävs. Skript kan vara mycket komplex och de inte är standardiserade, i synnerhet om olika utvecklare skriva olika skript.

Om du har en serie skript då du behöver en process på plats och instruktioner om hur man kör dem på rätt sätt. De kommer också att behöva ändras ofta för att tillgodose eventuella ändringar. En monolitisk script skulle kunna täcka hela distributionsprocessen så att du har bara ett manus för att köra, men vad händer när du har att distribuera till en annan miljö? Vad om partiella uppgraderingar? Eventuella ändringar kommer att kräva en ändring av skriptet.

Båda fallen kräver specialiststöd för att köra och anpassa och resulterar i ett system som inte fungerar för en annan app driftsättning. Om du behöver rulla av någon anledning kommer det att vara en stor huvudvärk. Så vad är lösningen?

Intelligent ARA, Vill du driva Application Release Automation till nästa nivå kräver vissa smarta verktyg. För att bryta flaskhalsen behöver ett system som verkligen är automatiserad, standardiserad och kan hantera flera programinstallationer över projekt. Syftet är att undvika beroendet av specialister skriver manus.

Fördelarna kan vara imponerande. Enligt en Gartner-rapporten från Ronni J. Colville, ARA verktyg hjälper till att minimera risken för mänskliga fel och lägg tillförlitlighet. De ger också insyn för alla inblandade parter och, ännu viktigare, begränsa driftstopp och säkerställa snabbare leverans till slutanvändaren. Att sikten genom hela processen kan vara en rejäl skjuts till DevOps som båda ändar av verksamheten kan se processen i aktion.

Kontinuerlig Distribution, Det finns ett steg längre än en intelligent app driftsättning systemet och det är tanken på att rulla ut programuppdateringar så snart som möjligt till den levande servern genom en kontinuerlig systemintegration. Realistiskt detta kräver att du har någon form av kontinuerlig automatiserade testsystem på plats så att du kan minska risken för att problem. Å andra sidan betyder det att du kan trycka ut extremt frekventa uppdateringar, helt avstå från några manuella uppgifter i samband med utsättning och glömma sista minuten bråttom att klämma in funktioner innan tidsfristen build som så ofta resulterar i fel.

Ett helautomatiserat system som kan planera och justera vid behov för att tjäna olika miljöer gör kontinuerlig utplacering en potentiell verklighet. Förutsatt att du har möjlighet att följa processen, rollback och avinstallera vid behov, kan du minimera riskerna. För äkta engagemang för en agil metodik detta är en naturlig slutpunkt.

Flaskhals på tratten, som mjukvaruutveckling har avancerat ett antal nya trender och idéer hjälper utvecklare att få sin produkt på marknaden snabbare. Det är alltid mer kostnadseffektivt att lösa problem så tidigt som möjligt i processen och denna enkla sanning har förändrat vår syn på utveckling och testning.

Utplaceringen änden av tratten har varit som en flaskhals påfrestande upp tid och energi av begåvade programvara ingenjörer och IT-proffs. Det är fortfarande ofta en potentiell källa för mänskliga fel och när det är dåligt hanteras resultaten kan vara förödande när det gäller driftstopp eller missnöjda kunder.

Samma logik tillämpas på mjukvaruutveckling behöver föra över till installationsfasen. I slutändan genom att bygga en komplett pipeline från utveckling, genom kvalitetssäkring, till driftsättning, där automatisering och standardisering är den idealiska, kan vi spara pengar, leverera så snabbt som möjligt och skala vid behov. Det känns helt enkelt naturligt.

biografi; Coert Baart är VD för XebiaLabs, en utvecklare av plattformar som automatiserar leverans av applikationer på middleware miljöer som WebSphere, WebLogic, Microsoft.Net, JBoss, Tomcat och molnbaserade miljöer som VMware, Puppet, Red Hat och IBM. Du kan nå honom på cbaart@xebialabs.com.

Google köper Apigee för $ 625.000.000

Raspberry Pi slår tio miljoner försäljning, firar med “premium” bunt

Adobe reanimates NPAPI Flash för Linux efter fyra års stasis

Facebook öppna källor ZStandard datakomprimering algoritm, syftar till att ersätta tekniken bakom Zip