カエル研 合同会社

KaeruKen Inc. (KERK)

概要

カエル研は、ユーザ様のご要求を実現するための技術知識(the Knowledge Archive to Establish the Requirement of User)を研究している会社です。

カエルの生態研究や販売等は行っておりません!

創設者がカエルを大好きなだけです。

詳細はこちらを(FaceBook)


何してる会社!?

IT関連業務のコンサルとか、オープンソースを中心としたパッケージを使用したシステムの設計、構築、サポートをはじめ、カスタマイズしたRPAツールによる工数削減のご提案なども行っております。

Appsmith:オープンソースのローコードGUI開発フレームワーク

(提供検討中)

オープンソースのLiferayやGrafanaを使っていましたが、最近注目されているローコードのフレームワークのAppsmith(https://www.appsmith.com)を使ってみた感想です。

※あくまでも個人的な感想です。

メリットと感じた点

・LiferayやGrafanaに比べて、とにかく軽い。

・操作が直感的に理解しやすい。

・データソースがメジャーなDBやREST APIに対応している

デメリット(かもしれない)

・ドキュメントが、まだ充実していない。

・デフォルトのデータソースがSQLとREST API(HSON形式)のみ。

・少し複雑な事を実装しようとした場合は、JavaScript、SQL、JSONの知識が必要。

特に気に入った点は、2点で、REST APIを使うときの認証で、最初に認証トークンを取得し、それを使ってデータ取得するようなAPIにも簡単に対応できるところと、ウィジット間での内部データ連携が簡単に対応できる点です。

この2点は、JavaScriptで書かなくても簡単に実現可能でした。

実行環境の構築方法は、Appsmith自体がコンテナで動作するため、DockerかKubernetes環境があれば簡単に構築可能です。

また、クラウド環境の提供もあり、サインイン画面(https://app.appsmith.com/user/signup)からユーザ登録するれば直ぐに使用可能です。

また、チュートリアル用のデータも公開されているので簡単に試せます。

開発の大枠の流れは以下のようになります。

・プロジェクト(Organization)の作成

・データソースの作成

・画面(Page)の作成

・画面にウィジット(Widget)を配置とデータソースとの関連付けと詳細設定

これさえ理科出来てしまえば、後は直感的に開発操作は出来ると思います。

ただ、ドキュメントが未だ充実していなく、サンプル(https://docs.appsmith.com/sample-apps)が多数公開されていますが、説明がなく自身で解析する必要があり、そのためには、当然ながら、JavaScriptやSQL、JSONの知識が必要になります。

いくつかはYouTubeでも公開されていますので、それを参考にするのもよいかもしれません。

それと、データソースやウィジットの詳細な設定がありますが、全部は説明されていないので、自身で試してみる必要があるかもしれません。

全体的な感想ですが、ローカルのdocker環境に実行環境を構築して、チュートリアル2つ試してみるのに3時間くらいで出来たことや、先に記載した認証トークンを取得してからデータを取得するようなカスタムREST APIへの対応も比較的簡単に実現できたことと、とにかく実行が軽かったのが印象的でした。

LiferayやGrafanaには戻れそうにありません。


今後、Appsmithの提供を実施したいと考えています。

(2022/05/20 時点)

”七福陣”というパッケージ提供中!


この七福陣は「考えなくても出来る定型作業はシステムに、エンジニアは考えないと出来ない非定型作業」というコンセプトをアシストするパッケージになります。

広く使われているオープンソースパッケージをAPIで繋げ、システム全体の品質向上を目指すための統合パッケージです。

※OSSラボさんのOpenPIE(Open Programable Infrastructure Envirement)を参考に(というか、小規模向けにアレンジを)しています。

手順書に出来るような定型作業はシステムに、エンジニアは非定型作業を!!

ログのメッセージとか、アラートメール受信などで、「XXXのエラーが出たら手順YYYを実行」という手順書をよく見かけますが、それって、本当にエンジニアがやる事?

・手順書に出来る定型作業であれば、スクリプトで十分では?

・手順書に出来ない作業を行うのが、エンジニアではない?


という素朴な疑問から、このパッケージ(七福陣)にしてみました。

システム全体を維持管理するRPAツールのようになってしまった感もありますが。。。

エンジニアは考えないと出来ない作業を。定型作業はコンピュータに。

概要設計書、基本設計書、詳細設計書の作成や、運用手順書の代わりに運用スクリプトを作成等々、自動化出来ない非定型作業がエンジニアの本来のタスクと考えてます。


七福陣は、定型フォーマットに記載された詳細設計書を基にCloud上にシステム環境を構築し、監視環境の設定、手順書の代わりに作成した運用スクリプトの自動実行環境構築など、定型作業の自動運用環境を構築します。


同時に、使った詳細設計書や運用スクリプトなどのドキュメントや各アプリの設定ファイル類、作業で発生したログ等のバージョン管理環境と実行。各イベントのチケット管理等、ついつい忘れがちな管理作業もアシストしシステムを整備します。

パッケージは以下のモジュールから出来ています。

1)構築モジュール :詳細設計書からシステムを構築します(terraform、ansible他)

2)監視モジュール :システムの動作監視をします(nagios、prometheus、ZABBIX他)

3)動作制御モジュール :各モジュールの動作を制御します(jobscheduler、camunda等)

4)チケット管理モジュール :各モジュールを実行させるチケットを管理します(Request Tracker、Redmine等)

5)バージョン管理モジュール :システム構築/変更、ログ等の情報をバージョン管理します(github等)

6)インベントリモジュール :システム個々の情報を管理します(OpenAudit等)

7)ユーザインターフェース管理モジュール :各モジュールの管理インターフェースを統合します(Grafana等)

8)基盤モジュール :各モジュールの動作の基盤となります(CentOS、Debian等)

※ 7人の神様とそれを乗せる宝船の8つを合わせて七福神となるそうで、七福陣も8つのモジュールから成り立っています。


世界中で幅広く使われているパッケージをAPIで繋げる事により、実績豊富なパッケージの得意とする機能を十分に活用することによって、システム全体の品質を向上させるようにアシストします。

また、七福陣は、小規模のシステム中心に中規模までのシステムを対象としています。

というのも、大規模システムですと、上記モジュールの一部や大部分が既に存在しており、そのモジュールを置き換えるより、そのモジュールの足らない部分を補うという考え方が正解だと考えているからです。

コンセプトとしてご興味ある方は、別途お問合せいただければ対応を検討させていただきます。


逆に小規模システムの方が、ご担当者も兼務されていたりと別のご担当もあることが一般的で、エンジニアとして非定形作業に専念出来るようにとの思いから小規模をターゲットにさせていただきました。


ご興味のある方は、お問合せいただければと思います。

よろしくお願いします!