Файл: Критерии выбора средств разработки WEB-приложений (CMS 5).pdf
Добавлен: 28.03.2023
Просмотров: 691
Скачиваний: 5
Глава №3. Хостинг сервер
Далее нам необходимо разобраться в выборе хостинга, как локального (localhost), так и постоянного (для получения доступа к проекту из вне).
Для начала разберём что же такое локальный хостинг и зачем он нужен на этапах разработки и обновления проекта.
Значение аббревиатуры localhost выражается в компьютерных сетях как: стандартное, официально зарезервированное доменное имя для частных ip-адресов. Можно так сказать, что, посылая запрос к локальному хосту вы обращаетесь к этому же самому компьютеру, на котором сейчас и ведёте работу. Наверняка вам ранее попадались такие понятия, как localhost и 127.0.0.1, значение работы которых описан выше. А вообще localhost является альтернативным способом для обращения к локальному ip по DNS 127.0.0.1
Диапазон ip адресов локальных сетей: 127.0.0.1 - 127.255.255.255
Вот примерно так переводится с технического языка это понятие localhost. Теперь же мы переходим к выбору подходящего ПО для создания своей локальной сети. А именно к программе под названием Open Server Panel (рис.3,4).
Чем хорошо, что эта программа полностью совместима начиная с версией операционной системы Windows 7 и выше, а также частично имея поддержку Windows XP и Vista.
Вот ещё ряд возможностей, которым обладает Open Server:
- Относительно быстрый запуск и остановка сервера
- Возможность поставить в настройках автозапуск сервера при открытии программы, которую также поставить на автозапуск при запуске Windows
- Поддержка нескольких проектов одновременно
- Можно менять такие модули, как HTTP, MySQL, PHP
- Поддержка интерфейса нескольких языков
…и многих других её преимуществ, как достаточно глобальных, так и по мелочи.
А вот недостатков у программы не так уж и много, и лично для меня не доставляют каких-либо проблем. Вот основные из которых:
- Возможет старт сервера только от имени учётной записи администратора.
- Отсутствует функция авто обновления, приходится в ручном режиме её переустанавливать и переносить проекты на новую версию программы.
После того как наш проект полностью готов необходимо позаботится о его переносе во всемирную паутину. Так, как установка своего домашнего хост-сервера, работа которого кстати может происходить через тот же Open Server (только подключена к домену и имеет доступ из сети интернет) не целесообразна, по таким причинам как: финансовый расход, стабильность работы, самостоятельная настройка и подключение различных функций сертификатов и других «танцев с бубном».
И для этого, очевидно, нам потребуется выбор уже готового хостинг провайдера, отвечающего по всем современным критерием нашего проекта. В интернете можно найти огромное количество хостингов, как работающие в России, так и находящиеся на территории, других стран, впрочем, существуют и международные, все те, которые согласны взять работу проекта на себя. Поэтому посоветовать тут определённый вариант достаточно трудно, мы лишь разберём необходимые, как уже говорилось ранее, их критерии, необходимые для успешной реализации своего проекта.
Для начала нужно сравнить критерии, поддержка которых необходима для работы нашего проекта, вот её основные примеры: PHP, MySQL, Perl, Python, совместимость популярных CMS. А также поддерживаемая скорость работы сервера (Mbps, Ping) и по возможности различные степени защиты от хакерских атак, такие как: ssl (https) сертификат, Anti-DDoS, к теме кибербезопасности мы ещё вернёмся в конце.
Глава №4. Домен
Что же такое доменное имя (адрес) web-сайта? Доменный адрес является уникальным идентификатором хоста, могут состоять из латинских букв и арабских цифр. Домены обладают своими определёнными уровнями, разделяются на первый (верхний, родовой), второй и третий уровень (субдомен, поддомен). Считывание домена идёт с лева на право.
-
4.1 Корневой домен - root domain
Домен самого верхнего уровня имеет отметку «точка» и является нулевым.
-
4.2 Верхний (первый) уровень
Домены верхнего уровня ещё так называемые доменные зоны. Которые разделены на такие группа как: международные, национальные, новые верхнего уровня. Вот пример распространённых доменов первого уровня –
Международные: .com .net .pro .info .club .tv .name .xyz .biz .gov и т.д.
Россия: .ru .rus .рф .su .mos и т.д.
Украина: .ua и т.д.
-
4.3 Второй уровень
На домены первого уровня идёт регистрация доменов второго уровня. Именно они распространены и используются в коммерческих целях. Как пример доменами второго уровня являются сайты google.com, yandex.com, synergy.ru, megacampus.ru.
-
4.4 Третий уровень
А на домены второго уровня можно регистрировать домены третьего уровня, их ещё называют субдоменами и поддоменами. К домену третьего уровня относятся такие домены, как gmail.google.com и my.megacampus.ru. Так же возможны домены четвёртого уровня и более.
-
4.5 IDN-домен
Помимо того существуют так называемые IDN-домены, которые состоят из символов национальных языков. IDN работает через систему кодирования под названием Punycode, потому что DNS работает только через латинский язык. Например, зарегистрированный домен Университет.рф будет выглядеть на латинице, как xn--c1adicwtd2j.xn--p1ai. Все IDN-домены имеют префикс xn--, а в имени IDN домена доступно использования только тех символов, которые принадлежат алфавиту выбранного вами языка. Как же это всё работает в адресной строке браузера, спросите вы. А всё очень просто, при указании в адресной строке IDN- домена браузер в автоматическом режиме его преобразует в Punycode (функция, встроенная почти в любой более-менее современный браузер) и соответственно открывается вызванная страница.
Определённые ограничения при регистрации IDM:
- Имя, состоящее из символов разных алфавитов
- Использование символов из неподдерживаемого алфавита
- Использование символов алфавитов, которые не входят в алфавит указанного при регистрации языка домена
- В таких доменах, например, как .tel .org запрещается регистрировать доменные имена, идентичными занятыми доменными именами, но на другом языке
Глава №5. OS хостинг сервера
Что не менее важно, это определится с какой операционной системой «на борту» выбирать хост провайдер. Или какую OS ставить на свой домашний сервер. Что же на самом деле лучше и оптимальнее для нас Windows или Linux (Unix).
-
5.1 Windows
Начнём с графического интерфейса, в Windows Server он почти такой же, как и на обычной (десктопной, пользовательской) версии, которая знакома почти каждому из нас. Но в техническом плане тут далеко не так всё просто! Windows Server технически сложная ось, которая хоть и поддерживает большой набор функций, но вариативность (разнообразие, варианты) например простого сайта-визитки достаточно высока. Дело в том, что по сравнению с Linux различных готовых материалов и документаций достаточно мало. Есть много чего неэффективного и устаревшего, либо упрощённого, или вообще, например, платного контента на эту тему.
К тому же Windows Server наверное самая ресурсоёмкая операционная система. Что означает, часть, возможно большую (зависит от ресурсов хост-машины), VDS необходимо будет освободить для системных процессов. Тем более не стоит забывать, что лицензия, как и в обычной версии является платной (про пиратскую я не говорю), что не есть хорошо, если в подсчёт идёт каждый рубль.
- 5.2 Linux
В народе считается, что Linux и его разновидности, например, Ubuntu или FreeBSD, выбирают достаточно опытные системные администраторы и web-разработчики, обладающие навыками настройки сервера в консоли в ручном режиме без такового графического интерфейса. Но этот минус легко решить, просто установив специальную на то панель управления, например, cPanel или OpenPanel.
Как я уже указывал Linux является общим названием Unix подобных операционных систем, они имеют свои определённые особенности и отличия. Поэтому среди их разновидностей тоже необходимо выбрать подходящий вам вариант. В основном идёт выбор по требованиям CMS (система управления содержимым), либо же смотря на технические требования web-сайта к программным обеспечениям и их необходимым версиям. Нужно изучить требования web-проекта и сверится с таблицей версий ядра и ПО системы. Пример (рис. 5). Также, если не удалось обнаружить в списки нужную версию ядра, то это можно исправить, найдя решение на тематическом ресурсе, ведь Linux системы очень гибкие в настройке. И наверняка можно исправить таким способом, как установка дополнительных версий PHP через панель управления, если конечно в ней присутствует такая возможность. Помимо во многих панелей управления присутствует возможность переносить сои проекты между разными OS Linux, но при условии, что у них у обоих будет установлена панель управления.
Глава №6. Характеристики web-приложений
Современные web-приложения пользователи стараются использовать, так сказать, по полной мере. Они должны быть доступны 24/7 из любой точки мира, где очевидно есть доступ в интернет, а также быть совместимым с любым устройством и операционной системы. Web-приложения должны быть безопасными и гибкими, а также масштабируемыми, чтобы быть устойчивыми к резким скачкам нагрузки. Полнофункциональные пользовательские интерфейсы делают все более сложные схемы с поддержкой клиентов на базе JavaScript и обеспечивают эффективное взаимодействие через интерфейс WEB-API. Платформа ASP.NET Core хорошо оптимизирована для современных web-приложений и сценариев размещения в облаке. При помощи её модульной структуры приложения используют только те компоненты, которые им необходимы по факту, что позволяет повысить их безопасность и производительность при одновременном снижении требований к ресурсам размещения.
"Закон Атвуда: любое приложение, которое можно написать на JavaScript, в конечном итоге будет написано на JavaScript".- Джефф Атвуд (Jeff Atwood)
- 6.1 eShopOnWeb (справочное приложение)
Справочное приложение eShopOnWeb на его примере демонстрируются определённые принципы и рекомендации. Это приложение может представлять собой, например, простой интернет-магазин, в котором можно просматривать различные товары. Справочное приложение намеренно упрощено для наилучшего понимания.
-
6.2 Масштабируемость и размещение в облаке
Платформа ASP.NET Core оптимизирована для сценариев размещения в облаке, в основном, как частное, общедоступное или другое, обеспечивая низкое потребление памяти при высокой пропускной способности. Тем самым из-за минимальной потребности приложений ASP.NET Core в ресурсах вы имеете возможность размещать в облаке больше приложений при меньших затратах в плане модели оплаты по мере использования. Высокая пропускная способность позволяет обслуживать в приложении большее количество клиентов при тех же затратах аппаратных ресурсов, благодаря чему сокращается расходы, в финансовом плане, в серверы и инфраструктуру размещения.
-
6.3 Модульная и слабая связанность
Пакеты с названием NuGet часто используются в .NET Core, а вот в самих приложениях ASP.NET Core используется большое количество предоставляемых NuGet библиотек. Такая вид упрощения функций позволяет приложениям использовать и развертывать только те функции, которые им необходимы по факту, благодаря чему сокращается объем потребляемых ими ресурсов и размер так называемой контактной зоны, в которой присутствуют уязвимости. Платформа ASP.NET Core тоже полностью поддерживает внедрение зависимостей на внутреннем уровне и на уровне приложения. Интерфейсы могут иметь множество реализаций, переключение между которыми осуществляется при необходимости. Внесение зависимостей позволяет реализовать слабое связывание приложений с такими интерфейсами вместо конкретных реализаций, с помощью этого упрощается их расширение, обслуживание и тестирование.
-
6.4 Кроссплатформенная
При помощи кроссплатформенной поддержке ASP.NET Core может выполняться в операционных системах Linux, macOS и Windows, что даёт разработчикам приложений ASP.NET Core множество различных возможностей для разработки и развертывания. Контейнеры Docker на Linux и Windows могут использоваться для размещения приложений ASP.NET Core, это позволяет им использовать преимущества контейнеров и микрослужб.