sql >> Database teknologi >  >> RDS >> Database

Applikationsstakkens fremtid

Containere æder verden. Hvis du har bygget og implementeret en applikation i produktion i løbet af de sidste par år, er oddsene, at du har implementeret din kode i containere. Du har måske oprettet og implementeret individuelle containere (Docker, Linux LXC osv.) direkte i begyndelsen, men hurtigt skiftet til en containerorkestreringsteknologi som Kubernetes (K8s) eller Swarm, når du havde brug for at koordinere multi-node-implementeringer og høj tilgængelighed (HA). Hvordan vil fremtiden for applikationsstakken se ud i denne containerdrevne verden? Lad os starte med, hvad vi har brug for fra denne "fremtidige" ansøgningsstabel.

Hvad har vi brug for fra denne fremtidige applikationsstak?

  1. Cloud Agnostic

    Vi ønsker at være skyagnostiske med evnen til at implementere til enhver sky efter vores valg. Ideelt set kan vi endda blande forskellige udbydere i en enkelt implementering.

  2. On-Premise

    Vi skal være i stand til at køre vores applikationsstak on-premise med vores egen tilpassede hardware, private cloud og internt administrerede datacentre.

  3. Sprogagnostisk

    Det går næsten med at sige, men jeg tilføjer det for fuldstændighedens skyld. Den fremtidige åbne stak skal understøtte alle de populære programmeringssprog.

The Future Application Stack

Den fremtidige applikationsstak vil være sammensat af en triade af teknologier – K8s, Platform-as-a-Service (PaaS) og Database-as-a-Service (DBaaS) :

K8s

Kubernetes er en bærbar, udvidelsesbar open source-platform til styring af containeriserede arbejdsbelastninger og tjenester, og du kan implementere dine applikationer direkte til K8s-containere. For kunder med eksisterende applikationer giver det perfekt mening at pakke og implementere dine eksisterende applikationer til K8s direkte.

The Future Of The Application Stack:K8s, PaaS &DBaaSClick To Tweet

Alle offentlige cloud-leverandører giver stærk indbygget support til K8'er, og du kan også køre din egen K8'er-klynge på stedet. Docker er nu også hoppet med på K8s-vognen – så du har fuld fleksibilitet. Der er ingen tvivl om, at K8s er konge af bakken i dag. Om et par år kan det blive slået ud af en anden løsning, men containerorkestreringsteknologi er kommet for at blive.

PaaS-løsninger

Hvis du opretter en ny applikation fra bunden, tilbyder Platform-as-a-Service-løsninger som Cloud Foundry og OpenShift overbevisende fordele, som du kan udnytte til at fremskynde din applikationsudvikling livscyklus. Er en PaaS et must? Absolut ikke, men jeg synes, det er værd at overveje, hvis du opretter en ny applikation.

I nogle tilfælde kan PaaS-løsningerne køre på K8'er eller sidde ved siden af ​​det - fra et applikationsperspektiv er det lige meget. Hvis din it-organisation implementerer PaaS-løsningen, vil de måske kunne lide det, hvis den bare kører på deres eksisterende K8s-klynger. PaaS-løsningerne nævnt ovenfor er også tilgængelige på alle de offentlige skyer. Så igen, du har den fulde fleksibilitet, du har brug for fra din platform.

DBaaS-løsninger

At køre og administrere et produktionsdatabasesystem er ikke for sarte sjæle. Hvis du tror, ​​du vil installere din produktionsdatabase på tre containere, og den kommer til at køre lykkeligt til deres dages ende, har du en anden ting på vej. Ved at bruge en Database-as-a-Service-løsning vil de håndtere alle de operationelle aspekter af din databasestyring, så du er forberedt på ethvert og alt det uventede.

Din DBaaS kører muligvis eller ikke på K8'er. Måske kører nogle dele af DBaaS på K8s, men oddsene er, at det ikke gør det. Hvorfor er det det?

  1. Uden for de populære offentlige skyer er der ikke en god løsning til opbevaring/volumener, der er op til EC2 Elastic Block Storage (EBS) kvalitet. Leverandører som PortWorx og OpenEBS arbejder på det, men det er der ikke endnu. Uden en god lagerløsning er det praktisk talt umuligt at lægge data i dine containere.
  2. Hvis du kører en stor, flere TB-produktionsdatabaseserver, giver det ikke mening at køre den i containere – du kommer til at have store dedikerede maskiner med smarte SSD'er .
  3. For meget dynamik – ja, man kan få for meget af det gode. Nogle gange, når tingene fejler, vil du have dem til at forblive mislykkede, så du kan tage et kig og se, hvad der foregår. StatefulSets i Kubernetes er et godt skridt i den rigtige retning for at løse dette problem.

Hos ScaleGrid er vores vision at levere på DBaaS-delen af ​​denne fremtidige applikationsstak. Vi er multi-cloud i dag, og kan også køre on-premise eller i dit eget private datacenter. Derudover er vores platform et polyglot-system, der understøtter flere databaser, inklusive MongoDB®, Redis™*, MySQL og PostgreSQL.

For nemheds skyld har jeg udelukket nogle andre dele af applikationsstakkene som objektlagring, filsystemlagring osv. I princippet forventer jeg disse komponenter vil ligne DBaaS-komponenten. Dette blogindlæg var inspireret af et Silicon Valley PostgreSQL-møde, jeg deltog i for et par uger siden, og råber op til Dave Nielsen (@davenielsen) fra RedisLabs for at starte diskussionen om dette emne.


  1. Brug af SQLCipher med Android

  2. Hvordan får du PyPy, Django og PostgreSQL til at arbejde sammen?

  3. Tilslutning til Heroku Postgres fra Spring Boot

  4. Oracle Data Mining (ODM) – Installation og opsætning