プロジェクト概要
製造業向けにPLM(Product Lifecycle Management)パッケージを活用したシステムの受託開発に従事しました。Aras Innovatorのカスタマイズ、ASP.NET Coreを用いたWebアプリケーション開発、AWSインフラ構築・運用、CI/CDパイプライン構築を担当し、顧客の内製化支援も実施しました。
担当業務
Aras Innovatorカスタマイズ
- Methodのカスタマイズ開発: ビジネスロジックの実装
- XMLベースのexport/importデプロイ方式の提案・実現: 効率的なデプロイ方法の確立
- Methodのテスト方法の確立: 品質保証プロセスの構築
- デプロイ管理の仕組み化: 自動化による運用効率化
- 設定ファイル変更マニュアルの作成: ドキュメント整備
Webアプリケーション開発
- ASP.NET Core 3.0を用いたWebアプリケーション開発
- Arasでは実現できないExcel風のUIの実装
- Aras-Webアプリ間のデータ連携設計・実装
- PostgreSQLを使用したデータ管理
インフラ構築・運用
- AWSインフラ構築(EC2、RDS、VPC)
- Terraformによる多環境展開、インフラのコード化(IaC)
- Alpine Linuxコンテナでの運用
CI/CD構築
- AWS CodePipelineとCodeBuildによるCI/CDパイプライン構築
- PR作成時の自動テスト・デプロイ、Slack通知の実装
顧客対応
- 技術的にクリティカルな事象の説明・対応方法の提案
- 顧客の内製化支援・教育
使用技術
言語・フレームワーク
- C#: ビジネスロジック実装
- ASP.NET Core 3.0: Webアプリケーション開発
- XML: Aras Methodのexport/import
データベース
- PostgreSQL: データ管理
インフラ・クラウド
- AWS EC2: アプリケーションサーバー
- AWS RDS: データベースサーバー
- AWS VPC: ネットワーク構成
- Terraform: Infrastructure as Code (IaC)
- Alpine Linux: コンテナ環境
CI/CD・開発ツール
- AWS CodePipeline: 自動デプロイパイプライン
- AWS CodeBuild: ビルド・テスト自動化
- Slack: 通知連携
技術的な取り組み
1. Terraformによるインフラのコード化
Terraformを活用し、多環境(開発、ステージング、本番)へのインフラ展開を自動化。インフラ構成をコード管理することで、環境の再現性と保守性を向上させました。
2. CI/CDパイプラインの構築
AWS CodePipelineとCodeBuildを組み合わせ、以下を実現:
- Webアプリケーションの自動デプロイ
- PR作成時の単体テスト自動実行
- Slack通知によるチーム全体への情報共有
デプロイ作業の自動化とテストの自動実行により、品質の安定化とデプロイ頻度の向上を実現しました。
3. Aras Methodのデプロイ方式確立
XMLベースのexport/import方式を提案・実現し、Aras Methodのデプロイプロセスを効率化。デプロイ管理の仕組み化により、運用負荷を大幅に削減しました。
4. 顧客の内製化支援
技術的な知見の共有とドキュメント整備により、顧客の自律的な運用を支援。教育プログラムの提供により、顧客チームの技術力向上に貢献しました。
成果
- インフラのコード化: Terraformによる多環境展開の実現で運用保守コストを削減
- CI/CDパイプライン構築: デプロイ作業の自動化とテストの自動実行を実現
- Aras Methodのデプロイ効率化: XMLベースデプロイ方式の確立
- 顧客の内製化支援: 顧客チームの自律的な運用を実現し、顧客満足度の向上に貢献
学んだこと
PLMシステムという製造業特有のドメイン知識と、AWSを活用したインフラ構築・運用の実践的なスキルを獲得しました。また、Terraformによるインフラのコード化やCI/CDパイプラインの構築を通じて、DevOpsのベストプラクティスを学びました。顧客の内製化支援を通じて、技術的な知見の伝達とドキュメント作成の重要性を実感しました。