По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Было время, когда все, что связано с установкой, конфигурацией, обслуживанием инфраструктуры, выполнялось вручную. Для одной работы привлекались много сотрудников. Все было вручную. Этот процесс имел значительный риск человеческих ошибок, что приводило к понижению доступности, безопасности и производительности приложений. Не стоит забывать и общую стоимость инфраструктуры. Но благодаря современным технологиям и философии, таким как DevOps, это больше не проблема. Теперь у нас есть несколько инструментов для выполнения задач создания, развертывания и управления инфраструктурой. Используя правильное программное обеспечение, можно автоматизировать всю инфраструктуру приводя участие человека к минимуму. Я говорю не о простых вещах, а о сложных задачах, таких как выделение ресурсов инфраструктуре, полная настройка приложений и т.д. Автоматизация инфраструктуры - это процесс развертывания аппаратных/программных компонентов, операционной системы, сетевых компонентов, компонентов хранения данных с использованием IaC (Infrastructure as Code). Этот процесс имеет вмешательство человека только для написания такого кода, который будет иметь все детали для создания и развертывания необходимых компонентов. Вот список наиболее популярных средств автоматизации инфраструктуры, широко используемых в отрасли. 1. Ansible Ansible - это ядро с открытым исходным кодом, который автоматизирует развертывание приложений, управление конфигурацией, организацию ИТ. Основана в 2012 году и написана на самом трендовом в настоящее время языке - Python. Для реализации всей автоматизации Ansible использует плейбуки, где все конфигурации написаны на удобочитаемом языке - YAML. Anible имеет безагентную архитектуру, то есть не нужно устанавливать какое-либо программное обеспечение отдельно на всех серверах. Он следует модели на основе push, где необходимо иметь локальную систему со всеми необходимыми конфигурациями, и эти конфигурации перемещаются на целевые серверы. Доступные функции: Автоматизация с помощью простого удобочитаемого языка; Безагентная архитектура позволяет подключаться к серверам через обычный SSH; Модель push передает конфигурации на сервер с локальной машины, управляемой вами. Построен на Python, поэтому поддерживает множество библиотек и функциональных возможностей данного скриптового языка; Кураторская коллекция модулей Ansible инженерной команды Red Hat. Для больших предприятий Red Hat предлагает Ansible Tower. 2. SaltStack Stack может с высокой скоростью выполнять управление инфраструктурой, управление конфигурацией и оркестровку. По сравнению с другими подобными инструментами, такими как Chef и Puppet, быстрота SaltStack является существенным отличием. Данное решение было представлено в 2011 году, и так же, как и Anible, он написан на Python. Он имеет архитектуру master-slave, где Salt Master является главным демоном, который управляет всем, а Salt Minions являются подчиненными демонами, установленными на каждой управляемой системе для выполнения команд, отправленных Salt Master. Salt Master отправляет необходимые настройки и команды Salt Minions, а Salt Minions выполняют их на своей машине, чтобы применить всю IT-автоматизацию. Функции Stack: Рассчитанный на масштаб и скорость, один мастер может работать с 10000 миньонов. Очень прост в настройке, имеет единую архитектуру удаленного выполнения. Файлы конфигурации в Stack поддерживают все виды языков. Он может выполнять команды на удаленных системах параллельно, что помогает ускорить автоматизацию. Предоставляет простой интерфейс программирования с использованием API Python. 3. Chef Одной из основных причин производственных инцидентов является несогласованность приложения или конфигурации. Это обычная проблема, и Chef стремится исправить это. Chef - это инструмент управления конфигурацией для управления инфраструктурой. Он был написан на Ruby, а первый релиз состоялся в 2009 году компанией OpsCode. Продукт Chef Infrastructure Management обеспечивает соответствие всех сред одним и тем же конфигурациям в инфраструктуре. Она предоставляет различные инструменты для управления инфраструктурой вроде Chef Infra, Chef Automate, Chef Enterprise и Chef Community. Функции Chef Infrastructure Management: Конфигурации написаны на языке YAML; Она поставляется с несколькими инструментами разработки для написания книг рецептов (конфигураций), тестирования и разрешения зависимостей; Корпоративная версия предоставляет возможности совместной работы для упрощения обработки сложных сред. Поддержка интеграции с сотнями инструментов DevOps, таких как GitHub, Jenkins, Azure Terraform. 4. Bolt Bolt - один из открытых проектов Puppet. Это безагентный инструмент для автоматизации ИТ. С помощью Bolt можно автоматизировать все задачи, выполняемые вручную, что необходимо сделать сегодня в соответствии с требованиями. Я говорю о таких задачах, как развертывание приложения, устранение неполадок серверов, остановка и перезапуск службы, исправление и обновление систем и т.д. Поскольку Bolt не содержит агентов, нет необходимости устанавливать какое-либо программное обеспечение агента на удаленных целевых машинах. Необходимо установить Bolt в локальной системе и подключить удаленные целевые системы с помощью SSH или WinRM. Основные возможности Bolt: Запишите план болта (сочетание команд, сценариев и задач) в YAML, простой в использовании и изучении. Многие существующие планы и рабочие процессы доступны в Puppet Forge (библиотека модулей). Переместите автоматизацию с Bolt на Puppet Enterprise для лучшей масштабируемости. 5. Terraform Terraform - это средство выделения ресурсов инфраструктуры с открытым исходным кодом, используемое для создания и развертывания инфраструктуры с использованием инфраструктуры в качестве кода (IaC). Hashicorp представила его в 2014 году. Terraform довольно хорошо работает с такими поставщиками облачных технологий, как AWS, Azure, GCP, Alibaba. С помощью Terraform можно развертывать инфраструктуру и управлять ею на любом из этих облачных поставщиков. В настоящее время Terraform широко используется многими организациями для управления Kubernetes кластерами. Преимущества Terraform: Простое управление конфигурацией неизменяемой инфраструктуры. Может выполнять полную оркестровку инфраструктуры, а не только управление конфигурацией. Использует язык конфигурации HashiCorp (HCL), который удобочитаем и очень прост для изучения. Предоставляет готовые модули и провайдеров для сотен инструментов, и технологий через реестр terraform. Заключение Это был мой список самых популярных решений для автоматизации инфраструктуры, которые предлагают продукты для организаций среднего размера на уровне предприятия. Если вы попадаете в домен DevOps и хотите автоматизировать свою инфраструктуру и связанные с ней монотонные задачи, это подходящее время, чтобы выбрать одно из вышеупомянутых решений и начать автоматизацию.
img
Сегодня хотим рассказать про любопытный сценарий, которой наверняка может быть полезен в сфере E-commerce. Речь пойдет про автоматизацию клиентского обслуживания, а именно: /p> Клиент звонит в интернет – магазин и ему предлагают ввести номер заказа; Введенные абонентом значения по DTMF передаются в AGI скрипт; По номеру заказа, мы формируем SQL – запрос к базе данных, где храним информацию о заказах. Из соответствующей таблицы мы получаем статус заказа и имя клиента; Мы формируем строку, которую необходимо озвучить клиенту и отправляем ее на аудио-генерацию в сторону API Yandex.SpeechKit (TTS технология – text to speech); Получаем аудио файл от Yandex, декодируем его в нужный нам формат (.wav, 8k) и воспроизводим клиенту; Удаляем воспроизведенный файл и завершаем звонок клиента; На наш взгляд это любопытная автоматизация. Приступаем к настройке? :) Получение API - токена Yandex.SpeechKit Для знакомства с технологией Яндекс предоставляет бесплатный тестовый период в 1 месяц с момента отправки первого запроса. После этого, чтобы продолжить использование Yandex. SpeechKit Cloud нужно заключить договор. Подробности условия использования можно прочитать здесь. Первым делом перейдите в кабинет разработчика по ссылке https://developer.tech.yandex.ru и нажмите Получить ключ: Имя ключа - введите имя для ключа. Например, Asterisk + TTS; Подключение - выберите из списка SpeechKit Cloud; Запоминаем значение, которое выделено красным на скриншоте выше – это и есть ваш токен. Переходим к настройке AGI – скрипта. Создаем таблицу с заказами Создадим SQL – таблицу, в которой будем хранить данные о заказах. В лабораторных целях, мы развернем ее на том же хосте, что и IP – АТС Asterisk (+ это снизит задержку и процессинг по времени). Итак, вводим следующие команды в консоли сервера (предварительно подключитесь по SSH): use asteriskcdrdb; CREATE TABLE zakazy(name varchar(20),phone varchar(20),nomerzakaza varchar(20),status varchar(20)); INSERT INTO zakazy (name, phone, nomerzakaza, status) VALUES ("Александр", "79257777777", 300388, "Отправлен"); INSERT INTO zakazy (name, phone, nomerzakaza, status) VALUES ("Иван", "79251111111", 476656, "Оплачен"); INSERT INTO zakazy (name, phone, nomerzakaza, status) VALUES ("Сергей", "79252222222", 0089822, "Доставлен"); Мы создали и наполнили таблицу. Теперь необходимо создать пользователя, который сможет иметь SELECT – доступ к таблице: CREATE USER 'логин_mysql'@'localhost' IDENTIFIED BY 'пароль_mysql'; GRANT SELECT ON asteriskcdrdb.zakazy TO 'логин_mysql'; Запомните ваш логин и пароль и переходите к следующему шагу – адаптации скрипта AGI. Традиционно, комментарии к коду после двойного слеша //: AGI - скрипт Ниже представлена структура скрипта: #!/usr/bin/php -q <?php error_reporting(0); require('phpagi.php'); $agi = new AGI(); $result = $agi->get_data('custom/generate', 6000, 10); //принимаем DTMF от клиента; $number= $result['result']; //записываем в переменную введенный клиентом номер заказа; $hostname = "localhost"; // у нас localhost. У вас может быть IP адрес сервера, на котором хранится БД с заказами (настройте предварительно pg_hba.conf на удаленном хосте); $username = "логин_mysql"; // логин, который вы создали этапом ранее; $password = "пароль_mysql"; // пароль, который вы создали этапом ранее; $dbName = "asteriskcdrdb"; mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "); mysql_select_db($dbName) or die(mysql_error()); $query = "SELECT * FROM zakazy WHERE `nomerzakaza`='$number';"; // подключаемся и парсим данные по номеру заказа; $res=mysql_query($query) or die(mysql_error()); while ($row = mysql_fetch_assoc($res)) { $status = $row['status']; $name = $row['name']; // имя и статус, полученные из SQL пишем в переменные; }; $str = 'Дорогой '.$name.'! Статус вашего заказа '.$status.' Спасибо за обращение, всего доброго!'; // формируем строку, которую необходимо синтезировать; $qs = http_build_query(array("format" => "wav","lang" => "ru-RU","speaker" => "jane","key" => "ваш_токен","emotion" => "good", "text" => $str)); //описываем переменные, которые будем отправлять в сторону API Яндекса. Вы можете регулировать формат файла, локаль, спикера (мужской или женский голоса) и эмоциональный окрас. Заменить "ваш_токен" на ключ, полученный от API Yandex. SpeechKit Cloud; $ctx = stream_context_create(array("http"=>array("method"=>"GET","header"=>"Referer: "))); $soundfile = file_get_contents("https://tts.voicetech.yandex.net/generate?".$qs, false, $ctx); $file = fopen("file1.wav", "w"); fwrite($file, $soundfile); fclose($file); // получаем аудио файл (сохраняем его как file1.wav); shell_exec('sox -t raw -r 48k -e signed-integer -b 16 -c 1 file1.wav -t wav -r 8k -c 1 /var/lib/asterisk/sounds/ru/custom/output1.wav'); // выполняем преобразование аудио в нужный для Asterisk аудио-формат и копируем его в директорию /var/lib/asterisk/sounds/ru/custom/; shell_exec('chown asterisk:asterisk /var/lib/asterisk/sounds/ru/custom/output1.wav'); shell_exec('chmod 775 /var/lib/asterisk/sounds/ru/custom/output1.wav'); // даем файлу нужные пермишны; $agi->exec('Playback',"custom/output1"); // передаем в AGI команду проиграть полученный аудио – файл; shell_exec('rm -f /var/lib/asterisk/sounds/ru/custom/output1.wav'); shell_exec('rm -f file1.wav'); // удаляем оба файла; Скачать скрипт AGI После загрузки файла, сохраните его с расширением .php Сохраните скрипт под именем tts.php в директории /var/lib/asterisk/agi-bin и дайте следующие команды в консоль сервера: dos2unix /var/lib/asterisk/agi-bin/tts.php chown asterisk:asterisk /var/lib/asterisk/agi-bin/tts.php chmod 775 /var/lib/asterisk/agi-bin/tts.php Адаптируем функционал в «продакшн» Итак, первым делом, открываем файл /etc/asterisk/extensions_custom.conf для редактирования и добавляем в него следующую запись: [tts_menu] exten => s,1,Answer() exten => s,2,AGI(tts.php) Очень хорошо. Сделаем вызов кастомного контекста из FreePBX. Для этого воспользуемся модулем Custom Destinations. Переходим по пути Admin → Custom Destinations и нажимаем Add Destination: Нажимаем Submit и Apply Config. Мы хотим чтобы из главного IVR – меню клиент при нажатии 4 мог бы узнать статус своего заказа. Переходим в главный IVR и в секции IVR Entries добавляем следующее: Готово. Если что – либо не получилось, напишите нам в комментариях, постараемся помочь :)
img
Что такое SEO? SEO (Search Engine Optimization – поисковая оптимизация) – это методика увеличения количества и качества трафика на веб-страницу путем использования результатов органической поисковой системы. Результаты органического поиска извлекаются из внутреннего алгоритма поисковой системы, а не в результате платной рекламы. Ниже приведен список соответствующей терминологии. SERP (Search Engine Results Page) или страница результатов поисковой системы – это просто страница результатов, которая собирает клики. Такие страницы собирают клики как платных, так и органических результатов поиска. SEM (Search Engine Marketing) или поисковый маркетинг – это методика маркетинга с использованием платной рекламы, которая появляется на SERP. PPC (pay-per-click) означает оплату за клик, модель интернет-маркетинга, в которой рекламодатели платят какую-то таксу каждый раз, когда кто-нибудь нажимает на одно из их объявлений. Изучение основ SEO, а также более сложных тем, может оказаться не самым простым процессом. В данной статье мы рассмотрим простые шаги, которые помогут создать SEO-дружественные веб-страницы, а также инструменты для их поддержки. Актуальный и значимый контент Уникальный, актуальный и содержательный контент является наиболее важным условием SEO-дружественного веб-сайта. Хоть это и кажется очевидным, но здесь очень легко ошибиться. Глубокое понимание пользователей веб-сайта очень важно для создания правильного контента. Контент, который «цепляет» пользователя, может повысить взаимодействие и снизить показатель «ненужных просмотров». Поисковые системы распознают время, проведенное пользователями на веб-сайте, а также уровни взаимодействия. Не хитри. SEO – это не карточная игра, в которой нужно умудриться перехитрить противника. «Сверхоптимизация» - это понятие, описывающее устаревшие методы, которые пытаются как-то обмануть поисковые системы. Например, метод «наполнения ссылками» или «наполнение контентом». Раньше подобные приемы могли оказаться эффективными, но в конечном итоге они были не долговечными. Стратегия ключевых слов может хорошо сработать, но только если все сделано правильно. Решающее значение для достижения успеха имеет правильно найденный баланс между использованием ключевых слов и релевантностью темы. Разнообразие содержания и формата – эффективный способ удерживать внимание. Богатый набор контента, включающий изображения, видео, таблицы и списки, может привлечь внимание пользователей. Организация контента в логическую иерархию веб-сайта – еще один фундаментальный аспект создания SEO-дружественного веб-сайта. Страница сервиса Google Search Console «Руководство по оптимизации поисковой системы (SEO) для начинающих» содержит подробное руководство по организации контента. Семантическая разметка и структурированные данные Хорошо структурированный контент является ключевым фактором для SEO наряду с хорошо сконструированным кодом, который наши браузеры и поисковые системы используют для интерпретации контента. Многие HTML-теги имеют семантическое значение, которое помогает интерпретаторам понимать и классифицировать контент. Как обычные веб-разработчики мы иногда чувствуем себя беспомощными в маркетинговом мире SEO, однако написание семантической разметки – один из самых эффективных инструментов. Незачем писать каждый HTML-элемент через div, когда у нас есть множество тегов для идентификации различного контента. Ниже приведены некоторые из наиболее полезных семантических тегов. Заголовки страниц Описание страницы Абзацы Списки Статьи Разделы Заголовки Нижние колонтитулы И т.д. Опять же, важно уметь создавать HTML-страницы, но не сильно мудрить с ними. Хорошо сбалансированное размещение ключевых слов в заголовках, описаниях, h1 и h2, может иметь большое значение. Заголовки и описания должны быть уникальными для разных страниц и релевантными по содержанию. Структурированные данные – это новый формат данных, соответствующий спецификации JSON-LD, который можно встраивать в HTML-страницы. Поисковые системы, такие как Google, интерпретируют структурированные данные для того, чтобы понять содержание страницы, а также собрать информацию об Интернете и мире в целом. Ниже приведен простой пример. <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Organization", "name": "Foo Software | Website Quality Monitoring", "url": "https://www.foo.software", "sameAs": [ "https://www.facebook.com/www.foo.software", "https://www.instagram.com/foosoftware/", "https://github.com/foo-software", "https://www.linkedin.com/company/foo-software" ] } Доступность и оценка работы веб-сайта Поисковые системы, определенно, поднимают планку допустимых веб-стандартов. Эффективность и доступность веб-страницы охватывают ориентированные на пользователя показатели, которые в конечном итоге могут повлиять на SEO. В процессе оценки работы веб-сайта запоминается путь пользователя, а также отмечаются действия пользователя. Ниже приведены самые важные показатели оценки работы. Первая отрисовка контента (FCP – First Contentful Paint): измеряет время от начала загрузки страницы до момента отображения любой части содержимого страницы на экране. Скорость загрузки основного контента (LCP – Largest Contentful Paint): измеряет время от начала загрузки страницы до момента отображения на экране самого большого изображения или текстового блока. Время ожидания до первого взаимодействия с контентом (FID –First InputDelay): измеряет время от момента, когда пользователь впервые начал взаимодействовать с вашим сайтом (т.е. когда он нажимает на ссылку, нажимает на кнопку или использует настраиваемый элемент управления на базе JavaScript), до момента, когда браузер фактически способен реагировать на это взаимодействие. Время до интерактивности (TTI – Time to Interactive): измеряет время с момента начала загрузки страницы до ее визуального отображения, загрузки ее исходных сценариев (если такие есть) и способности эффективно и быстро реагировать на вводимые пользователем данные. Общее время блокировки (TBT – Total Blocking Time): измеряет общее время между FCP и TTI, если основной поток был заблокирован на достаточно долгое время, чтобы он не реагировал на действия пользователей. Совокупное смещение макета (CLS – Cumulative Layout Shift): измеряет совокупный показатель всех неожиданных смещений макета, которые происходят в течение всего времени жизни страницы, начиная с загрузки страницы. Доступность веб-сайта – еще одна не менее важная концепция, которую следует учитывать при разработке веб-сайта, оптимизированного для поисковых систем. Наши веб-сайты просматривают не только люди, но и другие платформы, такие как программы для чтения с экрана, которые по факту делают тоже самое, что и люди. Улучшение доступности сделает ваш сайт более удобным для всех. Инструменты SEO В данной статье мы рассмотрели способы улучшения SEO. Но возникает вопрос: как поддерживать эти стандарты с течением времени? Существует множество инструментов, которые могут помогать нам анализировать и отслеживать SEO. Automated Lighthouse Check отслеживает качество веб-страниц с помощью Lighthouse. Он предоставляет подробные отчеты о SEO, качестве функционирования и доступности. Доступны бесплатные и премиум версии. Google Search Console обязательная для любого владельца веб-сайта, которому важна SEO. Он предоставляет информацию о том, какие поисковые запросы проходят через органический трафик, и детальный анализ. Заключение SEO – не самая простая методика, но среди трендовых приемов торговли, которые приходят и уходят, наиболее эффективный подход. Значимый и хорошо сформированный контент в сочетании с аналогичным кодом, представленные эффективным и доступным способом, несомненно ублажат богов SEO.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59