Обчислення без сервера 101

Автор: Roger Morrison
Дата Створення: 22 Вересень 2021
Дата Оновлення: 1 Липня 2024
Anonim
Урок 4. Формулы Excel для начинающих
Відеоролик: Урок 4. Формулы Excel для начинающих

Зміст


Джерело: Wavebreakmediamicro / Dreamstime.com

Винос:

Обчислення без серверів насправді є дещо помилковим - сервери дійсно задіяні, вони просто у хмарі.

Для непосвячених сама ідея обчислень без серверів видається недовірливою, оскільки в історії розробки програмного забезпечення сервери були незамінними. Ну, вони все ж є. Обчислення без серверів не слід сприймати буквально, оскільки це не робить сервери застарілими. У схемі обчислень безсерверних речей сервери продовжують грати важливу роль, але з певними відмінностями.

Розробникам програмного забезпечення більше не потрібно думати про сервери чи коригувати кодування на основі серверів. Вони можуть повністю зосередитись на кодуванні, тоді як сервери, розміщені в хмарі, піклуються про обробку коду. Не потрібно планувати ємність серверів, оскільки в хмарі вони здатні збільшувати масштаби вгору та вниз залежно від вимог. Весь сервер не залишається активним весь час. Виходячи з вимог, його частини активізуються, виконують свою роботу і потім сплять.


Багато хто вважає, що обчислення без серверів може підвищити ефективність обчислень та знизити експлуатаційні витрати; вони розглядають це як революційний спосіб обчислення. Але не всі згодні. З іншого боку аргументу, протидіє, що обчислення без серверів збільшить складність, і не так багато способів управління складністю.

Що таке обчислення без сервера?

Як уже зазначалося, обчислення без серверів не означає, що обчислення або розробка програмного забезпечення можуть відбуватися без серверів. Насправді сервери просто розміщуються у хмарі стороннім постачальником. Тому розробникам програмного забезпечення потрібно просто зосередитися на своєму коді, і не потрібно думати про сервери, потужність, розгортання чи щось подібне. Сервери мають різні частини всередині них, відомі як функції, які обробляють код. На відміну від традиційних обчислень, весь сервер не залишається активним весь час. Функції виконують конкретні завдання - наприклад, перевірку та пошук - і активуються лише за потреби. Функції можна масштабувати вгору або вниз залежно від вимог. Як і інші хмарні сервіси, такі як програмне забезпечення як послуга (SaaS) або платформа як послуга (PaaS), функції також пропонуються на основі передплати. Клієнт стягується лише за той час, коли функція залишається активною.


Історія

Обчислення без серверів - це досить нова концепція в розробці програмного забезпечення, і його корені можна простежити в 2006 році. У 2006 році сервіс під назвою Zimki запропонував рішення, яке дозволило розробникам програмного забезпечення писати код і завантажувати його на сервер Zimkis. Виконання коду виконували функції, пропоновані у вигляді інтерфейсів програмування прикладних програм (API).

Наступна велика розробка відбулася в 2014 році, коли Amazon представила систему платних плат для виконання коду у вигляді AWS Lambda. Однак цікаво зауважити, що на знаходження тяги (2006–2014 рр.) Знадобилося стільки часу, щоб така романна концепція знайшла тягу. Чомусь розробки обчислень без серверів не настільки великі сплески, як інші ідеї, як хмарні обчислення чи Інтернет речей (IoT). Тим не менше, AWS Lambda була першою безсерверною пропозицією від великого підприємства, а за ним послідував ряд інших пропозицій, включаючи пропозиції Googles, відомі як Google Cloud Functions. У 2016 році і IBM, і Microsoft перестрибували на провідну обчислювальну машину без сервера, відкривши OpenWhisk і Azure Functions відповідно.

Пірнання глибше

Хороший момент для розуміння обчислень без сервера на більш глибокому рівні - це порівняння між обчислюванням без сервера та PaaS. Хоча вони і різні як поняття, PaaS був насправді першим кроком до пропозицій без сервера. Хоча PaaS пропонує платформу та середовище, що дозволяє розробникам створювати програмні програми через Інтернет, все ще існує необхідність планувати потужність, необхідну для програмного забезпечення у хмарі. Однак немає необхідності жодним чином думати про сервери, коли ви працюєте з обчисленнями без сервера. Розробники програмного забезпечення просто кодують і завантажують код у хмару, а потім сервери беруть на себе.

Обчислення без сервера також називають функціями як послуга (FaaS), оскільки невеликі функції пропонуються на підприємницькій моделі з оплатою. Такі функції виконують невеликі завдання - наприклад, перевірку облікових даних користувачів. Функції пропонуються у вигляді API. Існує кілька функцій, які можуть знадобитися програмному застосуванню, але не всі функції стають активними одночасно; вони активні лише коли вони вимагають. Наприклад, якщо одна функція отримує великий обсяг трафіку і вона перевантажена роботою, її можна масштабувати і збільшувати її ємність. Отже, вам не потрібно масштабувати всю програму.

Ні помилок, ні стресу - покроковий посібник зі створення програмного забезпечення, що змінює життя, не руйнуючи ваше життя

Ви не можете покращити свої навички програмування, коли ніхто не піклується про якість програмного забезпечення.

Чому важливо обчислити без сервера?

Важливість обчислень без сервера полягає в її відмінність від традиційних обчислень. Традиційні обчислення добре обслуговують бізнес, але ставлять перед собою декілька проблем: витрати, трудомісткість, відсутність цілеспрямованого кодування та труднощі зі збільшенням чи зменшенням масштабів. Підприємства шукали рішення цих проблем. До унікальних переваг обчислень без сервера належать:

  • Зосередьтеся на кодуванні
    У традиційних обчисленнях розробникам довелося думати про сервери і відповідно коригувати кодування. У серверах, що не працюють на серверах, їм потрібно зосередитися лише на кодуванні, а про все інше дбають сервери, розміщені в хмарі. Цей підвищений фокус призводить до кращої якості коду.
  • Кодування потенційно простіше
    Якщо ваші коди без сервера орієнтовані на обчислення, то все, що ви будете робити, - це писати менші фрагменти коду, які обробляються певними, відповідними функціями, і переконайтеся, що код добре інтегрується з іншими фрагментами коду.
  • Простіше масштабувати вгору або вниз
    Оскільки вся обчислювальна інфраструктура без сервера стосується невеликих функцій, немає необхідності масштабувати вгору або вниз всю інфраструктуру - просто масштабуйте необхідну функцію. Таким чином, обробка та масштабування відбувається набагато швидше.
  • Дешевше
    Як правило, підприємство, яке використовує серверні обчислювальні сервери, оплачує підписку, а потім за використання функції. Однак він платить лише за той час, коли функція активна та використовується. Іншими словами, підприємства платять лише за те, що споживають.

Приклад обчислень без сервера

AWS Lambda - один з найвідоміших прикладів безсерверних пропозицій. Це дозволяє підприємствам просто писати та завантажувати код у Lambda. За потреби Lambda може автоматично масштабувати додаток, запустивши коди у відповідь на тригер. Коли навантаження на функцію або API збільшується, функція масштабується. Клієнту виставляють рахунок на основі вимірювання підсекунди, що означає, що клієнт стягується за кожні 100 мс виконання коду і кількість запуску коду. Таким чином, немає необхідності платити, коли немає виконання коду.

Висновок

Незважаючи на всю свою унікальність, без серверних пропозицій не обійтися. Кілька невеликих функцій потенційно можуть створити надзвичайно складну систему, тим більше, якщо програмне забезпечення є величезним. Ситуацію також ускладнює обмеженість доступності інструментів для управління такими складними ситуаціями. Тим не менш, обчислення без серверів розглядатиметься як рішення для монолітних систем, з якими мають працювати підприємства. Він досі перебуває у новонародженому стані, і організації все ще знаходять способи змусити їх працювати, оскільки він набуває більшої популярності серед підприємств.