LoginSignup
5
4

More than 5 years have passed since last update.

BPMS + Ansible (Business Process Management System + Automation)

Last updated at Posted at 2018-12-20

BPMS + Ansible (Business Process Management System + Automation)

前置き

  • これは Ansible Advent Calendar 2018 12/20 の記事です。
    • 私個人としては 2年目 2回目 の参加になります。
  • 当初は昨年同様 vSphere 関連モジュールで書こうと思ってたのですが…急遽(とある実情を垣間見て)気が変わりました。
  • 思いつきだったので技術面薄めです。(すみません)
  • 文字と絵が多いです。
  • Ansible 要素は薄いですが CLI で自動化処理を実行できるという点で今回の要件にマッチしています。

目的

みなさんのお仕事の環境においてもそろそろ何かしらの自動化(製品)が運用フローに組込まれ日々の業務が回っていることと思います。例えば、

  • ユーザーアカウントの新規作成・変更
  • パスワードリセット
  • バックアップ & リストア
  • アプリケーションのインストール
  • などなど

これまでマニュアルをもとに手作業で行っていた頃から比べると業務の

  • Template (テンプレート化)
  • Standardize (標準化)
  • Isolation (分離・隔離)
  • などなど

が進み、'いつ' 'だれが' 実行してもほぼ同様の品質と時間(リードタイム、コスト)を想定することが可能になります。

「だがしかし」

課題

以下のような状況がまだ残ってはいないでしょうか?

  • エクセル方眼紙等による手入力の申請書 -> 承認プロセス
    • アカウント登録申請書 -> 承認プロセス
    • パスワードリセット申請書 -> 承認プロセス
    • アプリケーションインストール申請書 -> 承認プロセス
    • などなど

そう。ビジネスプロセスがアナログのまま。ビジネスプロセスと自動化が分断化していませんか?

※ そもそもこの承認プロセスごと変えてしまえるのなら Ticket システム等へ大胆な置き換えも可能だと思いますが、なかなか変えられない部分ではないかと。

提案

ビジネス・プロセス・マネージメント・システム(BPMS) + 自動化(Ansible)

自動化に至る前段もきちんとシステム化しませんか?

例えば以下のような感じで

Screenshot 2018-12-20 23.41.54.png

システム

BPMS

等々の観点から

自動化

  • 要件
    • CLIでキックできるもの

はい、Ansible ですね

Camunda 導入と Ansible とのインテグレーション

   docker pull camunda/camunda-bpm-platform:latest
   docker run -d --name camunda -p 8080:8080 camunda/camunda-bpm-platform:latest
  • EnterPrise Edition の場合 (30日間利用可能)
    • 事前にユーザー登録が必要です https://camunda.com/download/enterprise/
    • 登録したメールアドレスに
      • ユーザー名 (registry.camunda.cloud へのログインに使用)
      • パスワード (registry.camunda.cloud へのログインに使用)
      • ライセンスキー が送られてきます。
   docker login registry.camunda.cloud
   docker pull registry.camunda.cloud/camunda-bpm-platform-ee:7.9.0
   docker run -d --name camunda-ee -p 8080:8080 registry.camunda.cloud/camunda-bpm-platform-ee:7.9.0
  • 引き続きは Enterprise Mode で利用しています。

  • Web Browser が使える OS から http://{docker host IP address}:8080/camunda-welcome/index.html から Go to the Webapps にアクセスして demo / demo でログインします。

Screenshot 2018-12-20 06.38.49.png

  • ログイン後の画面

Screenshot 2018-12-20 23.17.41.png

  • Cockpit はダッシュボード

Screenshot 2018-12-20 23.15.52.png

Screenshot 2018-12-20 23.24.23.png

  • Groovy 記述例
<scriptTask id="theScriptTask" name="Execute script" scriptFormat="groovy">
  <script>
def proc = "ansible-playbook site.yml".execute()
def b = new StringBuffer()
proc.consumeProcessErrorStream(b)

println proc.text
println b.toString()
  </script>
</scriptTask>

あとがき

いかがでしたでしょうか。Camunda メインの内容になってしまいましたが、運用基盤などに対する自動化の次のステップとして ビジネス・プロセスとの結合 を図ってみては? という思いで書いてみました。何かしらのご参考になれば幸いです。

P.S. あまり時間がなかったので、もうちょっとハックしたら追加記事上げます…

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4