Веб разработка

О хостинге


23 сентября 2018

Когда я завершила разработку своего сайта ("завершила" это сильно сказано конечно, ещё много всего предстоит сделать), сразу же встал вопрос, куда я могу его развернуть. Мне казалось, что основная работа уже позади, и дело осталось за малым. Заблуждение! На развёртывание сайта ушло не меньше времени и сил! Я и не догадывалась, что меня ждёт. Этим с вами и хочу поделиться в этом посте.

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

  • Google Cloud (Google App Engine / Google Compute Engine предоставляют кредит $300 на год)
  • Amazon Web Services (AWS, предоставляют кредит $100 на год)
  • Heroku (для небольших проектов от $7 в месяц)
  • Digital Ocean (от $5 в месяц)

Бекенд моего сайта написан на языке программирования Go и взаимодействует с базой данных - MongoDB (не реляционная база данных).

Так как мои читатели в основном люди других специальностей (пока :)), поясню. Разработка сайта делится на две основных части - разработка frontend и backend. Frontend - это вся красота, которую вы видите на экране браузера или мобильного телефона, грубо говоря, дизайн сайта. Backend же отвечает за взаимодействие с сервером:

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

Продолжим. Для развёртывания сайта я остановилась на Google Cloud (Google App Engine). В моей голове сидели фраза "ну что может быть лучше Google", большой размер предоставляемого кредита и простота развёртывания. Однако, как оказалось, Google App Engine "не дружит" с MongoDB. Другими словами, я не могу там же завести себе базу данных. Необходимо найти стороннего провайдера и подключаться к базе через URL. И только поэтому я не могла пользоваться стандартной средой разработки, так как на ней стоит ограничение на подключение к сторонним серверам. В итоге, привет гибкая среда разработки и прощайте $60 в месяц с моего кредита. MLab, облачный провайдер MongoDB, очень хотел сдирать с меня ещё по $15 в месяц, но я не поддалась и пользовалась бесплатно песочницей (маленькой общедоступной базочкой данных). Также молчу про $12 в год, которые я плачу за домен. Это немыслимые цифры для учебного проекта. Сразу же встал вопрос: куда переезжать? И не будут ли меня ждать такие же сюрпризы у других провайдеров?

В июле мне выпала уникальная возможность выступить на митапе Go разработчиков в компании ДомКлик. На докладе я поделилась своей проделанной работой, как я учила и учу язык программирования Go, с какими трудностями сталкивалась. Благодаря докладу, я познакомилась с замечательным человеком, который подсказал решение моих проблем: арендовать свой Linux сервер, установить там базу данных MongoDB и развернуть сайт. Так появилось системное администрирование в моем большом списке для самостоятельного изучения.

В итоге, мой сайт переехал с Google Cloud на арендованный Linux сервер, за который я плачу $15 в ГОД (сервис Ramnode). Всё! Базу данных я установила там самостоятельно и бесплатно. Теперь я чувствую, что я сама себе хозяин, и никто не будет списывать с моих счетов необоснованно большие суммы денег. Не могу сказать, что переезд прошёл легко, но это того стоило!

Дальше в постах я поделюсь с вами, как можно развернуть Go-приложение на сервере, а также всеми учебными ссылками по системному администрированию, которыми я пользовалась.

До скорой встречи :)

By Maria Efimenko

0 Комментариев

Оставить комментарий: