Згідно з cloudflare.com, "хмара" означає сервери, до яких можна отримати доступ через Інтернет, а також програмне забезпечення та бази даних, що працюють на цих серверах. Хмарні сервери розташовані в дата-центрах по всьому світу. Використовуючи хмарні обчислення, користувачі та компанії не повинні самі управляти фізичними серверами або запускати програмні додатки на власних машинах.
Існує кілька хмарних постачальників, серед яких Google Cloud, AWS (Amazon Web Services), Azure, Oracle, Salesforce, Alibaba, IBM Cloud та інші. Але для цієї та наступних статей я зосереджуся на Google Cloud і його послугах.
Хмарні послуги
Щоб зрозуміти хмару та її різні моделі, я поясню це через аналогію з будівництвом дому.
Моделі хмари
On-Premises (На місці) — Якщо ви вирішите побудувати будинок з нуля, ви робите все самостійно: знаходите сировину, інструменти, збираєте все разом і бігаєте до магазину кожного разу, коли потрібно щось додаткове. Це дуже схоже на розгортання вашого додатку на локальному обладнанні, де ви володієте всім: від апаратного забезпечення до програмного забезпечення, і відповідаєте за масштабування цього додатку, коли це необхідно.
Infrastructure as a Service (Інфраструктура як послуга, IaaS) — Тепер, якщо ви зайняті, ви розглядаєте можливість найняти підрядника для будівництва індивідуального будинку. Ви говорите їм, як хочете, щоб будинок виглядав, скільки кімнат вам потрібно. Вони приймають інструкції і будують для вас будинок. IaaS працює так само для ваших додатків: ви орендуєте апаратне забезпечення для запуску вашого додатку, але ви несете відповідальність за управління ОС, середовищем виконання, масштабуванням і даними. Прикладом може бути Google Kubernetes Engine.
Containers as a Service (Контейнери як послуга, CaaS) — Якщо ви розумієте, що купівля будинку — це забагато роботи і ви хочете уникнути всіх труднощів з обслуговуванням, тоді ви вирішуєте орендувати будинок. Основні комунікації вже включені, але ви приносите свої меблі і облаштовуєте простір за власним бажанням. Контейнери працюють так само: ви приносите контейнеризований додаток, тому не потрібно турбуватись про основну операційну систему, але ви все ще маєте контроль над масштабуванням і середовищем виконання.
Platform as a Service (Платформа як послуга, PaaS) — Якщо ви хочете насолоджуватись простором, не турбуючись про меблі, то ви орендуєте обставлений будинок чи квартиру. Це саме те, що пропонує PaaS: ви приносите свій код, розгортаєте його, і залишаєте масштабування на розсуд хмарного постачальника. Прикладом можуть бути App Engine і Cloud Run у Google Cloud.
Function as a Service (Функція як послуга, FaaS) — Якщо ви хочете маленький, спеціально виділений простір для роботи, який знаходиться окремо від вашого дому, ви орендуєте робоче місце. Це близько до того, що пропонує FaaS: ви розгортаєте фрагмент коду або функцію, яка виконує певне завдання, і щоразу, коли функція виконується, хмарний постачальник додає необхідне масштабування. Прикладом може бути Cloud Functions.
Software as a Service (Програмне забезпечення як послуга, SaaS) — Тепер ви переїжджаєте в будинок, орендований або куплений, але ви платите за обслуговування, таке як прибирання і догляд за газоном. SaaS працює так само: ви платите за сервіс, відповідаєте за свої дані, але все інше береться на себе постачальник. Прикладом є Google Drive.
Перекладено з: What is the Cloud??