13.07M
Category: internetinternet

Проектирование интернет-систем

1.

01
Введение
«ПРО Е К Т ИРО ВА НИЕ ИНТ Е Р НЕ Т -СИСТЕМ»
ПА В Е Л КО Ч У РКО , К .Т. Н. , ДО ЦЕ НТ
К АФ Е Д РА И И Т
EPL A NE. CO M

2.

Эталонная модель OSI/ISO
7. Доступ к сетевым службам
6. Представление и шифрование данных
5. Управление сеансом связи
4. Прямая связь между конечными пунктами и
надёжность
3. Определение маршрута и логическая
адресация
2. Физическая адресация
1. Работа со средой передачи, сигналами и
двоичными данными

3.

Сетевая модель на практике
OSI/ISO
Протокол
Протокол
TCP/IP
7. Прикладной
HTTPS
HTTP
1. Прикладной
6. Представления
-
GZIP
1. Прикладной
5. Сеансовый
TLS
-
1.5 ???
4. Транспортный
TCP
TCP
2. Транспортный
3. Сетевой
IPv6
IPv4
3. Межсетевой
2. Канальный
IEEE 802.11
IEEE 802.3
4. Сетевого доступа
1. Физический
Радиоканал
Оптоволокно
4. Сетевого доступа

4.

Сервер
• Клиент-серверная архитектура ПО
• Сервер - программный компонент
вычислительной системы,
выполняющий сервисные
(обслуживающие) функции по
запросу клиента, предоставляя ему
доступ к определённым ресурсам
или услугам

5.

Стандартные серверы
• Универсальные серверы
не предоставляют никаких услуг самостоятельно, а
предоставляют серверам услуг упрощённый интерфейс
к ресурсам межпроцессного взаимодействия и/или
унифицированный доступ клиентов к различным
услугам.
Inetd, RPC
• Маршрутизации
• Сетевых служб
DHCP, DNS, RADIUS, VPN
• Информационных служб
time, finger, SNMP, NTP
• Файловые серверы
FTP, SFTP, HTTP, SMB, NFS
• Серверы доступа к данным
LDAP, *SQL, NoSQL
• Службы обмена сообщениями
SMTP, POP3, IMAP, Jabber, NNTP, IRC
• Серверы удаленного доступа
telnet, SSH, RSH, X-Window System, RDP
• Серверы приложений
Игровые, Стрим, …

6.

Состав серверного ПО
• Сервер приложения
• Файловый сервер
• Сервер доступа к данным
Обработчик
Веб-сервер
СУБД
• Сервер обмена сообщениями
• Сетевые службы
• Информационные службы
• Удаленный доступ
• Универсальные серверы
Операционная система
+
ПО, входящее в состав ОС

7.

Стек LAMP
• Linux операционная система
Apache веб-сервер
MySQL / MariaDB СУБД
PHP / Python / Perl обработчик
• LEMP – Nginx [Engine-X]
• WAMP – Windows
• WASP – Windows, SQL Server

8.

Стек MEAN
• MongoDB документоориентированная СУБД
Express.js каркас веб-приложений
Angular.js MVC-фреймворк для фронтенда
Node.js платформа для серверной разработки
• JavaScript в основе всего

9.

LAMP vs. MEAN
любой фронтенд
или его отсутствие
Client Side
Обработчик
Express.js
PHP
Apache
Веб-сервер
MySQL
СУБД
Linux
Server Side
Angular.js
ОС +
ПО, входящее в
состав ОС
Node.js
MongoDB
любая ОС

10.

LEMP в теории

11.

…и на практике
Nchan
Linux
Linux
Postfix
Linux
MariaDb
PHP-FPM
Nginx
GCE
Load
Maxscale
Balancer
Redis
GKE
MariaDb
PHP-FPM
Nginx
Linux
MariaDb
Linux
Node.js
Linux
Linux
GCF
Go
Node.js
Linux
Node.js

12.

…и в реальности

13.

…через год

14.

Будни DevOps

15.

True or False?
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
The most reliable systems are built using cheap, unreliable components.
The techniques that Google uses to scale to billions of users follow the same patterns you can use to
scale a system that handles hundreds of users.
The more risky a procedure is, the more you should do it.
Some of the most important software features are the ones that users never see.
You should pick random machines and power them off.
The code for every feature Facebook will announce in the next six months is probably in your browser
already.
Updating software multiple times a day requires little human effort.
Being oncall doesn’t have to be a stressful, painful experience.
You shouldn’t monitor whether machines are up.
Operations and management can be conducted using the scienti c principles of experimentation and
evidence.
Google has rehearsed what it would do in case of a zombie attack.

16.

17.

Напоследок
In The Elements of Programming Style, Kernighan and Plauger (1978) wrote:
Debugging is twice as hard as writing the code in the rst
place. Therefore, if you write the code as cleverly as
possible, you are, by de nition, not smart enough to debug
it.

18.

Продолжение следует
Е СТ Ь В О ПРО СЫ?
English     Русский Rules