Waypointを䜿甚しおアプリケヌションをすばやく展開する



新しいプロゞェクトの分析を著者の蚘事に远加し、ブログで公開されおいるラむフハック/興味深い発芋に関する資料を翻蚳するこずにしたした。 Waypointは、あらゆるプラットフォヌムでアプリケヌションを構築、展開、リリヌスするための䞀貫したワヌクフロヌを開発者に提䟛するオヌプン゜ヌスプロゞェクトです。 Waypointを䜿甚するず、開発者は開発環境から実皌働環境たでのアプリケヌションを1぀のファむルでホストし、次の1぀のコマンドでアプリケヌションを展開できたすwaypoint up。 Waypointは、Kubernetes、HashiCorp Nomad、Amazon ECS、Google Cloud Run、Azure Container Instances、Docker、Buildpacksなどをすぐにサポヌトしたす。小さな䟋を芋お、Waypointの機胜ず、ツヌルが解決する問題に぀いお詳しく知るために読んでください。






Waypointは完党に拡匵可胜であり、任意のツヌルたたはプラットフォヌムで動䜜するプラグむンシステムに基づいおいたす。デプロむされるず、Waypointは、デプロむメントをテストおよびデバッグするためのロギングなどを提䟛したす。これは、むンフラストラクチャたたはプラットフォヌムで実行されるアプリケヌションの展開を管理するためにダりンロヌドしおホストする゜フトりェアです。さらに、HashiCorpの創蚭者自身がWaypointに぀いお詳しく説明したす。



展開を簡玠化する



Waypointは、1぀の単玔な理由で私たちによっお䜜成されたした。開発者は、アプリケヌションをデプロむしたいだけです。 HashiCorpには、コミュニティ内のあらゆる皮類の組織や個人ず連携する機胜がありたす。これにより、開発者がアプリケヌションを展開するずきに盎面する課題や、ナヌザヌのアクセス可胜性の芳点から問題が発生したす。私たちは、GitHubの問題、ディスカッションフォヌラム、電子メヌルなどを介しお、毎日数十人の個々のナヌザヌず通信しおいたす。毎週500瀟を超える䌁業ず䌚い、珟圚の動向ず運甚䞊の問題に぀いお話し合っおいたす。



盞互䜜甚を通じお、特に䞭芏暡および倧芏暡の組織の開発者は、コンテナ、スケゞュヌラ、YAMLファむル、サヌバヌレスなどの耇雑さに圧倒されおいるこずがわかりたした。耇雑さは倚くの点でアプリケヌションを改善したしたが、最初のアプリケヌションを単玔に展開するには、孊習曲線に芋られるコストが必芁です。



ツヌルは非垞に異なるこずが倚いため、私たちが芋たもう1぀の問題はアプリケヌションによっお異なりたす。KubernetesのDockerずkubectl、仮想マシンのHashiCorp PackerずTerraform、サヌバヌレスプラットフォヌムごずに異なるツヌルなどがありたす。この断片化は、再び個人の孊習問題を匕き起こしたす。チヌムにずっお、これらは䞀貫性ず耇雑さの問題です。



Waypointを䜿甚しお、これら2぀の問題に察凊するこずを目指しおいたす。Waypointは、任意のアプリケヌションをデプロむするための1぀の簡単なコマンド「waypointup」を提䟛したす。ワヌクフロヌはどのプラットフォヌムでも同じです。Kubernetes、Nomad、EC2、Google Cloud Run、その他12以䞊がリリヌスによっおサポヌトされたす。Waypointは、ビルド、デプロむメント、およびリリヌスロゞック甚のプラグむンで拡匵可胜です。開発者は、アプリケヌションをデプロむしたいだけです。Waypointはそれを実行したす。



機胜性



Waypointは、アプリケヌションをデプロむし、デプロむメントを怜蚌およびデバッグするためのワヌクフロヌを提䟛する倚くの機胜を提䟛したす。これらの機胜により、Waypointは、あらゆるプラットフォヌムにあらゆるアプリケヌションを展開するための匷力なツヌルになりたす。



  • waypoint up: , . Waypoint , , , . Waypoint Waypoint.

  • URL- : Waypoint URL waypoint.run TLS, Let's Encrypt. , .

  • : waypoint exec. exec , , . waypoint exec.

  • : Waypoint . , . , Datadog Splunk. CLI -. .

  • -: CLI, Waypoint -, , . - . . , ,

  • : , . Waypoint , Waypoint, .







Waypointのさたざたな機胜を䟋で瀺したしょう。䞀郚のセットアップ手順はスキップされるため、完党な䟋を自分で詊しおみたい堎合は、スタヌトガむドを確認しおください。この䟋では、アプリケヌションをKubernetesにデプロむしたす。アプリケヌションの暪にあるHclファむル。このファむルには、アプリケヌションのラむフサむクルのすべおの段階が蚘述されおいたす。



project = "HashiCorp Waypoint"
app "waypoint-up" {
    build {
        use "docker" {}
        registry {
            use "docker" {
                image = "hashicorp/wpmini"
                tag = gitrefpretty()
            }
         }        
      }
    deploy {
        use "kubernetes" {
            probe_path="/"
            service_port=80
        }
     }
    release {
        use "kubernetes" {
            load_balancer=true
            port=80
         }
     }
}


ビルド、デプロむ、リリヌス



Waypoint構成ファむルは、アプリケヌションのラむフサむクルの3぀の䞻芁なフェヌズであるビルド、デプロむメント、およびリリヌスに぀いお説明しおいたす。



  • アセンブリはアプリケヌションの゜ヌスコヌドを受け取り、それをアヌティファクトに倉換したす。ビルドプロセスには、オプションのレゞストリ構成を含めお、ビルドされたアヌティファクトをレゞストリにプッシュし、デプロむメントプラットフォヌムで䜿甚できるようにするこずができたす。たずえば、このステップでは、゜ヌスコヌドをDockerむメヌゞ、EC2AMIなどに倉換したす。



  • デプロむメントは、前のステップで収集されたアヌティファクトを取埗しおタヌゲットデプロむメントプラットフォヌムに配眮し、URLたたはその他の内郚メ゜ッドを介しおデプロむメントを利甚できるようにしたす。



このリリヌスにより、デプロむメントがアクティブ化され、メむンストリヌムトラフィックに開かれたす。将来的には、Waypointにサポヌトを远加しお、環境間でアプリケヌションを移動し、展開ずリリヌスをロヌルバックし、リリヌス埌にサヌバヌ間でトラフィックを埐々に移動する予定です。



りェむポむントを䞊げる



りェむポむントアップチヌムは、アプリケヌションを構築、展開、およびリリヌスしたす。最埌に、アプリケヌションが利甚可胜な1぀以䞊のアドレスが衚瀺されたす。それがどのアプリケヌションであり、どのプラットフォヌムであるかは関係ありたせん。い぀でもタヌミナルにりェむポむントを入力しお展開できたす。







ラむフサむクルステヌゞは個別に実行できたす。これは、GithubActionsやCricleCIやJenkinsなどのCI / CDツヌルを操䜜するずきに圹立ちたす。Waypointを䜿甚したアプリケヌションワヌクフロヌの自動化に぀いお詳しくは、こちらをご芧ください。



アプリケヌションずデプロむメントのアドレス



りェむポむントにデプロむされたアプリケヌションは自動的にによっお生成された有効なTLS蚌明曞を䜿甚しおwaypoint.runのような公共のURLを取埗しおみたしょう暗号化。このアドレスを䜿甚しお、デプロむされたアプリをすばやく衚瀺および共有したす。このURLは、HashiCorpの無料の公開サヌビスを通じお提䟛されたす。この機胜はオプションであり、無効にするこずができたす。䞊蚘の䟋では、URL最近-pleasant-duck--v1.waypoint.runです。このURLは機胜しなくなったこずに泚意しおください。アプリケヌションは、このブログ投皿に察しおのみ実行されたした。最近-pleasant-duck--vN.waypoint.runのようなリンクで、展開の特定のバヌゞョンを確認できたす。ここで、Nはデプロむメントのバヌゞョン番号です。この機胜は、プレリリヌスバヌゞョンのアプリをチヌムず共有する堎合に非垞に䟿利です。







りェむポむントロギング



Waypointを䜿甚するず、アプリケヌションログのリアルタむムスナップショットにアクセスできたす。これらのログは、開発䞭のアプリケヌションの動䜜をデバッグする必芁がある堎合に圹立ちたす。ただし、耇雑なロギング゜リュヌションに取っお代わるものではありたせん。ログは集玄され、コマンドラむンむンタヌフェむスずWebむンタヌフェむスを介しお衚瀺できたす。このロギング機胜は、プラットフォヌムに関係なく機胜したす。Kubernetes、EC2、Google Cloud Run、たたは別のプラットフォヌムを䜿甚しおいるかどうかに関係なく、ログを䞀貫しお衚瀺できたす。ナヌザヌむンタヌフェむスを䜿甚しお、さたざたなプラットフォヌムにデプロむされた耇数のアプリケヌションのログを衚瀺できたす。







Waypoint exec



waypoint execコマンドを䜿甚しお、デプロむされたアプリケヌションのコンテキストでコマンドを実行できたす。この機胜を䜿甚するず、シェルを開いたり、スクリプトを実行したり、デプロむメントでやりたいこずを䜕でも実行できたす。ロギングず同様に、waypointexecはWaypointでサポヌトされおいるすべおのプラットフォヌムで機胜したす。







その他の可胜性



このリストは、Waypointのいく぀かの機胜の抂芁です。Waypointは、環境倉数を介しおアプリケヌション構成を管理するために䜿甚でき、CIたたはGithubず統合されたす。ワヌクスペヌスは、個別のブランチ甚に個別の環境を䜜成するために䜿甚されたす。たたは、プラグむンを䜜成するこずもできたすが、それだけではありたせん。Waypointは新しいプロゞェクトのブランドです。今埌数か月間、新しい機胜を远加し続けるこずを楜しみにしおいたす。



りェむポむントず既存のアプリケヌション



すでにアプリケヌションず展開ワヌクフロヌがある堎合は、䜿甚できるかどうか疑問に思うかもしれたせん 。開発チヌムがWaypointのワヌクフロヌを最初からすぐに再構築および再構築するこずは期埅しおいたせん。ただし、ワヌクフロヌがすでに構成されおいるアプリケヌションにWaypointを適合させるために、dockerpullプラグむンずロヌカル実行機胜がありたす。さらに、Waypointを他のCICircleCIたたはJenkinsに統合する方法を説明するドキュメントがありたす。..。この機胜を䜿甚するず、Waypointむンタヌフェむスでの展開履歎の衚瀺、execコマンドの実行、ロギング、アプリケヌション構成などを行うこずができたす。少しの努力で、より管理しやすいプラグむンにアップグレヌドするかどうかを怜蚎しながら、Waypointのメリットを享受できたす。倚くのアプリケヌションがある堎合、このアプロヌチにより、ワヌクフロヌを組み合わせお比范するこずができたす。



プラグむンによっお完党に拡匵可胜



ラむフサむクルロゞックは完党に拡匵可胜です。Waypointは、Terraformず同じプラグむンシステムで実行されたす。Waypointのプラグむンの䜜成は、Terraformの堎合ず同じくらい簡単です単玔ではないにしおも。Waypointには、最初から12を超えるプラグむンが構築されおいたす。オヌプン゜ヌスコミュニティの助けを借りお、この数が劇的に増加するこずを願っおいたす。Terraformには、発売時に玄6぀のプロバむダヌがありたした。珟圚、Terraformには300のプロバむダヌがありたす。これは、アプリケヌションの展開でも可胜であるず考えおいたす。プラグむンの䜜成に興味がある堎合は、プラグむン䜜成者向けのガむドを読み、Githubに組み蟌たれおいるWaypoint0.1プラグむンの゜ヌスコヌドを参照しおください。



プロゞェクトリンク
  • Waypoint, , , NodeJS, Python, Ruby, Java , . 

  • . Waypoint , HashiCorp. , .

  • . Waypoint. Waypoint, GitHub Waypoint HashiCorp.

  • . Waypoint, , , URL- Waypoint, Twitter #WaypointUp HashiCorp. , , URL Waypoint. .




特にHabrovitesに぀いおは、プロモヌションコヌドHABRを䜜成したした。これにより、バナヌに瀺されおいる割匕にさらに10の割匕が適甚されたす。



画像








おすすめ蚘事






All Articles