LittleworldCo

Littleworld Co., Ltd.

Littleworld株式会社はRPAのgiipサービスとインフラ全般のコンサルティングを行っている未来の価値を顧客とともに創造していく企業です。

giip

giipの日本語バージョンを新しいgitに移しました!

wiki home : https://github.com/LowyShin/giipdoc-ja/wiki

日本語バージョンのドキュメント作成を手伝ってくれる方をお待ちしております!

個人でも企業でもいいので是非!

giipを活用したスクリプトの共有などにお使い頂ければと思います。

サービスページ : http://giipweb.littleworld.net (フロントは英語だけどログインすると日本語対応しています。そしてフロントは誰でも自分なりのフロントが作れるのでご連絡ください)

英語版 : https://github.com/LowyShin/giip (giip関連scriptもあります!)

文書(Wiki) : https://github.com/LowyShin/giip-ja/wiki

Sample Script : https://github.com/LowyShin/giip/tree/gh-pages/giipscripts

概要

世の中の全てのデバイス(サーバーとパソコン及びモバイル・IoTデバイスまで)の完全自動運用には何が必要でしょうか。

今までのDevOpsシステムは元々開発者が設計して作ったので開発者の観点でしか見れなかったです。 なので広大なシステムの設計には手動でしかできないと言っちゃうところがありました。 ここでSystem Architecture(システムアーキテクチャ)が設計したシステムならどうすべきなのかを考えました。

SFI(SONY Finance International)の金融システム運用経験とNexonの大規模オンラインゲームの運用及びハッカとの戦い、そしてLOL(League Of Legends、Riot Games社)の300Gbpsが超える莫大なトラフィックを運用した経験その他様々な規模の300サービス以上を運用した経験を活かしてシステム運用アーキテクチャを2007年作りました。

giipエンジンをご紹介致します。

10年以上を作り続けているgiipエンジンには次の哲学が含まれています。

KVS(Key Value Store)

全てのシステムのデータを収集するために非整形データタイプのJSONをデータベースのように使う為にKVS(Key Value Store)の概念を導入しました。

MSA(Micro Service Architecture)

全ての機能は追加・削除が可能にする為全ての機能を独立して作り上げてます。 一つの機能だけ取って新しいサービスを作るのができます。

MVC(Model View Controller)

私流のMVCを導入しそれぞれのフレイムワークが異なるように構成してます。 ViewはBootstrapを使っていつでもディレクトリ毎変えちゃえば全然新しいサービスにもできちゃいます。 ModelとControllerの分離もきちんとしていて異なるタイプのDBMSとかNoSQLを利用したり、フィールド名が異なってもサービスに影響が無いように設計されています。

Scale out & Redundancy(拡張と冗長)

ソースを纏めて管理していますが、機能の活性によって用途がいつでも変えられる仕組みになっています。 もしClientが増えてAPIに負荷が集中するとクラウドサーバーを追加してソースをコピーしてAPIサーバーとして指定するだけでAPIサーバーになってGLBに連動するとそのままに使えます。さらに増えたAPIサーバのうち2台をコントローラーにしようとするとコントローラー用GLBに登録するだけで負荷が減ったサーバーは勝手にコントローラーサーバー機能が追加されます。

GLB(Global Load Balancer)

世界何処にサーバーがあっても負荷分散と冗長構成ができます。例えば、日本に1セットのサーバがあってまたドイツに1セットのサーバをGLBに繋いでたら自動で負荷分散と冗長になってどちらが死んでしまってもサービスは継続できます。

RPA(Robotics Process Automation)

giipエンジンの設計が始まった2007年には既にHITACHIさんのジョブネット(JobNet)とJP1、千手など様々な運用自動化サポートツールがあり、BMCのControl-Mもありました。今更RPAを言うのはこの自動化ツールが知らない人には革新的ですが我々には今までと変わりません。 giipのRPAのフロントはAutohotkeyまたはSelenium、Jmeterを利用してマウスの動きから画面の認識など様々なツールでユーザーのアクションと認識を行なっています。 giipはただこのジョブをQueueに乗せていつどの条件でどのクライアントがやっちゃえばいいかを判断して命令を下すのです。

giip-concept-AISE

CQE(Command Queue Engine)

CQEはクライアントが行う作業などを定義し、条件によって実行などを行うことを管理するエンジンです。特定サーバーの異常をモバイルデバイスが気付いた時、どのノートパソコンに命令をしてサーバーの遠隔操作を行うことを決めるとか、定期バックアップをローカルにして終わったらどのネットワークのサーバーに流して、最後はどのメディアにバックアップするかを決めたり今まで作業者としてやっていたことを全てコントロールするコントロールタワーと言えるgiipオリジナルエンジンです。

MQE(Message Queue Engine)

MQTTの短所を解決するために作ったgiipならではのメッセージエンジンでJSON方式でやりとりしています。いくら多くのやりとりでもFIFOを守り、RDBMSがキャッシュの役割をして素早くシステムの状況などのメッセージをネットワーク上に流します。それを許可を得たクライアントが情報を拾って判断またはレポートを送ったりすることができます。基本KVSを利用するのでグラフ、統計などが作りやすくなり、JSON自体は統計が取りにくいのでKeyを選択するだけで定期的にデータを抽出して整形データに作ってレポートに使えるようにしています。 Morris.js, jqplotなどJSONをサポートしている様々なグラフツールとデータを連動できるのでViewを作成する時時間の短縮ができ、専用のDashboardが作れます。

Opensource

MSA構造で作られているのでOpenstackなりKubernetesなりNode.js、Bootstrap、ELK(Elastic Logstash Kibana)、EFK(Elastic Fluentbit Kibana)など様々なオープンソースとの連携が可能で、オープンソースを利用した場合giipの重複する機能はそのまま飛ばせます。 なので使いたいオープンソースを自由に利用して構築することができます。

https://www.slideshare.net/LowyShin/giip-engine-open-source-revolution

MarketPlace

様々なシステム運用のコツをスクリプトにするとそのまま販売できます。例えば簡単なバックアップスクリプトが1回1円だとしたら1日1回バックアップしても1ヶ月約30円になります。なので勝手に使った方がもっと楽になるのです。そしてMongoDB・Hadoopなどのインストールが複雑なツールのインストールもマーケットプレースからインストールしちゃえば楽にできちゃいます。知識として持っていた方がいいのと要らないので安く頼むことさえきちんと管理できればマーケットプレースは無限の時間節約になれます。 今まではエンジニアの知識は作業しない限りお金になりませんでしたが、これからはどんどんあげるだけで収入ができる環境になれました!

http://giipweb.littleworld.net/view/SMAHTML/MPScriptList.asp

MLE(Machine Learning Engine)

まだ機械学習機能はCQEとMQEを混ぜて使ってますが、GPUリソースの提供者とのシェアを考えてMarketplaceにアップしようとしています。勿論MSA構造でできるように十分時間をかけて設計をし直していますが、今にも生命保険会社などのMLを情報漏れなくできるようにやっています。 MLFunctionをスクリプトに作成するチームとGPUを提供するリソース提供者、そしてデータを持っている顧客が結ぶことができるのがgiipなのです。この経験を活かしてもっと多いData Scientists(データサイエンティスツ、データ科学者)とGPUファームの連携、そしてデータを持っている顧客を結び付けることを図っています。

giipは誰が使うべき?

AWS(Amazon Web Service)を利用している顧客がいます。giip Agentを入れて顧客はAWSのVMと自社のBaremetal(物理サーバー、Local IP)を一画面で管理していました。急にCSの連絡がきて「間違えてAWS VMのiptableに自分のIPを入れずに適用してしまいました。」と。この場合AWSのCSには新しくVMを作成するしかないと言います。OS自体が全てのSSH接続をブロックしているからです。giipで遠隔コマンドでservice iptables stop (CentOS7では systemctl stop firewalld)を流しました。そうしたら接続できるようになりました。

このようにクラウドサービス業者さんからもらった基本ツールだけではいつでも不安になります。そして自分のパソコンとか社内サーバーなどのLocal IPになっているサーバー、そしてコロコロIPが変わってしまうサーバーなどがgiipでしかまとめて管理できない対象になります。もちろんどのサーバーとIPを持っているデバイスも管理できますが、この機能は数多くのサービスの涙がある経験を持ってないと作れない機能です。(笑)

そして今までのCSB(Cloud Service Brokerage)またはCMP(Cloud Management Platform)などはあくまでもPublic Cloud業者のAPIを利用して一つにまとまっただけです。本当にシステムを運用して苦労した経験の上作ったツールではないので何を使っても物足りない気持ちを感じます。

giipこそ使った人々はやめられなくなる魅力があるのです。 そして自分専用のツールにカスタマイズができ、自分だけのサービスとしても使えます。 AjaxとjqueryでJSONコントロールさえできれば自分のパソコンにHTMLだけでgiip管理ツールができちゃうんです。

この魅力を十分味ってみるのはいかがでしょうか?

共同開発者募集

一緒に作って行く個人と企業様を募集しています! 個人でもご連絡頂ければ開発環境の提供とエンジンのソースコードの公開をさせていただきます。

自分一人で今までやってきたシステム運用ノウハウをgiipに登録して顧客を運用するとそれは無料なんです。 さらに、顧客を運用しながら作ったスクリプトはそのままMarketplaceにアップでき、他のユーザーが使ったらそのまま追加の収入になるのです。 まだ、一人でやってますか? みんなで力を合わせれば全世界で貴方の経験が活かせます!

ご意見はいつでも

お問い合わせ

までに!