Вступ до мережі доставки вмісту Akamai

Akamai є одним з провідних світових постачальників мережі доставки вмісту (CDN). Завдяки інтелектуальній платформі Akamai пропонується безліч продуктів, що сприяють підвищенню продуктивності, доступності, безпеки та розуміння.

Інші CDN включають Cloudflare, Fastly, MaxCDN, Incapsula та Rackspace.

Тут ми розглянемо, що таке CDN, а потім деякі особливості впровадження Akamai, зокрема:

  • Інтелектуальна платформа та пограничні сервери Akamai
  • Менеджер інтерфейсу та власності Akamai
  • Продуктивність маршрутизації
  • Кешування

Що таке CDN?

Запит користувача на вміст у загальнодоступному Інтернеті може здатися простим, підключившись до сервера, що вміщує вміст ("походження вмісту"), і повернувши його користувачеві, але насправді він дуже складний.

Можливо, з’єднання доведеться пройти через багатьох постачальників послуг Інтернету (ISP), пункти однорангового зв’язку та центри обробки даних у конкуруючих мережах, і вони не мають постійно доступних маршрутів.

Може використовуватися багато різних типів пристроїв та пропускна здатність із різних глобальних місцезнаходжень із різними типами вмісту.

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

CDN надає більше контролю в руках постачальника вмісту та допомагає покращити взаємодію з кінцевими користувачами.

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

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

Інтелектуальна платформа Akamai

Akamai підтримує глобальну мережу, що налічує понад 240 000 "граничних серверів". Вони розташовані на краю Інтернету, якомога ближче до кінцевих користувачів. Для досягнення цього багато крайових серверів навіть розташовані безпосередньо в Інтернет-провайдерах або в мобільних вежах передачі даних, щоб ще більше зменшити затримку між підключенням до Інтернет-провайдера користувача перед переходом у мережу Akamai.

Коли користувач робить запит, Akamai динамічно відображає його на найближчий доступний граничний сервер. Помежний сервер застосовує ділові правила, визначені провайдером вмісту, перш ніж використовувати найкращий доступний маршрут між усіма іншими пограничними серверами в мережі Akamai для отримання вмісту з джерела. Бізнес-правила тиражуються на кожному сервері краю.

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

Сайт додається до Akamai, додаючи запис CNAME у DNS, який вказує від імені хосту, скажімо 'community.akamai.com', до імені хосту Akamai, 'community.akamai.com.edgekey.net', де Akamai контролює відображення крайового сервера бере на себе призначення найкращого доступного крайового сервера. Якщо ви "викопаєте" ім'я хосту і побачите "edgekey.net", то ви знаєте, що Akamai використовується постачальником вмісту.

Інтерфейс Akamai

Akamai пропонує веб-графічний інтерфейс з назвою «Центр управління Luna», кілька API та CLI.

Як видно на вкладці Монітор , доступні багато інструментів звітування та аналітики для отримання статистичних даних на рівні CDN. Журнали з пограничних серверів також доступні за запитом.

На вкладці Налаштування ми зосередимося на введенні Property Manager та залишимо інші варіанти для майбутньої публікації.

Властивість , іноді також називають конфігурацією , є основним способом контролювати те, як крайові сервера відповідають на запити користувачів. Властивості застосовують список правил до набору імен хостів , і ви можете застосувати лише одну властивість за раз до будь-якого даного імені хосту. Правила складаються з критеріїв / умов відповідності та поведінки . Додатковий приклад цього побачимо пізніше при перегляді кешування. Правило за замовчуванням кожного ресурсу повинно вказувати дійсний код постачальника вмісту ( CP) для виставлення рахунку та звітування за послугу. Правила - це "перемога в останньому матчі".

Існує API Property Manager (і CLI) з великим словником понять.

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

Продуктивність маршруту

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

Мережа серверів Akamai (користувач спочатку підключається до крайнього сервера, а будь-який наступний батько - до цього сервера) накладає маршрут за замовчуванням до джерела. Маршрут за замовчуванням може проходити між декількома різними провайдерами та мережами, які не завжди можуть добре взаємодіяти між собою. Як видно вище, втрата зв'язку (або інша така погіршення) може означати, що найкращим варіантом є неочевидний шлях.

Найкращий маршрут знайдено у два кроки.

  • По-перше, сервери Akamai постійно запускають зонди один проти одного, і, з меншою швидкістю, проти всіх джерел замовника Akamai. Вони використовуються для обчислення та розподілу централізованого списку маршрутів-кандидатів між кожним сполученням граничного сервера / джерела.
  • По-друге, щоб звузити ці необроблені маршрути-кандидати до одного найкращого варіанту, статичний тестовий об’єкт SureRoute розміщується кожним клієнтом у конкретному походженні, подібному до середнього очікуваного вмісту. Перегони для отримання цього об’єкта періодично пробігаються між кожним крайовим сервером та початком, щоб можна було постійно оновлювати запис про те, що має найнижчу затримку та / або швидкість втрати пакетів.

Це означає, що для кожного запиту до пограничного сервера може бути використаний найшвидший і надійний маршрут на той момент часу, щоб дістатися до місця початку.

Кешування

Кешування на граничному сервері може значно зменшити затримку для кінцевого користувача.

Оскільки організації масштабування кешування також можуть набувати все більшого значення для зменшення навантаження на джерело вмісту як для кращої продуктивності, так і для зменшення витрат.

Як описано у відповіді, наданому "Чи спільні керовані сервери Akamai спільно використовують кешований вміст", крайові сервери згруповані в "регіони" мережі. Якщо кеш певного пограничного сервера не заповнений, він надішле локальний запит іншим пограничним серверам у своєму регіоні, і якщо одноранговий сервер має вміст, він буде відповідати перед кешуванням самого.

Якщо всі кеші локального однорангового зв'язку порожні (або застарілі), тоді запит буде перенаправлений на батьківський сервер краю, де та ж локальна перевірка відбуватиметься між однолітками батьків. Якщо жоден вміст не кешований по всьому маршруту, він повернеться до джерела та повторно заповнить кеш із відповіддю.

Стандартний використовуваний ключ кешу складається з імені хосту (домену), шляху та рядка запиту. Це можна змінити, щоб зменшити потужність та / або надати більше контролю за очищенням кешу. Це може бути лише шляхом включення конкретних параметрів запиту, тому виключаючи такі речі, як ідентифікатори товару, додаючи значення певних файлів cookie, заголовків або визначених користувачем змінних.

Умови відповідності (наприклад, якщо існує файл cookie " х ") можна поєднувати з поведінкою "обходу кешу", щоб створити розширені сценарії, такі як кешування різного вмісту для користувачів, які мають сеанс, або для користувачів у різних місцях.

Розширення браузера, таке як ModHeader, може використовуватися для перегляду заголовків Akamai Pragma для локального дослідження поведінки кешування.

Заключні думки

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

Хоча тут обговорювалися конкретні продукти Akamai, подібні концепції масштабної роботи існують і у інших постачальників послуг CDN.

Інші особливості Akamai можуть бути висвітлені в наступному дописі, сміливо стежте за ними або читайте запропоновані наступні теми, такі як:

  • Покращення безпеки за допомогою управління сертифікатами та брандмауерів веб-додатків (WAF)
  • Менеджер зображень для оптимізованої доставки зображень
  • Cloudlets для забезпечення детального контролю за межами циклу активації Property Manage з багатьма типами, доступними для різних випадків використання
  • Глобальне управління трафіком (GTM) для балансування навантаження на основі DNS
  • mPulse для використання реальних метрик користувача (RUM) для моніторингу продуктивності

Дякуємо за читання?

Ви також можете насолодитися:

  • Посібник для початківців щодо служби еластичних контейнерів Amazon
  • Як поступово додавати Flow до існуючої програми React
  • Прогресивне вдосконалення за допомогою CSS Grid