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 つの記事で理解する
buyvm.net は、VPS 業界でよく知られているブランドとして、強力なテクノロジーと信頼性の高...
ウェブサイトのキーワードは、ランキングを決定する主な基準の 1 つです。Baidu で検索すると、検...
情報インフラストラクチャを近代化する戦略の一環として、企業はクラウド コンピューティングをより有効に...
企業に使いやすく、コード不要のツールを提供します。従来はデータ エンジニアやデータ サイエンティスト...
私たちは常に、いくつかのサンプル データから全体的なデータのパフォーマンス特性を探りたいと考えていま...
ドイツのフランクフルトデータセンターにあるCrownCloudのKVM仮想VPSは、solusvmパ...
今はデータ爆発の時代です。特に、ソーシャル ネットワークやプラットフォームの台頭により、断片化された...
昨年8月、WeChatパブリックアカウントはサブスクリプションアカウントとサービスアカウントに分割さ...
[[353361]] [51CTO.com クイック翻訳] 過去 10 年間で、クラウド コンピュー...
テンセントは7年前に「汎エンターテインメント」という概念を提唱し、それ以来、文学、音楽、映画、テレビ...
gcore は、メキシコの VPS/メキシコ クラウド サーバー サービスを提供しています。gcor...
ウェブマスターなら誰でも、このような経験をしたことがあるでしょう。一生懸命ウェブサイトを構築した後、...
Crissic の openvz VPS プロモーションは非常に強力で魅力的です。2 つの IP、大...
4月7日、アリババクラウドは「アリ版GPT」通益千聞の招待入場を発表し、大きな注目を集めた。 4月1...
サーバーレスは、将来のソフトウェア開発のモデルとプロセスを変えています。サーバーレスが未来だと言う人...