История клиента 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). Для авторов статей у нас действует программа – «Год облака в подарок».