• Как сделать и разместить статический сайт на Gatsby в Yandex.Cloud

    • Tutorial

    Пошаговая инструкция по созданию и деплою статического сайта в облако, прикрутке к нему сертификата Let’s Encrypt, домена второго уровня и настройки API-шлюза.

    Перейти к руководству
  • Платформа Netflix Cosmos

    • Translation

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

    В этой статье мы расскажем, почему мы решили создать платформу Netflix Cosmos, как она работает, а также поделимся полезным опытом, который мы накопили в ходе проекта.

    Читать перевод далее
  • Руководство по отладке бессерверных приложений

    • Translation

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

    После ряда успешных (и не очень) проектов по развертыванию фреймворков на корпоративных инфраструктурах и в облаке, была сформулирована концепция фреймворка FaaS (Function as a Service). Его задача – обеспечить запуск приложений в контейнерах без сохранения состояния. Это дает разработчикам возможность сконцентрироваться на самом коде, а не на управлении сложной инфраструктурой и связанными с ней ресурсами. Это привело к изобретению бессерверной архитектуры, ориентированной исключительно на исполнение двоичных файлов приложений, при этом все необходимые ресурсы управляются сторонним провайдером и принадлежат ему. По своей сути бессерверная архитектура позволила предприятиям не только сильнее сосредоточиться на разработке основных приложений, но и существенно снизить накладные расходы.

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

    Читать перевод дальше
    • +18
    • 2.8k
    • 6
  • Интересное о Serverless: хабрастатьи о применении, инструментах, кейсах и инструкциях для первого свидания

      Привет, Хабр! Меня зовут Антон. Примерно год назад я начал работать с Serverless — и был покорён этим подходом к разработке приложений. Несмотря на определённые недостатки и ограничения, потенциал бессерверных вычислений огромен, за ними большое будущее. Очень приятно, что честь стать первым куратором хаба Serverless выпала именно мне. Мои задачи — находить интересные материалы, показывать новые возможности и помогать тем, кто интересуется этой архитектурой. В первом посте я собрал статьи разных авторов с Хабра, которые знакомят с идеей Serverless- подхода и помогают разобраться, для чего её лучше всего применять.

      Читать далее
      • +24
      • 6.4k
      • 9
    • Увидеть истинное лицо продукта и выжить. Данные о пользовательских переходах как повод написать пару новых сервисов


        В интернете сотни статей о том, какую пользу приносит анализ поведения клиентов. Чаще всего это касается сферы ритейла. От анализа продуктовых корзин, ABC и XYZ анализа до retention-маркетинга и персональных предложений. Различные методики используются уже десятилетиями, алгоритмы продуманы, код написан и отлажен — бери и используй. В нашем случае возникла одна фундаментальная проблема — мы в ISPsystem занимаемся разработкой ПО, а не ритейлом.
        Меня зовут Денис и на данный момент я отвечаю за бэкенд аналитических систем в ISPsystem. И это история о том, как мы с моим коллегой Данилом — ответственным за визуализацию данных — попытались посмотреть на наши программные продукты сквозь призму этих знаний. Начнем, как обычно, с истории.

        Читать дальше →
        • +23
        • 2.1k
        • 2
      • Ленивая подгрузка переводов с Angular

        • Tutorial

        image


        Если вы когда-нибудь участвовали в разработке крупного angular-проекта с поддержкой локализации, то эта статья для вас. Если же нет, то возможно, вам будет интересно, как мы решили проблему скачивания больших файлов с переводами при старте приложения: в нашем случае ~2300 строк и ~200 Кб для каждого языка.

        Читать дальше →
        • +18
        • 2.6k
        • 7
      • Лучшие плагины и сервисы для WordPress в 2020


          По версии ресурса W3Techs, под капотом более 62% всех сайтов, построенных на базе CMS, находится Wordpress той или иной версии. Официальный маркетплейс WP содержит огромное количество различных плагинов, модулей и расширений базового функционала и разобраться в этом разнообразии — не самая простая задача. Эта статья призвана ее упростить.

          Автор статьи — веб-разработчик с 12-летним стажем работы с WordPress, он подготовил подборку своих любимых инструментов для решения повседневных задач. Большинство приведённых примеров широко известны в WP сообществе, однако, есть и парочка личных открытий.
          Читать дальше →
        • Школа тестировщиков. Как это было



            В интернете миллион возможностей обучиться новому — иностранным языкам, программированию, дизайну и чему угодно ещё… Тестирование не отстаёт: есть и курсы, и тренинги, и школы. Несмотря на это, в декабре прошлого года, мы решили организовать своё обучение. Это произошло задолго до того как студенческая жизнь перетекла в Zoom, поэтому обучение происходило очно.


            Я работаю в отделе тестирования, и была в числе тех, кто организовывал и проводил обучение. В этой статье расскажу, как мы создавали курс, с какими сложностями столкнулись, что получили в результате. Думаю, наш опыт поможет людям, которые только планируют запустить своё обучение, будь то онлайн или очные занятия. Ведь изоляция закончится, а мы вернемся в офисы и лекционные залы, чтобы учиться не только через экран ноутбука.
            Читать дальше →
            • +22
            • 8.3k
            • 5
          • Браузер на страже API-запросов: строим безопасное общение фронтенда с бэкендом


              Команде разработчиков, создающей одностраничное приложение (SPA), рано или поздно придётся столкнуться с ограничениями браузерной безопасности. С одной стороны, нужно сделать так, чтобы фронтенд-сторона могла беспрепятственно общаться с бэкенд API-сервером, а с другой — защитить такое общение от злоумышленников. Сложности начинаются, когда фронтенд и бэкенд находятся на разных доменах, так как на такое взаимодействие браузер накладывает более строгие правила.


              В клиентском HTML-JS приложении браузер выполняет важную роль «инспектора» внешних запросов и содержит в арсенале мощные инструменты. Наша задача — установить правила, по которым он будет применять эти инструменты к нашему приложению.


              Я — разработчик в хостинг-провайдере FirstVDS. При создании SPA для одного из наших проектов я искал решения и применял их на практике, чтобы подружить фронтенд с API и обезопасить их общение. В этой статье я собрал свои мысли и опыт воедино, чтобы поделиться с вами.

              Приступим
            • Пишем Grafana reverse proxy на Go

              • Tutorial


              Очень хотелось назвать статью «Proxy-сервис на Go в 3 строчки», но я выше этого.


              В действительности так и есть, основную логику можно уместить в трёх строках. Для нетерпеливых и тех, кто хочет увидеть самую суть:


              proxy := httputil.NewSingleHostReverseProxy(url)
              r.Header.Set(header, value)
              proxy.ServeHTTP(w, r)

              Под катом более подробный рассказ для новичков в языке Golang и тех, кому нужно создать обратный прокси в кратчайшие сроки.


              Разберём, для чего нужен прокси-сервис, как его реализовать и что под капотом у стандартной библиотеки.

              Читать дальше →
              • +18
              • 6.7k
              • 4
            • Как сэкономить 15 000 рублей при регистрации ПО


                Прошёлся недавно по поисковой выдаче гугла и выяснил, что регистрация прав на программу для ЭВМ стоит около 15 тыс. рублей. 15 тыс. рублей! И это ещё без пошлины.


                Я удивился, потому что подготовка документов занимает минут тридцать. Чёрт с ним, пускай даже один час, но 15 тыс. рублей за час — это более чем достойное вознаграждение.


                Зашёл на сайт Роспатента: инструкции там есть, но четкой картины не дают. На месте руководителя маленького IT-проекта я бы не стал подавать заявление сам — вдруг что-то сделаю не так.


                Но я же юрист, и процедуру эту проходил не раз. Так почему бы мне не помочь стартаперам? Подумал-подумал, и не нашёл аргументов против. Так что давайте вместе попробуем подготовить документы и направить их в Роспатент, сэкономив при этом в среднем 15 тыс. рублей.

                Читать дальше →
              • Один день в компании Joker 2019

                  25-26 октября, буквально через два дня, в Санкт-Петербурге на территории Экспофорума пройдёт Joker 2019 — международная Java-конференция для хардкорных Java-разработчиков.

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

                  Так что 25 октября в 9:30 утра (по московскому времени) можно будет перейти по ссылке под катом (совам, конечно, придется проснуться чуть раньше обычного). Там же под катом мы обсудим, что такого есть на конференции, чего нет на трансляции.


                  Читать дальше →
                  • +21
                  • 3.2k
                  • 1
                • Boost.Spirit, или Добавляем «духовности» фильтрам списков

                    image


                    Доброго времени суток, коллеги. Я по-прежнему являюсь разработчиком ISPsystem, и меня все еще зовут Дмитрий Смирнов. Некоторое (довольно продолжительное) время я никак не мог определиться с темой следующей публикации, поскольку материала за последние месяцы работы с Boost.Asio накопилось много. И уже в тот момент, когда казалось, что легче подбросить монетку, одна задача все изменила. Нужно было разработать инструмент, позволяющий frontend’у фильтровать данные в запрашиваемых списках. Сам же список со стороны backend'а представляет собой обыкновенный json_array. Добро пожаловать под кат, там все взлеты и падения последних дней.

                    Читать дальше →
                    • +31
                    • 3.3k
                    • 8
                  • VMmanager 6: представляем коробку и сравниваем с предыдущим поколением



                      8 октября вышла коробочная версия VMmanager 6 — новой панели управления виртуализацией. Теперь её можно установить на сервер и использовать для продажи виртуальных машин или управления собственной инфраструктурой. В этой статье сравним новое поколение с предыдущим — VMmanager 5 и VMmanager 6.


                      Обе панели поддерживают виртуализацию KVM и управляют физическим сервером средствами libvirt.


                      VMmanager 5 вышел в 2013 году, VMmanager 6 — в 2019-м. Новое поколение удобнее и устойчивее к нагрузкам. Поддерживает создание образов, управление задачами и мониторинг.


                      В этой статье сравним два поколения панелей. Сначала поговорим о концептуальных различиях: архитектуре, интерфейсе, устойчивости к нагрузкам. Во второй части посмотрим, как в двух панелях решаются одинаковые задачи.

                      Читать дальше →
                    • Как придумать название продукта или компании на примере Vepp



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

                        Три месяца мы работали над ренеймингом панели управления с сотней тысяч пользователей. Нам было больно и в начале пути очень не хватало совета. Поэтому когда закончили, решили собрать свой опыт в инструкцию. Надеемся, кому-нибудь пригодится.
                        Читать дальше →
                      • Рождение платформы



                          Мир изменился. Я чувствую это в воде, вижу в земле, ощущаю в воздухе. Всё, что когда-то существовало, ушло, и не осталось больше тех, кто помнит об этом.
                          Из фильма «Властелин колец: Братство кольца»

                          В интернете существует 100500 статей и докладов на тему «как мы пилили монолит», и у меня нет желания написать еще одну. Я попробовал пойти немного дальше и рассказать, как изменения технологий привели к появлению абсолютно нового продукта (спойлер: мы писали коробку, а написали платформу). Статья во многом получилась обзорной, без технических подробностей. Подробности будут позже.
                          Читать дальше →
                        • Vepp — новая панель управления сервером и сайтом от ISPsystem


                            Vepp — это новая панель для управления сервером и сайтом. Помогает установить WordPress, подключить домен, настроить почту, делать резервные копии. Скоро появится встроенная аналитика и антивирус.


                            Сначала мы хотели просто обновить интерфейс ISPmanager 5, но на этапе проектирования поняли: интерфейсом не обойтись, нужно менять подход к задачам пользователя. Фактически это означало, что надо делать новый продукт.


                            Под катом объясним, почему нельзя было просто апгрейдить ISPmanager 5 и покажем, что получилось в результате его глобальной переработки.

                            Читать дальше →
                          • Чего ждать от новых Xeon E. Сравниваем с E3 и делаем выводы



                              Продолжаю тестировать процессоры. В этот раз моё внимание целиком и полностью переключилось с десктопных Core на серверные Xeon. Что, надо признаться, не случайно. Во-первых, меня об этом горячо просили в комментариях к прошлой статье, а во-вторых, наш парк пополнился свежими Xeon E — мы решили обновить линейку однопроцессорных выделенных серверов и прикупили E-2134 и E-2136 как альтернативу E3-12XX.
                              Читать дальше →
                            • Как разделить фронтенд и бэкенд, сохранив взаимопонимание

                                image


                                Как изменить архитектуру монолитного продукта, чтобы ускорить его развитие, и как поделить одну команду на несколько, сохранив согласованность работы? Для нас ответом на эти вопросы стало создание нового API. Под катом вас ждёт обстоятельная история о пути к такому решению и обзор выбранных технологий, но для начала — небольшое лирическое отступление.


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


                                Мне посчастливилось начать программировать в те годы, когда не было разделения на бэкенд и фронтенд-программистов, когда не звучали слова «прототип», «продуктолог», «UX» и «QA». Мир был проще, деревья выше и зеленее, воздух чище и во дворах играли дети, а не парковались автомобили. Как бы мне ни хотелось вернуться в то время, нужно признать, что всё это не замысел суперзлодея, а эволюционное развитие общества. Да, общество могло развиваться иначе, но, как известно, история не терпит сослагательного наклонения.

                                Читать дальше →
                              • Нужен готовый джун — научи его сам, или Как мы запускали курс семинаров для студентов

                                  image


                                  Для эйчаров в ИТ не секрет, что если твой город — не миллионник, то найти в нём программиста проблематично, а человека, который владеет нужным стеком технологий и опытом, и того сложнее.


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


                                  А мы хотим готовых джунов, которые немного программировали на С++, знакомы с Angular и видели Linux. Значит, надо пойти и самим их научить: познакомить с компанией и дать материал, который нужен для работы у нас. Так родилась идея организовать курсы по бэкенд и фронтенд-разработке. Зимой прошлого года мы её реализовали, а в этой статье расскажем, как это было.

                                  Читать дальше →
                                  • +29
                                  • 7.3k
                                  • 9