В компании Rise мы гордимся своим подходом к разработке. Мы используем одни из лучших технологий, чтобы быть на переднем крае развития, когда речь идет о приложениях для небанкинга. В дополнение к этому мы приняли 5 принципов, которые лежат в основе нашей культуры работы и разработки приложений, когда речь идет об инжиниринге. В этом посте мы расскажем о 5 принципах работы с технологией Rise, которые мы используем и которые вы должны знать.
1. Масштабируемость
Наши системы созданы для масштабирования, то есть по мере роста и расширения нашей компании, как в командном, так и в географическом смысле, будут расти и наши системы и подходы. В Rise мы используем микросервисный подход, когда каждый разработчик работает над отдельной частью приложения. Это позволяет нам изолировать различные части приложения, чтобы разработчики могли работать над определенными частями приложения, не нарушая остальную часть цепочки.
Это сочетается с нашей одержимостью автоматизацией и изоляцией: две вещи, которые также помогают нам расти линейно. Наличие изолированной системы означает, что если в наших системах возникнет проблема, она не нарушит работу остальной части приложения. Автоматизация повышает нашу производительность и позволяет избежать выполнения повторяющихся задач, тем самым оптимизируя наш процесс.
Наличие среды, в которой можно свободно тестировать, не нарушая работу остальной части решения, имеет ключевое значение. Самое главное, это означает, что при возникновении проблемы ее легко найти, поскольку мы можем точно определить элементы и работать над их развитием и устранением.
Мы также построили все наше приложение на облаке, это гарантирует эластичность, поскольку все становится доступным по требованию. В наши дни создание систем в облаке уже не является выбором - это необходимость. Облако позволяет нам масштабироваться линейно, увеличивая количество экземпляров вместе с разработкой приложения, и нет никаких ограничений, когда дело доходит до хранения данных или перебоев в работе сервера, особенно при использовании платформ на базе Kubernetes, которые "самовосстанавливаются" в случае любых проблем или проблем/отказов сервера
2. Открытость
Открытость сообщества разработчиков является важным фактором процветания приложений. Политика открытых дверей и постоянное присутствие в сообществе разработчиков с открытым исходным кодом - это то, с чем мы хотим быть связанными. Будучи открытыми в части наших систем, другие компании могут приходить и улучшать наши системы и наоборот. Rise использует множество открытых инструментов, а также части других компаний из мира open-source, чтобы сделать наш продукт лучше, а нашу разработку быстрее. Мы черпаем вдохновение в успешных крупных компаниях: мы хотим работать в потоковом режиме, как Netflix или Google, мы хотим управлять ошибками, как это делает Zalando, мы хотим оптимизировать наш рабочий процесс, как Blackrock.
Мы также хотим внести свой вклад в сообщество разработчиков с открытым исходным кодом. Поэтому мы поощряем наших разработчиков вносить свой вклад в сообщество, участвуя в других проектах с открытым исходным кодом - во всех случаях это делает наших разработчиков более подготовленными, поскольку они учатся решать новые сценарии, которые могут быть применены и к нашему приложению. Все это делается с целью разработки наиболее полного приложения, на которое мы способны. Чем больше мы сможем привлечь людей из внешнего мира, тем больше мы сможем развиваться.
Мы также разработаны как многопользовательское приложение. Разделяя единую кодовую базу между неограниченным количеством пользователей, это означает, что у нас также есть неограниченное количество людей, которые могут внести свой вклад и помочь в разработке нашего приложения.
3. Ориентированность на данные
Команда инженеров Rise руководствуется данными, которые мы получаем от наших систем, а также от наших клиентов. Клиент - это наш контур обратной связи - естественно, невероятно важно, чтобы инженерная команда оставалась рядом с владельцем продукта, чтобы мы могли собирать отзывы пользователей и использовать полученные данные для улучшения пользовательского опыта.
Мы также используем аналогичные принципы сбора данных, в данном случае с целью мониторинга системы. Это делается для того, чтобы определить, идет ли реализация проекта и мероприятий по плану, достигаются ли ожидаемые результаты, а также для того, чтобы увидеть, что мы можем улучшить в рамках нашей разработки.