BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース AtomistがSoftware Delivery Machine 1.0をローンチ

AtomistがSoftware Delivery Machine 1.0をローンチ

原文(投稿日:2018/11/25)へのリンク

ソフトウェアデリバリ自動化の企業であるAtomistが、Software Delivery Machine (SDM) 1.0を発表した。Atomist SDMはクラウドネイティブなソフトウェアデリバリプラットフォームであり、特にKuberneteとSpring用には追加機能を備えている。

SDMはコードフォーマット、脆弱性スキャン、ステージングインスタンスに対するテストを含む個別のパイプラインをサービス毎に提供することで、コミットから運用デプロイメントまでのデリバリを管理する。同社は先日、SDMをオープンソースとして公開した。入手可能性を拡大することによって開発チームのソフトウェアデリバリを最新化し、可視性および管理性向上の面から開発業務を支援したい、という考えからだ。

Atomist SDM 1.0には、コミュニティからのフィードバックに応えて開発された機能アップデートと拡張が含まれている。今回のリリースでは、承認機能の拡張、拡張パックモデル、ログのストリーミングに加えて、SDMの基本的なアクションであるGoalも拡張された。さらに、一般的なコーディング上の問題の調査と修正、Dockerビルドの実行、Kubernetesなどの共通ターゲットへのデプロイ、といった処理を行う組込みGoalも含まれる。Atomist SDMを使用することで、ソースコードへの一貫性のあるフォーマットの適用、changelogの管理、修正を運用環境にデプロイした際のイシューへのラベル付け、レビューとビルドが成功した時のPRの自動マージ、リポジトリ内のライセンス通知ファイルのアップデートなどといったタスクの自動化が実現する。SDMでは、ビルドとインテグレーションテストの実行、デプロイメントとロールバックの管理、成果物のプッシュなどのデリバリプロセスを、アプリケーションコード記述時と同じツールやアプローチを使ってプログラム化することができる。創業者のひとりでエンジニアリング担当副社長のChristian Dupuis氏は言う。

SDMの大きな考え方は、ビルドやデプロイメントといったアクションとは、従来のCI/CDツールで一般的なYAML定義とBashスクリプトの混成という敬遠したくなるようなものではなく、イベントで駆動され、コードで定義されるものであるべきだ、というものです。SDMはデリバリを開発するためのフレームワークと、それを実行するランタイムを提供します。

SDMはオープンで、拡張性があり、カスタマイズ可能なフレームワークである。ユーザはAutofix、Build、KubernetesDeployといった標準Goalと合わせて動作する、独自のGoal実装をコーディングする。作成したカスタムGoalは、既存のツールやAPIと統合してデリバリプロセスに組込むことができる。Atomist SDMはWebインターフェースやコード経由、あるいはSkack経由のChatOpsから動作させることが可能で、セルフホストおよびAtomistのクラウドホスト経由でのアクセスに対応する。GitHubやBitbucket、Jenkins、Docker、OpenShift、CloudFoundryといった一般的なツールとの統合には、webhookおよびAPIを使用する。

Kubernetsでは、新たなイメージが使用可能になった時に新しいデプロイメントを生成する機能と、ImagePullBufferあるいはCrashLoopBackoffの発生を検知して自動的にロールバックする機能を提供する。Dockerのビルド設定とKubernetesのデプロイメント設定を生成、変更、管理することも可能で、ロールベースのアクセス管理と監査証跡が提供される。

Springに関しては、Spring Bootプロジェクトの生成(新たなリポジトリに直接)、メンテナンス、デリバリをサポートするAtomist SDM拡張パックによって、コードインスペクション、Spring Guidesに従ってSpring Bootスタータの追加と構成を行うコマンド、MavenあるいはGradleを使用したSpring Bootプロジェクトのローカルデプロイメントのサポート、CloudFoundryおよびKubernetesへのデプロイのサポートが提供される。

その他の利用可能な拡張パックとしては、changelog管理、コードメトリクス、電子透かし(fingerprinting code)、SonarQube統合、CheckStyle統合、Node.js、Docker統合、CIビルド実行、イシューの自動管理、Pulumi統合、JFrog Xray違反イベントの受信と処理、GitLab統合などがある。Redmonkの創業者のひとりであるJames Governor氏は、次のように述べている。

SDMが実現することの中核をなす、統合され設計されたイベント駆動デリバリは、プログレッシブデリバリ(progressive delivery)と私が呼ぶものの基盤となります。現代のソフトウェアデリバリは劇的に変化しており、その設計は今や戦略的なものになっています。

AtomistのCEOでSpring Frameworkの創作者であるRod Johnson氏も先日、インフラストラクチャデリバリを適切に設計することの重要性の増加を踏まえたSoftware Defined Delivery Manifestoを発表している。マニフェストは、ソフトウェアデリバリ分野の専門家たちによって書かれたものだ。

Atomist SDM 1.0は現在、GitHubのこちらからダウンロードできる。Atomistサブスクリプションサービスは、オープンソースプロジェクトには無償で提供される。Atomist Slackコミュニティチャネルにはこちらで参加できる。

 
 

この記事を評価

採用ステージ
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

BT