Amazon EC2 (Amazon Elastic Compute Cloud) är en fantastisk molnbaserad plattform. En majoritet av internet körs på Amazon AWS - när användare hänvisar till "cloud computing" talar de implicit om Amazon AWS. Mitt företag har drivit och hanterat databaser på AWS i ett par år nu och vi har lärt oss mycket av våra erfarenheter. Även om AWS är en enkel plattform att komma igång, är det extremt svårt att köra stora diskintensiva arbetsbelastningar på AWS. Jag säger inte att det inte går att göra – men den tid och expertis som krävs är mer än de flesta användare. Här är några saker som jag skulle vilja se i Amazon EC2 för att göra det enklare att köra databaser på AWS.
-
Icke-efemära lokala diskar
Nätverksbaserad EBS är praktiskt för de flesta arbetsbelastningar, men prestandan är urusel för skrivtunga arbetsbelastningar. Införandet av provisionerad IOPS underlättar detta problem lite. Provisioned IOPS är dock ganska dyra och kostnaderna ökar, speciellt när du kör ett stort kluster med 10-20 maskiner. Som ett alternativ kommer det att vara bra om hårda arbetsbelastningar som databaser kan köras bort från den lokala disken. Det är inte ett alternativ idag eftersom de lokala diskarna är "efemära". Om du stoppar och startar om din maskin kan den flyttas till en annan värd och du förlorar din lokala data. Detta är inte en acceptabel risk även när det finns flera kopior av data.
-
Lågpris SSD
Det skulle vara bra om Amazon kunde ta ett blad ur DigitalOceans bok och introducera lågpris-SSD:er för sina servrar. Server-side computing går långsamt över till SSD och om några år kommer SSD-servrar att vara den faktiska lagringen för dina serverarbetsbelastningar. Amazon erbjuder SSD:er idag, men de är ganska dyra och inte ett alternativ för de flesta arbetsbelastningar. Dessutom har SSD-erbjudandet samma "efemera" problem som lokala diskar.
-
Säkerhetsgrupper över regioner
Geo-distribuerade kluster är en realitet i vår tid. Ett antal kunder behöver distribuera servrar över regioner av flera skäl, allt från tillgänglighet till partitionering. Det enda sättet att säkra dessa distributioner idag är att använda en IP-vitlista som är extremt svår att underhålla. Säkerhetsgrupper över regioner kommer att avsevärt minska bördan för kunder som distribuerar över flera regioner. idag har Amazon väldigt lite funktionalitet som fungerar över regioner. De introducerade nyligen möjligheten att kopiera mallar över regioner, vilket är mycket användbart, och jag hoppas att de fortsätter att lägga till fler funktioner som är regionöverskridande.
-
Synkroniserade ögonblicksbilder över flera volymer
I några av våra större databaskluster måste vi säkerhetskopiera flera servrar samtidigt. Till exempel, i ett fragmenterat MongoDB-kluster måste du säkerhetskopiera en konsekvent kopia av alla shards. Även om det finns tekniker för att göra detta idag, är de alla ganska håriga och sårbara för misslyckanden. Ett idealiskt sätt att säkerhetskopiera dessa servrar är att starta en synkroniserad ögonblicksbild över flera volymer. Detta säkerställer en konsekvent ögonblicksbild över alla volymer.
-
Bättre VPC-hantering
Jag gillar personligen inte tanken på att exponera produktionsdatabaser för internet. Därför är jag ett stort fan av Virtual Private Clouds (VPC). Tekniken är fantastisk men hanteringsgränssnittet är ganska tråkigt. VPC och klassiska EC2 är väldigt lika tills de inte är det. Det slutar med att du växlar fram och tillbaka mellan EC2-konsolen och VPC-konsolen. När du väl hanterar 10+ servrar lägger det nuvarande hanteringsparadigmet en stor börda på användaren. Jag tror att det finns utrymme för att förenkla koncepten och göra det lättare att hantera.
Som alltid, om du har frågor är du välkommen att kontakta oss [email protected].