見出し画像

AWSエンジニアの進化〜パラダイムシフトへの適応戦略〜

今回はクラウドサーカス(以下、CC)のインフラエンジニアとしてサービスの基盤を支えてくれている宋さんにインタビューさせていただきました!AWSに関する話からエンジニアとしての価値創造の話までたくさん聞かせていただきました。

ーー宋さん、よろしくお願いします。
宋:はい、よろしくお願いします。

ーーまず、宋さんのこれまでのキャリアについて教えていただけますか?
宋:はい、IT業界に入ったのは2008年でした。当時は、小規模なプロジェクト管理システムの開発に従事していました。2008年はリーマンショックの影響もあり、2009年には北京にある会社に転職しました。そこで、私は当時の中国の社長と共に新しく子会社を作り、そこで開発や販売など様々な業務を経験しました。当時は非常に忙しく、1日18時間働くこともありました。事業はそこそこうまくいってたのですが、私はまだ学生で博士課程で山口大学に行くことになっていたため、日本の山口県に移住することにしました。エンジニアとはいえリモート案件などまだない時代だったことと山口県にはIT企業が多くなかったため、個人事業主として中小企業や病院のネットワーク設置やウェブサイトの作成、サーバーの設置など、多岐にわたる業務を経験しました。

その後、2012年に福岡に移り、開発会社でエンジニアとして開発チームの一員になりました。ここで私はAWSと出会い、クラウドエンジニアとしてのキャリアがスタートしました。

ーー比較的早い段階でAWSを触ることになったんですかね?
宋:そうですね。当時、取引のあったクライアントからAWS利用を依頼されたことがきっかけで、AWS上でサーバー構築が最初の業務内容でした。特別なことではなく、時代の流れに沿った変化だったと思いますが、早い段階でAWSに触れる経験をできたことは私にとって大きなチャンスでした。

ーーAWSを使い始めた当初、何が面白いと感じましたか?
宋:2分でサーバーを構築できることに驚きました。オンプレの場合、サーバー購入から設定までに1週間以上かかることもありましたが、AWSを使えば1日で完了することがわかりました。コストも大幅に削減され、非常に効率的でした。ネットワークやサーバー構築のエンジニアの仕事がなくなるのではないかと心配しましたが、実際には、最新技術を取り入れた新しい仕事が増え、クラウドの可能性を感じました。

ーー時短やコスト削減といった「減らす」ということにインパクトを感じたのでしょうか?
宋:はい、AWSを活用することで、アーキテクチャ設計やサービスの品質、設計の速さなどが大幅に改善されました。例えば、ロードバランサーの構築は従来は2週間かかる作業でしたが、AWSでは数分で完了します。また、DBの設定も以前は数日かかる作業が、AWS RDSを使用することで、非常に短時間で済むようになりましたし、本当に便利さを感じています。

ーーその中で、CCに入社するきっかけになったのはなんでしたか?
宋:案件自体は非常に刺激的で様々な技術を学べることが面白かったのですが、エンジニアの離職率が高く、人の入れ替わりも激しい会社でした。そのような環境の中だったこともあり、よりチームで開発することができる組織でエンジニアとして活躍していきたいと思うようになりました。

また、ABS関数を活用したシステム開発案件に携わり、大規模なDBを持つシステムで、主にRDSとElasticsearchを使用していました。そろそろソフトウェアサービスのインフラ案件をしてみたいと思った時に、当時流行り始めていたAR技術を使ったサービスを展開していたCC(当時、スターティアラボ)に魅力を感じ、入社を決意しました。

ーーこれまでの業務内容について教えてもらえますか?
宋:入社後、インスタンスの管理、サービスの設計、ミドルウェアの設計とバージョンアップ、監視系の設定、バッチの作成とLambdaの最適化、DBのチューニングなど、フロントエンド以外のほとんど全ての業務に携わってきました。

ーー特に大変だった業務はありますか?
宋:強いていうのであれば、DBのチューニングです。10億以上のレコードを持つDBの最適化に取り組んだことでした。プロダクトはBowNowですね。BowNowは1万社を超えて企業に活用いただいているため、インスタンスは常時数百台が起動しています。BowNowプロジェクトでは、お客様からのリクエストを数秒以内に処理し、レスポンスを返さなければなりません。これは、DBをどれだけ迅速に処理できるかにかかっています。データ量が増加すると、チューニングの難易度も高まります。SQLの書き方やDB設計、インデックス、パーティショニング、パラメータグループの設定など、多くの要素が影響します。これらを最適化することで、DBの性能を向上させることができます。

ーーこれが達成感にもつながるのでしょうか?
宋:いえ、技術面で達成したことよりもその結果、費用削減に成功したことの方が達成感がありました。たとえば、証明書の費用を年間1000万円削減することができました。売上を1000万円作り出すことも非常に難しいですが、既にあるコストを削減することは非常に難易度が高く、時代の流れに合わせた適切な技術選定をした結果であり、目的に沿った技術の使い方をしたことで得られた成果だと思っています。

インフラエンジニアであれば、成果は主にコスト削減によって測定されるべきだと思っていて、サーバーの台数を減らすことやリソースの最適化など、経済的な観点から見れば成果がはっきりと見えます。何を目的に技術を選定し、活用するかが大事なので、今後も成果にこだわっていきたいと思います。

ただ、他の人ができないことを成し遂げることができた時は達成感があります。例えば、以前AngularJSを使ってフロントエンドを新しく書き直した時はテンションが上がりましたし、他にもAIプロジェクトを担当した時も、60万枚の写真をAIで分析し、結果をグラフ化するシステムを設計して運用したことがあります。その時は、九州大学とフランスの学生と共に、AI分析を行ったときはAI技術に触れる機会は非常に興味深く、やりがいを感じました。

ーー宋さんから見たAIの面白さについて教えてください。
宋:AIの面白さは、複雑な作業を自動でこなせる点にあります。例えば、最近流行のAIを使った小説作成では、物語の大まかな流れを入力すれば、AIが小説を書き上げてくれます。これまでは、日本語や中国語などの言語知識が必要でしたが、今はAIがそれを補ってくれるのが面白いです。

ーーAI技術の進化によって、どのような変化が予想されますか?
宋:今後は、AIの進化により、人間が行う重複性の高い作業が減り、アイディアを持つ人がより価値を持つようになると思います。プログラミングやインフラエンジニアリングのような仕事もAIに置き換わる可能性が高いかもしれません。エンジニアとして価値を上げていくためには、実装やテストよりも設計や要件定義が重要になると思います。

他にも、AIにより作業効率が大幅に上がることも変化として考えられます。その一方、仕事がAIに依存することで、メンバーが孤立する可能性があることは不安点として考えられます。用件定義や設計さえ問題なくしてしまえば、その後の実装はAIにまかせてしまえばよくなるかもしれません。これは、メンバーが業務指示者として機能してしまえば、実装者が人間でなくてもよくなるため、結果的に人は孤立した業務をすることになるという意味です。

ーー最後にCCのインフラの課題について教えてください。
宋:現在の主な課題は、データ量の増加に伴うシステムが重くなっているという問題です。
対策として、Amazon CloudFrontの導入やサーバーレスアーキテクチャの利用を進めています。CloudFrontはCDNサービスで、サーバーへの負荷を軽減するために利用しています。例えば、サーバーが1PVあたり40から120のリクエストを処理する必要がある場合、CloudFrontを通じてキャッシュさせることで、データベースへのアクセス以外の負荷を軽減できます。これにより、アクセス速度の向上やサーバー側の負荷軽減が期待できます。

一方、サーバーレスアーキテクチャでは、Lambdaなどのサービスを利用してオートスケーリングを行います。これにより、アクセス数に応じて必要な処理能力を確保し、システムのスケーラビリティを高めています。現状は優先順位の高いサービスに対して積極的に利用していますが、今後全てのサービスに対して適用する予定です。

CCが扱うサービスは全部で約600台のサーバーや数百テラバイトのデータを扱っています。AWSサービスを利用したコード指向の作業が多いため、コーディング技術がある人や、新しいチャレンジを求める人には特に面白い仕事だと思います。

AWSの最新技術をどんどん取り入れてCCのサービスの基盤を支えてくれている宋さんにインタビューをさせていただきました。同じメンバーとして朱君がいますが、彼は宋さんの元でAWS技術を学び、レベルアップできていると言ってくれています。クラウドエンジニアとして、AWSの技術力を高めていきたいAWSエンジニアの方々にはとても刺激的な環境だと思っています。

ぜひ、本ポジションに興味のある方はこちらよりご連絡ください!

この記事が気に入ったらサポートをしてみませんか?