Метка: devops

  • Попробовал модный веб-сервер Caddy вместо Nginx

    Попробовал модный веб-сервер Caddy вместо Nginx

    Попробовал модный веб-сервер Caddy вместо Nginx.

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

    NGINX (Engine X) — самый популярный веб-сервер (33% рынка), написанный на C. Изначально был написан 20 лет назад программистом из Rambler.
    Раньше Nginx многие использовали как обратный прокси для Apache2, чтобы его ускорить. Nginx занимался статичными файлами (картинки, CSS), а Apache2 запускал PHP-скрипты. Постепенно Apache2 стали убирать и всю работу переносить на Nginx, потому что он быстрее и лучше держит большие нагрузки. Есть большая экосистема дополнений, отличная документация и множество примеров использования. Стабильный продукт, с которым я работаю на всех проектах.

    А тут в инфополе стал мелькать Caddy. Чем же он покоряет разработчиков?
    — Более лёгкая конфигурация SSL-сертификатов. Точнее, её нет, Caddy делает всё сам — пользователю больше не нужно настраивать стандартные сертификаты Let’s Encrypt.
    — Поддержка HTTP/2 и HTTP/3 из коробки.
    — Поддержка компрессии gzip и zstd из коробки.
    — Простой синтаксис конфигурационных файлов. Очень похож на Nginx, но проще и яснее. Конфиги сокращаются в размере, вероятность ошибки ниже.
    — Caddy — это всего один исполняемый файл без зависимостей. Его легко устанавливать и обновлять.
    — Новый плагин можно подключить к Caddy без перезагрузки и простоя в работе.
    — После установки Caddy показал симпатичную страницу по-умолчанию с небольшой инструкцией.

    Есть у него и минус:
    — Caddy на предельной нагрузке может обработать меньше запросов, чем Nginx. Приоритет Caddy на простоте использования и автоматизации. На этом бенчмарке разница начинается от 10 тысяч запросов в секунду, что практически недостижимо для маленьких проектов.

    Мои впечатления — мне понравилось с ним работать. Действительно легкая установка и конфигурация. Видно, что авторы много работали с другими веб-серверами и свой продукт сделали удобным и современным.

    На моём сайте пока что висит статическая заглушка, вот весь конфиг:

    fullstackfounder.ru {  
           root * /var/www/fullstackfounder.ru/public  
           file_server  
           encode zstd gzip  
    }  
      
    www.fullstackfounder.ru {  
           redir https://fullstackfounder.ru{uri} permanent  
    }

    Аналогичный конфиг у Nginx выглядел бы вот так:

    server {
        listen 80;
        server_name fullstackfounder.ru www.fullstackfounder.ru;
    
        # Redirect all HTTP to HTTPS
        return 301 https://$host$request_uri;
    }
    
    server {
        listen 443 ssl http2;
        server_name fullstackfounder.ru;
    
        ssl_certificate     /etc/letsencrypt/live/fullstackfounder.ru/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/fullstackfounder.ru/privkey.pem;
        include             /etc/letsencrypt/options-ssl-nginx.conf;
        ssl_dhparam         /etc/letsencrypt/ssl-dhparams.pem;
    
        root /var/www/fullstackfounder.ru/public;
        index index.html index.htm;
    
        # Enable gzip
        gzip on;
        gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
    
        # Canonical redirect: www → non-www
        if ($host = 'www.fullstackfounder.ru') {
            return 301 https://fullstackfounder.ru$request_uri;
        }
    
        location / {
            try_files $uri $uri/ =404;
        }
    }

    Очевидно, что при работе с Caddy будет проще всё настроить. Мой вывод: дружелюбный сервер для разработки, DevOps, небольших проектов и соло-разработчиков. Сомневаюсь, что он завоюет высокие нагрузки, но свой вклад в улучшение веб-серверов он уже внёс.

    Буду запускать на нём WordPress, посмотрим, что из этого выйдет.

  • Профессии будущего

    Профессии будущего

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

    Список IT-профессий, на которых работают эти дети и которых не существовало 25 лет назад:
    — Frontend Developer
    — Backend Developer
    — DevOps Engineer
    — UX/UI Designer
    — Blockchain / Smart Contract Developer
    — Machine Learning Engineer
    — Prompt Engineer
    — No-Code Developer
    — Product Manager
    — Growth Hacker
    — Cloud Architect
    — Scrum Master
    — SMM Manager
    — Influencer Manager
    — SEO Specialist
    — Reels Editor
    — Motion Designer
    — Metaverse Event Producer

    Как это называлось раньше:
    — Программист
    — Рекламщик
    — Продюсер

    Какие профессии новой эпохи я забыл?
    Насколько они новые?

  • Команда разработки для стартапа

    Команда разработки для стартапа

    В 2003 году для старта проекта нужен был программист, продажник и дизайнер (hacker, hustler & designer). Пусть четвертый парень на картинке будет инвестором. Так и запускали первые проекты.

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

    Команда супергероев теперь выглядит так:
    — Продажник теперь BizDev и его меньше всего затронуло разделение труда. Он всё так же ищет жертву потребителя на рынке.
    — Product Owner — единственный понимает, что все делают и что должно получиться на выходе. Но сам может генерировать только беспокойство и приоритеты.
    — Product Manager — генерирует рандомные гипотезы, пытается понять что нужно считать в продукте и что из этого следует.
    — Project Manager — спрашивает у всех «как дела?» и рассказывает почему проект отстает от графика.
    — Business Analyst — должен всем всё разъяснить и описать, но душнилу плохо понимают.
    — Brand designer — нарисует логотип, подберёт шрифт для визиток и сделает презентацию на 80 страниц с обоснованием.
    — UX/UI — старательно перерисует чужой кейс с биханса в вашу фигму по мотивам фир стиля. Тоже приложит презентацию.
    — Frontend-разработчик — превращает всё до чего дотронется в Java Script.
    — Backend-разработчик — усложняет и так сложные штуки под капотом, которые никто кроме него не понимает.
    — QA manual — проверяет, что продукт ломается там, где не ожидали.
    — QA automation — заставляет робота проверять, что продукт ломается там, где ожидали.
    — DevOps — сисадмин, который заливает всё на сервер, но почему-то тоже через код и 8 слоёв абстракции.

    Конечно, на такую ораву теперь нужен TeamLead, HRd и ещё какой-нибудь скрам-мастер.

    Нормально же сидели, откуда столько народу понабежало? 🙈