はじめに

はじめまして。プロトソリューション仙台本社の新里です。
現在は、中古車や新車、業界ニュースなどの最新情報を掲載している「グーネットマガジン」の運用保守をしてます。
今回は私のストーリーをご紹介いたします。

入社までの略歴

高校進学を考えるときにWeb制作・デザインに興味を持ち、沖縄県内では当時としては珍しくWindowsとMacの両方を扱っている商業高校に進学しました。
Web制作・デザインは楽しかったですが、就活しようか迷ったときにデザインセンスが皆無なことに気づいたので、Webデザインは諦めてIT系の職種で幅広く使えそうな資格(ITパスポートや情報処理検定試験)が取得できる専門学校に進学することに決めました。
その後、就職活動中に合同説明会でプロトソリューションの会社説明を聞き、会社訪問を経たうえで2011年12月に新卒としてプロトソリューションへ早期入社しました。

プロトソリューションに入社


沖縄(1年目前半~)

当時は未経験の中途・新卒は、希望が開発チームでもテストチームに所属する流れになっておりましたので、私もWebやスマートフォンアプリのテストを担当しながら業界や業務の知識を学びました。
この頃は早く開発チームに異動してプログラムを書きたくてウズウズしてました。


沖縄(1年目後半~)

当時の上長のおかげで思いのほか早く開発チームに異動することができました。
スキー場と積雪情報を扱っているWebサイトの運用保守を担当することになり、雪が降らない沖縄で誰よりも早く積雪情報を知っている開発者になりました。


沖縄から東京へ(2年目前半)

新卒同期のAさんが大型基幹システムのリプレイス(phase1)で、東京のベンダー企業へ入り込んで武者修行に行っていたのですが、激務すぎる環境でも大活躍だったのでリプレイス(phase2)が動き出す前の人員増強で私にも声がかかり東京へ行くことになりました。
東京で仕事ができる事にワクワクしつつ、配属初日からデスマーチな過酷プロジェクトで新卒2年目ができることは限られており、必死についていくことがやっとな毎日でしたが、今の時代では考えられないほど過酷な、当時のIT業界ならではのプロジェクトに参加できた事は、良いことも悪いことも含めて大きな経験になりました。
また、「リプレイスを成功させる」そのゴールにむけて必要なことを経験問わず意見を言える・聞ける環境にして頂いた開発チームメンバーには大変感謝してます。


東京に残ることにした(2年目後半~6年目)

大型基幹システムのリプレイス(phase2)がリリースされた後、沖縄に戻るか運用保守・新規機能追加のために東京に残るかを上長と面談などで相談して、そのまま東京に残り約5年間、開発担当メンバーの一人として対応しました。


東京拠点で関わった業務


・中古車販売店向けの中古車情報入力WEBシステムの運用保守
・帳票作成機能(見積書・契約書など)
・コールトラッキングシステム
・新車ディーラー向け営業支援ツール
・契約管理Webシステムのへの機能追加
・来店予約機能追加

また、2016年10月に株式会社プロトデータセンター(沖縄本社)と株式会社アイソリューションズ(仙台本社)が合併し、株式会社プロトソリューションに商号変更された時に、仙台本社のメンバーが数名東京・仙台を行き来して業務説明や引継ぎなどで関わりができ、仕事のやり方進め方の刺激を受けることになります。


仙台に行くことにした(7年目~現在)

東京ではプロパー1人(自分)とパートナー様数名で1つのプロジェクトを持つことが当時は多く、東京支社内にも同じ立場のWeb開発者は3名程いましたが、各自同じように1つのプロジェクトをパートナー様と対応するチーム構成だったので、相談するにもお互いに別案件の話なので1人で対応してる感覚があり。開発者として自分の成長効率の悪さが当時の悩みでした。
そんな時に、仙台本社から業務巻き取りで来たメンバーと仕事を進めながら話してるうちに社内メンバーで構成された開発チームでの仕事の楽しさと、経験豊富なメンバーとの情報交換に魅力を感じて「仙台本社に行きたい!」と当時の上長に相談したらタイミングも良く割と早く行けることが決まりました。
仙台に来てからは同じ立場のWeb開発者との会話も増えてたので、Web開発者としての成長停滞の悩みも解消され拠点の皆様には感謝しております。
サービスの立ち上げ時にはPLとして挑戦させて頂き、慣れない立場でPM・開発メンバーに協力頂いて、お客様との要件決めからインフラ・データベース・開発言語などの選定、プロジェクトの進行管理など部分的には経験はありますが、全ての工程を最初から最後まで体験できる機会は少なかったので良い経験になりました。


仙台拠点で関わった業務


・中古車販売店向けの販売管理システムの運用保守
・ディーラー向けの販売管理システムの来店予約機能構築
・車関連のオンラインコミュニティサービスの立ち上げ

今後やりたいこと

力不足なので遠い未来ですが多くの人に利用される新しいサービスを新しい技術を駆使して自分の開発チームで立ち上げてみたいです。
そのために今おかれている環境で出来ることを使い倒していきます。

最後に

入社してから現在を振り返ると環境と人に恵まれた10年だったなと感じます。
プロトソリューションの各拠点で業務をして挑戦させて頂きましたがどの拠点でもやりたいことがあれば挑戦させてもらえる環境があります。
最後までお読みいただき、ありがとうございました。

ITエンジニア

ITエンジニア

仙台本社では、一緒に働くITエンジニアを募集しています

社内インフラ、その他多数募集中!

はじめに

こんにちは。株式会社プロトソリューション・ソリューション開発部沖縄の當山(とうやま)です。

これまで私は新規案件の開発業務を行うことが多く、日々目の前の開発に集中して業務を行っていましたが、最近「Web3.0」という新しいインターネットの概念が話題に上がっている事から興味を持ち、日々勉強中です。

そのため、今回は開発の話というよりも、Web3.0とビジネス展開の話をしたいなと思っています。

Web3.0とは?

まずWeb3.0の大きな特徴としては、これまで特定のプラットフォームや企業に情報が集まっている中央集権型とは異なり、プライバシー情報は個人で管理し、特定の管理者は存在せず、ノード同士が繋がる(P2P)、分散の時代のシステムが作られようとしています。

例えばアプリを開発する時、大きくシェアを占めているAppleとGoogleのストアからリリースをする場合、AppleとGoogleの自社決済システムを使うことが義務付けられています。また、ストアの方針でアプリが公開停止にされても開発者は従うしか選択肢がない状況です。

しかしWeb3.0では巨大企業抜きでも、インターネット上での活動が行える仕組みとなっています。Web3.0のベースになっている技術の一つが「ブロックチェーン」になります。

スマートコントラクトの魅力

ブロックチェーンの詳細は割愛しますが、特に魅力に感じたのは「スマートコントラクト(自動的に実行される契約)」です。

事前に決められたルールに従い、ブロックチェーン上で自動的に動作が執行されるプログラムがスマートコントラクトです。改ざんがされにくく透明性も高いため、現在不動産業界等においても、売買取引が迅速化・簡素化されることが期待されており、実現にあたって幾つかの企業が、実際に実証実験を開始しています。

ビジネス展開アイデア

例えば弊社の場合、中古車販売サービスがありますが、不動産売買と同じように 売買時に発生する契約書類手続きや決済などの業務が自動化されれば、時間や人手のコスト削減が大いに期待できます。

また、中古車を購入する際に気になる年式、走行距離、修復歴などの情報が一緒に記録され、かつ、改ざんもされにくいため、買い手側にもメリットがうまれます。

さらに中古車販売 ✕ 別サービスをかけあわせたCross Creativity  (クロスクリエイティビティ)を活用することで、新たなサービス展開も視野に入れることが出来る可能性もあります。

例として、沖縄ではコロナの影響でレンタカー台数が30%も減ったためレンタカー不足となりました。

その影響もあって最近では個人間でのカーシェアリングサービスの利用が増えています。

例えばペンションや民泊で宿を借りる+中古車レンタルサービスのセット等は既にありますが、さらに車と宿の鍵がスマートキー対応し、その契約手続きや支払いは店舗に訪れることなく、自宅のPCやスマートフォン1つで、事前に自動契約して簡単決済のようなことも実現できそうです。

そのような事が出来るようになったら、より競合会社とのサービス差別化が出来そうだと考えます。

スマートコントラクトのデメリット

そんな魅力的なスマートコントラクトですが、実はデメリットもあるので要注意です。

・処理実行後に、契約の解除やキャンセルができない。

・取引規模が大きくなると処理速度が低下したり、手数料が高くなる場合がある。

おわりに

なお、今回はあくまで仮定の話で、実現にするあたっては税制など含めてまだまだ課題も多く、

日本でも実証実験を数社が始めている程度の新しい取り組みですが、今後を見据えて今から勉強していかないといけない分野だなと強く感じます。

本記事ではWeb3.0の魅力の内の一部分しかお伝え出来ませんでしたが、サービス展開は無限大で、今のうちに参入しようと取り組んでいる所が、今後ビジネスチャンスを掴んでいくんだろうな、と思います。

同様に考えている方がいれば、ぜひ繋がって色々と会話したいですね。

最後まで読んでいただきありがとうございました。

おまけ (Web3.0に関するキーワード)

・分散の時代(特定の管理者が存在しない)

・特定のプラットフォームや企業に情報が集まらない

・プライバシー情報は個人で管理

・非中央集権型

・トラストレス(信頼するな検証せよ)

・特定のサーバを介さずに繋がり、ユーザーは同一の取引データを参照

・Web3.0で注目されているサービスや仕組みは、NFT、DeFi、DAO等がある

・NFT:コピー可能なデジタルコンテンツの取引履歴を分散管理する技術

・DeFi:中央管理者がいない形で取引をする、分散型金融

・DAO:自律分散型組織と訳され、共同のビジョンを持つメンバーがプロジェクト成功のために力を合わせる

・上記含むWeb3.0を支えている技術の一つがブロックチェーン

プロジェクトマネージャー

プロジェクトマネージャー

沖縄本社では、一緒に働くITエンジニアを募集しています

AIエンジニア、システムエンジニア、その他多数募集中!

自己紹介

はじめまして、プロトソリューション仙台本社でソフトウェアエンジニアをしている関内(セキウチ)と申します。

ソフトウェアエンジニアとは?

個人的にこの呼び方を使うようにしています。
「システムエンジニア」というとウォーターフォール型開発の匂いがしますし、「プログラマ」だとその文脈ではエントリークラスの技術者に見えてしまうためです。

チーム内で「デベロッパ」というのがかっこいいのでは?という意見が出たこともあります。上司からは「IT怪獣」と呼ばれることも。呼び方はどうあれ、コードを書いて価値を提供する人というのが伝わればいいかなと思っています。

普段やっていること

AI技術の研究開発を行っています。国の科研費を得て、ディープラーニングによる物体検出技術を使ったスマート水産業のプロジェクトに従事しています。

プロトグループの本業である「クルマ・バイク関連情報」とは一見異なりますが、クルマ関係で培ったAI技術が活かされています。

この他に、機械学習や新技術を使ったPoC(概念実証)を行ったり、他のチームに対して技術アドバイザとして助言することもあります。

情報セキュリティや品質について過去に書いた記事もよろしければご覧ください。

経歴

元々、プログラミングが好きで、自分が書いたコードをネットに上げていました。
そうしているうちに出版社の目に留まり、著書を出版しました。
この時はまだソフトウェアの開発を職業にしようとは考えていませんでしたが、次第にITの世界で挑戦してみようと考えるようになり、2006年、プロトソリューション仙台本社の前身であるアイソリューションズに入社しました。

入社してからしばらくは、保険会社や通信会社が社内で使うようなB2Bのシステムを開発していました。これはこれで面白かったのですが(きつかったけど)、プロスポーツや広告システム・大手のECショッピングモールなど、一般ユーザが使うシステムに携わるようになってから、仕事における楽しさが倍増しましたね。

プロトソリューション発足前後

合併前後から、プロトグループの「クルマ・バイク関連情報」の案件が増えていきました。
そのころの仕事の進め方は、ゴールが示されており、実現方法はこちらの裁量で決めることが許されていました。
技術者目線で最適な技術を選択し、提案していく。
「自分がコントロールできることに集中する」というのがストレス低減のコツと言いますが、まさにそういった環境だったと言えます。

AI開発部署の発足

プロトソリューション発足後、AI技術に注力する部署が作られました。
機械学習・ディープラーニングは、IF-THEN ルールでロジックを組むものではなく、今までの考え方は通用しません。理論を学び、実践してみることの繰り返しです。

幸いなことに、プロトグループはクルマやバイクのデータをたくさん持っているため、その点では恵まれていたと言えます。

不確実性の高い仕事ですので、想定した成果が出ないことの方が多いです。そんなとき、エジソンの言葉を思い出しました。

「私は失敗したことがない。 ただ、1万通りの、うまく行かない方法を見つけただけだ」

もちろん、最終的にうまくいったときの喜びは、何物にも代えがたいものがあります。

エンジニアの人事制度

プロトソリューションでは、「総合職」と「専門職」のキャリアパスが存在します。私は後者です。

専門職の役職には、

●アソシエイト (主任相当)
●エキスパート (係長相当)
●ミドルエキスパート (課長相当)
●シニアエキスパート (部長相当)

があります。
私の役職名は「ミドルエキスパート」です。技術を追い求めたい人でもキャリアを積んで評価されることができます。

なお、総合職から専門職へ・専門職から総合職へと途中でスイッチする人もいます。

どちらを選ぶにしても、「マネジメントに向いてないから……」「コミュニケーションが不得意だから……」だとか「技術が分からないから……」といった、「できない」をキャリア選択の理由にしないほうが良いでしょうね。専門職もチームマネジメントや技術マネジメントをしますし、総合職も技術を知っていることが必要です。

どちらに軸足を置きたいかを考えてキャリアプランを練るのが良いと思います。

おわりに

経済学者のシュンペーターは、「郵便馬車をいくらつなげても鉄道を得ることはできない」と言っています。古いものの延長線では、新しいものを獲得することはできないという意味です。

私は、新しくて不確実な選択肢と、古くて確実な選択肢があったら、新しい方を選ぶように心がけています。「失敗を恐れず、新しいことに挑戦したい」という志を持った方がいらっしゃれば、一緒に働いてみませんか?

ITエンジニア

ITエンジニア

仙台本社では、一緒に働くAIエンジニアを募集しています

社内インフラ、その他多数募集中!

はじめに

はじめまして。プロトソリューション 沖縄本社の島袋です。
プロトソリューションにて(自称)コーポレートエンジニアをしています。
今回は私のストーリーをご紹介いたします。

Wantedlyプロフィールはこちら!

入社までの略歴

中学生のときにITに興味を持ち、初級システムアドミニストレータ試験を取得できる高校に進学したいと地元の商業高校へ進学。進学後はITパスポートや情報処理検定試験などの資格取得に励んでました。

高校卒業後は県内の大学に進学し、情報産業について学びました。

プロトソリューションに入社

IT以外に車やバイクが好きで就職活動時にITと車の両方に関われるプロトソリューションと出会いました。

挑戦する環境が整っているところも私とマッチし、ここに就職したいと思うまでの時間はとても短かったです(笑)

今やっていること

入社後半年間の研修後にヘルプデスクチームに配属となりました。大学で学んだことを活かしつつヘルプデスク対応を通して会社で働くということ、社内事情などを吸収していきました。

受けの姿勢がメインだったヘルプデスクから自ら業務改善策やセキュリティ向上の施策を考える(自称)コーポレートエンジニアになり、3年ほどが経過しました。

特に印象深いのは2020年ごろに流行した新型コロナウイルスによる社員の在宅移行やemotetのチェックなど、立案から対策実施までのスピード感を求められるような対応を先導できたのは私自身の自信にもつながりました。それぞれ記事を公開しておりますので、よければご一読ください。

実施2カ月弱で在宅率81%へ「インフラチーム」の底力

Emotetに感染している? 1000台規模のPCへ「Emocheck」自動実行チェックツールを作ってみた

今後やりたいこと

まだ構想段階ではございますが、今後は社内外どこにいても今と同等以上の生産性で仕事が出来る環境作りを進めていきたいと考えてます。

システムを理由に働き方が狭まるような環境ではなく、会社として、従業員としてそれぞれが望む形での作業環境を構築することがコーポレートエンジニアとしての使命だと考えております。

個人的にはセキュリティ分野に興味があるので、セミナーなどに参加していきます!

最後に

(自称)コーポレートエンジニアとしてまだまだ学ぶことは多いと感じており、社会経験を今後も積んでいきたいと考えてます!

まだまだ駆け出しではありますが、コーポレートエンジニアとして今後も活動していきたいと考えておりますので、ご興味がある方はぜひ説明会等に参加お願いします。

最後までお読みいただき、ありがとうございました。

ITエンジニア

ITエンジニア

沖縄本社では、一緒に働くインフラエンジニアを募集しています

AIエンジニア、システムエンジニア、その他多数募集中!

はじめに

初めまして。プロトソリューションの川満と申します。

2012年に入社し、スマートフォンアプリの開発・運用保守に携わっております。

現在は主にFlutterを使用し、スマートフォンアプリの開発をしております。

この記事ではそんなFlutterのCI/CDツールである、Codemagicの導入からCI実行について解説したいと思います。

導入開始

まずはアカウント作りから、CodemagicではGitHubやGitLabと連携できる前提のため、対象のアカウントがあればそのままCodemagicのアカウントを作成できます。

今回はGitHubアカウントで作成します。

アカウントを作り終わったら、導入するアプリを設定します。[Add application]より追加できます。

追加するアプリのリポジトリ設定を行い、Project Typeを設定します。(今回はFlutter App)

ビルド設定準備

ビルドするプラットフォームを指定(今回はRun tests only)します。

自動でビルドが始まるタイミングもブランチ指定やタグ指定で設定できますが、今回はパスします。

テスト設定

ビルド前に実施するテスト内容および静的解析の有無を設定します。

静的解析ツールを新規で導入せずとも良いです。

ビルド設定

ビルドするFlutterおよびXcode、CocoaPodsのバージョンを指定

通知先設定、そしてビルド開始

デフォルトでメールアドレスが設定されてますが、Slackにも通知が送れますので通知を設定し、[Start New Build]よりビルド実行

ビルドが成功するとこのようにSlackに通知がきます。

成果物のリンクも送られてきます。

逆に失敗した場合は、このような通知がきます。

まとめ

今回はテスト実施・静的解析をゴールとしたのでここまでですが、証明書周りもしっかり設定すれば実際のストアへの配信も簡単に行えます。

無料枠では毎月500ビルドまでという制限を超えてしまうことも考えられますので、本活用する場合は有料プランをお勧めしたいところです。

プロジェクトマネージャー

プロジェクトマネージャー

沖縄本社では、一緒に働くインフラエンジニアを募集しています

AIエンジニア、システムエンジニア、その他多数募集中!

はじめに

はじめまして、プロトソリューション沖縄本社でマーケティングを担当している星川です。

私が働いているプロトソリューションは宜野湾市にあるコンベンションセンターの近くにありまして、社員が自由に利用できるリフレッシュルームからは海が一望できる素晴らしいロケーションとなっております。まだビルも新しくキレイで明るく働きやすい職場環境となっています。

コロナでリモートワークとなってからはその恩恵を受けられていませんが・・・

今回は私が入社してからマーケティングに出会うまでと、社内でのマーケティング組織拡大を目指した活動などをご紹介できればと思っています。どうぞよろしくお願いいたします。

感動カンパニーへ入社

2010年の12月にプログラマーとして採用になりまして、面接の時に担当だった方から年末に忘年会をラグナガーデンホテルでやるけど来る?と聞かれて驚いたことをよく覚えています。

コロナ禍であることから、今では忘年会自体が開催しにくい状況となっていますが、当時は200名規模が集まる大忘年会が毎年開催されていました。各部署から集められた実行委員が仕事と変わらないくらい本気で準備して盛り上げているのを見て「この会社やばい(いい意味で)」と思ったりしました。最後は参加者みんな感動していてこの頃からずっと「感動カンパニー」だったんだなと改めて思いました。

PGからSEへ

入社後はプログラマーとして親会社のシステム開発を行っていましたが、1年くらいでチームを任されるようになり徐々に役割がプログラマーからSEとなっていきました。

3年ほどSEとして沖縄と東京を行ったり来たりしていたところ、上司の方から自社メディアであるグーホームのWebサイトを担当してみないかというお話をいただきました。事業部が社内にあり進め方もある程度裁量をもらえるとのことでしたのでありがたくお受けしました。

グーホームは沖縄県内の方ならご存知いただけていると思いますが、不動産ポータルサイトとして物件を紹介したい沖縄県内の不動産会社と住む場所を探しているユーザーをマッチングさせるサイトです。

担当となってからはサイトのデザインリニューアルや機能の追加、SEO施策などサイトへの流入数を増やすための施策を多く実行してきました。

ただそれらの施策を実行するためには事業部の承認が必要になりますので、エビデンス集めとして営業の方に同行させてもらって不動産会社の方に要望をお伺いに行ったり、競合サイトや不動産関連のニュースを見て市場にどういうニーズがあるのかを調べたり、オンライン調査会社に依頼して県内でのシェアやサービスの満足度調査など行ったりしていました。

(当時は事業部の方から承認をもらうことを目的に行っていたことで、マーケティングとして意識的に動いていた感じではありませんでした。)

マーケティングとの出会い

転機となったのは、Web集客をもっと増やせないかと考えているときに「ウェブ解析士」の資格を見つけ受験してみようと思った時でした。

最初はGoogleアナリティクスを使った分析などの資格かなと思っていたのですが、マーケティングに必要な基礎を体系的に学べる資格となっていて、今でも公式参考書を見返したりしているくらい役立っています。

たまたま会社が資格取得を奨励し始めたタイミングで、「お金がもらえるなら~」と下心からの受験でしたが結果マーケティングを理解できる機会になって、本当に受験してよかったなと思っています。(更に資格取得してお金までもらえるので資格制度には感謝しかありません!)

上級ウェブ解析士を取ったのが2018年で、そこから社内でもマーケターとしていろいろ動き始めました。

マーケティング担当になってから

私と一緒に資格を取得した同僚がいたので、まずはチームを作りどういうビジョンでどういう目標で動くのかを言語化するところから始めました。

チームビジョンは「Information[マーケットの理解]、Initiation[戦略の立案・推進]、Inspection[プロセスの最適化]により、事業を成功に導く」としました。

目標は、マーケティングに必要なスキルを洗い出して習得し、担当している業務内容を最適化させていくところから行っていきました。また今後のチーム拡大に備え、社内での認知活動も行っていきました。

認知活動の内容についてはこちらの記事に記載しておりますのでよろしければ読んでみてください。

ビジョンと目標をもとに1年ほど活動して「よしこれからもっと活動してチームを拡大させていくぞ!」と意気込み、いろいろと計画を立てていました。

・定期的な社内マーケティング研修
・新卒向けの社員研修にマーケティング研修を追加
・県内コミュニティ構築を狙ったイベントの開催

ただ残念ながら新型コロナウイルスによって在宅勤務となり計画は頓挫することになりました・・・

パンデミック下でもできることはたくさん

もともとサーチコンソールやGoogleアナリティクスからサイト分析をして施策を考えて提案、実施後の効果検証がメイン業務でしたので、在宅勤務でもパフォーマンスを下げることなく業務は行えました。

ただやはりチーム拡大のための活動は難しかったです。逆に嬉しかったこともありまして、地方住みの方にはご賛同いただけると思いますがセミナーに参加しやすくなったことです。

Web担当者Forumミーティングに参加するために東京でしかできない仕事を捻り出し、出張費の承認を勝ち取る必要がなくなったのは本当にありがたかったです。(東京の仕事もちゃんとしました)

また、この頃から受付システム「ラクネコ」のマーケティングに携われるようになり、BtoC向けSaaSのマーケティングの楽しさと、一人でやれる範囲の狭さと己の無力さを実感するようになりました。

チームメンバーを募集しています!

今の業務はリードジェネレーションとしての活動がメインとなっていますが、事業を成長させるためにはリードナーチャリングやCSについてももっと関わっていきたいと考えています。

そのためにはルーティーンとなっている業務の整理・分業を進め活動を組織化していく必要があります。

マーケティングには正解はありませんので、私と一緒に新しいことを試し、検証し、ともに事業を成長させていく仲間を募集しています。

より詳しい業務内容などをお話ししているオンライン説明会なども実施しておりますので、ご興味があればぜひ参加していただければと思います。

最後までお読みいただきありがとうございました!

Webマーケター

Webマーケター

沖縄本社では、一緒に働くWebマーケターを募集しています

Webマーケター、Webエンジニア、その他多数募集中!

1.自己紹介

はじめまして。プロトソリューションの木村と申します。

私は、2016年に入社して、初めはAndroidアプリ開発から業務に携わらせて頂き、PHP+Oracle+オンプレミスサーバーを用いたWEBシステムの運用保守業務、今年からPython+AWSを使用するWEBシステムの運用保守業務を行っております。

Python、AWSを業務として扱うのは今回が初めてで、色々と苦労しながらも何とか進める事が出来ております。

今回の記事は、AWS LambdaのPythonランタイム3.6が廃止されるため、急ぎ対応を行った件について備忘録として記載しようと思います。

2.はじめに

・AWS LambdaのPythonランタイムについて

名前識別子オペレーティングシステム非推奨化フェーズ 1非推奨化フェーズ 2
Python 3.6Python 3.6Amazon Linux2022 年 7 月 18 日2022 年 8 月 17 日

公式サイトから抜粋

・非推奨化フェーズ1について

対象のランタイムで新規作成が出来なくなります。

既に構築済みの関数に関しては、引き続き関数実行・関数更新が可能となります。

・非推奨化フェーズ2について

対象のランタイムで新規作成、関数更新が出来なくなります。

既に構築済みの関数は実行する事は出来ますが、更新する事が出来なくなります。

運用保守しているAPIがPython3.6ランタイムを使用しておりました。

非推奨化フェーズ2の関数更新が出来なくなるのは問題になるため、AWS Lambdaで利用出来る最新バージョンのPython3.9ランタイムまでバージョンアップを行いました。

今回の記事では、私が実施したアップデート手順と詰まった内容について記載します。

3.要約

  • CodeBuildにPython3.9用のイメージが無かった。OSをAmazonLinux2、ランライム設定をPython3.9に設定する必要がある。
  • Python3.8以降のAWS Lambdaの実行環境では一部の共有ライブラリが不足していた

4.実際に行ったライブラリアップデートの検証手順

1.EC2サーバー上でライブラリアップデートを検証

2.手動でAWS Lambda API-GateWayを構築してAPI検証

3.開発用のCodePipelineにソースプッシュして実開発環境で検証

4.本番環境のCodePipelineにソースプッシュして本番環境にリリース

開発といえど利用しているのが私以外にもおりましたので、なるべく既存環境に影響を与えないために上記の手順で検証を行いました。

5.AWS LambdaのPython3.9ランタイムについて

・AWS Lambdaの実行環境について

名前識別子AWS SDK for Pythonオペレーティングシステムアーキテクチャ
Python 3.6Python 3.6boto3-1.20.32 botocore-1.23.32Amazon Linuxx86_64
Python 3.9Python 3.9boto3-1.20.32 botocore-1.23.32Amazon Linux 2x86_64、arm64

公式ページから抜粋

ランタイム変更に合わせてAWS Lambdaの実行環境がAmazonLinuxからAmazonLinux2に変更されました。

更新するAPIは外部ライブラリを利用しており、Pythonのバージョンに合わせてアップデートが必要でした。

私はライブラリアップデートの事前検証のために、AmazonLinux2で動作するEC2インスタンスを新規で立ち上げ、このEC2インスタンス上でライブラリアップデートを検証を行い、正常にインストール、ユニットテストが実行される事を確認しました。

※ AmazonLinux2のイメージがDockerHub等で公開されております。こちらを利用した方が料金がかからないため、費用を抑えたい方はこちらを利用した方が良いと思われます。

6.AWS LambdaのPythonランタイム変更について

弊社のQiitaに記載しておりますので、是非ご確認いただければと思います。

7.ライブラリアップデートについて

・構成図について

開発者がCodeCommitにソースプッシュすることで、CodePipelineが動作してAWS Lambdaにデプロイ出来るような構成になっております。

CodeBuildでPythonの各種ライブラリインストールを行っており、

デプロイパッケージが生成されたらCloudFormationの変更スタックを作成して実行します。

初回ならAWS Lambda構築とデプロイ、次回以降ならデプロイのみを行います。

8.詰まった箇所について

前提が長くなりましたが、ここからが本題となります。

① CodeBuildのイメージについて

以前までは公式が提供していた以下のイメージを使用しておりました。  

Python3.9用のイメージもあると思い、公式ページを調査しても上記イメージも含めて存在しませんでした。

そのため、公式ページを参照して別方法で対応を行いました。

対応内容

1.CodeBuildで使用するイメージにAmazonLinux2を選択する

2.buildspec.yamlのインストールフェーズでPython3.9ランタイムを設定する

上記の対応で想定していた環境を構築する事が出来ました。

② 不足する共有ライブラリについて

CodePipelineが正常終了してAWS Lambdaへのデプロイ完了後、テスト実行したら上記のエラーが発生しました。

libgomp.so.1

上記は共有ライブラリであり、実行環境に無いのは想定外のエラーとなりました。

調査するとAWS LambdaのAmazonLinux2実行環境には、様々な共有ライブラリが不足しているようです。

対応方法は調査すると様々な方法があるようですが、今回はAWS Lambdaレイヤーを使用しました。

今後バージョンアップ予定の他APIで同じライブラリを使用しているため、AWS Lambdaレイヤーで対応すると決めました。

※ AWS Lambdaレイヤーについて

AWS Lambdaレイヤーを利用するメリットは以下となります。

・よく利用するライブラリをまとめる事が出来る

・自作の共通処理をまとめる事が出来る

・一つ作成すれば他の関数にも設定する事が出来る

仮にですが機械学習などをよく利用される方は、Pandas,Numpy等をレイヤーとしてまとめて置く事で、それぞれのAWS Lambda関数に設定するソースに含める必要がなくなり、一つのレイヤーを設定する事で全関数に対応する事が出来るようになります。

公式ページ

対応内容

1.buildspec.yamlに共有ライブラリをまとめたzipファイルを生成してS3に格納する処理を追加

2.CloudFormationでリソース構築時にAWS Lambdaレイヤーも合わせて生成する設置を追加

① レイヤーソースをアップロードしたS3バケットを指定するパラメータ追加

② AWS Lambdaレイヤーを作成するフェーズを追加

③ AWS Lambdaにレイヤー設定を追加

上記を設定すると以下の画像のようにレイヤー設定が完了となります。

この状態で再度テスト実行すると以下のように正常終了となります。

※ 500エラーが返ってきておりますがパラメータを何も設定していないためとなります。

※ API Gateway経由でパラメータを付与して実際に実行すると正常終了します。

9.まとめ

Python3.6ランタイムからPython3.9ランタイムに変更すると、OSなどが変更されたため様々な所に影響が出ました。

既にPython3.6ランタイムの廃止日が過ぎておりますが、ご参考になれましたら幸いです。

ITエンジニア

ITエンジニア

仙台本社では、一緒に働くエンジニアを募集しています

SaaSエンジニア、その他多数募集中!

自己紹介

AIテクノロジー推進室沖縄のアダムと申します。

オーストラリアのメルボルン出身です。

約6年前にオーストラリアから日本に来て、プロトソリューションに入社しました。

現在は、プロトグループに向けたAI研究開発のリードとして業務に従事しております。

どうぞ、よろしくお願いいたします。

入社まで

2007年にソフトウェアエンジニアリングの学位を取得し卒業後、メルボルンにある企業アプリケーション統合を専門とするITコンサルタント会社に入社しました。

そこで、IBM、WebMethods、RedHat、オープンソースの統合ソフトウェアを活用し、小売、通信、保険、銀行、物流業界の企業のプロジェクトに携わりました。

オーストラリアで働いた7年間に大学で習ったスキルを生かして、さらに他の技術を学び、各業界の知識を大幅広げました。

その頃に日本文化への興味が深まり、日本に旅行したい私は日本語を勉強し始めました。

2年後、思い切って飛行機のチケットを購入し、初めて日本へ旅行しました。

旅行1回目では東京や大阪の中心に観光しその後、オーストラリアで出会った日本人の友達に会うため沖縄にも来ました。

これから入社までのストーリーが始まります。

入社のきっかけ

3回目の日本旅行で沖縄にきました。友達が営むバーで暑い夜にビールを飲みにきました。

偶然にプロトデータセンター(今プロトソリューション)に勤めている方がバーに入ってきて私の隣に座りました。しばらくすると、仕事について話しました。

私は、元々日本で働くことに興味があり、相手の職場や会社の環境について色々と質問をしました。経験のある開発者を探しているようなので、連絡先を交換しました。

数日後、そのバーで会った社員から連絡が来ました。それがきっかけで、他の会社のメンバーを紹介いただき、最後に面接を受けることになりました。

2016年にプロトデータセンターに入社しました。

入社後の経験

入社後、最初に配属されたのは、スマートフォンアプリ開発チームでした。ここでは、新しいスキルを身につける事ともに前職や大学でのスキルを多く活かすことができ、語学力も向上させることができました。

仕事自体はオーストラリアでの経験と大きく変わらないのですが、メンバー間のチームワークが今までとは違い、はるかに高いレベルを求められるというのが第一印象でした。

メンバーとのコミュニケーション能力の向上とともに、私の責任が少しずつ増えてきました。入社した数か月後、開発基盤というチームが立ち上がり、そのチームを担当しました。その役割で他のチームの開発プロセスを見て、新しいツールやプロセスを導入し、ソフトウェアの品質を維持しながら効率化を図る目的で取り組みました。

その後、新しいAI技術を使って社内の業務を自動化することをメインとする研究開発チームに配属されました。

このチームの一員として、さまざまなプロジェクトに取り組みましたが、特にハイライトとなったのは、画像分類、テキスト抽出と物体検出を利用して画像チェックのプロセスの自動化でした。それにより、オペレーターの工数を数千時間削減できました。

その後、このチームは新しい部署に分離され、「AIテクノロジー推進室沖縄」と改名されました。

また、昨年娘が産まれた際に育児休業(1ヶ月間)を取得しました。オーストラリアよりも充実した日本の育児制度に感銘を受け、貴重な経験となりました。

今とこれから

この2年間は、親会社であるプロトコーポレーションのウェブサイトにおけるAI関連の機能開発と導入に重点を置いてきました。それを実現するために数人のチームをサポートしながら、プロトタイプの開発を取り組んでおります。

私がAI技術に携わってきたこの4年余りの間、唯一不変だったのは変化です。業界では毎日、新しい研究が次々と発表され、技術の水準はどんどん上がっています。そのため、開発者として最も大切なことは、新しい技術を学ぶ姿勢を持つことだと感じています。変更に伴うリスクはありますががこの会社では、失敗を怖がるのではなく、学ぶ機会と捉え、新しいアプローチを学び、実行するための時間と余裕が常に与えられていると感じています。

これからもチームのメンバーと一緒に新しい技術への挑戦を楽しみにしています。

ITエンジニア

ITエンジニア

沖縄本社では、一緒に働くAIエンジニアを募集しています

AIエンジニア、システムエンジニア、その他多数募集中!

はじめに

はじめまして。2018年にプロトソリューションに入社した、ソリューション開発部 沖縄1 の城間です。

Webエンジニアとして主にWebサイトの運用保守を行っています。

今回は、新卒でIT業界に飛び込むことになった背景や、飛び込む前に感じていたイメージと今とのギャップ等をお話させていただければと思います。


入社までの略歴

沖縄で生まれ育ち、一度は一人暮らしをしてみたかったので関東圏の大学に進学し、その大学では工学(電磁波)系を専攻しておりました。

その当時は将来についてもあまり深く考えておらず、そのまま大学院に進み専攻した分野の職につくものだとなんとなく考えていましたが、やはり動機自体があやふやなためか院試には失敗し、そこから急遽就活をはじめました。

プロトソリューションに入社

院試に失敗し、遅めの就活では専攻した分野での就職が難しかったので、次に興味のある分野として、IT系の分野での就活を主に行いました。

理由としては、大学で学んできたことの中で専門以外ではプログラミングの授業が面白かったのと、当時内向的な性格だったので(別段今も変わらず内向的ですが、、笑)、IT系であればそこまで人と関わったりコミュニケーション力がなくても大丈夫かなという安易な考えもありました。

そうしてIT系で就活を進めていった結果、プロトソリューションに拾って頂き今に至ります。


実際に入社してみて感じたこと

入社後、研修やOJT等を一通りこなしたあと、実際にチームに配属され業務を行っていったのですが、まず一番最初に改めた認識は、「IT系であればそこまで人と関わったりコミュニケーション力がなくても大丈夫」という認識でした(笑)。

少し考えてみれば当然の話なのですが、IT系かどうか以前に一人の社会人となったわけなので、当然、仕事を通して多くの人と関わりますし、コミュニケーション力は必須レベルで求められます。

特に、大きなシステム程メンバーも多くチームとしても大きいため、チーム間でのコミュニケーションが取れていなければ効率も悪く、またお客様の要望をきちんと聞き出して整理できていなければ、要望とは全く違うシステムになってしまいます。


今後やりたいこと

そんな当然のことに気づかされつつ、何度も失敗しながらも今では入社5年目に突入し、現在いるチームではありがたいことにリーダーを任せて頂いています。

なので、リーダーとして、チームメンバーの個性を踏まえつつそれぞれが楽しく、そしてやる気にあふれたチームを作ることが私の今の目標です。

第一歩として、まずは自分の熱量をチームメンバーにも認知してもらいつつ、メンバーそれぞれが熱量を持てる役割を上手く聞き出し個性を発揮できる環境を作っていきたいです。

そのために必要となってくるのはやっぱりコミュニケーション力で、きちんとチームメンバーとコミュニケーションを取りつつ、お互いに信頼・尊敬できるような関係性を築き上げていければと思っています。


最後に

IT業界に飛び込むことになった一番最初のきっかけ(院試の失敗)も動機(コミュニケーション力が不要だと思ってたこと)も色々と残念な私ですが、実際に飛び込んだ先で得られた経験はとても得難いもので、また飛び込んで良かったと心から思えるものでした。

同じように未経験でIT業界に飛び込もうとしている方にとって、少しでもこの記事が参考になれば幸いです。

ITエンジニア

ITエンジニア

沖縄本社では、一緒に働くITエンジニアを募集しています

AIエンジニア、その他多数募集中!

ページトップへ戻る