Post on 16-Jun-2015
description
Разработка и эксплуатация облачных сервисов Битрикс - изнутри
Александр СербулРуководитель направления контроля качества
интеграции и внедрений 1С-Битрикс
Битрикс24 – облачный сервис для совместной работы
Социальнаясеть
Задачии проекты
Бизнес-чат и видеозвонки
CRM
Мобильноеприложение
Маркетплейс24
Телефония Почтовый сервер
Битрикс24.ДискОнлайн-редактирование
документов
Календари
Битрикс24.Network
Социальнаясеть
Задачии проекты
Бизнес-чат и видеозвонки
CRM
Мобильноеприложение
Маркетплейс24
Телефония Почтовый сервер
Битрикс24.ДискОнлайн-редактирование
документов
Календари
«Паутина» облачных сервисов
«1С-Битрикс: Управление сайтом»:
- Облачный мониторинг
- Облачный бэкап
- CDN
- Облачный счетчик скорости сайтов
- Мобильные PUSH-уведомления
- Видеозвонки по WebRTC (кластер)
- на подходе: кластер рекомендаций
Нагрузки
Битрикс24 – десятки миллионов хитов в сутки
Push-уведомления – десятки в секунду
Облачный мониторинг – десятки тысяч сайтов
Облачный бэкап – сотни задач на бэкап
одновременно
Облачный счетчик скорости – больше 300 вставок в
секунду
Облачный сервис рекомендаций – десятки
терабайт к новому году
Что будет дальше
Какие нужны люди и сколько
Технологии
Управление проектами
Инструменты
Amazon Web Services
Потом пойдем пить пиво с девушками в бар!
Фетишизм
Фетишизм (fetichisme) — религиозное поклонение
неодушевлённым материальным предметам —
фетишам, которым приписываются сверхъестественные
свойства, получившее распространение у первобытных
племён.
Фетишизм в IT
Нам поможет Agile!
Continuous Integration!!!
Осталось внедрить Git и цель
достингута!
Без Retrospective – успеха не видать!
PHP – отстой, пишем на С++!
Поклоняйтесь людям!
Главный –
разработчик/сисадмин/дизайнер
Менеджер – носит печеньки
От разработки нужно фанатеть!
Влюблять в профессию
Минимизация текучки кадров
Звезды – растят звезд
Открывайте и поощряйте звезд
Делайте их доступными
«Круглая» иерархия
Побеждает «Польза»
Подводные камни у Разработчиков
Ожирение мозга
Виртуализация действительности
«Я не сисадмин»
«Я не программист»
Как писать: TCP или IP?
Цена абстракции
Реляционный McDonalds
SELECT * FROM TABLE1
SELECT … JOIN … JOIN … JOIN … JOIN …
Объектный АДЪ
class CTools extends Cutils …
$h = ObjSingleton::createInstance(new
Config…(…))«Авраам родил Исаака; Исаак родил Иакова; Иаков
родил Иуду и братьев его...
...Азор родил Садока; Садок родил Ахима; Ахим родил Елиуда;
Елиуд родил Елеазара; Елеазар родил Матфана;
Матфан родил Иакова;»
Кто эти люди?
Кто эти люди?
Ken Thompson
(sitting) and
Dennis Ritchie at
PDP-11
Родословная
Учим стандарты
RFC (Request for Comments) - «рабочее
предложение», «тема для обсуждения»
Internet Society (ISOC) — общество
Интернета
Internet Engineering Task Force (IETF) —
Инженерный совет Интернета
World Wide Web Consortium (W3C) —
Консорциум Всемирной Паутины
TCP/IP, SCTP ...
Системные API
В свободное время
В свободное время
В свободное время
Команда
Чем меньше, тем лучше
«Круглая» иерархия
Люди фанатеют
Звезды доступны и согревают
Ситуационное лидерство
Менеджер – носит ПЕЧЕНЬКИ
Полезные «фетиши»
Интенсивный анализ
«Простое» проектирование
Контроль версий (hg, git)
Парное групповое
программирование
Аудит кода
Понимание среды исполнения
Технологии
Адекватность
Shell
C
C++
PHP/Python/Ruby
Java/C#
Инструменты
Консоль
ps, top, lsof
strace, tcpdump
xdebug, xhprof
Инструменты
IDE – по выходным за хорошее
поведение
Инструменты
Wiki
Трекер задач
Море автотестов!!!
Кофемашина
Печеньки
Проектирование
Проектирование
Погружение в предметную область
Как можно проще
Но не проще необходимого
Точки расширения
Управление проектами
Менеджер … в точках риска
Коммуникации
Поиск корня проблемы
Положительная мотивация
Примеры веб-кластеров
Примеры веб-кластеров: «Битрикс24»
Elastic Load Balancing
Web 1
Elastic Load Balancing
Dynamic
Web N
…CloudWatch + AutoScaling
Web 1 Web 2 Web N
…CloudWatch + AutoScaling
S3
management, monitoring,
backup
Static
CDN
js, css
DynamicStatic
CDN
js, css
imag
es
(clie
nts)
imag
es (
clie
nts)
local cache
local cache
local cache
local cache
local cache
control cache: memcached
mysqld
mysqld
mysqld
mysqld
mysqld
mysqld
master-master replication
master-master replication
master-master replicationmysqld
mysqld
mysqld
mysqld
mysqld
mysqld
mysqld
mysqld
mysqld
mysqld
mysqld
mysqld
control cache: memcached
control cache: memcached
control cache: memcached
control cache: memcached
control cache: memcached
Web 2
local cache
Amazon Web Services
Шаблоны проектирования
Enterprise Middleware
Просто, для домохозяек
Ключевые сервисы
S3 – хранение
EC2, ELB – виртуалки, балансер
DynamoDB – NoSQL
Kinesis – буфер потока данных
SQS – очереди сообщений
CloudFront - CDN
Интеграция
AWS SDK for PHP
AWS SDK for Java
Просто, логично, 100% документация
Отказоустойчивость
Датацентры
Балансировщики
Снепшоты
CloudWatch
Архитектура
Спасибо за внимание! Вопросы?
AlexSerbul