■概要
次期バッチ処理の方式検証を行った。
環境としてはAWSを用い、Linuxサーバ、Amazon RDS、Apache Sparkの組み合わせでプロトタイプアプリケーションの性能検証を行った。
検証工程であり頻繁なサーバ構成の変更、環境の再編成などが発生するため、環境構築には構成管理ツールItamaeを使用し、スクリプトの実行で再編成ができるように整備した。
この中で私は、AWS環境構築(VPC、インスタンス)、OS設定、Oracle設定、Apache Spark設定・チューニング、リソース評価を中心に担当した。
■業務詳細
次期バッチシステムとして、Apache Sparkを使用する方式が適切か検証を行った。
環境としては、APサーバが複数台、また、データベースはAmazon RDSからOracle Standard Edtionを選択した。
Apache Sparkは、Hadoopでクラスタ構成とし、Executor数、メモリ割当て、core数などの条件設定を変えながら最適な構成を検討した。
Apache Sparkに関しては、既存の書籍等では基本的な構築方法などが載っているのみだったため、公式ドキュメント、その中でもパラメータ一覧などを参考に設定を検討した。
2ヶ月未満という短期間の検証だったが、基本的な構成でAPが動作することを確認することができた。
ただ、Apache Sparkパラメータの最適化については検討の余地が残った。
上記の検証において、頻繁にサーバ再構築を行ったり、Apache Sparkの構成を変更することから、構成管理ツールとしてItamaeを使用し、スクリプトの実行でOS初期設定、Apache Spark再構築が実施できるようにした。
Itamaeを選択した理由は、プロジェクト内で持っていた資産が活用できたこと、Chefなど他の構成管理ツールと比較して機能がシンプルで導入コストが低く、今回のような短期の検証に向いていたためである。