字幕表 動画を再生する
If you're looking to break into DevOps or want to level up your skills, you're in the right place.
DevOpsの世界に飛び込みたい、あるいは自分のスキルをレベルアップさせたいと考えているのであれば、うってつけの場所だ。
Today, I'm sharing the complete DevOps roadmap.
今日は、DevOpsロードマップの完全版を紹介しよう。
I'll walk you through the essential skills you need, the tools I personally recommend and how much time you should spend on each.
必要不可欠なスキル、私が個人的に推奨するツール、そしてそれぞれにどれくらいの時間を費やすべきかについて説明しよう。
Assuming you dedicate 3 to 5 hours of studying every day, this roadmap should take you about 10 to 14 months to complete.
毎日3時間から5時間勉強するとして、このロードマップを完成させるには10カ月から14カ月かかる。
Let's jump right in.
さっそく始めよう。
First up, we have Linux Fundamentals.
まずはLinux Fundamentals。
Linux is the development environment.
Linuxは開発環境だ。
As a DevOps engineer, you'll be setting up and maintaining the infrastructure where applications run.
DevOpsエンジニアとして、アプリケーションを実行するインフラストラクチャのセットアップとメンテナンスを行います。
Most servers use Linux so getting comfortable with it, especially the command line is crucial.
ほとんどのサーバーはLinuxを使用しているので、Linux、特にコマンドラインに慣れることは非常に重要だ。
I recommend starting with learning Bash, which is the most commonly used shell and scripting language in Linux.
Linuxで最もよく使われるシェルとスクリプト言語であるBashを学ぶことから始めることをお勧めする。
Spend about 2 to 3 weeks on this.
これに2~3週間ほど費やす。
Make sure to learn basic Linux commands for working with the file system, permissions and ownership, processes and signals, as well as managing packages.
ファイルシステム、パーミッションと所有権、プロセスとシグナル、パッケージの管理など、Linuxの基本的なコマンドは必ず覚えておこう。
Next, you need to learn networking concepts.
次に、ネットワークの概念を学ぶ必要がある。
Networking is all about how computers communicate with each other.
ネットワークとは、コンピューター同士がどのように通信するかということだ。
Think IP addresses and protocols.
IPアドレスとプロトコルを考えてみよう。
You need to understand how data moves around, secure it, and troubleshoot network issues.
データがどのように移動するかを理解し、それを保護し、ネットワークの問題をトラブルシューティングする必要がある。
To get hands-on experience, I recommend using Wireshark.
実際に体験するには、Wiresharkを使うことをお勧めする。
Dedicate around 2 weeks on this.
この作業に2週間ほど費やす。
Make sure to learn concepts like OSI and TCP models, IP addressing and subnetting, DNS and DHCP, networking protocols like HTTP, HTTPS, FTP and SSH, firewalls and security groups, and basic network troubleshooting using tools like ping, traceroute, and netstat.
OSIモデルやTCPモデル、IPアドレッシングとサブネット、DNSとDHCP、HTTP、HTTPS、FTP、SSHなどのネットワーク・プロトコル、ファイアウォールとセキュリティ・グループ、ping、traceroute、netstatなどのツールを使った基本的なネットワーク・トラブルシューティングなどの概念を必ず学んでください。
Now let's talk about git.
それではgitについて話そう。
Git is a version control system that lets you track changes in your code and collaborate with others.
Gitはバージョン管理システムで、コードの変更を追跡したり、他の人と共同作業したりできる。
It's essential for working on projects with a team and managing your code effectively.
チームでプロジェクトに取り組み、コードを効率的に管理するために不可欠なものだ。
Spend 1 to 2 weeks getting comfortable with git.
1~2週間かけてgitに慣れましょう。
Make sure to learn basic git commands like clone, commit, push and pull, branching and merging, resolving merge conflicts, working with remote repositories and so on.
clone, commit, push and pull, branching and merging, merge conflicts resolution, working with remote repositoriesなどの基本的なgitコマンドは必ず覚えましょう。
After that, you should dive into programming languages.
その後、プログラミング言語に飛び込むべきだ。
Programming languages like Python, Ruby, and Go are used to automate tasks and manage configurations.
Python、Ruby、Goなどのプログラミング言語は、タスクの自動化や設定の管理に使用される。
While there are several other languages, I personally recommend Python for its simplicity, powerful libraries, and versatility.
他にもいくつかの言語があるが、個人的にはシンプルさ、強力なライブラリ、多用途性からPythonをお勧めする。
Dedicate 4 to 6 weeks to build a solid foundation in Python.
Pythonの基礎を固めるために4~6週間を費やす。
Make sure to learn Python syntax and data structures like lists, dictionaries, sets and tuples, modules and packages, learn how to write and execute Python scripts, work with files, handle errors, write automation scripts and so on.
Pythonの構文やリスト、辞書、セット、タプルなどのデータ構造、モジュールやパッケージ、Pythonスクリプトの書き方や実行方法、ファイルの扱い方、エラー処理、自動化スクリプトの書き方などを学ぶようにしましょう。
By the way, to help you on this journey, I've created a free supplementary PDF that breaks down the specific concepts you need to learn for each skill.
ちなみに、この旅の助けになるよう、各スキルについて学ぶべき具体的なコンセプトをまとめた無料の補足PDFを作成した。
It's a great resource to review your progress, find gaps in your knowledge, and prepare for interviews.
進捗状況を確認したり、知識のギャップを見つけたり、面接に備えたりするのに最適な情報源です。
You can find the link in the description box.
リンクは説明欄にあります。
Also, I have a bunch of tutorials on this channel and complete courses on my website if you're looking for structured learning.
また、体系的な学習をお望みなら、このチャンネルにたくさんのチュートリアルがあるし、私のウェブサイトには完全なコースもある。
Again, links are in the description box.
繰り返しますが、リンクは説明欄にあります。
Moving on, let's talk about cloud providers.
次に、クラウド・プロバイダーについて話そう。
Cloud providers like AWS, Azure, and Google cloud platform offer a range of services for building and deploying applications.
AWS、Azure、Googleクラウドプラットフォームなどのクラウドプロバイダーは、アプリケーションの構築とデプロイのためのさまざまなサービスを提供している。
If you're just starting out, I recommend focusing on one cloud provider and AWS is a great choice because it's the most widely used.
AWSは最も広く使われているため、最適な選択だ。
Spend about 4 to 6 weeks on this.
これに4週間から6週間ほど費やす。
Make sure to learn how to launch, configure and manage virtual servers, store and manage data, get familiar with managing users, groups and roles, and how to set up and manage isolated networks.
仮想サーバーの起動、設定、管理方法、データの保存と管理方法、ユーザー、グループ、ロールの管理方法、隔離されたネットワークの設定と管理方法について必ず学んでください。
Next up is containerization.
次はコンテナ化だ。
Containerization is all about packaging an application and its dependencies into a container to ensure it runs the same everywhere.
コンテナ化とは、アプリケーションとその依存関係をコンテナにパッケージ化し、どこでも同じように実行できるようにすることだ。
Docker is the go to tool for this.
Dockerはそのためのツールだ。
Spend about 3 to 4 weeks getting comfortable with docker.
ドッカーを使いこなすのに3~4週間はかかる。
Learn how to create docker images, get familiar with starting, stopping and managing containers, learn how to write docker files, explore how to define and run multi container applications using docker compose and so on.
dockerイメージの作成方法、コンテナの起動・停止・管理方法、dockerファイルの書き方、docker composeを使用したマルチコンテナアプリケーションの定義と実行方法などを学びます。
Now let's dive into continuous integration and deployment or CICD.
それでは、継続的インテグレーションとデプロイメント(CICD)について説明しよう。
CICD automates the integration and deployment of code changes allowing for frequent and reliable releases.
CICDは、コード変更の統合とデプロイを自動化し、頻繁で信頼性の高いリリースを可能にする。
Jenkins is a powerful tool for setting up CICD pipelines but other popular tools include GitLab CICD, Circle CI and Travis CI.
JenkinsはCICDパイプラインをセットアップするための強力なツールだが、他にもGitLab CICD、Circle CI、Travis CIなどがよく使われている。
If you're starting out, just focus on Jenkins for its versatility and strong community support.
これから始めるのであれば、汎用性と強力なコミュニティ・サポートがあるJenkinsに注目しよう。
Dedicate 3 to 4 weeks on this.
これに3〜4週間を費やす。
Make sure to understand how to create and manage Jenkins pipelines, get familiar with writing Jenkins files, learn how to integrate automated tests into your pipelines, understand how to deploy your applications, explore how to automate the deployment of your applications to various environments and so on.
Jenkinsパイプラインの作成と管理方法、Jenkinsファイルの書き方、パイプラインに自動テストを統合する方法、アプリケーションのデプロイ方法、さまざまな環境へのアプリケーションの自動デプロイ方法などを理解するようにしましょう。
Moving forward, let's discuss orchestration and management.
次に、オーケストレーションとマネジメントについて説明しよう。
Orchestration tools like Kubernetes and Helm help automate the deployment, scaling and management of containerized applications.
KubernetesやHelmのようなオーケストレーションツールは、コンテナ化されたアプリケーションのデプロイ、スケーリング、管理を自動化するのに役立つ。
These tools are essential for managing complex applications in production.
これらのツールは、本番で複雑なアプリケーションを管理するために不可欠である。
Start with Kubernetes and spend about 4 to 6 weeks on it.
Kubernetesから始めて、4週間から6週間くらいかけて取り組む。
Make sure to learn about the overall architecture including the master node and worker node and how they interact, understand the key components such as pods, services and deployments, get familiar with managing resources, learn how to scale your applications as well as the networking model in Kubernetes.
マスターノードとワーカーノードを含む全体的なアーキテクチャと、それらの相互作用、ポッド、サービス、デプロイメントなどの主要コンポーネントの理解、リソースの管理、アプリケーションのスケール方法、Kubernetesのネットワーキング・モデルについて学びましょう。
Next we have networking and infrastructure services.
次に、ネットワーキングとインフラストラクチャー・サービスだ。
This involves setting up and managing services like reverse proxies, forward proxies, caching servers, firewalls and load balancers.
これには、リバースプロキシ、フォワードプロキシ、キャッシングサーバー、ファイアウォール、ロードバランサーなどのサービスの設定と管理が含まれる。
I recommend using Nginx for handling reverse proxies and load balancing.
リバースプロキシとロードバランシングのためにNginxを使うことをお勧めする。
Give this about 3 to 4 weeks of your time.
3~4週間は時間をかけよう。
Learn how to set up and configure Nginx as a reverse proxy, understand how to configure it to act as a forward proxy, explore caching strategies to improve the performance and how to configure firewalls and security groups.
Nginxをリバースプロキシとしてセットアップして設定する方法、フォワードプロキシとして動作するように設定する方法、パフォーマンスを向上させるためのキャッシュ戦略、ファイアウォールとセキュリティグループの設定方法について学びます。
Now let's talk about configuration management.
では、コンフィギュレーション・マネジメントについて話そう。
Configuration management tools like Ansible, Puppet and Chef automate the deployment, configuration and management of servers and applications.
Ansible、Puppet、Chefのような構成管理ツールは、サーバーやアプリケーションのデプロイ、構成、管理を自動化する。
If you're starting out, just focus on Ansible due to its simplicity and powerful features.
これから始めるのであれば、シンプルで強力な機能を持つAnsibleに注目しよう。
Spend 3 to 4 weeks on this.
これに3〜4週間を費やす。
Learn how to write Ansible playbooks, understand how to use roles and modules, learn to manage variables and templates and so on.
Ansible playbookの書き方、ロールやモジュールの使い方、変数やテンプレートの管理方法などを学ぶ。
Moving on, let's discuss infrastructure as code or IAC.
次に、インフラストラクチャー・アズ・コード(IAC)について説明しよう。
IAC involves managing and provisioning computing infrastructure through machine readable configuration files.
IACは、マシンが読み取り可能なコンフィギュレーション・ファイルを通じてコンピューティング・インフラを管理し、プロビジョニングする。
Popular tools include Terraform, AWS CloudFormation and Pulumi.
人気のあるツールには、Terraform、AWS CloudFormation、Pulumiなどがある。
If you're starting out, just focus on Terraform for its flexibility and widespread use.
Terraformは柔軟性があり、広く使われている。
Dedicate 3 to 4 weeks to build a solid foundation in Terraform.
Terraformの基礎を固めるために3~4週間を費やす。
Understand the basic concepts like providers and resources, get familiar with writing Terraform configuration files, learn how to use Terraform modules, as well as advanced concepts such as workspaces and remote state.
プロバイダーやリソースといった基本的な概念を理解し、Terraform設定ファイルの書き方に慣れ、Terraformモジュールの使い方を学び、ワークスペースやリモートステートといった高度な概念も学ぶ。
Finally, let's talk about monitoring and logging.
最後に、モニタリングとロギングについて話そう。
Monitoring and logging tools such as Prometheus, Grafana, ELK stack, and Fluentd track the performance and health of your applications and infrastructure.
Prometheus、Grafana、ELKスタック、Fluentdなどのモニタリングおよびロギングツールは、アプリケーションとインフラのパフォーマンスと健全性を追跡します。
If you're starting out, just focus on Prometheus and Grafana.
これから始めるなら、PrometheusとGrafanaに集中すればいい。
Spend about 3 to 4 weeks on these tools.
これらのツールに3~4週間ほど費やす。
Learn the architecture and data model of Prometheus, get familiar with collecting metrics from various sources, learn how to write queries to extract and analyze metrics data, understand how to set up alerts and so on.
Prometheusのアーキテクチャとデータモデルを学び、様々なソースからのメトリクス収集に慣れ、メトリクスデータを抽出・分析するためのクエリの書き方を学び、アラートの設定方法などを理解します。
So if you dedicate 3 to 5 hours every day, you can follow this road map and pick up all the skills you need to become a DevOps engineer in about 10 to 14 months.
そのため、毎日3~5時間を費やせば、このロードマップに従って、約10~14カ月でDevOpsエンジニアになるために必要なスキルをすべて身につけることができる。
If you have any questions, please let me know in the comments below and I'll do my best to answer you right here or in my future videos.
もし何か質問があれば、下のコメント欄で教えてください。
If you enjoyed this video, please give it a like and subscribe for more useful content.
このビデオを楽しんでいただけたなら、ぜひ「いいね!」をお願いします。
Thanks for watching!
ご視聴ありがとう!