Как стать автором
Обновить
52
Карма
-0.9
Рейтинг
Александр Фролов @AlexandreFrolov

Управляющий директор

Доступная отказоустойчивость для вашего сайта

Время прочтения 27 мин
Просмотры 2.5K
Разработка веб-сайтов *IT-инфраструктура *Серверное администрирование *Администрирование баз данных *Разработка под e-commerce *
Туториал

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

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

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

А есть ли способы, защитить ваш интернет-магазин или другой сервис от таких проблем?

Да, конечно, есть, и не один, но также есть и множество нюансов.

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

Эта статья поможет вам настроить доступный вариант отказоустойчивости, созданный на базе технологии VRRP (Virtual Router Redundancy Protocol) и сервиса keepalived.

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

Читать далее
Всего голосов 3: ↑1 и ↓2 -1
Комментарии 44

Исследуем потребление газа и распределение памяти в программах Solidity

Время прочтения 9 мин
Просмотры 1.9K
Программирование *Solidity *Криптовалюты
Туториал

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

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

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

Читать далее
Рейтинг 0
Комментарии 2

Подготовка рабочей среды для создания смарт-контрактов Solidity

Время прочтения 21 мин
Просмотры 5.7K
Solidity *Криптовалюты
Туториал

Прежде чем заняться изучением смарт-контрактов Ethereum, необходимо подготовить рабочую среду — установить операционную систему (ОС) Ubuntu, клиента Geth сети Ethereum, а также другое необходимое программное обеспечение (ПО).

Мы могли бы приступить к работе сразу в какой-либо интегрированной среде разработки (IDE, Integrated Development Environment), например, Remix. Возможно, это был бы самый быстрый путь к изучению смарт-контрактов Solidity. Однако для того, чтобы глубже разобраться в работе Ethereum, мы начнем с базовых инструментов.

Читать далее
Всего голосов 4: ↑2 и ↓2 0
Комментарии 2

Курс sol01. Создание смарт-контрактов Solidity для Ethereum

Время прочтения 6 мин
Просмотры 5.5K
Я пиарюсь

Я полностью переработал и дополнил содержимое своей книги "Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство" и сделал на ее основе авторский учебный курс.

Этот курс поможет быстро приступить к созданию смарт-контактов Solidity и распределенных приложений для блокчейна Ethereum. Он состоит из 15 уроков (три доступны бесплатно).

Вы узнаете от том, как устроен и работает блокчейн Ethereum, сможете создавать собственные локальные узлы Ethereum на базе Geth и пользоваться Infura и Alchemy, публиковать смарт-контракты и вызывать их функции, обмениваться данными между реальным миром и смарт-контрактами с помощью оракулов, работать с тестовой сетью Rinkeby.

Вы научитесь использовать Remix Solidity, Truffle и Hardhat, создадите собственные токены ERC-20 и NFT, установите узел распределенной межпланетной файловой системы IPFS и опубликуете в этой системе свои файлы.

Вы создадите одностраничные Web-приложения, интегрированные с MetaMask, скрипты для Node.js и API на базе Express и Node.js для вызова функций смарт-контрактов.

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

Присоединиться: https://solidity-ethereum.ru/

Читать далее
Всего голосов 5: ↑2 и ↓3 -1
Комментарии 1

Наш опыт удаленной работы в области создания интернет-магазинов

Время прочтения 12 мин
Просмотры 4.3K
Настройка Linux *Системное администрирование *IT-инфраструктура *Серверное администрирование *Офисы IT-компаний


Сегодня реальность такова, что из-за карантина и коронавируса многим компаниям приходится думать о том, как обеспечить удаленную работу для своих сотрудников. Почти каждый день появляются статьи, раскрывающие как технические, так и психологические аспекты проблемы перехода на удаленную работу. Вместе с тем к настоящему моменту уже накоплен огромный опыт такой работы, например, фрилансерами или теми ИТ-компаниями, которые уже давно работают с сотрудниками и клиентами, проживающими по всему миру.

Перевод крупной ИТ-компании на удаленную работу может оказаться не простым делом. Вместе с тем во многих случаях можно обойтись хорошо известными инструментами и приемами. В этой статье мы рассмотрим наш опыт удаленной работы с технической стороны. Надеемся, что эта информация поможет компаниям адаптироваться к новым условиям. Буду благодарен за любые замечания, предложения и дополнения.
Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 2

Создаем приватную сеть Ethereum Geth в контейнерах Docker

Время прочтения 9 мин
Просмотры 7.9K
Системное администрирование *DevOps *Solidity *Криптовалюты
Туториал


Если вам нужно развернуть приватную сеть Ethereum на базе Geth, то это можно сделать, например, создавая узлы сети на физических серверах или виртуальных машинах. Однако намного легче использовать готовые образы (Images) контейнеров Geth из репозитория Docker hub. В этом случае можно установить целую сеть узлов даже на одной виртуальной машине или на одном физическом сервере.

В этой статье мы расскажем как установить Docker на сервере с ОС Debian 9 (виртуальном или физическом), как создать несколько контейнеров с работающим Geth и объединить их в приватную сеть. Мы приведем пример скрипта для Node.js, который обращается к узлам Geth, работающим в контейнерах.
Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 5

Книга «Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство»

Время прочтения 16 мин
Просмотры 14K
Я пиарюсь

Больше года я работал над книгой «Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство», и вот теперь эта работа завершена, а книга издана и доступна в Литресе.

Надеюсь, моя книга поможет быстро приступить к созданию смарт-контактов Solidity и распределенных приложений DApp для блокчейна Ethereum. Она состоит из 12 уроков с практическими заданиями. Выполнив их, читатель сможет создавать собственные локальные узлы Ethereum, публиковать смарт-контракты и вызывать их методы, обмениваться данными между реальным миром и смарт-контрактами с помощью оракулов, работать с тестовой отладочной сетью Rinkeby.

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

Ниже вы найдете оглавление и первую главу книги (также на Литресе доступны фрагменты книги). Надеюсь получить обратную связь, замечания и предложения. Все это я постараюсь учесть при подготовке следующей редакции книги.
Читать дальше →
Всего голосов 14: ↑12 и ↓2 +10
Комментарии 20

Децентрализованное хранилище данных Ethereum Swarm

Время прочтения 9 мин
Просмотры 16K
Децентрализованные сети *Разработка под e-commerce *DevOps *Solidity *


Блокчейн Ethereum интересен своими смарт-контрактами, а также возможностью создания децентрализованных приложений DApp (Decentralized Application). Однако такому приложению необходимо децентрализованное хранилище данных.

Хранение данных большого объема в блокчейне может стоить немалых денег. На помощь приходят такие децентрализованные хранилища, как Ethereum Swarm («swarm» переводится как «рой», «куча»). Если кратко, то Ethereum Swarm представляет собой программный код, работающий на пиринговой сети Ethereum. Он обеспечивает децентрализованное хранение данных на дисках узлов, владельцы которых отдают свои ресурсы в общее пользование.

В этой статье мы расскажем о том, как установить локальный узел Ethereum Swarm для приватной сети Ethereum с целью тестирования технологии и разработки децентрализованных приложений, хранящих данные в Ethereum Swarm.
Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 10

Модуль Net::Ethereum для работы с контрактами Solidity

Время прочтения 11 мин
Просмотры 5.1K
Perl *Децентрализованные сети *API *DevOps *Solidity *


Обычно когда мне нужно использовать какой-то новый сервис или технологию из скриптов Perl, я захожу на CPAN, и там уже есть один или несколько подходящих модулей. Однако в случае фреймворков для работы с узлами блокчейна Ethereum и контрактами Solidity, к сожалению, мне не удалось найти нужного модуля.

Мы планируем в ближайшее время использовать смарт-контракты Solidity сети Ethereum в нашем SAAS-сервисе интернет-магазинов, написанном на Perl. Поэтому мне ничего не оставалось, как написать свой модуль Net::Ethereum (этот модуль уже доступен на CPAN, хотя и в виде альфа-версии).

Надеюсь, что модуль Net::Ethereum будет полезен тем, кто хочет интегрировать свои Perl-системы с контрактами блокчейна Ethereum. Буду очень благодарен тем, кто воспользуется этим модулем и пришлет мне свои соображения по его доработке, а также информацию о найденных ошибках.
Читать дальше →
Всего голосов 17: ↑14 и ↓3 +11
Комментарии 15

Эксперименты с контрактами Solidity в тестовой сети Rinkeby блокчейна Ethereum

Время прочтения 17 мин
Просмотры 19K
Разработка под e-commerce *DevOps *Solidity *


Эта статья представляет собой небольшое практическое руководство, которое поможет вам быстро настроить среду разработки смарт-контрактов на языке Solidity для блокчейна Ethereum. Вы опубликуете первый контракт, сохраните его в тестовом блокчейне Rinkeby и научитесь вызывать методы контракта. Это будет ваш первый шаг на пути создания децентрализованных приложений DApp (Decentralized Application).

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

При погружении в эту тему я использовал приложение (браузер) Mist в среде Microsoft Windows, а также интерфейс командной строки Geth узла Ethereum в среде Ubuntu. В этой статье мы расскажем о работе с Geth, а также немного о том, как вызывать методы контрактов из Node.js.

С благодарностью приму замечания и пожелания по дальнейшим статьям про блокчейн Ethereum, разработку контрактов на языке Solidity и приложений DApp.
Читать дальше →
Всего голосов 25: ↑24 и ↓1 +23
Комментарии 24

Руководство по установке и настройке OpenVPN

Время прочтения 34 мин
Просмотры 1.2M
Информационная безопасность *
Из песочницы



Когда у нас появились сотрудники, работающие удаленно, пришлось думать над тем, как обеспечить им защищенный доступ к нашим хостинговым серверам, виртуальным выделенным серверам разработчиков Virtual Dedicated Server (VDS), сайтам обеспечения и сопровождения разработки и к другим ресурсам.



По соображениям безопасности доступ к этим ресурсам ограничен при помощи межсетевого экрана (файервола) по портам и адресам IP. Ежедневную перенастройку доступа при изменении динамических IP сотрудников едва ли можно назвать разумным решением.



Выход нашелся довольно быстро — это использование технологии виртуальных частных сетей Virtual Private Network (VPN) и ее свободной реализации OpenVPN. Эта реализация доступна практически для всех распространенных платформ, в том числе для планшетов и смартфонов. История развития OpenVPN насчитывает уже 12 лет (компания OpenVPN Technologies, Inc. была создана Francis Dinha и James Yona в 2002 году), так что это надежное и проверенное временем решение.



В нашей компании сеть VPN позволила предоставить защищенный доступ сотрудников к VDS, играющей роль сервера OpenVPN. И уже для фиксированного IP этого сервера был разрешен доступ к другим ресурсам компании. Попутно на сервере OpenVPN был установлен прокси Squid, что решило все проблемы доступа сотрудников с динамическими IP к защищенным ресурсам компании.



Теме OpenVPN посвящены многочисленные статьи и сообщения на форумах. Тем не менее, нужную информацию мне пришлось собирать по частям из разных мест. Попутно приходилось разбираться с многочисленными терминами и технологиями. В качестве серверов OpenVPN были использованы VDS на базе FreeBSD и Debian Linux, в качестве клиентов — рабочие станции FreeBSD, Debian Linux, Ubuntu и Microsoft Windows.



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


Читать дальше →
Всего голосов 128: ↑115 и ↓13 +102
Комментарии 98

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность