Thibaut Gourdel

Thibaut Gourdel is Technical Product Marketing Jr at Talend since 2017. His area of interest includes cloud technologies, containerization, serverless computing and data stream processing.

Microsoft AzureとTalendによって完全なエンドツーエンドのCI/CDパイプラインを自動化する

| 2019年10月14日 | Azure Cloud Integration

Talendは、CI/CDの実装を進化させ、簡素化し続けています。このブログでは、Talend Cloud on Microsoft Azureを利用することで、どのように継続的統合(CI)およびデリバリーのパイプラインの完全な自動化、ゼロインストール、およびエンドツーエンドデリバリーを実現して、すべてのDevOpsの目標を達成できるか説明します。 これまでの経緯 Microsoft AzureでのエンドツーエンドのCI/CDパイプラインの構築について詳しく説明する前に、当社のCI/CDの歴史について説明します。Talendは、2016年夏に最初の継続的インテグレーション機能を展開しました。このとき、統合プロジェクトのデリバリーまでの時間を短縮する進化が始まったのでした。データインテグレーターは、単体テスト機能とMaven互換性標準をTalend Studioに組み合わせることで、Jenkinsなどの使い慣れたCIオーケストレーションツールを利用して、自動的なビルド、単体テスト、および成果物リポジトリへのTalendジョブのパッケージングを行えるようになりました。これは大きな第一歩ですが、継続的デリバリーの要素をすべて満足させるものではありませんでした。さらに、Jenkins内で大幅な構成が必要であるとともに、追加のソフトウェアを手動でインストールする必要がありました。 現在では、データ駆動型企業は、より多くのデータに関する知見を絶えず得ようとし、短時間での信頼性の高いデータプロセスを開発チームに求めています。このような需要の増大に対応するため、IT組織は、ダウンタイムゼロの完全なエンドツーエンドCI/CDパイプラインを含むDevOps手法を活用しています。   進化した点 TalendをCI/CDプロセスに統合することは、決して目新しいことではありません。実際、私は今年のこれまでに、Microsoft Azure DevOpsとTalendを活用してCI/CDパイプラインを構築した例について記事を書いています。ただし、Talend CI Builderサービスをホストするために、Azureプラットフォームでホステッドエージェントを構築して構成するには大変な労力が必要でした(「記事」を参照)。ほんの数か月後、TalendはゼロインストールCI機能を提供しました。この機能によって、その労力は不要になり、これまでにないほど容易にクラウドで継続的インテグレーション(CI)を実現できるようになりました。現在、Talend Cloud on Microsoft Azureの最新の機能によって、TalendのゼロインストールCI機能を利用したAzure DevOps Orchestrationエンジンと新しいネイティブクラウドサービスという2つのそれぞれの長所を組み合わせて、完全に自動化された方法で、継続的インテグレーション(CI)、継続的デプロイ、および継続的デリバリーという最終的な目標を達成できます。   技術的詳細 具体的な例について見ていきましょう。Microsoftホステッドエージェントを使用するために、ゼロインストールCI機能を活用して、AzureパイプラインにCIパイプラインを作成します。以下のステップは、エージェントの設定以外は以前の記事「TalendとAzure DevOpsを使用したCI/CDパイプラインの構築」で説明したステップと基本的に同じです。この記事では、エージェントを設定する必要はありません。Azure DevOpsプラットフォームによって提供されるエージェントを使用します。目標は、CIパイプラインを利用して、ジョブをTalend Cloudにパブリッシュすることです。 以前の記事で詳しく説明しているため、ここでは最初のステップについて詳しく扱いません。ここでは、ゼロインストールCIの使用に関する詳細についてのみ説明します。   ファイルはGitHubのこちらにあります。 1.前提条件 主に次の2つの前提条件があります。 Talend StudioおよびNexusからのサードパーティライブラリを同期してCIが機能するように、Nexusを設定する必要があります。詳細については、このページでブログの「Configure the Nexus for third-party libraries(サードパーティライブラリ向けのNexusの設定)」を参照してください。 第2の要件は、P2リポジトリと呼ばれるものをホストする必要があることです。その内容とその目的についてはこの記事で既に説明しました。ライセンス電子メールまたはTalend CloudからこのP2リポジトリをダウンロードしたら、たとえば、通常のHTTPサーバーやAzure Blob Storageでホストする必要があります。 Azure Blob …

Read Article

TalendでCI/CDとコンテナー型仮想化を使用してサーバーレスアーキテクチャに移行する

| 2018年8月13日 | Cloud Integration Containers

CI/CDとコンテナーの重要性 CI/CD(継続的インテグレーション・デリバリー・デプロイ)は、ソフトウェアプロジェクトを成功させるための重要な要素であり、プロジェクトを進めるうえで明らかにメリットがあります。既に、コンテナーは現在あらゆる場所で使用され、開発者から絶大な人気を博しています。CI/CDを使用するユーザーは、構築しているアプリケーションを自動的かつ継続的にテスト/検証できるので、アプリケーションの品質を確かなものにします。一方で、コンテナーは、企業が採用する標準的な手順に基づき、一度構築すれば「どこにでも」デプロイできるので、ソフトウェアの配布と実行をより俊敏に行えます。このような一般的なDevOpsプラクティスにより、「特定のマシンしか動作しない」という状況は、回避されます。結果として、サービスを市場投入するまでの時間が短縮されるとともに、デリバリーの頻度を高めることができます。 Talendのシステム環境へどのように適応できるか? Talendでは、CI/CDとコンテナーの両方のメリットを利用できます。Talend 7.0のリリース以降では、標準的なMavenビルドにより、Dockerイメージ内でTalendジョブをビルドできるようになりました。そして、このプロセスをCI/CDのパイプラインにスムーズに接続できます。 サーバーレスアーキテクチャとは? 最後の段階で活用されるのはサーバーレスアーキテクチャです。Talendでは、サーバーレスでジョブがデプロイされます。実際に、ジョブをコンテナー内で送ることによって、統合ジョブを任意の場所に自由にデプロイできるようになりました。様々な選択において、サーバーレスとして定義される新しいサービスのカテゴリーが登場しています。AWS FargateやAzure Container Instancesなど、ほとんどの大手クラウドプロバイダーはコンテナー用のサーバーレスサービスの提供を開始しています。これらのサービスを利用すると、コンテナーを実行する際にインフラストラクチャ(サーバーやクラスター)を管理する必要がなくなります。発生するコストはコンテナーの使用料だけです。 これらの新しい機能は、Talend Connect US 2018の基調講演で紹介され、AWS FargateやAzure ACIでジョブのビルドから実行までのパイプライン全体のデモンストレーションを使用して解説されました。このブログでは、Jenkinsを利用してCI/CDパイプラインを作成する方法について説明します。最初にDockerイメージ内でジョブをビルドし、Dockerレジストリでイメージを利用できるようにします。そしてAWS FargateやAzure ACIを呼び出してイメージを実行します。 このプロセスを再現する方法を見ていきましょう。 まず、次の要件を満たしていることを確認して下さい。 Talend Studio 7.0 以降 Talend Cloud Spring 18’ 以降 Jenkinsサーバーを利用できること Jenkinsサーバーが、同じマシンにインストールされたDockerデーモンにアクセスできること Talend CommandLineがJenkinsのマシンにインストールされていること Nexus version 2 または 3 Talend CI BuilderがTalend CommandLineと共に構成されていること * 上記のTalendコンポーネントは全て、Talend Cloudの30日間の試用版で利用できます。 Talend環境 Talendを初めて使用する方向けに、各コンポーネントの概要について説明します。Talend Cloudから使用を開始し、Talend …

Read Article