пятница, 12 июня 2020 г.

AWS Certified Cloud Practitioner - как я получила этот сертификат

Вчера я сдала экзамен и получила сертификат AWS Certified Cloud Practitioner



https://www.certmetrics.com/amazon/public/badge.aspx?i=9&t=c&d=2020-06-11&ci=AWS01004120

Это было довольно сложно, не только потому, что экзамен проводится на английском языке, но и из-за сложной процедуры сдачи экзамена, своими впечатлениями я поделилась в видео:


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

воскресенье, 31 мая 2020 г.

Настройка почты через biz.mail.ru в БитриксВМ

Недавно настраивая отправку почты в БитриксВМ через ящик домена, который хостится на biz.mail.ru согласно официальной инструкции https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=37&LESSON_ID=2946, я столкнулась с проблемой, что письма не уходят с сервера.

Зайдя в лог по адресу: /home/bitrix/msmtp_default.log я увидела там ошибку:

errormsg='the server sent an empty reply' exitcode=EX_PROTOCOL

понедельник, 25 мая 2020 г.

Как в Битрикс24 автоматически создать задачу или запустить БП при получении нового письма

Для того, чтобы при получении нового письма в битрикс24 в коробке создавалась новая задача или запускался бизнес-процесс или происходили любые другие действия, которые должны происходить после получения нового письма, необходимо сделать такие нехитрые настройки:

1) Создать системный почтовый ящик и подключить его по pop3:


воскресенье, 3 мая 2020 г.

AWS S3 - Лучшие практики

Производительность

Одновременная обработка нескольких PUT/GET

S3 масштабируется для поддержки высокой интенсивности запросов. Если частота запросов постоянно растет, S3 автоматически разбивает корзины на части по мере необходимости для поддержки возрастающей интенсивности запросов.

S3 может обрабатывать не менее 3500 запросов PUT / COPY / POST / DELETE и 5500 запросов GET / HEAD в секунду на каждый префикс в корзине.
GET-интенсивные рабочие нагрузки

пятница, 20 декабря 2019 г.

Кейс: как мы собрали нетиповой сервис из типовых компенентов за 2 недели

Parkland Natural Health & Wellness-Studio.co.uk - это сервис онлайн записи на процедуры гидроколонотерапии и на другие оздоровительные процедуры в Лондоне.

Когда клиент обратился к нам, у него уже был работающий сайт и привязанная к нему букинг-система, но они не были интегрированы друг с другом. Букинг-система запускалась во фрейме и сотрудникам приходилось делать двойную работу каждый раз при добавлении новой услуги - набивать ее и на сайте, и в букинг-системе.

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

понедельник, 26 августа 2019 г.

AWS Config - кастомные правила для автоматизации работы системного администратора

Сервис AWS Config предназначен для оценки и аудита конфигурации ресурсов AWS. AWS Config ведет непрерывный мониторинг конфигурации ресурсов AWS и фиксирует результаты. Сервис позволяет автоматизировать сопоставление записанных и требуемых конфигураций и оценку соответствия.

Что это означает на практике? Расскажу о своем недавнем кейсе.

Ко мне обратился клиент, использующий сервис AWS Secrets Manager для хранения API ключей и токенов OAuth. Ключей и токенов было очень много (несколько сотен).

Они были разного типа, и их ротация (обновление) осуществлялась с использованием различных AWS Lambda функций. Администраторам было сложно вручную отслеживать, все ли в системе работает корректно, нет ли ключей, которые по какой-то причине не обновлены в течение заданного промежутка времени. К примеру, если кто-то внесет изменение в функцию, отвечающую за ротацию ключа, он перестанет обновляться, и этого не будет видно.

Передо мной встала задача создания 2х кастомных правил AWS Config:

вторник, 6 августа 2019 г.

Приму стажера в команду (web, backend)

Друзья, я сейчас активно расширяю свою команду.

Если кто-то хочет работать со мной - стучитесь ко мне в скайп - обсудим.
Мы с моей командой занимаемся внедрением Битрикс24 для англоязычных клиентов. Внедряем как коробку, так и облако.

Кого я ищу? Бекенд веб-программиста, который хочет развиваться в направлении разработки под Битрикс24, опыт работы именно с Битрикс24 - не требуется - есть ведущий программист, который курирует и обучает стажеров. Знание английского на уровне, когда вы понимаете на слух 90% англоязычной речи - в приоритете.

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

Кроме того, ищу добрых, внимательных, вежливых людей с хорошим письменным английским для работы на первой линии техподдержки и для простой административной работы.

вторник, 30 июля 2019 г.

Облачный Битрикс24 и почтовый трекинг - интеграция по SOAP через AWS Lambda

Читатели моего блога уже знают, что в последнее время я полюбила использовать Serverless технологии AWS: Lambda и API Gateway, вебхуки и их обработчики на языке Python3 для кастомизации облачного Битрикс24. Это удобно, просто, изящно и очень дешево.

К примеру, дергать SOAP-сервис Почты России из AWS Lambda - можно бесплатно целый год, а потом, если мои замеры и подсчеты верны, проверка 100 000 почтовых квиточков за год, что с лихвой покроет нужды любого малого бизнеса, обойдется примерно в 12$.

Что же нам для этого потребуется:

Как обновить элемент списка Битрикс24 на Python3 из AWS Lambda

Себе на память: Как обновить элемент списка Битрикс24 на Python3 из AWS Lambda:
Основная проблема заключается в том, что при апдейте элемента списка необходимо передать не только то поле, которое нужно обновить, а вообще все поля. Поэтому перед апдейтом необходимо сначала запросить все поля элемента по ID, переформировать их в другой массив и только потом проапдейтить.

воскресенье, 28 июля 2019 г.

Как собрать AWS Lambda Layer с библиотекой Zeep

Python библиотека Zeep - предназначена для работы с SOAP - сервисами. Эта библиотека написана на чистом Python, но одна из ее зависимостей lxml содержит код на C, так как использует libxml2 и libxslt. Из-за этого библиотеку Zeep невозможно залить в Lambda Layer без танцев с бубном.

В одном из моих Serverless проектов мне нужно было использовать эту библиотеку, и я нашла такой способ засунуть ее в Layer:

четверг, 25 июля 2019 г.

AWS Lambda и API Gateway для обработки вебхуков Битрикс24

Многие мои клиенты выбрали в качестве CRM-системы и системы управления проектами Битрикс24 в облаке. Основное преимущество облака перед коробой состоит в том, что клиенту не нужно думать о настройке сервера, его мощностях, безопасности, амортизации железа, нанимать отдельно администратора сервера. Однако это преимущество частично теряется, когда возникает необходимость расширить функционал Битрикс24 за счет кастомных приложений.

Да, приложения под Битрикс24 может хостить партнер, принимая на себя эту головную боль. Но для работы простых нетиражных приложений, тех, для которых обычно используют вебхуки Битрикс24, вообще не нужен сервер. Достаточно беcсерверного (Serverless) сервиса Lambda от AWS (Amazon Web Services) https://aws.amazon.com/ru/lambda/ и Amazon API Gateway https://aws.amazon.com/ru/api-gateway/.
Об их применении  для расширения функционала Битрикс24 и пойдет речь в данном посте.

четверг, 4 апреля 2019 г.

Сколько стоит вернуть ошибочный валютный платеж зарубежному клиенту

Ранее я писала о том, как принимать валютные платежи от зарубежных клиентов и проходить валютный контроль в банке Точка: http://bedrosova.blogspot.com/2017/10/blog-post_14.html

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