DevOpsとは過去 10 年間、DevOps はホットな話題となってきました。 10 人の人には 10 個のハムレットが頭の中にあり、10 社の企業には 10 個を超える DevOps の定義があります。おそらく、技術職のキャリアの中で、DevOps の定義を 100 以上聞いたことがあるでしょう。 では、DevOps とは一体何でしょうか? Wikipedia によると、DevOps とは、ソフトウェア開発者 (Dev) と IT 運用スタッフ (Ops) 間のコミュニケーションとコラボレーションを重視する文化、運動、または実践です。 「ソフトウェア配信」と「アーキテクチャ変更」のプロセスを自動化することで、ソフトウェアの構築、テスト、リリースをより迅速かつ頻繁に、そしてより信頼性の高いものにすることができます。 私の意見では、DevOps は、提供される価値を継続的に改善し、高めるための、ソフトウェア開発ライフサイクル全体にわたる一連のベストプラクティスです。 DevOps を通じて、文化を特定の役割に限定されることなく、開発、保守、運用の間で均等に広めることができます。 DevOps では、一連の手段を使用して高速で安定したエンジニアリング プロセスを実現することを重視し、開発から本番までのサイクル全体を通じてすべてのアイデアがユーザーに継続的に価値をもたらすことができるようにします。これは方法論であり、特定のソフトウェア ツールやソフトウェア ツールの組み合わせを指すものではありません。さまざまなツール ソフトウェアまたはソフトウェアの組み合わせにより、DevOps コンセプト アプローチを実装できます。その本質は、特定のツールのセットではなく、方法論の完全なセットです。これは、ソフトウェア開発で設計された OOP、AOP、IOC (または DI) に似ています。それは理論、プロセス、または方法の抽象化または同義語です。 CICDとはCICD は DevOps 文化の実装であり、CICD パイプラインを通じて、アプリケーションがコードのチェックイン、テスト、ビルド、デプロイメントから実稼働段階までパイプラインを前進できるようにすることを目的としています。企業が CICD を導入すると、CICD の一部またはすべてを自動化し、配信プロセスを高速化し、通信コストとエラー コストを削減できます。 CICI の英語名は Continuous Integration で、中国語では継続的インテグレーションと翻訳されます。 CI では、開発者は頻繁にトランクにコードを送信します。これらの新しく送信されたコードは、最終的にトランクにマージされる前に、自動テスト フローによってコンパイルおよび検証される必要があります。継続的インテグレーション (CI) は、ソース コードの変更を自動的に検出、プル、ビルドし、(ほとんどの場合) 単体テストするプロセスです。継続的インテグレーションの目的は、開発者が新たに送信した変更が適切であり、コード ベースでの今後の使用に適していることを迅速に確認することです。 CI プロセスの実行と理論的な実践により、新しいコードと元のコードを正しく統合できるかどうかを判断できます。 CDCD は、Continuous Delivery や Continuous Deployment といった複数の英語名に対応することがあり、以下で紹介します。 継続的デリバリーCI でのビルドと単体テストおよび統合テストの自動化プロセスが完了すると、継続的デリバリーによって検証済みのコードがリポジトリに自動的にリリースされます。効率的な継続的デリバリー プロセスを実現するには、CI が開発パイプラインに組み込まれていることを確認することが重要です。継続的デリバリーの目標は、本番環境にデプロイする準備が整ったコード ベースを用意することです。 継続的デリバリーでは、コード変更のマージから本番環境対応ビルドの配信まで、すべての段階でテストの自動化とコードリリースの自動化が行われます。プロセスの最後に、運用チームはアプリケーションを本番環境に迅速かつ簡単に展開したり、エンドユーザーにリリースしたりできます。 継続的インテグレーション成熟した CI/CD パイプラインの場合、最終段階は継続的なデプロイメントです。継続的デリバリーの拡張機能 (本番環境対応ビルドをコード リポジトリに自動的に公開する) として、継続的デプロイメントはアプリケーションの本番環境へのリリースを自動化します。 継続的デプロイメントとは、すべての変更が自動的に本番環境にデプロイされることを意味します。継続的デリバリーとは、すべての変更を本番環境にデプロイできることを意味しますが、ビジネス上の理由により、デプロイしないことを選択することもできます。継続的デプロイメントを実装する場合は、まず継続的デリバリーを実装する必要があります。 継続的デリバリーは、ソフトウェアに対するすべての変更をできるだけ早く本番環境に展開する必要があることを意味するものではありません。つまり、コードの変更はいつでも展開できるということです。継続的デリバリーは機能を指し、継続的デプロイメントは方法を指します。継続的デプロイメントは継続的デリバリーの最高段階です。 CICDとDevOpsの関係CICD はソフトウェア エンジニアリングの実践方法であり、DevOps は文化です。 CICD は DevOps 文化システムの一部に過ぎませんが、現在の国内の実践から見ると、CICD は最も重要な部分です。 企業はどのように CICD を実装できるでしょうか?企業にとって、CICD は欠かせない要素であり、クラウド ネイティブの発展に伴い、CICD ツール セットも盛んになっています。 しかし、Jenkins は古くからある CICD ツールとして今でも重要な役割を果たしており、ほとんどの企業は CICD を導入する際に Jenkins の使用を優先するでしょう。 この目的のために、私は Jenkins 実装に基づいた CICD コースを開発しました。このコースでは、完全な CICD を 0 から 1 まで構築できます。コース全体では以下をカバーします。
|
<<: 【クラウドネイティブ】Kubernetes CRD 詳細解説(カスタムリソース定義)
>>: Kubernetes の制限とリクエストを 1 つの記事で理解する
最近、ある読者から、競合他社のネガティブ SEO のターゲットにならないようにするにはどうしたらよい...
ちょうど今、フェイフェイ・リーはザ・ヒル紙に「人間中心の AI におけるアメリカの世界的なリーダーシ...
Liquid-Solutionsは2011年後半に設立されました。私は彼らが逃げ出すのではないかと心...
クラウドコンピューティング、ビッグデータ、人工知能などの技術の開発と応用は、技術アーキテクチャの観点...
[51CTO.comより引用] 2018年5月18日〜19日、51CTO主催のグローバルソフトウェア...
gigsgigscloud は、香港のデータセンターに独立したサーバーを提供し、サーバーごとに 1G...
ホスティング プロバイダーの老舗ブランドである Softsyshosting には、シカゴとデンバー...
筆者はPR値の高いウェブサイトをとても羨ましく思っており、かつてはPR値の高いウェブサイトと交換した...
SEO での私の経験を振り返ります。完全に業界の枠を超えたとも言える。私は大学で CNC を学びまし...
ホストキャットのブログは現在、中国の百度公開クラウドに掲載されています。長い申請プロセスを経ており、...
Moments を更新すると、なぜ Moments が小さな Taobao になったのか不思議に思う...
アリババは、他のインターネット企業がとってきた、資金を調達し、人材を採用し、物事を実行するという古い...
競合他社のウェブサイトの変更によりランキングが変わった場合はどうすればいいですか?インターネット上に...
Digital Ocean から、ニューヨークに 2 番目のデータセンターを開設したというメールを受...
何事も始めるのも終わらせるのも難しいと言われますが、これはまさに真実です。何をするにしても、常に多く...