0 502

Roadmap для Data инженеров

Категории: Программирование

В этой статье рассмотрим дорожную карту, как развиваться и что учить для тех, кто хочет стать Data engineerом.

Data engineer роадмап

💻 Фундаментальные знания

👩‍💻Языки программирования

Уделите ваше внимание не так изучению конкретного языка, больше узнайте как писать чистый, расширяемый код. Потратьте некоторое время на изучение парадигм программирования (функциональное и ООП) и лучших практик (шаблоны проектирования, GRASP, SOLID, антипаттерны) . Ознакомьтесь с IDE или редактором кода, например VSCode.

🧪 Тестирование

  • Unit testing
  • Integration testing
  • Functional testing

📊 Database fundamentals

Для понимания в чем разница между разнаыми типами БД рекомендуем создать по 1 SQL, NoSQL, Graph, и тп. базе данных. 

Relational databases

Non-relational databases

Document databases

Wide column databases

Graph databases

Key-value stores

Data warehouses

Object storage

💽 Cluster computing fundamentals

Большинство современных data processing  фреймворков в некоторой степени основаны на Apache Hadoop и MapReduce. Понимание этих концепций поможет вам быстрее освоить современные фреймворки обработки данных.

Managed Hadoop

💾 Data processing

Batch

Hybrid

Гибридные могут обрабатывать как batch, так и streaming данные. Обработка данных в батчах часто выполняется analytical data warehouse приложениями 

Streaming

  • Apache Kafka
  • Apache Storm
  • Apache Samza
  • Amazon Kinesis

Messaging

  • RabbitMQ
  • Apache ActiveMQ
  • Amazon SNS & SQS
  • Google PubSub
  • Azure Service Bus

🕐 Workflow scheduling

🕵️ Мониторинг инфраструктуры и приложений

  • Prometheus – мониторинг систем таких как: серверы, базы данных, отдельные виртуальные машины, приложение и другое.
  • Grafana – платформа с открытым исходным кодом для визуализации, мониторинга и анализа данных.
  • DataDog
  • Sentry
  • Monte Carlo
  • Datafold
  • Soda Data
  • StatsD

🕸️ Сети, безопасность и протоколы

  • HTTP (протокол передачи гипертекста);
  • SSL (обеспечивает защищенный обмен данными);
  • SSH  (сетевой протокол, позволяющий производить удаленное управление операционной системой);
  • FTP (протокол передачи файлов);
  • SMTP (простой протокол передачи почты)
  • IMAPS
  • POP38
  • DMARC
  • SPF
  • Doman Keys
  • Перенаправление портов
  • IPSec & VPN
  • AT-TLS
  • OSPF Authentication
  • SNMP
  • Firewall
  • Proxy

🏘️ Инфраструктура как код

Инфраструктура как код (IaC) – это по сути настройка и подъем всей инфраструктуры в виде конфигурационных файлов, с помощью которых легко подымать новые серверы и масштабировать старые. 

Контейнеры

  • Docker – это программная платформа для быстрой разработки, тестирования и развертывания приложений. Docker упаковывает ПО в стандартизованные блоки, которые называются контейнерами. Каждый контейнер включает все необходимое для работы приложения: библиотеки, системные инструменты, код и среду исполнения. Благодаря Docker можно быстро развертывать и масштабировать приложения в любой среде и сохранять уверенность в том, что код будет работать.
  • LXC – Linux containers система виртуализации на уровне операционной системы для запуска нескольких изолированных экземпляров операционной системы

Оркестрирование контейнеров

Управление инфраструктурой

🏄‍♂️ CI/CD инструменты

Identity и access management

Комментарии:

Пожалуйста авторизируйтесь, чтобы получить возможность оставлять комментарии