Это — пятый материал из серии статей, посвящённой разработке REST-серверов на Go. Здесь мы поговорим о middleware. У меня есть материал, посвящённый жизненному циклу HTTP-запросов в серверах, написанных на Go. Для того чтобы разобраться в том, о чём пойдёт речь ниже, вам нужно ориентироваться в этой теме.
Рубрика «Серверное администрирование» - 10
Разработка REST-серверов на Go. Часть 5: Middleware
2021-07-05 в 13:02, admin, рубрики: Go, ruvds_перевод, Блог компании RUVDS.com, Программирование, разработка, Серверное администрированиеКто копает под мой MikroTik?
2021-06-30 в 13:03, admin, рубрики: glupteba, honeypot, mikrotik, routeros, ruvds_статьи, Блог компании RUVDS.com, информационная безопасность, Серверное администрирование
В статье обобщены результаты работы honeypot на базе Cloud Hosted Router от MikroTik, поднятого на ресурсах отечественного провайдера RUVDS.com и намеренно открытого для посещения всему интернету. Устройство подвергалось многократному взлому со стороны известной с 2018 года малвари Glupteba. Полученные данные свидетельствуют о прекращении ее активного функционирования, однако отдельные зомби хосты продолжают существовать на бесконечных просторах цифровой сети и вмешиваться в работу слабо защищенных устройств на базе операционной системы RouterOS.
Читать полностью »
Не тварь! Часть 1. Обзор сервера Compaq Prosignia VS с ОС Novell NetWare 3.12
2021-06-26 в 7:40, admin, рубрики: 486, compaq, digital vintage, digitalvintage.ru, intel, netware, novell, Блог компании Selectel, история техники, операционные системы, Процессоры, Серверное администрирование, серверы, Софт, старая техника, старое железо
Сегодня у нас будет целых два главных героя — и сервер, и выполняющаяся на нем операционная система. За исключением, по понятным причинам, Apple Xserve, все серверы, что были представлены в предыдущих статьях цикла, работали под Windows NT — от самой первой NT 3.1 до уже вполне зрелой NT 4.0.
Так было проще — системы относительно понятные и привычные, учитывая, что сложных сервисов на них поднимать не требовалось, а сами эти системы действительно были достаточно распространены, что отвечает требованию аутентичности. Но лидером рынка Windows NT не была примерно до 1998 года, до этого момента, в течении 15 лет самой популярной серверной ОС для локальных сетей была другая система — Novell NetWare.
Прежде я встречал ее только однажды, когда в старших классах ходил на курсы по HTML — именно на ней была построена сеть университета, где они проходили. И то — знал я это лишь по окну входа в сеть в Windows 95. Теперь пришла пора восполнить этот пробел, присоединяйтесь — будет ностальгично!
Читать полностью »
Тележка, витая пара, три свитча: как я перевозил сервер с нулевым даунтаймом
2021-06-23 в 7:19, admin, рубрики: ups, администрирование, администрирование веб-серверов, бесперебойное питание, Компьютерное железо, Серверное администрирование, серверы, Сетевое оборудование, системное администрирование
Самое тупое, что я делал за всю свою жизнь.
Один из моих клиентов купил новое офисное помещение в том же бизнес-комплексе и захотел, чтобы его сервер виртуального хостинга (7 виртуальных машин Windows) переместили в новую «серверную». Сначала я подумал: «Отлично! Быстро управлюсь. Просто отключу всё, сниму, пронумерую, упакую накопители, перетащу, а затем соберу, как было. Займёт максимум пару часов».
(Вчера)
Не-а… Я начал излагать свой план владельцу, и он прервал меня на первом же шаге:
Владелец: Постойте, нельзя ничего отключать. Наши клиенты заходят на сервер весь день.
Я: Вы не сообщили им о плановом техобслуживании, как мы договаривались в пятницу?
В: Нет, у нас не может быть никакого даунтайма.
Я: Придётся потерпеть даунтайм.
В: Если он будет, я вам не заплачу.
Я: Ладно, есть другой способ, но потребуется примерно 5 минут даунтайма. Мы можем поднять новый виртуальный хост в новом месте и провести миграцию через временный VPN.
В: Ни за что! Никакого даунтайма!
Я: Ладно, до свидания.
Разработка REST-серверов на Go. Часть 3: использование веб-фреймворка Gin
2021-06-17 в 13:01, admin, рубрики: Go, ruvds_перевод, Блог компании RUVDS.com, веб-фреймворк, Программирование, разработка, Разработка веб-сайтов, Серверное администрирование, системное администрированиеСегодня, в третьей части серии материалов, посвящённых разработке серверов на Go, мы займёмся реализацией нашего REST-сервера с использованием Gin — одного из самых популярных веб-фреймворков для Go. Вот код, который мы будем тут обсуждать.
Перевод предыдущих частей:
❒ Разработка REST-серверов на Go. Часть 1: стандартная библиотека.
❒ Разработка REST-серверов на Go. Часть 2: применение маршрутизатора gorilla/mux
Разработка REST-серверов на Go. Часть 2: применение маршрутизатора gorilla-mux
2021-06-06 в 10:04, admin, рубрики: Go, ruvds_перевод, Блог компании RUVDS.com, Программирование, разработка, Серверное администрированиеПеред вами второй материал из серии статей, посвящённой разработке REST-серверов на Go. В первом материале этой серии мы создали простой сервер, пользуясь стандартными средствами Go, а после этого отрефакторили код формирования JSON-данных, вынеся его во вспомогательную функцию. Это позволило нам выйти на достаточно компактный код обработчиков маршрутов.
Там мы говорили об одной проблеме нашего сервера, которая заключается в том, что логика маршрутизации разбросана по нескольким местам нашей программы.
Это — проблема, с которой сталкиваются все, кто пишет HTTP-сервера, не используя зависимости. Если только сервер, принимая во внимание систему его маршрутов, не является до крайности минималистичной конструкцией (например — это некоторые специализированные серверы, имеющие лишь один-два маршрута), то оказывается, что размеры и сложность организации кода маршрутизатора — это нечто такое, на что очень быстро обращают внимание опытные программисты.
Читать полностью »
Разработка REST-серверов на Go. Часть 1: стандартная библиотека
2021-05-28 в 13:02, admin, рубрики: Go, ruvds_перевод, Блог компании RUVDS.com, Программирование, разработка, Серверное администрированиеЭто — первый материал из серии статей, посвящённой разработке REST-серверов на Go. В этих статьях я планирую описать реализацию простого REST-сервера с использованием нескольких различных подходов. В результате эти подходы можно будет сравнить друг с другом, можно будет понять их относительные преимущества друг перед другом.

Первый вопрос разработчиков, которые только начинают применять Go, часто выглядит так: «Какой фреймворк стоит использовать для решения задачи X». И хотя это — совершенно нормальный вопрос, если задавать его, имея в виду веб-приложения и серверы, написанные на многих других языках, в случае с Go при ответе на этот вопрос нужно принять во внимание множество тонкостей. Существуют серьёзные аргументы как «за», так и «против» использования фреймворков в Go-проектах. Я, работая над статьями из этой серии, вижу своей целью объективное разностороннее исследование этого вопроса.
Читать полностью »
Падение Slack 4 января 2021
2021-05-10 в 11:00, admin, рубрики: slack, vds, vps, Блог компании Маклауд, дешевые vds, информационная безопасность, мониторинг сервера, падение, Серверное администрирование
4 января 2021 года для многих людей во всем мире, также как и для большинства работников Slack был первым рабочим днем после нового года (за исключением специалистов горячей линии и службы поддержки, которые никогда не спят). В день Азии и утро в Европе прошло спокойно, но когда забрезжил рассвет в Америке мы стали получать сообщения от внешней службы мониторинга о росте количества ошибок. Мы начали разбираться, в чем дело. Ситуация с ошибками ухудшалась и мы инициировали процесс расследования инцидентов (о том, как у нас устроено управление инцидентами подробнее можно почитать в статье Райана Каткова (Ryan Katkov) All Hands on Deck https://slack.engineering/all-hands-on-deck/).
Как будто нам этого было недостаточно для того, чтобы окончательно испортить первый рабочий день нового года, в тот момент, мы пытались понять, что происходит, упали сервисы панелей мониторинга и оповещений. Мы связались с группой мониторинга, чтобы они попытались восстановить их как можно быстрее.
Читать полностью »
Хостинг блога на GPS-LTE-модеме
2021-05-10 в 10:00, admin, рубрики: adb, ARMv7, darkhttpd, PinePhone, Блог компании VDSina.ru, гаджеты, Серверное администрирование, хостинг, хостинг на модеме
GPS/WWAN/LTE-модем телефона PinePhone
В процессе разработки ПО на PinePhone я наткнулся на любопытное сообщение в dmesg:
[ 25.476857] modem-power serial1-0: ADB KEY is '41618099' (you can use it to unlock ADB access to the modem)
Для контекста скажу, что в PinePhone есть модем Quectel EG25-G, отвечающий за GPS и беспроводную связь PinePhone. Это оборудование — один из немногих компонентов телефона с закрытыми исходниками.
Когда я увидел это сообщение и упоминание ADB, я сразу же подумал об Android Debug Bridge, то есть о ПО, стандартно используемое для общения с Android-устройствами. Я подумал: «Разумеется, это не может быть тот самый ADB». Ну, оказалось, что так оно и есть.
Читать полностью »
Сравнение производительности ASP.NET Core-проектов на Linux и Windows в службе приложений Azure. Продолжение
2021-05-09 в 10:02, admin, рубрики: ASP, azure, linux, Microsoft Azure, ruvds_перевод, windows, Блог компании RUVDS.com, Серверная оптимизация, Серверное администрированиеВ моём предыдущем материале речь шла о сравнении производительности ASP.NET Core-приложений, запускаемых в Windows и в среде Linux + Docker, работающих в службе приложений Azure. Эта тема интересна многим — поэтому я решил написать продолжение.
Я снова провёл испытания, используя подход, отличающийся от прежнего лучшей воспроизводимостью, такой, который даёт более надёжные результаты. Теперь я генерирую веб-нагрузку на серверы с помощью облачных инструментов Azure Cloud Agents, применяя Visual Studio и VSTS. И, более того, в то время как ранее я выполнял тесты с использованием HTTP, теперь тестирование проводилось с применением HTTPS.
Читать полностью »




