701試験

701:DevOps Tools エンジニア

 

試験のバージョン: バージョン1.0

試験コード: 701-100

各トピックの重要度について: 各トピックには重要度が示されています。 重要度は、試験の各項目における相対的重要性を示します。 重要度が高い項目は、より多くの設問が試験でカバーされます。

 

バウチャーの購入

トピック701:ソフトウェアエンジニアリング

701.1 現代のソフトウェア開発(重要度:6)

重要度:6

説明: 最新のランタイム環境に適したソフトウェアソリューションを、設計できる必要があります。 データ永続性、セッション、ステータス情報、トランザクション、同時実行性、セキュリティ、パフォーマンス、可用性、スケーリング、ロードバランシング、メッセージング、モニタリング、およびAPIをサービスがどのように処理するかを理解する必要があります。 さらに、アジャイルと開発運用のソフトウェア開発への影響を、理解する必要があります。

主な知識分野:

  • サービスベースのアプリケーションの理解と設計
  • 一般的なAPIの概念と標準を理解する
  • データストレージ、サービスステータス、およびセッション処理の側面を理解する
  • コンテナで実行する設計ソフトウェア
  • クラウドサービスに導入する設計ソフトウェア
  • モノリシックレガシーソフトウェアの移行と統合におけるリスクの認識
  • 一般的なアプリケーションのセキュリティリスクとそれを軽減する方法を理解する
  • アジャイルソフトウェア開発の概念を理解する
  • DevOpsの概念とそのソフトウェア開発者とオペレータへの影響を理解する

以下は、使用されるファイル、用語、およびユーティリティの一部の一覧です。

  • REST、JSON
  • Service Orientated Architectures (SOA)
  • Microservices
  • Immutable servers
  • Loose coupling
  • Cross site scripting, SQL injections, verbose error reports, API authentication, consistent enforcement of transport encryption
  • CORS headers and CSRF tokens
  • ACID properties and CAP theorem

 

701.2 ソフトウェアの標準コンポーネントとプラットフォーム(重要度:2)

総重量:2

説明:一般的なクラウドプラットフォームによって提供されるサービスを、理解する必要があります。 アプリケーションアーキテクチャと展開ツールチェーンにこれらのサービスを含めることができ、必要なサービス構成を理解できるはずです。 OpenStackサービスコンポーネントは、リファレンス実装として使用されます。

主な知識分野:

  • オブジェクトストレージの機能と概念
  • リレーショナルデータベースとNoSQLデータベースの機能と概念
  • メッセージブローカーとメッセージキューの機能と概念
  • ビッグデータサービスの特徴と概念
  • アプリケーションランタイム/ PaaSの機能と概念
  • コンテンツ配信ネットワークの特徴と概念

以下は、使用されるファイル、用語、およびユーティリティの一部の一覧です。

  • OpenStack Swift
  • OpenStack Trove
  • OpenStack Zaqar
  • CloudFoundry
  • OpenShift

 

701.3 ソースコード管理(重要度:5)

総重量:5

説明:Gitを使用してソースコードを管理して共有できるはずです。 これには、リポジトリの作成と貢献、タグ、ブランチ、リモートリポジトリの使用が含まれます。 さらに、ファイルをマージして、マージの競合を解決できる必要があります。

主な知識分野:

  • Gitの概念とリポジトリ構造を理解する
  • Gitリポジトリ内のファイルを管理する
  • ブランチとタグを管理する
  • リモートリポジトリやブランチ、サブモジュールとの連携
  • ファイルとブランチをマージする
  • 集中型および分散型SCMソリューションの概念を含む、SVNおよびCVSの認識

以下は、使用されるファイル、用語、およびユーティリティの一部の一覧です。

  • git
  • .gitignore

 

701.4 継続的インテグレーションと継続的配達(重要度:5)

総重量:5

説明:継続的な統合と継続的なデリバリパイプラインの原則と、構成要素を理解する必要があります。 CI / CDパイプラインの起動、ユニットの実行、統合テストと受入れテスト、ソフトウェアのパッケージ化、テスト済みのソフトウェア成果物の展開の処理など、Jenkinsを使用してCI / CDパイプラインを実装できるはずです。 この課題は、Jenkinsバージョン2.0以降の機能セットを対象としています。

主な知識分野:

  • 継続的インテグレーションと継続的デリバリの概念を理解する
  • CI / CDパイプラインのコンポーネント(ビルド、ユニット、統合および受入れテスト、案件管理、配備および配備を含む)を理解する
  • 導入のベストプラクティスを理解する
  • Jenkins Plugins、Jenkins API、通知、分散ビルドなど、Jenkinsのアーキテクチャと機能を理解する
  • Jenkinsでのジョブの定義と実行(パラメータ処理を含む)
  • フィンガープリンティング、アーティファクト、アーティファクトリポジトリ
  • Jenkinsが継続的な配送パイプラインをモデル化し、Jenkinsで宣言的な継続的配送パイプラインを実装する方法を理解する
  • 可能な認証モデルと認可モデルの認識
  • パイプラインプラグインの理解
  • Artifact Plugin、Fingerprint Plugin、Docker Pipeline、Dockerビルド&パブリッシュプラグイン、Git Plugin、Credentials Pluginなどの重要なJenkinsモジュールの機能を理解する
  • アーティファクトとネクサスの認識

以下は、使用されるファイル、用語、およびユーティリティの一部の一覧です。

  • Step, Node, Stage
  • Jenkins SDL
  • Jenkinsfile
  • Declarative Pipeline
  • Blue-green and canary deployment

トピック702:コンテナ管理

702.1 コンテナの使用法(重要度:7)

重要度:7

説明:Dockerコンテナを構築、共有、操作できる必要があります。 これには、Dockerファイルの作成、Dockerレジストリの使用、コンテナの作成と操作、コンテナのネットワークとストレージボリュームへの接続などが含まれます。 この課題は、Dockerバージョン17.06以降の機能セットに適用されます。

主な知識分野:

  • Dockerアーキテクチャを理解する
  • Dockerレジストリから既存のDockerイメージを使用する
  • Dockerfilesを作成し、Dockerfilesから画像を構築する
  • 画像をDockerレジストリにアップロードする
  • Dockerコンテナの操作とアクセス
  • コンテナーをDockerネットワークに接続する
  • Dockerボリュームを共有および永続的なコンテナストレージに使用する

以下は、使用されるファイル、用語、およびユーティリティの一部の一覧です。

  • docker
  • Dockerfile
  • .dockerignore

 

702.2 コンテナのデプロイメントとオーケストレーション(重要度:5)

総重量:5

説明:サービスを提供するために一緒に働く複数のコンテナを実行して管理できる必要があります。 これには、Docker Composeを既存のDocker Swarmクラスタとともに使用するとともに、既存のKubernetesクラスタを使用するDockerコンテナのオーケストレーションも含まれます。 この課題は、Docker Composeバージョン1.14以降の機能セット、Docker 17.06以降に含まれるDocker Swarm、およびKubernetes 1.6以降の機能セットを対象としています。

主な知識分野:

  • Docker Composeのアプリケーションモデルを理解する
  • Docker Composeファイルを作成して実行する(バージョン3以降)
  • Docker Swarmモードのアーキテクチャと機能を理解する
  • Docker Swarmでコンテナを実行します。サービス、スタック、秘密の使い方などの定義が含まれます。
  • アーキテクチャとアプリケーションモデルを理解するKubernetes
  • Deployments、Services、ReplicaSets、およびPodsの定義を含む、Kubernetes用のコンテナベースのアプリケーションを定義および管理する

以下は、使用されるファイル、用語、およびユーティリティの一部の一覧です。

  • docker-compose
  • docker
  • kubectl

 

702.3コンテナインフラストラクチャ(重要度:4)

総重量:4

説明:コンテナのランタイム環境を設定できる必要があります。 これには、ローカルコンピュータ上のコンテナの実行と専用コンテナホストの設定が含まれます。 さらに、他のコンテナインフラストラクチャ、ストレージ、ネットワーク、およびコンテナ固有のセキュリティの側面を認識する必要があります。 この課題は、Dockerバージョン17.06以降およびDocker Machine 0.12以降の機能セットを対象としています。

主な知識分野:

  • Dockerマシンを使用してDockerホストを設定する
  • オーバーレイネットワークを含むDockerネットワーキングの概念を理解する
  • Dockerネットワークの作成と管理
  • Dockerストレージの概念を理解する
  • Dockerボリュームの作成と管理
  • フロッカーとフランネルの意識
  • サービス発見の概念を理解する
  • CoreOS Container Linux、rkt、etcdの基本機能に関する知識
  • コンテナ仮想化とコンテナイメージのセキュリティリスクとそれらを緩和する方法を理解する

以下は、使用されるファイル、用語、およびユーティリティの一部の一覧です。

  • docker-machine

トピック703:マシンの配置

703.1 仮想マシン導入(重要度:4)

総重量:4

説明:オペレーティングシステムと設定ファイルとソフトウェアの特定のセットを使用して、仮想マシンの展開を自動化できます。

主な知識分野:

  • ストレージとネットワークを含むバゲージのアーキテクチャと概念を理解する
  • Atlasからのボックスの取得と使用
  • Vagrantファイルを作成して実行する
  • バリアント仮想マシンにアクセスする
  • Vagrant仮想マシンとホストシステム間のフォルダの共有と同期
  • ファイル、シェル、アシスタント、ドッカーを含むバグのプロビジョニングを理解する
  • マルチマシンの設定を理解する

以下は、使用されるファイル、用語、およびユーティリティの一部の一覧です。

  • vagrant
  • Vagrantfile

 

703.2クラウド展開(重量:2)

総重量:2

説明:IaaSクラウドインスタンスを構成し、使用可能なハードウェアリソース、具体的にはディスクスペースとボリュームに合わせて調整する必要があります。 さらに、セキュアなSSHログインを許可するインスタンスを構成し、インスタンスがAnsibleなどの構成管理ツールの準備を整える準備ができます。

主な知識分野:

  • クラウド初期化の機能と概念の理解、ユーザーデータの初期化、クラウド初期化の設定と構成
  • cloud-initを使用してファイルシステムの作成、サイズ変更、マウント、SSH鍵などのログイン認証情報を含むユーザアカウントの設定、ディストリビューションのリポジトリからのソフトウェアパッケージのインストール
  • スナップショット、一時停止、複製、リソースの制限など、コンピューティングインスタンスのIaaSクラウドと仮想化の機能と影響を理解する。

 

703.3システムイメージ作成(重量:2)

総重量:2

説明:コンテナ、仮想マシン、およびIaaSクラウドインスタンスのイメージを作成できる必要があります。

主な知識分野:

  • Packerの機能と特徴を理解する
  • テンプレートファイルの作成と保守
  • 異なるビルダーを使用してテンプレートファイルから画像を構築する

以下は、使用されるファイル、用語、およびユーティリティの一部の一覧です。

  • packer

トピック704:構成管理

704.1不可能(体重:8)

重要度:8

説明:ターゲットサーバーがその構成とインストールされているソフトウェアに関して、特定の状態にあることを確認するために、Ansibleを使用できる必要があります。 この課題は、Anabilitiesバージョン2.2以降の機能セットを対象としています。

主な知識分野:

  • 自動システム構成とソフトウェアインストールの原則を理解する
  • インベントリファイルの作成と管理
  • Anipalがリモートシステムとやりとりする方法を理解する
  • 特権を持たないログインアカウントの使用を含め、SSHのログイン資格情報を管理する
  • タスク、ハンドラ、条件、ループ、レジスタを含む、不可解なプレイブックを作成、維持、実行する
  • 変数の設定と使用
  • 不可能な金庫を使用して秘密を維持する
  • 共通のフィルタ、ループ、条件文を使用したJinja2テンプレートの作成
  • 不可能な役割を理解して使用し、不可能な銀河からの役割を果たす
  • ini_file、lineinfile、patch、replace、user、group、command、shell、service、systemd、cron、apt、debconf、yum、git、debugなどの重要なタスクを理解し、使用する
  • 動的インベントリの認識
  • 非Linuxシステム用のAnsibles機能の認識
  • 危険なコンテナの認識

以下は、使用されるファイル、用語、およびユーティリティの一部の一覧です。

  • ansible.cfg
  • ansible-playbook
  • ansible-vault
  • ansible-galaxy
  • ansible-doc

 

704.2その他の構成管理ツール(重量:2)

重要度:2

説明:重要な構成管理ツールの、主な機能と原則を理解する必要があります。

主な知識分野:

  • 基本機能とアーキテクチャの知識 Puppet.
  • 基本機能とアーキテクチャの知識 Chef.

以下は、使用されるファイル、用語、およびユーティリティの一部の一覧です。

  • Manifest, Class, Recipe, Cookbook
  • puppet
  • chef
  • chef-solo
  • chef-client
  • chef-server-ctl
  • knife

トピック705:サービス操作

705.1 ITの運用と監視(重量:4)

重要度:4

説明:ITインフラストラクチャがサービスの提供にどのように関与しているかを理解する必要があります。 これには、IT運用の主要な目標、ITサービスの機能的および非機能的な特性の理解、およびプロメテウスを使用したITの監視および測定方法に関する知識が含まれます。 さらに、候補者はITインフラストラクチャの主要なセキュリティリスクを理解する必要があります。 この課題は、Prometheus 1.7以降の機能セットを対象としています。

主な知識分野:

  • 可用性、待ち時間、応答性などの非機能的な特性を含むIT運用とサービスプロビジョニングの目標を理解する
  • サービスの技術的な機能を監視および測定するためのメトリクスと指標を理解し、特定する
  • サービスの論理機能を監視および測定するためのメトリックと指標を理解し、識別する
  • プロメテウスのアーキテクチャを理解する.Exporter、Pushgateway、Alertmanager、Grafanaを含む
  • プロメテウスを使ってコンテナとマイクロサービスを監視する
  • ITインフラストラクチャに対するIT攻撃の原則を理解する
  • ITインフラを保護する最も重要な方法の原則を理解する
  • コアITインフラストラクチャコンポーネントとその展開の役割を理解する

以下は、使用されるファイル、用語、およびユーティリティの一部の一覧です。

  • Prometheus, Node exporter, Pushgateway, Altermanager, Grafana
  • Service exploits, brute force attacks, and denial of service attacks
  • Security updates, packet filtering and application gateways
  • Virtualization hosts, DNS and load balancers

 

705.2ログ管理と分析(重み:4)

重要度:4

説明:操作およびトラブルシューティングにおける、ログファイルの役割を理解する必要があります。 ログデータを収集して正規化するために、Logstashに基づいて集中型のロギングインフラストラクチャを設定できる必要があります。 さらに、ElasticsearchとKibanaがログデータの保存とアクセスに、どのように役立つかを理解する必要があります。

主な知識分野:

  • アプリケーションログとシステムログの仕組みを理解する
  • ログメッセージとLogstashプラグインのライフサイクルを含むLogstashのアーキテクチャと機能を理解する
  • ログデータ管理(Elastic Stack)のコンテキストでElasticsearchとKibanaのアーキテクチャと機能を理解する
  • ログデータを収集、正規化、変換、保存するようにLogstashを設定する
  • Logstashにログデータを送信するようにsyslogとFilebeatを設定する
  • Emailアラートを送信するようにLogstashを設定する
  • ログ管理のアプリケーションサポートについて理解する

以下は、使用されるファイル、用語、およびユーティリティの一部の一覧です。

  • logstash
  • input, filter, output
  • grok filter
  • Log files, metrics
  • syslog.conf
  • /etc/logstash/logstash.yml
  • /etc/filebeat/filebeat.yml