TOP
arrow_forward_ios
INFOMATION

スタテク×AWS vol.1

2023-07-14

こんにちは。
今回はスタテクが誇るAWS Hero、松井英俊さんにお話を聞いてきました。AWSとはなんぞやというところからAIとAWSを活用した未来までたっぷりとAWSの第一歩を学べる記事になっています。今回は前編から。ぜひお楽しみください!

画像は(https://aws.amazon.com/jp/)より引用



‐まず最初にAWSについて教えてください

AWSとはなにか…というところですね。すごく端的に言うと、Amazonが提供するクラウドのサービスです。
まずはクラウドとはという話からしていくのが良いかなと思います。システムを構築する際の環境は大別すると2種類あり、使用者が物理的なリソースを自ら管理する、いわゆるオンプレミスと呼ばれる環境と、使用者がサービス提供事業者から必要な量と時間分だけリソースを調達するクラウドと呼ばれる環境です。AWSは後者の一つですね。

クラウドが登場する前は、何かしらシステムを構築して仕事をさせたいとなったときに、コンピューターそのものやネットワークを物理的に構築したりレンタルしたりする必要がありました。その点、クラウドは物理的なコンピューターやネットワークなどが不要で、ソフトウェアの実行環境としてベンダーが持っているリソースの一部を必要なときに必要な分だけ借りられるというサービスです。
メリットとしては、物理機器のメンテナンスや維持、それにかかるコストが不要になるということです。主に大規模なものなどの場合、物理的なサーバーを立てたほうが安いこともありますが、イニシャルコストを抑えたかったり、必要なリソースに変更が多い場合などはクラウドが便利な場合も多いです。

AWSは色々な抽象レベルの様々なサービスがあり、非常に使いやすいことが大きな特徴です。レゴのブロックのように、ビルディングブロックと呼ばれる仕組みを使って必要なサービスを選んで組み合わせていくことで、一つの機能を構成するサービスを組み立てることができます。シンプルなものから複雑なものまで、多様な使い方が汎用的に出来ることも使いやすさを助長していますね。
プログラムの書き方によって自分たちの思い描いたものを作ることももちろんできますし、そもそも書かなくてもある程度は一つの機能に特化したようなサービスを組み合わせて求めるものを作ることも可能です。
コードをイチから書くという手間がある程度減っているので、そういう意味でもパフォーマンスが高いサービスだと思います。

デメリットとしては、他のクラウドサービスに対して必ずしも互換性があるわけではないというところでしょうか。他のクラウドサービスで作成したプロダクトを全く同じコードでAWS上で再現することは難しいかもしれないですし、逆もまたしかりです。
これはAWSに限った話ではありませんが、クラウドサービスはこういうデメリットもあるんだなと思ってください。

その他にもクラウドサービスを提供する各社の特徴があるので、必要な要件に応じてどのようなサービスを使用していくか検討していくことになるかと思います。また、場合によっては複数のクラウドサービスを組み合わせて一つの仕組みを作るケースもあります。
スタテクの場合は、クライアントごとに最適な環境を考え提案させていただいています。



‐松井さんが活動されている、AWS Heroというのはどのようなものでしょうか?

グローバルのAWSコミュニティにおいて、その人があるカテゴリーにおいてパイオニアやスペシャリスト的存在であるとAWSによって認定されている…ということです。日本では15人ほど認定されています。条件には定量的なものはありませんが、
・選ばれたカテゴリーにおいて、ある程度のスペシャリティを発揮していること
・会社の営利目的ではなく、個人的な興味に基づいて探究し発信していること
が大きなポイントなのかなと思います。他にもAWSが認定している資格などはあり、それらは定量的な条件があるのですが、AWS Heroは少し特殊ですね。
色々なカテゴリーがあるのですが、私はサーバーレスというカテゴリーで認定されました。

認定された経緯としては、詳しくはAWS Heroの紹介ページ(https://aws.amazon.com/jp/developer/community/Heroes/hidetoshi-matsui/)を見ていただくのが一番わかり易いかなと思います。
かいつまんで説明すると、builders.flashに寄稿した記事が2020年以降最も閲覧されている記事の一つに選ばれたり、構築に関わった新型コロナウイルス関係のウェブサイトや地元浜松のデリバリー情報紹介サイトなどが話題になったことが大きなアウトプットとして認定されたのかなと思います。
他にも、一番大きかったのはJAWS DAYS 2021 re:Connectにおいて配信サイトを構築したことでしょうか。講演の切り替えによって、講演者の名前や講演紹介の内容をリアルタイムで切り替えたり、アンケートを講演中に任意のタイミングで行うことができたりといった機能を盛り込み、それを4チャンネル同時にダウンタイム無しで実現しました。
これらの功績が認められて、2021年にAWS Heroに認定されたのだと思います。また実は、2022年からはAWS Heroの維持に審査が入るようになったので、私自身も意識して積極的にアウトプットを出すようにしています(笑)

認定されて嬉しいポイントは、コミュニティからAWSや特定の領域に関する専門性と、コミュニティに対する貢献度を認識してもらえる点と、AWSクレジットや限定の情報をもらえたり、毎年ラスベガスで開催されるAWS re:Inventをはじめとする各種イベント等に招待してもらえるというお得な点と両方ありますね。
イベントは外国で行うことも多く、昨年にはタイで行われたAWS APAC Community Summitでは招待され、表彰も受けました。



‐AWSを使用してスタテクで行っていることなどはありますか?

2月にプレスリリースで発表した、クラウド構築支援サービスの「BeCloud」においてAWSを使用しています。
スタテクはRuby on Rails等のフレームワークを使用して開発を行っていることが多く、いわゆるウェブアプリケーションが得意です。そのため、プロダクトを作る際はモノリシックと呼ばれる、一つのサーバーにいろいろな機能を持たせる構成パターンを採用することが多かったんですね。
これは、基本的にウェブアプリケーションというものがユーザーからのリクエストに対し常に待機していなければならないと言う部分に関係しています。
その中でも特にAmazon EC2(Amazon Elastic Compute Cloud)というクラウドサービスをメインとして使用していました。Amazon EC2は多種多様なスペックを選んでサーバーを立てることができ、ウェブアプリケーションをその上で動かすことができます。24時間365日一定のスペックのサーバーを常駐させたりするのに向いているクラウドサービスです。これにAmazon RDS、いわゆるSQL型のデータベースをを繋げてあげるというのが一般的でした。

しかしAmazon EC2はオートスケーリングの設定が比較的難しかったり、開発者側が管理すべき範囲が広かったりと、運用する際でのコストを含む調整が難しいことが弱点でした。ここを解決したのがAmazon ECS(Amazon Elastic Container Service)を中心に、ウェブアプリケーション向けの構成を簡単に導入できるBeCloudになります。

宣伝みたいになってしまうのですが…ウェブアプリケーションなどの常駐型のサービスを運営していて、維持・管理コストにお悩みの方がいればぜひスタテクにご相談いただければと思います。



松井さんありがとうございました。
AWSとはなんぞや…というスタートの疑問から学ぶことができて大変勉強になりました!
次回は後編としてBeCloudの仕組みや、AWSを使って今後やっていきたいことなどまとめていきたいと思います!楽しみにしていてください。

最新記事

スタテクレポート vol.3(2023年8月~2024年1月)
2024-03-25
スタテクレポート vol.3(2023年8月~2024年1月)
【イベントレポ】Findy × RUNTEQ合同主催『受託開発におけるエンジニア組織づくり』
2024-03-21
【イベントレポ】Findy × RUNTEQ合同主催『受託開発におけるエンジニア組織づくり』
スタテクレポートvol.2(2023年2月~2023年7月)
2024-03-08
スタテクレポートvol.2(2023年2月~2023年7月)