История клиента Amvera Cloud о развертывании сайта на .net для калькуляции зарплаты в облаке Amvera

Добрый день. Меня зовут Георгий и я dotnet разработчик.

Наверняка многие задаются вопросом «Какая зарплата будет у меня в этом месяце?». У нас в компании с этим не всё так просто. Хорошо, когда есть фиксированная часть и вы получаете аванс или саму зарплату, тогда вы точно знаете, какую сумму получите. Работая в данной компании, я столкнулся с некоторым непониманием в этом плане.

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

Мне тоже не хотелось каждый месяц высчитывать размер своей зарплаты, и я решил автоматизировать этот процесс. А заодно помочь своим коллегам.

Итак, аспекты, которые интересовали людей:

· Дни выплат (они могут меняться в зависимости от выходных в текущем месяце)

· Сами выплаты на текущий месяц

· Возможность учитывать нерабочие дни (отпуск, больничный, отгулы)

Таким образом, мой выбор пал на web приложение. А так как я dotnet разработчик, то им стал Blazor.

Сам проект вы можете найти на гитхаб: https://github.com/FoxTes/Loodsen.SalaryCalculator

Приложение представляет из Server Side модель размещения. В нем нет ничего сложного: одностраничное приложение, немного математики, и, так как я большой поклонник реактивного программирования, то взял за базу Reactive UI. Благо на Blazor этот концепт прекрасно адаптируется.

Из особенностей стоит выделать получение производственного календаря. В этом мне помог проект https://www.isdayoff.ru/. Сообщество написало библиотеку для работы с С#, поэтому с интеграцией проблем не возникло.

Развертывание

После написания основной части встал вопрос о развертывании приложения. Ранее, для пет проектов, я пользовался сервисом DigitalOcean. Знаний по развертыванию, в таком случае, требовалось минимально. Либо, как альтернативный вариант, Heroku. Для начинающих это отличный вариант. Есть бесплатный тариф, разрывание в пару кликов. Но, к сожалению, пришлось искать замену в связи со сложностями оплаты и эксплуатации заграничных сервисов.

Ища аналог зарубежным решениям для хостинга сервиса, я выбрал Аmvera. Концепция Amvera повторяет Heroku. Недолго думая, я решил попробовать, к тому же был пробный период, в который можно бесплатно протестировать сервис.

Процесс деплоя в их случае можно разделать на 2 варианта.

· Использовать dockerfile по инструкции

· Использовать amvera.yml по инструкции или воспользовавшись генератором по ссылке

Я решил пойти проверенным путем. В моем случае, я просто попросил IDE (Rider) сгенерировать dockerfile. В итоге мы получаем готовый файл конфигурации, даже порты не надо менять (по дефолту 80). Сам dockerfile помещается в корень проекта, что нам и требуется. А вообще, вы можете изменить путь файла. Подробнее смотрите инструкцию. Далее необходимо создать проект в Amvera и здесь есть 2 пути:

· Использовать проект Amvera, как основной репозиторий

· Подключить текущий проект к репозиторию Amvera

Конечно, в случае если у вас уже есть проект, то проще пойти по второму пути. Так поступил и я.

После пуша в мастер ветку GIT, вы увидите, на какой стадии процесс деплоя вашего приложения. Из минусов, которые сразу бросаются в глаза, — это неработающая система логирования. Как самого деплоя, так и приложения (разрубы, исправьте, пожалуйста).

Комментарий команды Amvera – «мы исправимся и скоро починим логи!»

Ну а после вы можете успешно попробовать достучаться до своего приложения.

Посетить мой проект вы можете по ссылке: https://calculator-foxtes.amvera.io

Итог

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

От команды Amvera


Если вы хотите рассказать вашу историю – напишите нашему CEO, Кириллу Косолапову (kkosolapov@amvera.ru). Для авторов статей у нас действует программа – «Год облака в подарок».


Мы продлили бета-тест
с 15 апреля до 10-15 мая 2023 г.
На время бета-теста использование сервиса бесплатно!
После 10 мая всем пользователям будет начислена 1000 рублей для продолжения использования сервиса.
Для развертывания проекта требуется
1
Написать amvera.yaml
или dockerfile
2
Воспользоваться выделенным репозиторием, либо привязать к сервису свой репозиторий
3
Сделать Push в
мастер ветку GIT
Примеры использования клиентами сервиса AmVera
  • Для демонстрации работы нашего алгоритма распознавания речи мы сделали телеграм-бот: ему можно отправить голосовое сообщение и получить текстовую расшифровку в ответ. Развернуть бота мы решили в сервисе AmVera. AmVera оказался существенно проще в настройке, чем выделенный сервер, и обеспечил более высокую скорость срабатывания.
    Сервис распознавания речи Clarity Speech
  • Сервис AmVera мы использовали для хостинга решения по распознаванию паспортов. Наш продукт требователен к ресурсам и требует безотказной работы. Тариф "Высоконагруженный" полностью удовлетворил наш запрос.
    Data4
    Студия заказной разработки решений на основе ML
  • Мониторинг СМИ требует большого количества микросервисов и легкой горизонтальной масштабируемости. Наиболее подходящим решением оказалось использование набора контейнеров в AmVera: при росте проекта не пришлось настраивать конфигурации каждого нового сервера или виртуальный машины, сервис AmVera сделал все за нас.
    МедиаОко
    Сервис мониторинга СМИ
  • Мы использовали инфраструктуру AmVera для хостинга сервиса персонализированных товарных рекомендаций для интернет-магазинов. В связи с необходимостью регулярно обновлять решение преимуществом стала возможность пушить обновления в GIT-репозиторий и автоматически их разворачивать.
    SotaTarget
    Разработчик сервиса персонализированных рекомендаций
Если вы хотите связаться с поддержкой, напишите на почту

support@amvera.ru

или оставьте контакты в форме ниже