Способны ли ARM-серверы эффективно работать в качестве высоконагруженного решения для PostgreSQL 13? Мы провели целый ряд синтетических тестов, сравнивая их с аналогичным оборудованием на платформе x86, и пришли к интересным результатам. Описание методики тестирования и выводы вы найдете под катом.
Компания Huawei временно не ведёт блог на Хабре
Педальку в пол, или как ещё ускорить CPU-bound приложение?
Зачем я это читаю?
TL;DR:
- Переложив секции кода и данных программы на большие страницы можно существенно ускорить приложение (у нас получилось до +10%) не трогая исходный код.
- Можно быстро проверить ничего не перекомпилируя, детали здесь.
- Финальное решение оперирует "классическими" большими страницами (не transparent huge pages), поэтому в какой-то степени его можно назвать дальнейшим развитием
libhugetlbfs
.
Будущее SD-WAN: от MPLS к Autonomous Driving Network
«Программно-определяемые глобальные сети сложны, дороги и небезопасны. Мы лучше пока посидим на классической инфраструктуре. Вот только наделал бы кто-нибудь много хороших сетевых инженеров — тогда заживем». Нам регулярно доводится слышать такое от CTO крупных компаний с большими ИТ-бюджетами. И все эти утверждения неверны.
Как решение Huawei SD-WAN обеспечивает стабильную работу приложений и сервисов
Идентификация, балансировка и управление: Рассказываем о 10+ технологиях, которые использует Huawei, чтобы обеспечить бесперебойную работу бизнес-приложений в распределенных корпоративных сетях SD-WAN.
Механизмы обеспечения повышенной безопасности контейнеров в Linux
Наше с вами современное время во всех учебниках истории уже названо периодом очередной смены производственного уклада или четвертой промышленной революцией (Индустрией 4.0). Основную роль при этом отводят информации, в том числе ИТ-системам. В попытках удешевления ИТ-инфраструктуры, унификации и ускорения процессов разработки ИТ-решений человечество сначала придумало «облака» на замену традиционным ЦОДам, а затем и контейнеры на замену виртуальным машинам.
Что же такое контейнер и в чем состоит суть контейнеризации?
Ответ прост - контейнером буквально можно считать процесс (дерево процессов), исполняемый на некотором физическом компьютере c определенной операционной системой с помощью специальной оболочки (контейнер runtime).
Если рассмотреть случай с виртуальными машинами, их изоляция друг от друга, а также их доступ к аппаратным ресурсам обеспечивается специальными аппаратными средствами (расширения виртуализации), и их поддержкой на уровне гипервизора. Возможности воздействия из виртуальной машины на гипервизор и физическое железо сведены к очень ограниченному набору интерфейсов, которые, опять же, в рамках, предусмотренных дизайном, могут влиять лишь на данную виртуальную машину. Иными словами, все вышеупомянутое служит для строгой изоляции виртуальных машин и всего, что в них может происходить, как друг от друга, так и от внешнего окружения, включая систему, на которой они функционируют.
Главной и практически единственной значимой целью контейнеризации является также достижение максимально возможной изоляции процессов как друг от друга, так и от возможного негативного воздействия на операционную систему, в которой они исполняются. Иногда в литературе для описания этой изоляции используются термины “sandbox” – «песочница» и “jail” – «тюрьма».
При этом, поскольку для изоляции процессов, исполняемых в едином пространстве ОС и на одном физическом компьютере, может быть использован гораздо более ограниченный набор инструментов и возможностей, то, очевидно, что с точки зрения безопасности контейнеры выглядят более уязвимыми. В чем, собственно, тогда преимущества контейнеризации перед виртуализацией? На самом деле, их довольно много:
- возможность более гибкого использования имеющихся ресурсов (нет необходимости их резервирования как в случае с виртуальными машинами);
- возможность экономии ресурсов (нет необходимости их тратить на множество копий ОС для каждой виртуальной машины);
- нет задержек при старте (запуск процесса происходит практически мгновенно по сравнению с временем, затрачиваемым на загрузку виртуальной машины);
- взаимодействие между процессами, пусть даже и изолированными, в случае необходимости гораздо проще реализовать, чем между виртуальными машинами. Так появилась, кстати, соответствующая концепция микросервисов, в последнее время ставшая очень популярной.
Все вышеперечисленное привело к весьма бурному развитию контейнерных технологий, несмотря на периодически возникающие проблемы с безопасностью уже развернутых контейнерных облачных систем, их взломами и утечками данных. Соответственно, работа по усилению безопасности контейнеров также не прекращается ни на секунду. Как раз об этом и пойдет речь далее в этой статье.
Новый запуск курса Natural Language Processing
TL;DR: Этой осенью сообщество Open Data Science и компания Huawei делают новый запуск курса. Регистрироваться на сайте ODS.ai
Сравниваем Huawei ExaGear с Apple Rosetta 2 и решением от Microsoft
10 ноября 2020 года произошло во многом эпохальное событие в индустрии микропроцессоров - компания Apple презентовала новый Mac Mini, главной фишкой которого являлся чип собственной разработки Apple M1. Данный процессор, без преувеличения, является знаковым достижением для экосистемы ARM - наконец-то был сделан чип, обошедший конкурентов из Intel в той нише, где архитектура x86 доминировала десятилетия.
Но для нас главным интересом является не сам процессор M1, а технология двоичной трансляции Rosetta 2, разработанная с целью запуска legacy x86 кода, не успевшего переехать на архитектуру ARM. Компания Apple имеет большой опыт в разработке решений по двоичной трансляции и является признанным лидером в данной области. Первая версия двоичного транслятора Rosetta появилась в 2006-ом году, когда помогла компании Apple совершить переход с архитектуры PowerPC на x86. И хотя в этот раз гостевая и целевая платформы отличались от тех, которые были в 2006-ом, очевидно, что весь опыт, накопленный инженерами Apple за эти годы, был учтён и вложен в следующую версию Rosetta 2. Тем интреснее было сравнить решение от Apple с аналогичным продуктом Huawei ExaGear (ведущего свою родословную от Eltechs ExaGear), разрабатываемого нашей командой. Заодно, мы оценили производительность двоичной трансляции из x86 в ARM от компании Microsoft (входящей в состав MS Windows 10 для Arm устройств) на лэптопе Huawei MateBook E. На текущий момент, это все известные нам решения по двоичной трансляции из X86 в ARM, доступные на широком рынке.
Траблшутинг в буддийском монастыре
Виктор Живицкий на момент описанных здесь событий имел двадцатилетний опыт в сетевой инженерии. У него была жена, дочь и рабочая виза в Таиланде. Когда в 2015 году в центре Бангкока прогремел взрыв, он потерял и жену и дочь. Он не смог вернуться к работе, начал забывать спать, есть, и стал находить себя среди незнакомых мест, дорогу к которым кветиапин и венлафаксин исправно вычёркивали из памяти. Когда и медстраховка исчерпала себя, Виктор был в том же состоянии, в которое его погрузила весть о гибели жены и дочери: он крепко отсутствовал в себе.
Жизнь не щадит слабых и сломленных. Виктор быстро скатился до бродяжничества. Иногда он появлялся у кофейни Eiah Sae 益生 на улице Phat Sai, у таицев знаменитой тем, что однажды её посетил член королевской семьи (о чём есть фотография в огромной позолоченной рамке прямо над кассой), у китайцев же известной за лучший кофе в Бангкоке. По обеим из этих причин эту кофейню посещал Д., который во время пандемии организует фонд помощи соотечественникам и поможет множеству людей, застрявшим в Таиланде.
В один из дней Д. заметил Виктора и подошёл к нему.
Эта встреча заронила зерно выздоровления в больную душу Виктора и тысячу бат в его карман на дорогу в буддийский монастырь. Так началось его путешествие, о котором ваш покорный слуга узнает по нескольким траблшутинг-постам на форуме Huawei. С Виктором удастся связаться, получить от него эту историю и опубликовать здесь с его согласия, не изменив ни слова. Эта история о том, как знания после десятилетий практики стали частью самого человек, и, может быть, помогли выстоять ему в трагедии, из-за которой лучшая часть его души была вырвана безвозвратно.
Пользователи жалуются на проблемы с покупками в ваших приложениях? Попробуйте сервис внутриигровых покупок HUAWEI
Что мы понимаем под проблемами с покупками в приложениях?
Проблемы с покупками – это когда пользователь не получает приобретенный товар из-за ошибки при синхронизации данных между приложением и сервером для покупок в приложении.
Проблемы с покупками наносят ущерб как пользователям, так и разработчикам. В результате приложение получает низкий рейтинг и негативные отзывы в магазине, а разработчик теряет пользователей, включая потенциальных новых пользователей, ведь они даже не попробуют установить ваше приложение. Такой исход, конечно же, крайне нежелателен.
Использование сервиса HUAWEI IAP гарантирует пользователю получение оплаченной покупки.
Huawei HCIE Camp — обучение, нетворкинг, фан и немного хобби
Привет, Хабр!
Мы ранее уже писали зачем стоить получать знания и сертификаты уровня эксперта.
В этому году мы продолжаем приглашать наших заказчиков и партнеров продолжить обучение, развитие своей экспертизы, а иногда просто обновить свои навыки. В 2021 году мы продолжаем проводить Huawei HCIE Camp!
За дополнительной информацией добро пожаловать под кат!
Облако для всех. Строим CI/CD pipeline для бессерверных функций
В публичном облаке SberCloud.Advanced, построенном на технологиях Huawei, имеется крайне полезный сервис бессерверных вычислений – Function Graph. С его помощью можно быстро набросать код для решения конкретной бизнес-задачи и запустить его на выполнение, не тратя время на развертывание и настройку отдельных серверов. Но все это замечательно и очень удобно, пока речь идет всего о паре функций. А если таких функций уже больше 5 и они активно развиваются, то это уже похоже на проект, а проект нужно ставить на контроль и организовывать хоть и простейший, но процесс.
В статье покажем, каким образом можно организовать и контролировать процесс развертывания проекта на основе бессерверных функций. Это решение - наиболее экономичный вариант для небольших команд и стартапов, чей проект пока находится в стадии раскрутки, в условиях органиченных бюджетов, ролей и тд.
Опыт публикации в AppGallery
Я опубликовал приложение Android Broadcast в AppGallery и расскажу вам о своём опыте работы с этим магазином, а также сравним его с Google Play. Практически всё к чему я привык в магазине от Google я нашёл в AppGallery. Также я нашел кое-что интересное, что может позволить вам быстрее стартануть своё приложение и игру и проверить интерес аудитории к вашему продукту.
Рыцарь в доспехах, а BPDU — слова его любви
Тоннель EOIP (обычно применяемый одним известным брендом) не пропускает BDPU по умолчанию. А это значит, что если протащить VLAN через EOIP, закольцуя его в целях резервирования, то не стоит надеяться, что STP его отработает. Случится петля. Коммуникации в этом VLAN не произойдет - каждый из коммутаторов возомнит себя королем и voilà - сеть стоит на коленях. Если вы знаете как настроить EOIP на пропуск BPDU, то, пожалуйста, напишите об этом в комментарии! Эта информация будет полезна.
Топология Spanning Tree возникает благодаря BPDU (Bridge Protocol Data Unit). Это то, что делает возможным свободную от петель коммуникацию на сети с избыточными линками. И наверное, первое, что нужно сделать перед созданием избыточного линка, будь он логическим или физическим, - это проверить есть ли обмен BPDU между коммутаторами.
Можно подумать о BPDU как о языке любви, возникающий между железками и на основе которого расцветает и распускается дерево Spanning Tree. Они как слова, которыми влюбленные обмениваются друг с другом. И любовь их питается этими словами. А если нет слов, то нет и любви.
Каждое это слово содержит информацию об отправителе. Этой информацией они делятся - так они узнают друг о друге и решают, кто будет главным в семье: кто альфа, а кто омега. И главное, на что коммутаторы смотрят - это идентификатор Bridge ID (Bridge Identifier). Каждый из коммутаторов, который имеет включенный Spanning Tree Protocol, несет этот идентификатор. И есть три элемента, которые являются частью этого идентификатора и делают его уникальным для каждого коммутатора. Первый из них - это приоритет (Priority). Его значение по умолчанию равно 32768. (Сколько бит будет задействовано, чтобы получить такое значение?). А если так, то все коммутаторы, настроенные по умолчанию, будут иметь равные шансы стать альфой в семье, так? Нет! Тут вступает в роль второй элемент. Это номер VLAN’a. Коммутатор приплюсует номер VLAN’a к приоритету. Например, если номер VLAN’a - 7, то Bridge ID будет равен 32768 + 7 = 32775. Но и это не сделает коммутатор королем, даже если оба коммутатора имеют VLAN 7. Поэтому знакомьтесь с третьми элементом - MAC address, совершенно уникальным идентификатором.
JSON. Вы человек или машина?
Недавно я переехал в Москву в квартиру без письменного стола. Это было неловким, отягчающим непростую ситуацию обстоятельством: спального места тоже не было. В общем, я позвонил в IKEA и попросил привезти мне и то и другое.
Через пару дней мебель доставили. Я распаковал первую коробку, из нее вывалилась инструкция и у меня опустились руки: в ней наверняка пятьдесят разных языков, все мелким шрифтом, как книга заклинаний из Гарри Поттера. Но приглянувшись, в ней были только рисунки: два смешных чувачочка показывали как обращаться с деталями, как их вертеть, собирать и так далее. Уф, счастье! Я подумал о JSON и XML. IKEA молодцы они использовали универсальный язык жестов и картинов, понятный всем на свете.
Часто задаваемые вопросы про Huawei FusionModule2000
Huawei FusionModule2000 - интеллектуальный модульный центр обработки данных нового поколения, созданный специально для того, чтобы предоставить заказчикам простое, эффективное и надежное решение для ЦОД. Huawei FusionModule2000 первым в мире получил сертификацию уровня «Tier IV Ready» от Uptime Institute: он соответствует самым высоким требованиям к доступности.
Это высокоинтегрированное модульное решение, отвечающее требованиям быстрой доставки и развертывания по требованию. Каждый модуль включает в себя системы электропитания и охлаждения, систему стоек и конструкций, кабельную систему и систему управления.
Huawei ADN: первая в индустрии сеть с автономным управлением третьего уровня
Что сегодня есть у Huawei для построения цифровых беспроводных офисов
30+ предстоящих вебинаров Huawei: выбираем, критикуем, оставляем заявки
Почему вы должны попробовать Rust
Это ознакомительная статья о языке программирования Rust и его инструментах, с помощью которой я надеюсь привлечь ваше внимание к этому интересному и уникальному языку, созданному чтобы дать ответ на следующие вопросы разработчиков:
Как убедиться, что в моем приложении нет проблем и уязвимостей, связанных с неправильной работой с памятью? Как быть уверенным в том, что любой доступ к общим объектам правильно защищен? Как свести к минимуму любую работу, не связанную напрямую с написанием кода?
Цель данной статьи не рассказать о доселе невиданных возможностях Rust (сразу говорю, что тут ничего нового "Растоманы" не найдут), на Хабре вы итак найдете множество интересных статей о внутренностях языка и интересных случаев использования. Моя цель рассказать о том, что он предлагает в качестве решения обозначенных выше проблем, как это будет выглядеть со стороны программиста, и почему это важно.