クラウド開発に挑戦してみた
こんにちは。アダコテックのt-ibeです。
私の普段の業務は、 C++ や Python などで機械学習のライブラリやツールを作ったり、エッジ環境で動く Windows アプリケーションを作ったりすることです。
はじめてのくらうどかいはつ
弊社では、クラウドで動く機械学習アプリ(AdaInspector Cloud)を開発しており、既にBtoBのお客様に提供を開始しております。
弊社は十数名のエンジニアチームで、クラウド開発・エッジ開発・機械学習などの業務に従事しておりますが、人手が足りず、普段担当していない範囲開発を担当したりすることがあります。
今回、担当したタスクは、機械学習のパラメータを自動最適化するソフトをクラウドで動かせるようにすること。
クラウド開発は、昔少しだけ GCP を触って、 AWS もちょっとだけ触った程度で、ほぼ初心者でした。
まずはじめに、ローカルPC上にクラウド環境を再現したのもを構築しました。弊社では開発のドキュメントは Notion で共有していて、この構築方法も共有されていたので、それほど苦労せず導入することができました! 私は Windows を使っているので、 WSL2 を導入し Ubuntu を入れて、 Docker Desktop for Windows をインストールし構築しました。ただ、ここで初めて Docker や Docker Compose に触れたため Docker とはなんぞや??どうやって実行するのかとか、コンテナの作り方とか全く知らなかったので、 Docker を使いこなせるようになるために一通り勉強をしました。
ようやく準備が整ったところで、実際にクラウドのコードに目を通してみます。
既に類似のアプリがクラウドに組み込まれていたので、それを真似して組み込んでいけばよいのですが……とりあえず Terraform のコードを触ることがわかっていたので、 Terraform のチュートリアルをみながら勉強を始めました。 Terraform は、クラウド上のコンピュータやネットワークの構成をコード化し、構築を自動化するインフラツールです。 Terraform に関しては、チュートリアルだけでは情報が足りず、弊社のテックリードに相談してアドバイスや個々のサービスに関するドキュメントの場所の情報をもらって、理解できました。
他にも、初めて触るサービスやフレームワークがたくさんあって、 AWS ECS/EC2/ECR あたりの使い方や、 celery (Python のジョブキューフレームワーク) などについて新たに勉強しました。
最近は、 YouTube で技術系のことをわかりやすく解説してくれる動画がたくさんあって、それも利用しました。本当に便利な時代になりましたね~
おかげで、クラウド開発に関わる取っ掛かりができました。クラウド開発では、サービスやフレームワークなどがたくさんありすぎて大変ですが、新しいことを学んで理解していくのは楽しいので、今後も、いろいろと勉強していきたいと思っています。
弊社の技術スタック
弊社のクラウド開発の技術スタックは、このようになっています。
詳しくは、下のリンク先のページをご覧ください。
"ムズカシイを面白がれる" "遊ぶように学ぶ"
アダコテックのカルチャーとして、スローガン的なものがあります。以前、アダコテックのいいところは?一緒に働きたい人は?というのを対外的に発信するために、社員全員で付箋ペタペタしてまとめたものです。
さいごに
アダコテックでは一緒に働くメンバーを募集しています。
アダコテックのカルチャーにビビッときた方は、ぜひ、弊社採用ページを覗いてみてください!
メンバー募集中です。
アダコテックは上記のような画像処理技術を使って、大手メーカーの検査ラインを自動化するソフトウェアを開発している会社です。
機械学習や画像処理の内部ロジックに興味がある方、ご連絡下さい!
我々と一緒にモノづくりに革新を起こしましょう!
Discussion