Atomistは、同社のメタ・メタプログラミング言語であるRugを試してみたい人のためのAlpha Programmeの提供を開始した。
同社は、Rugのことを開発ワークフローを自動化する言語と述べている。Rugは、繰り返しまたは定型コードの生成を自動化するために使用され、Atomistによって編成されている。
Rugは、マイクロサービスなどの分散システムで作業するときの生産性を向上させることを目指している。Rugは、このようなタイプのアーキテクチャにおけるいくつかの問題に着目している。その問題とは、ライブラリのアップグレード、ビルド構成、スケルトンプロジェクトの生成などの、複数のサービスに跨った繰り返しのコーディング作業などである。
Atomistの主任技術者であるRuss Miles氏は、Jax London 2016で初めてRugを発表し、プロジェクトの生成にどのように使用できるかを示した。 ‘generators’と呼ばれるタイプのRugは、マイクロサービスをゼロから作成するために使用できる。たとえば、コマンド1つでSpring Bootマイクロサービスのスケルトンを生成できる。このタイプにはGradleビルド構成、パッケージ構造、さらにはDockerfilesなどのコンポーネントが含まれている。
Miles氏はまた、GitやGitHubがRugと統合されていることを示した。コミットを作成し、プルリクエストを発行する機能を備えており、Atomist GitHubのユーザは、実際の人のように振る舞うことができる。通常の開発者と区別がつかないため、チームに簡単に統合できるようになるとMiles氏は説明した。これは、Gitの履歴とGitHubの使用状況が、人がプロセスを手動で実施したかのように見えるためである。
Miles氏は他にSlackとの統合のデモを行った。Atomist Slackボットがあり、GitHubプロジェクトを作成し、パーミッションを設定し、そして、スケルトンプロジェクトを作成するためのコマンドを発行できる。つまり、Slackのチャネルに、1つのフレーズをタイプすればすぐに、設定済みの新しいサービスのクローンを作成できる。
プロジェクト作成について示した後に、Miles氏は、Rugが既存のコードベースをどのように変更できるかを示した。これが‘editor’である。例として、複数のプロジェクトにわたってのライブラリのアップグレードが示された。このユースケースとして、多くのマイクロサービスで使用される共通ライブラリにセキュリティパッチを適用することが挙げられる。
Rugは独自のテストフレームワークを提供する。これはBDDアプローチを採用しており、ユーザは外部からアプリケーションの動作を記述することができる。目標は、ユーザが可能な限り堅牢で信頼できるRugを作成できるようにすると説明があった。
Miles氏は、Rugは特定のプログラミング言語用のコード編集・作成に特化したものでないことを強調した。言語に依存しないことによって、マイクロサービスでよく見かける多様なアーキテクチャと簡単にインテグレーションできることが目標である。実際に、Rugの利点は、従来のモノリシックアプリケーションとは対照的に、このようなタイプの複雑で分散したシステムにも適用可能であることが強調された。
Atomistは、Spring Frameworkの作成者であるRod Johnson氏によって設立された。Miles氏への10分間インタビューがオンラインで視聴できる。
Rate this Article
- Editor Review
- Chief Editor Action