По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В продолжение статьи про Docker, сегодня мы расскажем про Dockerfile — скрипт, который позволяет автоматизировать процесс построения контейнеров — шаг за шагом, используя при этом base образ. Докерфайлы и синтаксис для их создания Как уже было сказано выше, каждый Докерфайл — по сути скрипт, который автоматически выполняет определенные действия или команды в base образе, для формирования нового образа. Все подобные файлы начинаются с обозначения FROM — также как и процесс построения нового контейнера, далее следуют различные методы, команды, аргументы или условия, после применения которых получится Docker контейнер. Для начала, быстренько пройдемся по синтаксису — он, кстати говоря, крайне простой, с командами, говорящими самими за себя. В Докер файлах содержится два типа основных блоков — комментарии и команды с аргументами. Причем для всех команд подразумевается определенный порядок — подробнее об этом ниже. Ниже типичный пример синтаксиса, где первая строка является комментарием, а вторая — командой. # Print «Hello from Merionet!» RUN echo «Hello from Merionet!!» Перед тем, как переходить к собственно написанию собственно Докерфайла, сначала разберем все возможные команды. Все команды в Докерфайлах принято указывать заглавными буквами — к примеру RUN, CMD и т.д. Команда ADD — данная команда берет два аргумента, путь откуда скопировать файл и путь куда скопировать файлы в собственную файловую систему контейнера. Если же source путем является URL (т.е адрес веб-страницы) — то вся страница будет скачена и помещена в контейнер. # Синтаксис команды: ADD [исходный путь или URL] [путь назначения] ADD /my_merionet_app /my_merionet_app Команда CMD — довольно таки похожая на команду RUN, используется для выполнения определенных программ, но, в отличие от RUN данная команда обычно применяется для запуска/инициации приложений или команд уже после их установки с помощью RUN в момент построения контейнера. # Синтаксис команды: CMD %приложение% «аргумент», «аргумент», .. CMD «echo» «Hello from Merionet!». Команда ENTRYPOINT устанавливает конкретное приложение по умолчанию, которое используется каждый раз в момент построения контейнера с помощью образа. К примеру, если вы установили определенное приложение внутри образа и вы собираетесь использовать данный образ только для этого приложения, вы можете указать это с помощью ENTRYPOINT, и каждый раз, после создания контейнера из образа, ваше приложение будет воспринимать команду CMD, к примеру. То есть не будет нужды указывать конкретное приложение, необходимо будет только указать аргументы. #Синтаксис команды: ENTRYPOINT %приложение% «аргумент» # Учтите, что аргументы опциональны — они могут быть предоставлены командой CMD или #во время создания контейнера. ENTRYPOINT echo #Синтаксис команды совместно с CMD: CMD «Hello from Merionet!» ENTRYPOINT echo Команда ENV используется для установки переменных среды (одной или многих). Данные переменные выглядят следующим образом «ключ = значение» и они доступны внутри контейнера скриптам и различным приложениям. Данный функционал Докера, по сути, очень сильно увеличивает гибкость в плане различных сценариев запуска приложений. # Синтаксис команды: ENV %ключ% %значение% ENV BASH /bin/bash Команда EXPOSE используется для привязки определенного порта для реализации сетевой связности между процессом внутри контейнера и внешним миром — хостом. # Синтаксис команды: EXPOSE %номер_порта% EXPOSE 8080 Команда FROM — данную команду можно назвать одной из самых необходимых при создании Докерфайла. Она определяет базовый образ для начала процесса построения контейнера. Это может быть любой образ, в том числе и созданные вами до этого. Если указанный вами образ не найден на хосте, Докер попытается найти и скачать его. Данная команда в Докерфайле всегда должна быть указана первой. # Синтаксис команды: FROM %название_образа% FROM centos Команда MAINTAINER — данная команда не является исполняемой, и просто определяет значение поля автора образа. Лучше всего ее указывать сразу после команды FROM. # Синтаксис команды: MAINTAINER %ваше_имя% MAINTAINER MerionetNetworks Команда RUN - является основной командой для исполнения команд при написании Докерфайла. Она берет команду как аргумент и запускает ее из образа. В отличие от CMD данная команда используется для построения образа (можно запустить несколько RUN подряд, в отличие от CMD). # Синтаксис команды: RUN %имя_команды% RUN yum install -y wget Команда USER — используется для установки UID или имени пользователя, которое будет использоваться в контейнере. # Синтаксис команды: USER %ID_пользователя% USER 751 Команда VOLUME — данная команда используется для организации доступа вашего контейнера к директории на хосте (тоже самое, что и монтирование директории) # Синтаксис команды: VOLUME [«/dir_1», «/dir2» ...] VOLUME [«/home»] Команда WORKDIR указывает директорию, из которой будет выполняться команда CMD. # Синтаксис команды: WORKDIR /путь WORKDIR ~/ Создание своего собственного образа для установки MongoDB Для начала создадим пустой файл и откроем его с помощью vim: vim Dockerfile Затем мы можем указать комментариями для чего данный Докерфайл будет использоваться и все такое — это не обязательно, но может быть полезно в дальнейшем. На всякий случай напомню — все комментарии начинаются с символа #. ######## # Dockerfile to build MongoDB container images # Based on Ubuntu ######## Далее, укажем базовый образ: FROM ubuntu Затем, укажем автора: MAINTAINER Merionet_Translation После чего обновим репозитории(данный шаг совершенно необязателен, учитывая, что мы не будем их использовать ) : RUN apt-get update После укажем команды и аргументы для скачивания MongoDB (установку проводим в соответствии с гайдом на официальном сайте): RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 RUN echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | tee /etc/apt/sources.list.d/mongodb.list RUN apt-get update RUN apt-get install -y mongodb-10gen RUN mkdir -p /data/db После чего укажем дефолтный порт для MongoDB: EXPOSE 27017 CMD [«--port 27017»] ENTRYPOINT usr/bin/mongod Вот как должен выглядеть у вас финальный файл — проверьте и, затем, можно сохранить изменения и закрыть файл: ######### # Dockerfile to build MongoDB container images # Based on Ubuntu ######### FROM ubuntu MAINTAINER Merionet_Translation RUN apt-get update RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 RUN echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | tee /etc/apt/sources.list.d/mongodb.list RUN apt-get update RUN apt-get install -y mongodb-10gen RUN mkdir -p /data/db EXPOSE 27017 CMD ["--port 27017"] ENTRYPOINT usr/bin/mongod Запуск контейнера Docker Итак, мы готовы создать наш первый MongoDB образ с помощью Docker! sudo docker build -t merionet_mongodb . -t и имя здесь используется для присваивания тэга образу. Для вывода всех возможных ключей введите sudo docker build —help, а точка в конце означает что Докерфайл находится в той же категории, из которой выполняется команда. Далее запускаем наш новый MongoDB в контейнере! sudo docker run -name MerionetMongoDB -t -i merionet_mongodb Ключ -name используется для присвоения простого имени контейнеру, в противном случае это будет довольно длинная цифро-буквенная комбинация. После запуска контейнера для того, чтобы вернуться в систему хоста нажмите CTRL+P, а затем CTRL+Q. Заключение Всем спасибо за внимание, теперь вы можете очень много экспериментировать с созданием Докерфайлов и ваших собственных образов, не бойтесь пробовать упростить привычные вам процессы установки приложений с помощью контейнеров — возможности крайне велики, и мы постараемся охватить их в следующих статьях.
img
Мир VoIP (Voice over IP) многогранен. На рынке существует целое множество решений для построения корпоративных систем связи – IP – АТС. Нас интересуют программные «open source» решения, поэтому, сегодня мы сравним две популярные телефонные платформы и ответим на вопрос: что круче, FreeSWITCH или Asterisk? :) Про Asterisk Давайте немного теории: Asterisk - программная автоматическая телефонная станция (АТС) на базе протокола IP, которая способна предложить богатый, с точки зрения телефонии, инструментарий для офиса. Asterisk, будучи одной из первых программных IP-АТС был создан в 1999 году как решение с открытым кодом (open source). При поддержке компании Digium в 2005 году IP – АТС увидела свет и была выпущена в «продакшн». Реализация происходит под двумя лицензиями: GNU GPL (General Public License) и патентная лицензия для разработки собственных решений на базе Asterisk, рассчитанных на дальнейшую продажу. Более миллиона пользователь радуются IP – АТС Asterisk каждый день по всему миру :) Но не все так гладко (удар молнии за окном). Исторически, Asterisk имеет ряд проблем, связанных с масштабируемостью, нестабильностью работы при повышении нагрузки. С учетом особенностей лицензирования, многие пользователи (в том числе компании - разработчики) искали новый продукт. Про FreeSWITCH В 2006 году группа бывших разработчиков Asterisk приняли решение разработать альтернативное решение – на свет появился FreeSWITCH. Вдохновленные модульной структурой веб – сервера Apache, команда разработчиков преследовала цель улучшить параметры масштабируемости и стабильности работы на разных платформах. FreeSWITCH создан по модели состояний, вследствие чего, каждый вызов(канал) работает по отдельному потоку данных. Для построения структуры, использовались компоненты open – source решений, такие как, например, Sofia SIP – SIP UA с открытым исходным кодом, созданный компанией Nokia. Что под капотом? Asterisk – модульная структура. Во время работы, Asterisk использует общие ресурсы, включая программные потоки – это главная проблема при большой интенсивности вызовов. Несмотря на сложность и многогранность программного кода, на котором написан Asterisk, он находит огромное множество применений в сети. С другой стороны, FreeSWITCH написан на C, структура которого более понятна и прозрачна. Потоки процессов выполняются последовательно и отдельно для каждого канала, что безусловно отличает Фрисвитч от Asterisk. При этом, как правило, по этой причине FreeSWITCH требует больший объем оперативной памяти (RAM) Отметим, что FreeSWITCH имеет хорошо документированный API (Application Programming Interface), сегментированный по ролям. Такая структура обеспечивает безопасное подключение к API в отличие от Asterisk, где более открытая конструкция API допускает вероятность внесения багов и ошибок. Asterisk базируется на текстовых конфигурационных файлах, в то время как FreeSWITCH использует файлы формата .xml. Безусловно, с точки зрения работы с конфигами для админа, файлы текстового формата проще редактировать, однако, плюсы формата .xml всплывают на этапе автоматизации различных процессов. Требования к железу Оценить общие требования к IP – АТС достаточно сложно, так как в каждой инсталляции используется разный набор фичей и целей эксплуатации. Однако, в таблице ниже сконцентрированы минимальные требования к серверу, на котором будет развернут Asterisk и FreeSWITCH для работы 15 телефонными аппаратами и 5 одновременными вызовами. Сравните их: Параметр FreeSWITCH Asterisk CPU Одно ядро, частота процессор 1 гГц Одно ядро, частота процессор 700 мГц RAM 1 ГБ 512 МБ HDD 10 ГБ 10 ГБ OS Linux, 32/64 бит Linux, 64 бит Как видно, FreeSWITCH потребляет больше RAM. О причине этого мы писали ранее – это связано с архитектурой. Функционал С точки зрения базового набора функций, АТС идентичны. Голосовая почты, IVR, маршрутизация, intercom и другие опции доступны для обоих лагерей пользователей. Рассмотрим преимущества, которые интересны для профессионального и более глубокого использования платформ. Начнем, пожалуй, с возможности FreeSWITCH создавать мульти – площадки. Фрисвич нативно (из коробки) умеет сегментировать площадки пользователей, разные домены и суб – домены. Это означает, что пользователи одной площадки не смогут дозвониться до пользователей другой по внутренним номерам. Другими словами, обеспечивается полнофункциональная сегрегация пользователей. Так же, безусловным преимуществом FreeSWITCH стоит отметить возможность кластеризации (объединения нескольких серверов), где каждый хост в кластере будет выполнять свою определенную роль. Итог Подведем итоги. Мы составили таблицу с результатами, чтобы вам было проще ориентироваться: Функция FreeSWITCH Asterisk Малое потребление ресурсов сервера, включая ресурсы процессора и оперативной памяти ✕ ✓ Документация и поддержка: решение проблем, форму, гайды, сильное комьюнити проекта ✕ ✓ Богатый базовый функционал: конференции, видеозвонки, IVR, голосовая почта и так далее ✓ ✓ Возможность реализации функций мульти - площадок (поддержка отдельных телефонных доменов с полной сегрегацией пользователей) ✓ ✕ Внутренние механизмы устойчивости к повышению нагрузки, связанной с повышением количества одновременных вызовов ✓ ✕ Объединение серверов в кластер, с последующим разделением ролей ✓ ✕
img
Ожидания от технологии и что в итоге? Изначально, широкое применение биометрических технологий в бизнесе планировалось в финансовых организациях, в частности, в банках. Профит от биометрии именно в этом сегменте казался наиболее ощутимым: решение задач по автоматизированной и достоверной идентификации и аутентификации клиентов ведет к прямому срезу операционных «костов» на работу контактного центра. Так и вышло. Основной интерес к голосовой биометрии исходит именно от банков и телекоммуникационных организаций. Однако, не стоит забывать, что биометрии имеет разные модальности: голос, лицо, дактилоскопия, сетчатка и радужная оболочка глаза. Именно поэтому, сейчас интерес к технологии начинают проявлять медицинские организации, государственные структуры, крупные транспортные организации и автопроизводители. Посмотреть доклад про голосовую биометрию Затраты на внедрение голосовой биометрии и окупаемость? Все кейсы безусловно разные: например, в 2017 году Сбербанк потратил 260 млн. рублей на проект голосовой биометрии с планируемым сроком окупаемости через 2 года. Биометрия помогла Почта – Банку предотвратить мошенничество на ~10 млн. рублей. Вот типовой кейс: Обычная инсталляция стоит в районе +- 10 млн. рублей, но безусловно сильно зависит от объемов и требований к каждой конкретной инсталляции. Посчитать окупаемость такой системы не сложно: представим, среднее время на авторизацию и идентификацию клиента составляет 1 минута и 3 минуты на решение клиентского запроса – суммарно 4 минуты. При средней заработной плате в 50 000 руб./месяц и выработке 160 часов в месяц, минута оператора стоит ~5 рублей. При 5 000 обращений в день (20 000 минут разговора), вы экономите 5 000 минут работы оператора, маршрутизируя авторизацию или идентификацию на биометрическую систему. Это 25 000 рублей в день, 750 000 рублей в месяц (КЦ без выходных). При таких параметрах типичная окупаемость системы наступит через 13 месяцев с момента ввода в эксплуатацию. Биометрические процессы отлажены? Нет. Технологии безусловно есть куда расти. Как с точки зрения бизнес – процессов компаний, в чьих сетевых ландшафтах внедряется система, так и возможностей ПО. К тому же, имеет место пользовательское недоверие к технологии, как, в прочем, ко всему новому. Это уйдет только со временем. К тому же, на текущем этапе Правительство РФ не рекомендует использовать биометрию для всех типов банковских операций, где она теоретически применима. Кто уже в клубе? Сейчас 5 банков в Российской Федерации оказывают услуги потребителям с помощью технологий биометрии. Среди них Альфа, Хоум Кредит, Тинькофф, Почта Банк (ранее Лето Банк) и Совкомбанк. Сейчас это в основном услуги, связанные с обслуживание. Опять же, как сказал ранее, технология растет и требует тесного взаимодействия с государственным аппаратом, а Правительство РФ пока не рекомендует использовать биометрические системы для всех типов операций. Схема такова: оставив свои биометрические данные в одном банке, вы сможете иметь доступ к продуктам другой кредитной организации. Это достигается за счет ЕБС (Единой биометрической системы). По распоряжению правительства № 293-р от 22 февраля 2018 года «Ростелеком» назначен оператором Единой биометрической системы (ЕБС). ЕБС будет использовать дополнительную связку с системой ЕСИА (Госуслуги), что дополнительно повысит безопасность системы. Какие трудности? Технология новая, и одной из самых больших трудностей для повсеместного распространения биометрических систем является отсутствие полной биометрической базы населения в централизованном виде. Тут, как уже сказал ранее, решением данного вопроса станет Единая биометрическая система. Но, безусловно, на ее сбор понадобится время. Важным фактором развития технологии может стать пользовательское недоверие и отсутствие понимания принципов работы. Тут можно обратиться к кейсам: Индия и система Aadhaar, в которой собрано около 1.15 млрд. слепков жителей страны – примерно 86% экземпляров. Менее сложные для решения факторы, такие как устаревание биометрического шаблона или медицинские травмы предмета аутентификации/идентификации (например, структуры радужной оболочки, лица, травмы голосовых связок или естественное устаревание голоса) преодолеваются путем простого обновления шаблона раз в 5 – 10 лет. Что в перспективе 3 лет? С ростом ML технологий (машинное обучение) направление развития систем останется прежним на протяжении ближайших 3 лет, а механизмы биометрической аутентификации и идентификации будет все более и более совершенными. Особенный акцент на применение систем будет сделан в банках и телекоме. Помимо этого, биометрия все более плотно будет интегрирована в государственный сектор, начиная от комплексов оперативно - розыскных мероприятий, заканчивая предоставлением услуг и медициной. Кстати, 2020 год обещает быть интересным уже в июле, на Олимпиаде в Токио. Visa готовит возможность биометрической оплаты по отпечатку пальца для болельщиков, которые приедут в Японию. Сделать привязку отпечатка пальца и привязать их к банковской карте по прибытию в страну – прямо в аэропорту.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59