LoginSignup
0
1

More than 3 years have passed since last update.

エンジニアが英語で情報を集めてシステムをデプロイするには

Posted at

多くのIT系のドキュメントは元は英語で書かれていて、それぞれの言語に訳されているかと思います。それゆえ、エンジニアが何かわからないことを検索する場合、英語のほうが情報量が圧倒的に多いと思われます。また、たとえ翻訳されていても、すべてを訳しているわけでなかったり、明らかに機械翻訳を使っていて誤訳になっていることもあります。

英語は苦手という方も、そもそもプログラミング言語は英語ベースのものが多いですし、少し勉強すればより多くある情報の中から自分がいま探しているものを見つけられるようになるのではないでしょうか。

製品やサービスとして提供されている場合は、プロバイダーが日本語の情報も出していると思うので、ここではQ&Aやクラウド周りのオープンソース系のサイトをいくつか取り上げたいと思います。翻訳機能なんかを通してみても、ある程度の情報が得られると思うので便利かと思います。

Kubernetes

Kubernetesのオリジナルのドキュメントです。日本語版もありますが、やはり英語のほうが情報量は多いです。

Terraform

クラウドでインフラをコードとして管理して、デプロイの自動化を行えます。

Docker

Dockerのオリジナルのドキュメントです。

Kaniko

コンテナ内でDockerのイメージをビルドするツールです。Kubernetes上で動いているJenkinsのパイプラインから、使用する時に便利です。

Helm Chart

Kubernetesのリソースを実装する場合、テンプレートをもとにパッケージ化してデプロイできます。

Nginx Ingress Controller

NginxをKubernetes上で使用する場合、これを使ってシステムを外部に公開できます。

Jenkins

Jenkinsのオリジナルドキュメントです。

OAuth2 Proxy

Idpを使ってSSOを実装するときに便利です。

cloud-init

VMのインスタンスのブートストラップ時にスクリプトなどを実行して、設定の標準化などを行えます。

Chef

インフラの自動化を行えるツールです。レシピと呼ばれるファイルに何を実行するかを記述し、システムの設定、パッケージのインストールなどをできます。繰り返し実行されることを考慮されているので、一度設定したりインストールしたら変更がない限りはその個所は実行されません。

Rundeck

主に複数あるVMなどを対象に、スクリプトなどを一斉に実行することができます。先ほどのChefと合わせて使用すると、複数のVM上で一斉にChefを実行して一度に多くのシステムの実装ができます。

stackoverflow

いわゆるQ&Aのサイトです。たとえすべて英語で表現できなくても、探している情報のキーワードだけでも多くのことが調べられます。
ただ、ここに書かれている解答が常に正しいとは限らないので、丸写し使うのは良くないでしょう。たまに見かけるのに、"I haven't tried this myself but..." (試したことないがたぶん・・・)のようは場合はあまり参考にしない方が良いかもしれません。

stackExchange

同じくQ&Aのサイトです。

KubernetesとVMにアプリケーションのデプロイ

上でご紹介したものを使うと、クラウド上にシステムをほぼすべて自動でデプロイすることができます。
例えばAzure上にAKSおよびVMでシステムを作る場合、以下のような流れでできます。

  • Terraformを実行して、AKS、ACRおよびVMをデプロイ

  • Helm Chartを利用して、Jenkins、Rundeck、Nginx Ingress ControllerなどをAKSにでプロしてCI/CD環境をつくる
  • OAuth2 Proxyを利用してSSOの設定

  • もしくは、AzureADのプラグインを利用して認証を実装

  • RundeckのNode(Chefを実行する対象のVMです)を登録

  • Jenkinsのパイプラインで、Kanikoをサイドカーとしたエージェントでアプリケーション用のDockerイメージをビルドしてACRにプッシュ
  • VMはcloud-initでRuncmdをつかって、スクリプトを実行しシステム特有の設定をする

  • AKS上で動くアプリケーションを、JenkinsのパイプラインからHelm Chartを利用してAKSにデプロイ
  • VM上で動くアプリケーション(クラウドネイティブでサポートされていないようなアプリケーション)は、Jenkinsのパイプラインから、Rundeckを経由してChefを複数のVMに同時に実行してデプロイ

最後に

ご紹介したサイトの中には一部日本語化されているものもありますが、オープンソースやコミュニティーバージョンであったりする以上おそらくすべてが日本語されることはないと思います。IT企業が自社製品の技術文章を多言語に翻訳する場合でも、相当組織だって行いそれでもすべてをカバーされるわけでもありません。
変化が多くて速いIT業界では、日本語化を待っていては必要を入手するのにすごく時間がかかってしまいます。技術文章を英語である程度読めるようになるのは、仕事でもそれ以外でもこれから役に立つことも多くお勧めです。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1