Database
 sql >> база данни >  >> RDS >> Database

Бъдещето на стека от приложения

Контейнерите изяждат света. Ако сте изградили и внедрили приложение в производство през последните няколко години, шансовете са, че сте внедрили кода си в контейнери. Може да сте създали и внедрили отделни контейнери (Docker, Linux LXC и т.н.) директно в началото, но бързо сте преминали към технология за оркестриране на контейнери като Kubernetes (K8s) или Swarm, когато трябваше да координирате внедряването на множество възли и високата наличност (НА). В този свят, управляван от контейнери, как ще изглежда бъдещето на стека от приложения? Нека започнем с това, от което се нуждаем от този „бъдещ“ стек от приложения.

Какво ни трябва от този бъдещ стек от приложения?

  1. Cloud Agnostic

    Искаме да бъдем независими от облака с възможност за внедряване във всеки облак по наш избор. В идеалния случай можем дори да смесваме различни доставчици в едно внедряване.

  2. На място

    Трябва да можем да стартираме нашия стек от приложения на място с нашия собствен персонализиран хардуер, частен облак и вътрешно управлявани центрове за данни.

  3. Езиков агностик

    Почти се разбира, но ще го добавя за пълнота. Бъдещият отворен стек трябва да поддържа всички популярни езици за програмиране.

Бъдещият стек от приложения

Бъдещият стек от приложения ще се състои от триада от технологии – K8s, Platform-as-a-Service (PaaS) и Database-as-a-Service (DBaaS) :

K8s

Kubernetes е преносима, разширяема платформа с отворен код за управление на контейнерни работни натоварвания и услуги и можете да разгръщате приложенията си директно в контейнери K8s. За клиентите със съществуващи приложения е напълно логично да пакетирате и разгръщате съществуващите си приложения директно в K8s.

Бъдещето на стека от приложения:K8s, PaaS &DBaaSC Щракнете за Tweet

Всички доставчици на публични облачни услуги предоставят силна естествена поддръжка за K8s, а вие можете да стартирате и свой собствен K8s клъстер на място. Docker също вече скочи на K8s – така че имате пълна гъвкавост. Няма съмнение, че K8s е кралят на хълма днес. След няколко години може да бъде победено от друго решение, но технологията за оркестриране на контейнери е тук, за да остане.

PaaS решения

Ако създавате ново приложение от нулата, решенията Platform-as-a-Service като Cloud Foundry и OpenShift предлагат убедителни предимства, които можете да използвате, за да ускорите разработването на приложението си жизнен цикъл. Задължителен ли е PaaS? Определено не, но мисля, че си струва да помислите дали създавате ново приложение.

В някои случаи решенията на PaaS може да работят на K8s или да седят до него – от гледна точка на приложението, това няма значение. Ако вашата ИТ организация внедрява решението PaaS, може да им хареса, ако то просто работи на техните съществуващи клъстери K8s. Решенията на PaaS, споменати по-горе, също са налични във всички публични облаци. Така че отново имате пълната гъвкавост, от която се нуждаете от вашата платформа.

DBaaS решения

Изпълнението и управлението на производствена база данни не е за хора със слаби сърца. Ако смятате, че ще инсталирате производствената си база данни на три контейнера и тя ще работи щастливо завинаги, ви предстои още нещо. Чрез използване на решение Database-as-a-Service, те ще се справят с всички оперативни аспекти на управлението на вашата база данни, така че да сте подготвени за всички и всички неочаквани.

Вашият DBaaS може или не може да работи на K8s. Може би някои части от DBaaS работят на K8s, но шансовете са, че не. Защо е така?

  1. Извън популярните публични облаци, няма страхотно решение за съхранение/обемове, които да са до качество на EC2 Elastic Block Storage (EBS). Доставчици като PortWorx и OpenEBS работят по него, но все още го няма. Без добро решение за съхранение на практика е невъзможно да поставите данни във вашите контейнери.
  2. Ако използвате голям сървър за производствена база данни от няколко TB, няма смисъл да го стартирате в контейнери – ще имате големи специализирани машини с изискани SSD дискове .
  3. Твърде много динамика – да, можете да имате твърде много добро нещо. Понякога, когато нещата се провалят, искате те да останат неуспешни, за да можете да погледнете и да видите какво се случва. StatefulSets в Kubernetes са чудесна стъпка в правилната посока за решаване на този проблем.

В ScaleGrid нашата визия е да предоставим DBaaS част от този бъдещ стек от приложения. Днес сме мулти-облачни и можем да работим на място или във вашия собствен частен център за данни. Освен това нашата платформа е полиглотна система, която поддържа множество бази данни, включително MongoDB®, Redis™*, MySQL и PostgreSQL.

За улеснение изключих някои други части от стека на приложения като съхранение на обекти, съхранение на файлова система и т.н. По принцип очаквам тези компоненти ще бъдат подобни на DBaaS компонента. Тази публикация в блога беше вдъхновена от среща на PostgreSQL в Силициевата долина, на която присъствах преди няколко седмици, и викам на Дейв Нилсен (@davenielsen) от RedisLabs за започването на дискусията по тази тема.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да използвате клауза GROUP BY в SQL

  2. Ако използвате индексирани изгледи и MERGE, моля, прочетете това!

  3. Използване на strace като DG40DBC инструмент за отстраняване на грешки в Linux

  4. Модел на библиотечни данни

  5. Сравняване на SQL, конструктори на заявки и ORM