Новости

Инструменты, которыми пользуются Java-программисты в повседневной работе

  • IntelliJ IDEA
Это основная IDE (Integrated Development Environment), которая используется Java-программистами для написания, запуска и откладки кода. В ней реализована отличная поддержка популярных фреймворков (Spring, Micronaut) и есть огромное количество плагинов, облегчающих разработку.

  • Хранилища данных
Редко какое backend-приложение может обойтись без базы данных. На каждом проекте она может быть своей - SQL (PostgreSQL, Oracle), No SQL (Mongo DB, Apache Cassandra) - или комбинаций из нескольких БД. Сюда же можно отнести очереди сообщений (Apache Kafka, RabbitMQ) и кэш (Redis, Hazelcast, Apache Ignite).

  • Docker
Это программная платформа, используемая backend-разработчиками на всех стадиях (разработка, тестирование, развертывание), позволяющая быстро запускать любой софт в изолированной среде. Таким образом, при разработке и тестировании с помощью Docker можно запускать требуемое окружение (базы данных, серверы авторизации и т.д.), а при развертывании с помощью него запускается само приложение.

  • Kubectl
Это консольная утилита, позволяющая подключаться к кластеру Kubernetes, в котором развернуты Docker-контейнеры со всеми сервисами проекта. Она используется при развертывании приложений и дебаге в случае возникновения ошибки.

  • Jenkins/Teamcity
Это инструменты создания CI/CD-конвейера для автоматического тестирования и развертывания новых версий приложений. С помощью таких конвейеров можно, например, запускать прогоны тестов сразу после коммита, разворачивать новую версию приложения в окружении разработки, если все тесты прошли успешно, или отправить Slack-ботом сообщение в чат, если какие-то тесты упали.

  • Grafana + Prometheus
Это самые популярные средства мониторинга:
Prometheus - это key-value-хранилище, в котором складируют все метрики приложений и баз данных.
Grafana- средство визуализации метрик, в котором строят графики загрузки CPU, потребления RAM и многого другого, что помогает разобраться в проблемах приложений при аномальной нагрузке или, например, неожиданных перезапусках.

  • ELK (Elasticsearch + Logstash + Kibana)
Logstash - средство для парсинга логов приложений и отправки их в Elasticsearch.
Elasticsearch - база данных с богатой функциональностью по построению индексов полнотекстового поиска.
Kibana - средство визуализации логов и метрик, использующаяся, как правило, для поиска по логам.