Virtuell testmiljö – Is the shit

Jag håller på med ett sidoprojekt där jag lägger ut delar av testmiljön virtuellt. Det finns så klart en rad olika fördelar och utmaningar med att skapa en virtuell testmiljö. Jag valde efter lite diskussioner med IT avdelningen att använda VMware vSphere Client som finns i en gratis version om man registrerar ett konto. Jag kommer inte ge någon utförligare beskrivning av VMware vSphere Client utan det går att läsa på nätet, som det mesta.

En ”Bare Metal” lösning

vSphere Client är en ”Bare metal” version, och med det menas att den virtuella maskinen körs direkt på värd datorn utan något klassiskt operativtsystem installerat. Exempelvis finns ett annat gratis och enkelt program för virtuella miljöer som heter Virtualbox. Virtualbox installeras till skillnad från vSphere Client i ett befintligt operativsystem.

Varför vi valde att använda en ”Bare metal” lösning är för att ett klassiskt operativsystem likt Windows 7 tar för mycket datorprestanda som annars skulle kunna användas för att skapa virtuella miljöer.

När man installerat vSphere Client på en maskin så är det dags att logga in, och du styr allt vi ett GUI gränssnitt.

Här sätter du upp nya virtuella servrar, administrerar hårdvara och övervakar prestandan på värdmaskinen samt de virtuella servrarna.

Uppsättning av virtuella servrar

Nu är det dags att sätta upp en virtuellserver på din värdmaskin. Här det finns en rad olika inställningar och möjliga konfigurationer. När en virtuell server finns på plats som fungerar så är det dags att installera det som behövs för att den virtuella servern ska efterlikna era testmiljöer. Detta kan ta ett litet tid och kan kräva en del nätverk och hårdvara kunskaper. Men när du har fått en virtuell maskin som fungerar önskvärt kan du sedan kopiera inställningarna om du skulle vilja skapa flera. Sen är det bara att starta upp en server och testa på som vanligt.

Snapshot

Nu kommer det trevliga, att använda sig av snapshot när du testar. En snapshot är en ögonblicksbild av systemet och dess tillstånd. Du kan när som helst välja att ta en snapshot av din testmiljö, spara ner den och fortsätta ditt arbeta. Vill du sedan gå tillbaka till ett specifikt tillstånd är det bara att växla till någon av de sparade snapshots, detta görs i något som kallas snapshot manager. Att växla mellan olika snapshot brukar inte ta mer ca 5 minuter.

Får du ett nytt bygge som du vill pröva att installera? Du märker sedan att bygget inte fungerar att det har förstört din testmiljö? Ingen fara, när du stänger av testmiljön återgår den till ursprungliga inställningar så du behöver inte återställa testmiljöer efter att du testat “sönder” dem. Annars kan du ta ett snapshot för varje bygge för att kunna jämföra olika byggen och versioner av koden. Du får på så sätt ett snabb och effektiv metod för att göra en “rollback” i testmiljön.

Vill du testa en Hotfix? eller någon specifik inställning kan du ta en snapshot av systemet döpa den till ex hotfix-01, nu kan du på mindre än fem minuter starta upp en testmiljö med just den specifika inställningen där hotfixen är installerad.

Jämföra versioner av systemen

Ibland kan behöver man jämföra system och funktioner mellan en äldre och nyare versionen av programvaran. Med virtuella servrar och snapshots går det enkelt backa till en tidigare version för att jämföra. Istället för att ha dokument som ska beskriva hur systemet fungerade innan nyutveckligen går det istället att jämföra på en annan tidigare version som får vara facit.

Support och förvaltning

Att arbeta med support och förvaltning av system innebär en hel del utredning av diverse ärenden som kommer in från supporten. Då kan det vara bra att ha en version att snabbt växla till för att undersöka och återskapa felet i en produktionslik testmiljö med just de förutsättningarna.

Parallella releaser

Att arbeta med parallella releaser är sällan något ovanligt och då kan den fysiska hårdvaran bli dyr och ta upp stor fysisk plats. Skapar du istället virtuella servrar kan du snabbt och enkelt växla mellan olika releaser och tillstånd i dina tester. Det som begränsar hur många servrar du vill ha är hårdvara och licenser, men det blir garanterat billigare än att köpa in nya servrar.

Slutsats

  1. Det krävs lite tid, energi och resurser för att starta upp, så jag rekommenderar att du börjar i en liten skala.
  2. Ta gärna hjälpa av personer som kan, jag tog hjälp av IT-avdelningen.
  3. Skapa en wiki för hur man administrerar den virtuella servern, så att inte allt är beroende av dig
  4. Se över vilka licenser som behövs, använder ni exempelvis Windows server som OS behöver ni ser över era licensavtal.
  5. Det finns väldigt många fördelar och kan du, rekommenderar jag absolut att ni lägger ut en del av testmiljöerna virtuellt.

Once you go virtual you never go back

Lycka till

/Jagge

PS:

“Is the shit” is a phrase that is grammaticly incorrect. The phrase implies that something, or someone “is the shit”, not suggesting the negative meaning of the word “Shit”. The word “shit” is infact transformed in to a very strong, positive word, when put in this sentence; it can describe almost everything.

About Jagge

IT - Konsult hos Claremont – Partner, styrelseledamot och bloggare på TestZonen - Styrelseledamot i SAST - Utbildare för Röda korset For more information contact me on linkedin.com/in/jagge