NetApp Astra とは

初版: 2021/6/24
2021/8/7 Astra Control Centerの情報追記
2021/10/3, 2022/2/2 新しい記事のリンクを追加

![Screen Shot 2021-06-23 at 17.41.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449507/f731948b-f41c-2dba-13c7-891f4cde3eda.png)

# はじめに
NetAppは、Kubernetes環境のアプリケーションのデータライフサイクルを管理するサービス「[NetApp Astra](https://cloud.netapp.com/astra)」の提供を始めました。
Astraを使用することで、Kubernetesアプリケーションのバックアップや別のクラスターへのデータ移行、作業中のアプリケーションクローンの作成などを簡単に行うことができます。

本投稿はこのAstraの概要について記載していきます。

#### 関連投稿一覧
* [NetApp Tridentとは](https://qiita.com/star76/items/fa88d715192f565e5832) 
* [NetApp Astra とは](https://qiita.com/star76/items/86c1df804fc762b22d8e) 【本投稿】
* [NetApp Astra Service を使ってみる ①GKE事前準備編](https://qiita.com/star76/items/4ec78181db97d0f52eb8)
* [NetApp Astra Service を使ってみる ②AKS事前準備編](https://qiita.com/star76/items/4a2999590fd657082254) 
* [NetApp Astra Service を使ってみる ③Astra UI操作編](https://qiita.com/star76/items/1bb428404b6eb4337dd4)
* [NetApp Astra Control のインストール](https://qiita.com/star76/items/84b1d0732e8ce2dbf4cc) 
* [NetApp Astra Control を使ってみる ①UIの操作編](https://qiita.com/star76/items/a746fdb78d07c32ef1bc)
* [NetApp Astra Data Store とは](https://qiita.com/star76/items/ef8e809d9cad24d51e8e) 

# NetApp Astra のサポート環境
NetApp Astraを使用できるプラットフォームは、次のとおりです。

* Google Kubernetes Engine(GKE) 2021年3月 提供開始済み
* Azure Kubernetes Service(AKS) 2021年4月 提供開始済み
* Amazon Elastic Container Service(ECS) 近日リリース予定
* オンプレミス 2021年8月6日 提供開始済み


# Astra の提供モデル
Astraの提供形態には、クラウドとオンプレで次の2つのモデルがあります。

### 1. Astra Control Service
AstraをAzure AKS および Google GKEなどのKubernetesマネージドサービス上で利用するためのソフトウェアで、SaaSとしてNetAppが提供

### 2. Astra Control Center
Astraをオンプレミス上のお客様のKubernetesクラスタ上で利用するためのソフトウェア
お客様にてインストール、管理する必要があります。


# Astraに対応するストレージ
Astraは現在、以下の永続的ボリュームをバックエンドストレージとして使用できます。

* GKEクラスタ:  [NetApp Cloud Volumes Service for Google Cloud](https://cloud.netapp.com/cloud-volumes-service-for-gcp)
* AKSクラスタ:  [Azure NetApp Files](https://cloud.netapp.com/azure-netapp-files)

NetApp Astraで永続ボリュームをKubernetesにプロビジョニングする際は、NetAppの[Trident](https://qiita.com/star76/items/fa88d715192f565e5832) と呼ばれるコンテナストレージインタフェースが使われています。
このTridentが、NetApp ONTAPやNetApp Cloud Volumesなどのストレージプラットフォーム上に永続ボリュームを作成します。


# Astraがサポートするアプリケーション

Astra Control Serviceは、お客様のKubernetesクラスター上で動作するすべてのアプリケーションをサポートします。
ただし、GKEクラスタ上にGoogleマーケットプレイスからデプロイしたアプリケーションの場合は、[制限](https://docs.netapp.com/us-en/astra/release-notes/known-limitations.html) がありますのでご注意ください。


# Astraの特徴
### シンプルで簡単に、オンプレでもクラウドでも、同じUIから同じ機能が利用できる
Astra ControlにKubernetesクラスタを登録すると、Astraはクラスタで実行されている全てのアプリケーションを自動的に検出します。

アプリケーションデータの格納先である永続ボリューム(Persistent Volume)だけでなく、Kubernetesリソース(Pod、Secret、ConfigMapなど)や関連するマニフェストのバックアップ、リカバリ、クローン作成、また別のKubernetesクラスタに移動するなど、UIから数回クリックするだけで簡単にデータの管理を行うことができます。

また、Astra Controlはクラウド、オンプレに関わらず共通したAPIを提供します。
これによりアプリケーションが実行される場所(インフラ)を抽象化し、アプリケーションのポータビリティを高めることができます。
Astra Control上での操作を簡単に行うためのPythonの[ツールキット](https://github.com/NetApp/netapp-astra-toolkits)も提供しています。


# ユースケース
#### 1. スナップショットによるデータ保護
スナップショットのコピーをローカルに定期的に保存しておくことで、誤って削除したり破損したりしたデータを復元することができます。

#### 2. リモートバックアップによるディザスタリカバリ
同じまたは異なるReagionのKubernetesクラスタにリストアすることができます。

#### 3. アプリケーションのポータビリティを実現
場所を問わず、異なるクラウドのマネージドKubernetesサービス間や、オンプレ上の異なるKubernetesディストリビューション間においても、アプリケーション環境のポータビリティを実現できます。


# 利用料金について
Astraを使用する際には、Kubernetesクラスタなどのクラウド利用料の他に以下の費用がかかります。

* Astra Control Service の費用 (NetAppからの請求)
* データ保護のためのボリューム、オブジェクトストレージなどクラウド利用料金 (クラウドプロバイダからの請求)

## Astra Control Service の料金プラン
#### ① 無料プラン
* Astra Controlのアカウントを作成すると、自動的に無料プランに登録されます。
* 10アプリケーションまでは無料でお使いいただけます。
* Astraの[無料トライアル](https://cloud.netapp.com/astra-register)は、こちらのページよりお試しいただけます。

10アプリケーションを超えた場合は、アカウント内のすべての管理対象のアプリケーションに対して課金を開始します。(最初の10アプリケーションに対しても課金が発生します)
1アプリケーションにつき1分ごとに$0.005の料金がかかります。

#### ② Premium PayGo プラン
無料プランを利用中で、アプリケーション数が10を超えた場合はこのプランに自動的に変更されます。
Astra Controlのアカウントをまだお持ちでない場合は、Premium Subscriptionを購入すると、自動的にAstra Controlのアカウントが作成されます。

#### ③ Premium サブスクリプション
年間契約の前払いプランです。利用量に応じて割引きが付与されます。

## Google Cloud の費用
Astra Control ServiceでGKEクラスターを管理する場合、永続ボリュームはNetApp Cloud Volumes Serviceでバックアップされ、アプリケーションのバックアップはGoogle Cloud Storageのバケットに保存されます。

* Cloud Volumes Serviceの価格は[こちら](https://cloud.google.com/solutions/partners/netapp-cloud-volumes/costs)を参照ください。
* Google Cloud Storageの価格[こちら](https://cloud.google.com/storage/pricing)を参照ください。

Astra Control Serviceは、Cloud Volume Serviceのすべてのサービスタイプとサービスレベルをサポートしています。
使用できるサービスタイプは、お使いの [Google Cloud のリージョン](https://cloud.netapp.com/cloud-volumes-global-regions#cvsGcp)によって異なります。

## Microsoft Azure の費用
Astra Control ServiceでAKSクラスターを管理する場合、永続ボリュームはAzure NetApp Filesでバックアップされ、アプリケーションのバックアップはAzure Blobコンテナに保存されます。

* Azure NetApp Filesの価格は[こちら](https://azure.microsoft.com/en-us/pricing/details/netapp)を参照ください。
* Microsoft Azure Blobストレージの価格は[こちら](https://azure.microsoft.com/en-us/pricing/details/storage/blobs)を参照ください。


# まとめ
昨今ではKubernetes環境で動かすワークロードの種類が増えてきており、ステートフルなアプリケーションへの適用例も出てきました。

コンテナ自体やKubernetesのコンポーネントは共有レジストリ/リポジトリを使って管理できますが、ステートフルなアプリケーションを運用するためには、アプリケーションのデータを含めたシステム全体の構成管理やポータビリティの確保が必要です。
また、Kubernetesではコンテナの可用性は担保できますが、コンテナが落ちた時にアプリケーションデータの整合性を担保したり、すぐに別の環境に切り替える、といったことはできませんので、アプリケーションデータの保護を効率的に行う仕組みも検討しなくてはなりません。

NetApp Astraは、こうしたKubernetesのデータ管理の課題を解消するために開発されたソリューションです。
次回以降、このAstraが実際どのようなものなのか、詳しく解説していきたいと思います。