Доброго времени суток, дорогой читатель. В данной статье я постараюсь рассказать об одном из самых популярных (на сегодняшний день) способов авторизации в различных клиент-серверных приложениях - токен авторизации. А рассматривать мы его будем на примере самой популярной реализации - JSON Web Token или JWT.
Суперпользователь
Детям о Кубернете, или приключения Фиппи в космосе
Kubernetes — удобная и быстро ставшая популярной платформа для работы с контейнерами. Поскольку Cloud4Y предлагает услугу Kubernetes как сервис, то внимательно следит за событиями, происходящими на рынке контейнеризации. И недавно мы наткнулись на детище молодого стартапа Kasten, о котором обязательно нужно рассказать. Ребята решили максимально упростить понимание работы ИТ-решений, и выпустили несколько детских рассказов про Фиппи. В них очень красиво и понятно рассказывается о технологиях. Мы решили перевести для вас историю про Фиппи и Kubernetes. А заодно рассказать, как она создавалась.
За что получает деньги наемный работник? Не понимаете? Сейчас поймете
«За что я тут корячусь на тебя?» — столь же обычный вопрос работника к работодателю.
Разобраться, за что же действительно работодатель платит деньги наемному работнику, поможет моя собственная теория, закодированная в десять букв – «ПЗП – ПЗС – ПЗПИ»
О растущей популярности Kubernetes
В конце лета мы хотим напомнить, что продолжаем проработку темы Kubernetes и решили опубликовать статью со Stackoverflow, демонстрирующую состояние дел в этом проекте на начало июня.
Приятного чтения!
Death Note, анонимность и энтропия
В начале “Death Note” местный гениальный детектив по сути занят деанонимизацией: он знает только то, что убийца существует где-то на планете. Никаких улик тот не оставляет, но довольно быстро оказывается пойман. Вообще-то хабр не площадка для обсуждения аниме, но такая же охота на того-не-знаю-кого порой случается и в реальном мире — достаточно вспомнить Сатоши Накамото, Dread Pirate Roberts или Q. Так что под катом перевод статьи (анонимного, кстати говоря, автора) о том, насколько происходящее в этом сериале связано с реальной анонимностью и что у его героя пошло не так.
Все технологии туннелирования IPv6 понятным языком
В этой статье я хотел бы рассмотреть все актуальные способы туннелирования IPv6 через готовую IPv4-инфраструктуру, описанные в RFC 7059. Один из немногих RFC, написанных понятным человеческим языком, кстати.
Вы все еще сомневаетесь, нужен ли вам IPv6?
- У всех устройств белый IP. Никаких NAT, никаких пробросов портов
- Выше скорость скачивания торрентов за счет пиров, имеющих IPv6-адрес, но с «серым» IPv4.
- В некоторых случаях, выше скорость доступа к сайтам (YouTube через IPv6 не тормозит по вечерам)
- Доступ к сайтам, заблокированным в РФ, имеющим IPv6-адрес (nnm-club, например)
Ну да ладно, перейдем к туннелированию.
6in4
Один из самых старых способов туннелирования, придуманный аж в 1996 году, и до сих пор очень популярный. Такие крупные туннель-брокеры, как Hurricane Electric, gogo6 и SIXXS используют его. Использует протокол 41 (не путайте с портом!) и не работает через NAT. Поддерживается всеми современными ОС из коробки.Boot Ubuntu via http/ftp server with pxe(diskless boot)
Intro
PXE is a great solution for booting a diskless computer (or a computer without an OS installed). This method is often used for terminal stations and OS mass installation.
Stock ubuntu (16.04) in pxe-mode can mount rootfs only from NFS. But this is not a great idea: any difficulties with the network/NFS server and the user gets problems.
In my opinion, it's best to use other protocols, such as http/ftp. Once booting, you will have an independent system
Личные пристрастия: полноразмерные 40 мм, без провода, на 72 часа за 8000 рублей
До недавнего времени я, как уважающий себя олдфаг, пользовался преимущественно проводными наушниками. Но вот пришел момент, когда решил, что провод меня достал и настало время купить что-нибудь без него. В подавляющем большинстве случаев я использую полноразмерные наушники. Мой выбор остановился на Audio-Technica ATH-SR30BT. Под катом подробно о том, что меня впечатлило.
Интерфейсы как абстрактные типы данных в Go
В статье, упомянутой выше, автор приводит интерфейс из пакета sort стандартной библиотеки, как пример абстрактного типа данных. Однако, мне кажется, что такой пример не особо хорошо раскрывает идею, когда речь заходит о реальных приложениях. Особенно о приложениях, реализующих логику какой-нибудь бизнес области или решающих проблемы реального мира.
Также при использовании интерфейсов в Go зачастую возникают споры об оверинжиниринге. А еще бывает так, что, после чтения подобного рода рекомендаций, люди мало того что прекращают злоупотреблять интерфейсами, они пытаются практически полностью от них отказаться, тем самым лишая себя использования одной из сильнейших концепций программирования в принципе (и одной из сильных сторон языка Go в частности). На тему типичных ошибок в Go кстати, есть неплохой доклад от Stive Francia из Docker. Там в частности несколько раз упоминаются интерфейсы.
В общем, я согласен с автором статьи. Тем не менее, мне показалось, что тема использования интерфейсов, как абстрактных типов данных в ней раскрыта довольно поверхностно, поэтому мне хотелось бы немного развить ее и поразмышлять на эту тему вместе с вами.
Как работает дисковая подсистема в OpenNebula
В последнее время я получаю достаточно много вопросов по поводу организации стораджа в OpenNebula. В виду своей специфики она имеет аж три разных типа хранилища: images, system и files. Давайте разберёмся зачем нужен каждый из них и как их использовать чтобы планировать размещение данных наиболее эфективно.
Этот пост — частичная расшифровка моего доклада про OpenNebula на HighLoad++ 2019 с упором на дисковую составляющую.
С чего начинается Elasticsearch
Elasticsearch, вероятно, самая популярная поисковая система на данный момент с развитым сообществом, поддержкой и горой информации в сети. Однако эта информация поступает непоследовательно и дробно.
Самое первое и главное заблуждение — "нужен поиск, так бери эластик!". Но в действительности, если вам нужен шустрый поиск для небольшого или даже вполне себе крупного проекта, вам стоит разобраться в теме поподробней и вы откажетесь от использования именно этой системы.
Хранилища в Kubernetes: OpenEBS vs Rook (Ceph) vs Rancher Longhorn vs StorageOS vs Robin vs Portworx vs Linstor
Обновление!. В комментах один из читателей предложил попробовать Linstor (возможно, он сам над ним работает), так что я добавил раздел об этом решении. Еще я написал пост о том, как его установить, потому что процесс сильно отличается от остальных.
Если честно, я сдался и отказался от Kubernetes (во всяком случае, пока). Буду использовать Heroku. Почему? Из-за хранения! Кто бы мог подумать, что я буду больше возиться с хранилищами, чем с самим Kubernetes. Я использую Hetzner Cloud, потому что это недорого и производительность хорошая, и с самого начала я развертывал кластеры с помощью Rancher. Я не пробовал управляемые сервисы Kubernetes от Google/Amazon/Microsoft/DigitalOcean и проч., проч., потому что всему хотел научиться сам. А еще я экономный.
Что делать, если протухли сертификаты и кластер превратился в тыкву?
kubectl get pod
вы получаете:Unable to connect to the server: x509: certificate has expired or is not yet valid
то, скорее всего, прошел год, у сертификатов вашего kubernetes закончился срок действия, компоненты кластера перестали их использовать, взаимодействие между ними прекратилось и ваш кластер превратился в тыкву.
Прислушиваясь к информационному шуму: музыка и видео, которые никто не должен был найти
Если проанализировать «информационный шум», можно увидеть наш мир с новой точки зрения. И (скорее всего) он вам покажется незнакомым, непредсказуемым и даже немного инопланетным.
Расскажем, как все это осуществить.
11 лучших шрифтов для программирования
Я ранжировал шрифты по следующим показателям:
- Насколько различимы схожие символы, такие как
0O
,1lI
. - Легко ли читается шрифт (ширина строк, ширина/высота символов).
- И мои личные предпочтения!
Все скриншоты сделаны в VSCode на одном фрагменте кода. Если не обозначено иное, то везде установлен размер
"editor.fontSize": 14
.Возможно, вам не нужен Kubernetes
Девушка на скутере. Иллюстрация freepik, логотип Nomad от HashiCorp
Kubernetes — это 300-килограммовая горилла для оркестровки контейнеров. Она работает в некоторых самых крупных контейнерных системах в мире, но дорого обходится.
Особенно дорого для небольших команд, которым придётся потратить много времени на поддержку и крутую кривую обучения. Для нашей команды из четырёх человек это слишком много накладных расходов. Поэтому мы стали искать альтернативы — и влюбились в Nomad.
Архитектура REST
Введение
В русскоязычной части Интернета присутствует большое количество статей, посвященных веб-службам на основе SOAP и XML-RPC, но почему-то почти ничего нет про вполне заслуживающую внимания (но менее распространенную) архитектуру RESТ.
В данной статье описываются основы этой архитектуры, возможности и примеры её использования.
Глубокое погружение в Linux namespaces
Часть 1
Часть 2
Часть 3
Часть 4
В этой серии постов мы внимательно рассмотрим один из главных ингредиентов в контейнере – namespaces. В процессе мы создадим более простой клон команды docker run
– нашу собственную программу, которая будет принимать на входе команду (вместе с её аргументами, если таковые имеются) и разворачивать контейнер для её выполнения, изолированный от остальной системы, подобно тому, как вы бы выполнили docker run
для запуска из образа.