AWSアドバンストコンサルティングパートナーになったのでそろそろ本気出す
AWS Partner Network (APN)
APNは、AWS(Amazon Web Services)が、パートナー企業向けの認定プログラムとしてワールドワイドで展開しています。日本でも多くのパートナー企業が登録されています。パートナーには、2種類ありまして、AWSを使ったサービスを提供しているテクノロジーパートナーと、AWSの活用を支援するコンサルティングパートナーに分かれています。当社は、コンサルティングパートナーとして活動しています。そして、つい先日、様々な条件を満たすことができまして、AWSアドバンストコンサルティングパートナーになりました。
クラスメソッドのAWSビジネスについて
クラスメソッドのAWSビジネスについていくつかご紹介したいと思います。クラスメソッドでは、AWSが日本にデータセンターを作る前から、EC2やS3を使ったシステムの開発を数多く行ってきました。初めは、開発やテスト環境として使ってきたのですが、あまりの使いやすさにお客様から「これでいいじゃん」となり、そのうち、「これがいい」というご指名になっていきました。今は「もうあなたしか見えない」というズブズブの関係です。クラスメソッドは企業向けにシステムの開発や研究開発支援をする会社ですので、いわゆるサーバーインフラ屋ではなくSI屋に近いです。私たちはAWSに対して「インフラをプログラミングする」とか「コンポーネントブロックを組み合わせる」といった認識を持っていまして、自然と使いこなすことができました。ファイアーウォールをRubyで制御するとか、ロードバランサーの監視をPythonで組むと言ってイメージが湧きますでしょうか。もちろん、ブラウザからポチポチとボタンを押してサーバーを起動したりもしています。
インフラをプログラミングする
AWSは、各サービスにAPIやSDKが提供されていますので、使いなれたプログラミング言語を使ってインフラやサーバーを構築することができます。今までネットワークやサーバーの知識はあっても、高価なハードウェアを購入することができずに教科書やシュミレーターのみで学習されていた方も多いかと思いますが、これからは、直ぐに試すことができる良い時代になりました。例えば、以下のようなサービスを使ってインフラを構築できてしまいます。
- VPC:仮想ネットワークサービス
- EC2:仮想サーバーサービス
- ELB:ロードバランサーサービス
- Route53:DNSサービス
- Auto Scaling:サーバー伸縮サービス
- RDS:データベースサービス
- DirectConnect:専用線サービス
コンポーネントブロックを組み合わせる
AWSは、コンポーネントとして組み合わせて使う多数のサービスを提供しています。これらは、それぞれが疎結合で、API(外部プログラムからアクセスするインタフェース)やSDK(ソフトウェア開発キット)を提供しています。そして、単体サービスでビジネスが完結することは少なく、複数のサービスを組み合わせてひとつのビジネスを実現できるようになっています。例えば、以下のようなサービスを組み合わせて使います。
- SNS:通知サービス
- SQS:キューイングサービス
- SWF:ワークフローサービス
- SES:メール配信サービス
- S3:ファイル保存サービス
特化型のサービスを活用する
AWSでは、ある機能に特化したサービスが安価に提供されています。これらの特化したサービスは、自前で構築するには多くの専門知識が必要になるような極めて高度なものが多く、大企業や一部の専門家のみが使える技術でした。これを誰でも簡単に使えるようにユーザーインタフェースを用意し、APIやSDKを使って他システムと連携できるようにしています。例えば、以下のようなサービスです。
- EMR:分散処理基盤サービス
- Transcoder:動画エンコーディングサービス
- CloudFront:コンテンツ配信サービス
- Redshift:データウェアハウスサービス
- CloudSearch:検索サービス
- RDS:マネージドデータベースサービス
- Glacier:長期アーカイブサービス
- ElastiCache:メモリキャッシュサービス
- DynamoDB:キーバリューデータストアサービス
- Storage Gateway:ストレージ連携サービス
管理者を手助けするツールの数々
AWSは、非常に多くのサービスを提供していまして、1年中仕事で使っている人でさえも全体を把握することが難しくなってきています。しかし、設計・構築・運用・保守・管理・監視等のそれぞれのフェーズを支援するサービスも多数提供されているため、AWS利用料金以外の隠れたコストを大きく下げてくれています。例えば、以下のようなサービスです。
- マネジメントコンソール
- IAM:認証サービス
- CloudWatch:監視サービス
- Beanstalk:PaaSプラットフォームサービス
- CloudFormation:テンプレートサービス
- OpsWorks:アプリケーション管理サービス
- Data Pipeline:ワークフローオーケストレーションサービス
- Diagnostics:診断サービス
エンジニアの生産性を最大化するSDKやAPIの数々
AWSは、エンジニアの生産性を飛躍的に向上させるためのツールやSDKを無償で提供しています。何かしらのプログラミング言語を使ったことさえあれば、AWSのほぼ全てのサービスを操作することができます。例えば、以下のツールやSDKです。
- 開発環境:AWS Toolkit for Eclipse、AWS Toolkit for Visual Studio
- SDK:Android、iOS、Java、.NET、Node.js、Python、PHP、Ruby
- WEB:SOAP、REST
- コマンドライン:Unixシェル、Windows PowerShell
サードパーティのソフトウェアを活用する
さらにさらに、AWSはエコシステムとしてMarketplaceというサービスがありまして、セキュリティベンダーやネットワーク製品ベンダーが仮想アプライアンスという形で様々なサーバーを提供しています。他にも、セットアップ済みのビジネスアプリケーションやインメモリデータベースなど、アプリストアから直ぐに利用を開始することが可能です。
クラスメソッド社員のAWS中毒レベル
ヤル気MAXな意気込みは伝わりましたでしょうかw。続きまして、クラスメソッド社員のAWS中毒度をご紹介したいと思います。アンケート対象者は全社員の38名で、2013年2月に回答を得ました。3月にはさらに数値が上がっていると思います!
- AWSを使ったプロジェクトにアサインされたことがある:75%
- AWS管理コンソールを使ったことがある:78%
- AWSを個人でも契約して使っている:44%
- AWS上に構築されたサーバーを操作したことがある:59%
- AWSのSDKやAPIを使ったことがある:57%
- AWSを使った業務を今後もやりたい:84%
まとめ
クラスメソッドは、AWSを使いこなす社員と、AWSでシステムをどうにかしたいお客様と、運によって、ここ数年は仕事が繋がっている会社です。AWSをとことん使い倒したいというエンジニアの方を通年で募集していることはもちろんのこと、AWSでイイ感じにシステムを開発したいというお客様、ぜひクラスメソッドにお問合せください。って宣伝かいっ!
参考資料
AWSアドバンストコンサルティングパートナーに認定されました