Инфраструктура




Это памятка для клиента, отвечает на вопросы:
  1. На каком языке написан их продукт.
  2. Кто с ним может работать на вашей стороне для самостоятельное эксплуатации.
  3. Почему так и что с этим делать.

Рабочие продукты изготавливаются на следующих технологиях:

  1. Веб сайты и системы на фреймворке Ruby on Rails,
  2. Высоконагруженные системы (хайлод-сервисы с большим посещением) на Phoenix / Elixir,
  3. Мобильные продукты - ReactNative.

Для работы с исходным кодом программы необходима подтвержденная квалификация разработчика по специальности Ruby on Rails, для получения квалификации разработчика Ruby on Rails необходимо подтвержденное наличие навыков веб разработки, html+css+js, устройства сети, навыки разработки программ (редактор, терминал, сеть, linux).

Подтвердить свою квалификацию разработчик может на любых официальных курсах. До недавнего времени я преподавал в постоянном режиме (https://geekbrains.ru/users/39464?tab=feedbacks#feedbacks):


Но сейчас количество обучающих платформ уже большое количество и на любой вкус и цвет, поэтому я больше не заполняю эту пустоту отсутствия знаний у людей и не преподаю, а просто проверяю сертификаты студентов для приема к работе, которые получены в любой из современных школ разработчиков.

Без подтвержденных навыков человеку нечего делать в проекте и даже прикасаться к нему - это базовое правило.

Технические детали проекта имеет какой-либо смысл изучать/обсуждать только со специалистом, это не обсуждается, для не специалистов информация по владению проектом далее, а если есть желание стать специалистом с ноля - минимум два года обучения по всем нужным специализациям, например в там же где я преподавал https://geekbrains.ru/geek_university/web.

Размещение и инфраструктура.

Проект написан и каким-то образом открывается (запускается) и выполняет свои функции - он физически состоит из файлов которые находятся на сетевом компьютере "сервер" и загружаются оттуда в браузер (Chrome / Firefox /...) при запросе адреса проекта.

Тут необходимо понимание работы DNS, CDN, Amazon (Route 53, S3), Heroku DevOps (виртуализации, маршрутизации):

Доменное имя (адрес в сtти) указывает что сайт по настроенному адресу необходимо загружать в конкретном месте. Информация об этом указывается и редактируется в DNS сервисе от Amazon - Route 53.

Сайт/API всегда открывается из конкретного места - по умолчанию (если проект не размещен специально на выделенных серверах) это облачная платформа www.heroku.com, используется мной уже больше 8 лет в продакшн системах, по следующим основаниям:

  1. горячая смена владельца (ownership), подключение разработчиков, бесшовная передача прав на продукты.
  2. стабильность эксплуатации (не за ваш счет).
  3. виртуализация,
  4. read-only доступ (безопасность),
  5. маршрутизация,
  6. корректное масштабирование по требованию (как базы данных, так и резкое увеличение нагрузки),
  7. защита от ddos атак,
  8. 99% uptime,
  9. отсутствие нагрузки на отдельного администратора инфраструктуры в штатном расписании, нужен только разработчик devops.
  10. git-only push deploy (выкладка происходит через инфраструктуру сохранения состояния продукта, что позволяет откатываться на предыдущие стабильные версии если что-то пошло не так).
  11. широкий набор бесплатных ресурсов не имеющий при близком рассмотрении аналогов в принципе - https://elements.heroku.com/addons
  12. изначальный фокус платформы это размещение в сети Ruby on Rails продуктов, на сегодняшний день это линейка всех языков в поддержке, также создатель языка Ruby теперь работает в этой компании и занимается развитием продуктов что сказывается на качестве всей линейки.

Файлы (вложения) в системе автоматически "бекапятся" (сразу складываются в бекап) и расположены в облачном хранилище Amazon S3.

Сам доступ к файлам идет сразу из облачного хранилища, что разделяет нагрузку с сервиса на CDN Amazon'а.

Принципы самостоятельной поддержки

Переносить "себе" на какую-либо "вашу собственную" инфраструктуру (например у вас есть сервер, чтобы это для вас не значило) имеет смысл только если вы сможете повторить развернутую инфраструктуру у себя.

Для этого вам понадобится не только отдельно следящий за "работоспособностью" всех узлов компетентный специалист 24х7, но также постоянная реакция на проблемы и поломки как оборудования / сети / так и самого эксплуатируемого проекта - жизнь системы это постоянные падения, перезагрузки, потеря данных, разрывы соединений и прочее из списка.

Пока все работает - значит что все службы отработали корректно. Как только одна из поддерживающих служб специалистов перестает наблюдать - вы получаете проблемы в работе которые нужно диагностировать и решать.

В рамках облачного сервиса эти проблемы решаются для каждой виртуальной машины "оптом" специалистами этой компании - они за это получают зарплату.

Расчет стоимости услуг за этот сервис формируется ежемесячно пост-фактум исходя из фактически потребленных ресурсов - процессорного времени, размера базы данных, прочих дополнений.

Право собственности и владение продуктом

Для того чтобы система принадлежала вам нет необходимости ее себе физически забирать, в большинстве случаев в итоге не находится возможности поднять, развернуть и поддерживать такого качества инфраструктуру, самостоятельно делать это достаточно емкий ежемесячный расход, при явной нецелесообразности.

Поэтому в heroku есть простая возможность смены "владельца" инфраструктуры, точно так же как и в Amazon, для этого вам понадобится завести аккаунт на heroku.com и сообщить ваш email - будет инициирована передача прав владения.

Не надо присылать мне пароль от этого аккаунта - в этом смысл что после передачи буду иметь доступ уровня "разработчик", имею доступ к выкладке обновлений и конфиуграций, но никаких административный функций владельца у меня больше не будет в доступе.

Точно также вам необходимо зарегистрировать аккаунт на Amazon Web Services - тут уже необходимо выдать мне логин и пароль, чтобы я произвел настройки сервисов S3 и Route 53. При наличие специалиста с вашей стороны он сможет это сделать сам, уточняю специалиста с "подтвержденной" квалификацией на эти действия.

Для прохождения нужных регистраций вам необходимо иметь работающий email, может понадобтися номер телефона, и банковская карта оплаты (у меня для этих целей заведена корпоративная карта для проведения расходных платежей). Базовые стоимости все беспланые и не выходят за рамки потребеления, счета выставлются только в конце месяца вместе с детализированной сметой.

Последнее как ответ на возможный вопрос - "все понятно, но быстренько скажите что куда ввести и мы сами сделаем". К сожалению такой инструкции нет, она возможна только в диалоге с квалифицированным специалистом, после подтверждения его квалификации и ответов на его точечные вопросы.

Вопросы о том как тот или иной узел функционирует требуется изучать самостоятельно по документации или получать квалификацию по соответсвующей специальности в онлайн школах.

Контрольные вопросы подвтеждающие что вы влаедете продуктом:

  1. У вас есть учетная запись в heroku.com и вы указаны там как owner (владелец)
  2. У вас есть учетная запись в в aws.amazon.com и все настройки (включая файлы) находятся в нем.

На данный момент этом вся информация которая необходима для владения инфраструктурой.




Обсуждение


Gravatar 140 9aac498dbd9b15de660eb9130f3fc68f7ceccd45019da4425654ffe20333a527

Поделиться ссылочкой

Подписка на новые статьи этого блога


Прочие продукты (новинка!)



Экономика токена (бесплатный продукт)


Uploads 2f1510070533879 wdaffh6qk2 a7cbf39c18605a547a2cd68c1342a7ba 2fscreen%2bshot%2b2017 11 07%2bat%2b18.47.23
Экономическое обеспечение присутствия токенов (блокчейна) в цепочке деятельности использователей продукта / услуги (бизнеса)

Тип продукта — практическая методология, отвечает на вопрос "Как конкретно что-то сделать?".

Что внутри (материалы) — 4 видео эпизода, требования к применению, принципиальная схема компонентов (архитектура), чек-листы для проверки результатов.


Как сделать правильный Whitepaper


Uploads 2f1509981524306 79qzy3xlzlb 286ee2a1c3964d0be34bf9da2e8fc7f3 2fscreen%2bshot%2b2017 11 06%2bat%2b17.57.24
Пошаговый план создания результативного пред-инвестиционного документа с разбором каждого шага:
  1. Природа появления и назначения такого типа документа
  2. Архитектура документа
  3. Редактура и формат

Тип продукта — практическая методология, отвечает на вопрос "Как конкретно что-то сделать?".

Что внутри (материалы) — 7 видео эпизодов, требования к применению, принципиальная схема компонентов (архитектура), чек-листы для проверки результатов.



Еще можно почитать публикации: