そもそも、なぜコンテナ? 『AWS Builders Online Series』に参加致しました!

この記事は公開されてから半年以上経過しています。情報が古い可能性がありますので、ご注意ください。

目次

はじめに

近年、クラウド需要が高まる中で、「コンテナ」をキーワードとしてよく聞く方も
多いのではないでしょうか?

本日は7月8日(金)に開催されたAWS Builders Online Series
「AWS コンテナワークロードはじめの一歩」と題されたコンテナに関するセッションの中で説明されていた「そもそも、なぜコンテナを使うのか?」の部分を、当ブログにてご紹介させて頂きます!

そもそもコンテナってなんの為に必要なの?

アプリケーションは主に
①ランタイム/エンジン ②アプリケーションコード ③依存ライブラリ ④設定
の4つのコンポーネントから構成されています。この4つが正しく動作して初めてアプリケーションが正常に作動するのですが、開発環境や本番環境などアプリケーションが動く環境は複数存在する場合が多々あります。
つまり、動作環境毎にライブラリや設定を変更する必要があります。とても手間ですね、、、。

アプリケーションをコンテナ化する背景とはずばり、、、

「アプリケーションの依存物をパッケージ化(コンテナ化)し、異なる環境間でも面倒な設定変更なしに作動させる!」事になります。

コンテナ(Docker前提)を利用した基本ワークフローは下記になります。
①アプリケーションをコンテナ化 ⇒コンテナイメージと呼びます。
②イメージレジストリにpush ⇒コンテナイメージが保存されている場所
③アプリケーション実行環境毎にイメージレジストリからコンテナイメージを落とし(pull)実行。

如何でしょうか。コンテナを一度作ってしまえば、面倒な設定変更無しに、違う環境に載せ替えて実行する事が出来るので、開発者にとってはとても便利な技術ですね。

AWSが展開するコンテナサービス

AWSではコンテナに関するサービスとして下記が提供されております。

【オーケストレーション】
コンテナ化されたアプリケーションの管理やデプロイメント、スケーリング等を
より簡単に行う為のツールです。

・Amazon Elastic Container Service(Amazon ECS)
https://aws.amazon.com/jp/ecs/?e=gs2020&p=deepdivecontainers
・Amazon Elastic Kubernetes Service(Amazon EKS)
https://aws.amazon.com/jp/eks/?e=gs2020&p=deepdivecontainers

【イメージレジストリ】
コンテナイメージのリポジトリ(保存場所)です。コンテナイメージを簡単に、暗号化、保存、管理、共有する事が可能です。リポジトリに保存されたコンテナイメージを実行環境にて起動致します。

・Amazon Elastic Container Registry(Amazon ECR)
https://aws.amazon.com/jp/ecr/?e=gs2020&p=deepdivecontainers

【ホスティング】
コンテナの実行環境です。Fargateはサーバレスコンピューティングエンジンとなっており、サーバーのプロビジョニングと管理が不要となります。

・Amazon Elastic Container Cloud(Amazon EC2)
https://aws.amazon.com/jp/ec2/?e=gs2020&p=deepdivecontainers
・AWS Fargate
https://aws.amazon.com/jp/ec2/?e=gs2020&p=deepdivecontainers

下記公式ページにてサービスごとの説明が記載されておりますので、こちらも是非ご覧ください!
★コンテナサービス一覧
https://aws.amazon.com/jp/getting-started/deep-dive-containers/

まとめ

今回は『なぜそもそもコンテナが必要なのか?』に焦点をあてご紹介させて頂きました。
コンテナはその利便性等から、IT業界においてのこの先使用頻度が増えスタンダードになる可能性が
多いにあります。

その中でもスカイアーチでは、クラウドにおけるコンテナ利用の対応実績が多数ございます。
コンテナについて詳しく知りたい方、是非お気軽にこちらまでお問い合わせください!

最後までご覧いただきまして、誠に有難うございました。