Automating Google Workspace (GWS) & more with Apps Script
Nikolay Sh Citrix Net Scaler V9.0 Lb
1. Citrix NetScaler – балансировка
высоконагруженных систем
Николай Шадрин
Systems Engineer
Citrix Systems
2. Тенденции пользователей и ИТ
USERS APPS
APPS
APPS
• Глобализация • Зеленые ЦОД
• Свободный график • Безопасность
• Расширение филиалов • Непрерывность бизнеса
• Мобильность • Web и Enterprise 2.0
• E-коммерция • SaaS, XML, SOA
3. Веб-приложения: богатые, сложные, требовательные
Больше Sharing
Content соединений
Больше общения
Групповые блоги
Больше протоколов
Wiki
Больше форматов
Групповые календари
Списки
Больше неизвестного
Microsoft SharePoint 2007
4. Серверы: их всѐ больше
Projected Server and Electricity Use
Servers Electricity Use
18.0 120
16.0
100
Annual Electricity Use (billions/kWh)
14.0
Servers Installed (millions)
12.0 80
10.0
60
8.0
6.0 40
4.0
20
2.0
0.0 0
2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010
Year
Source: Energy Star Report
10. Системная архитектура NetScaler
Единое
управление
и отчеты
Функциональные модули NetScaler
AppExpert Высокопроизводительная обработка
Visual Policy пакетов и политик AppExpert
Builder
Administration
Application Networking Platform
11. AppExpert Policy Engine
Приложение 1
AppExpert Policy Engine
1) Получение и прерывание запроса
2) Расшифровка/аутентификация/анализ запроса Приложение 2
Users
3) Применение политик и ответ на запросы
4) Мультиплексирование через постоянные соединения
12. AppExpert Service Callout Example
3
Scraper
1. Приходит запрос tracking
2
2. NetScaler отсылает IP
4
3. Приложение проверяет IP 1
4. Приложение отсылает
“yes” или “no”
NS
NS
5. Политика NetScaler PolicyNS
Policy 5
Policy Website
– Пропускает, если “yes” Users Citrix NS
– Блокирует, если “no”
17. Server Offload
Клиенты Интернет NS Сервер
• Мультиплексирование и повторное использование TCP
• Разгрузка SSL
Offload • Кэширование (статическое и динамическое)
• Консолидированная работа с логами
• TCP-буферизация
18. Основы TCP и дополнительные 7 пакетов
SYN
1. Клиент и сервер
договариваются о
настройках соединения.
SYN + ACK
ACK } 3 – Way
Handshake
GET
2. Client sends initial
Data
TCP
request for data. In
HTTP, this would be a
GET. The server will
7 Packet
respond with data.
Overhead
FIN
}
ACK
3. Server will send a 4 – Way
FIN, informing the Teardown
FIN
client that all data has
been sent.
ACK
19. Установка TCP-соединения (3-Way Handshake)
• Почему это важно?
– Установка правильной связи с использованием порядковых номеров и
подтверждений
– Обе стороны принимают соглашение об опциях соединения (WS, MSS и
SACK)
• Какие проблемы?
– TCP Slow Start
– Slow Start и congestion avoidance постоянно меняют скорость отправки пакетов
– Denial of Service Attacks
– TCP может использоваться для отправки пакетов, перегружающих систему (SYN
Flood)
20. Традиционные балансировщики и TCP
Clients Internet LB Server
Клиент отправляет TCP SYN на LB LB отправляет пакет на Web-ферму
TCP-соединения от клиента к серверу
21. NetScaler и TCP-соединения
Clients Internet NS Server
Клиент отправляет TCP SYN на NS NS отправляет свой SYN на ферму
NetScaler в виде TCP Proxy
22. Традиционные балансировщики vs. NetScaler
Clients Internet NS Server
Соотношение клиентских и серверных соединений – 1:1 у традиционных балансировщиков
NS проксирует TCP-соединения, клиент и сервер полностью разделены; this allows a
NetScaler to Multiplex and Reuse server side TCP Connections.
Many Client Connections to 1 Server Side Connection N:1
23. Server Offload
Customer Other Benefits
Attained
• Improved response time by 110%
dRemate 50% • 40% savings on mgmt. costs
LiveNation 50% • Capacity to support 100X traffic spikes
• Significant decreases in application latency and
SINA 66% mgmt. costs
Transport for • 10X improvement in application performance
95% • 60% reduction in application latency
London
Userplane 87% • Estimated $390K savings in capital investment
25. Traditional Load Balancing
Pool
Clients Internet NS Server
LB Algorithms:
Health Checks:
• Least conns.
• TCP, UDP
• Least bandwidth
• HTTP, HTTPS
• SNMP (CPU, RAM, etc.)
• App level checks
• etc.
26. L7 Content Switching
Pool
Content
Switch
Clients Internet NS Server
LB Algorithms:
Health Checks:
• Least conns.
• TCP, UDP
• Least bandwidth
• HTTP, HTTPS
• SNMP (CPU, RAM, etc.)
• App level checks
• etc.
27. L7 Content Switching Статический
(html, jpg, etc.)
Оптимизированные пулы для разного типа контента
Server
Content
Type
Динамический
Clients Internet NS (asp, cgi, etc.)
Server
28. L7 Content Switching 95% запросов
5% содержимого
Оптимизированные пулы для разного контента
Server
URL
5% запросов
Clients Internet NS 95% содержимого
Server
29. L7 Content Switching Пользовательский
трафик
Разные уровни сервиса разным клиентам
Server
Source
Info
Ботнеты,
спайдеры и т.п.
Clients Internet NS
Server
31. Как работает GSLB?
1. Клиент производит DNS-запрос
What site should I go to?
2. NetScaler возвращает IP наиболее доступного ЦОД
Go to site number 3.
3. Клиент соединяется с указанным IP
Site 1
Site 2
Site 3
32. Варианты выбора политики доступа
• Round Robin
Взвешенный или не взвешенный
• Географическая близость
– Статическая или динамическая
• Уровень нагрузки
• Пользовательские политики
• Disaster Recovery
автоматический или ручной перенос нагрузки
• На базе сохранения сессии
33. GSLB Static Proximity
• IP локального DNS определяет его географическое расположение.
• Стандартные базы данные определяют ближайший балансировщик
• В географическом контексте имеются следующие обозначения:
“Continent”, “Country”, “State”,
“City”, “ISP”. Organization”
• LDNS IP может подходить под несколько политик
• Предлагается VIP с наилучшим набором параметров
• Сайты в том же ЦОД балансируются по взвешенному Round Robin
35. GSLB Communication b/w NetSclaers
Простой мониторинг
• Only State (Up/Down) is learned
• Status is assumed to be equally good
• Each DNS query gets the IP address of various participating GSLB sites in a round robin
fashion.
• Insecure mode of Communication
MEP (Metric Exchange Protocol)
• NetScaler internal protocol to exchange state and health information over a TCP session
• Connection establishment involves a secure RPC method
• Data is sent in an non-encrypted manner
• DNS queries get best suited response based on configured algo and information gathered
through MEP
36. GSLB Dynamic Decision Methods
• RTT (Round Trip Time)
• Least Connections
• Least (Server) Response Time
• Least Bandwidth
• Least Packet
• Source IP Hash
37. NetScaler 9: AppExpert Rate Controls
• Make sure the right users get
Partners
appropriate capacity
• Плохие ничего не получат
• Ни один отдельный пользователь не
Lines of Business
нагрузит сервер
• Встроено в ядро NetScaler Customers
• Работает со многими модулями
Spiders,
botnets,
scrapers, etc.
38. AppExpert Rate Controls
User(s) Rate Time Object Action
• IP Address • Запросы • Измеряется • IP сервера • Ограничения
• IP Range/Subnet • Пакеты в мсек. • URL/URI • Выполнить
• Cookie • Полоса • Рисунок политику
• Wildcards • Файл • Responder
• Rewrite
• Любой • Любой • Cache
заголовок или заголовок или • и. т. д.
данные… данные… • Alert
• Log
• Trap
Изолирование критичных объектов
40. Application Acceleration
Clients Internet NS Server
• TCP Optimization
Acceleration
• Web Compression
• Cache (both Static Content and Dynamic)
41. Сжатие HTTP
Зачем сжимать данные HTTP?
Меньше пакетов проходят по сети
Быстрее ответ приложения
• Большинство веб-контента хранится несжатым
• Все браузеры поддерживают сжатие GZIP
– Совершенно прозрачно для пользователей
– Решение о сжатии принимается на основе заголовка User-Agent
– Политика NetScaler определяется по User-Agent и MIME-Type
• Обычное сжатие – в интервале от 3:1 до 5:1
• Сжатие данных на скоростях до 6 Gbps
43. NetScaler ускоряет доставку до пользователя
0,22
SharePoint
2,04
1,1
SAP
5,22 With NetScaler
1,3 Without NetScaler
Siebel CRM 4
Oracle 6,41
Forms 10,1
0 2 4 6 8 10 12
Response Time in Seconds