showKs

Logo

Github Pages for showKs 19.07

>> showKs
>> showK3s
>> 参加方法

showKsとは

日本最大級規模のコンテナ関連技術カンファレンスであるJapanContainerDays v18.12(通称”JKD v18.12”)のショーケース企画として、有志のボランティアメンバーによって用意されたのが「showKs(ショーケース)」です。

このshowKsでは、次のコンセプトに基づき企画が準備されました。

Cloud Native Days Tokyo 2019(CNDT2019)におけるshowKsでは、上記のコンセプトを踏襲しつつ、更なる進化ポイントを追加しました。

前回のshowKsを体験された方にも今回初めて体験するという方にも、「なるほど、こんなことができるのか!」という新たな気づきと体験をお持ち帰り頂けるように、メンバー全員で精一杯に知恵を絞り、また前回以上にハードなスケジュールの中で眠い目をこすりながら開発をすすめました。

あとは、皆様に参加して頂くのを待つばかりです。

登録はとても簡単。「やってみるかな」の気持ちが少しでも湧いたら、クラウドネイティブの世界はすぐそこです。

showKsへの参加方法

showKsへの参加手順の詳細は、こちらをご参照ください。

前回のshowKsの詳細

前回のJKD v18.12におけるshowKsについてはこちらをご参照ください。

また、この前回のshowKsプロジェクトの軌跡を技術書典6において「showKsではじめるクラウドネイティブ開発」という1冊の本にまとめました。

なぜこのプロジェクトが企画されたのかや、より詳しい内部のアーキテクチャー実装についての話、またクラウドネイティブを実現するのに苦労したポイントなど、多くのエッセンスを詰め込んでいます。

ご興味のある方は、こちらより、詳細をご覧ください。

showk3sとの連携

今回のshowKsでは、IoT分野での利用などを視野にKubernetesの機能を絞り込んで実装した軽量k8sのk3sを用いたショーケース企画「showK3s」を平行プロジェクトとして実装・連携しています。

showKsとshowK3sプロジェクト連携についての詳細は、こちらをご参照ください。

showKs構成

showKsでは、お絵かきアプリshowks-canvasを題材にクラウドネイティブな開発を体験して頂けます。

CNDT 2019におけるshowKs環境は、KubernetesのクラスターをGoogle Cloud Platdform上で構成し、ConcourseArgo CDなどのCI/CDツールによりパイプライン管理をすることで、マイクロサービス化されたコンテナアプリをクラウドネイティブに開発できるように構成されています。

また、showksで使用しているコードや設定ファイル、ドキュメント等はGithub上で公開されていますので、どなたでもご自分で同じ環境を作り上げることが可能です。

showKsの参加および開発体験の流れ

architecture simple

  1. 登録フォームからユーザ登録
  2. formアプリが自動的にCRDを作成
  3. Custom Controllerが次の3つの処理を自動実行
    • あなた専用のGithubリポジトリを作成
    • あなた専用のCIパイプラインを作成
    • あなたの認証情報を登録
  4. コードを変更してfeatureブランチへcommit
  5. featureブランチからstagingブランチへPull Request/merge
  6. staging環境へアプリコンテナが自動ビルド/デプロイ
  7. ブラウザからPortal/Canvasアプリへアクセスし動作確認
  8. stagingブランチからmasterブランチへPull Request/merge
  9. production環境へアプリコンテナが自動ビルド/デプロイ
  10. ブラウザからPortal/Canvasアプリへアクセスし動作確認

showKsへの参加手順の詳細は、こちらをご参照ください。

showKs Canvasアプリ

showks-canvas

Node.jsおよびSocket.ioを用いたお絵かきアプリです。Socket.IO Collaborative Whiteboardをベースに作成されています。

このアプリケーションには次の機能が実装されています。

showKs Canvasアプリのリポジトリはこちらです。showKsへの参加登録が完了すると、このリポジトリの内容をコピーした、あなた専用のリポジトリが自動的に作成されます。

showKs portal

showks-portal

showKs参加者がそれぞれデプロイしたアプリコンテナから、ユーザプロフィールや画像データなどの情報を集約し、Nuxt.jsを利用して表示するのが”showKs portal”です。このポータル画面から各canvasアプリに移動してお絵かきをすることも可能です。

また、showKsにはstaging(ステージング)とproduction(本番)の2つの環境が用意されてますが、showKs portalは環境毎に独立して用意されています。

注意事項

showKsの参加に際して、次の事項を遵守頂きますようご協力をお願いします。

ドキュメント

showKsで利用しているコンポーネントに関する情報は、次のドキュメントリポジトリに随時集約されます。

展示ブース

展示会場奥側の書籍販売ブース横にて、showKsおよびshowK3sのブース展示をしています。 展示ブースでは、showKs Canvas/PortalやshowK3sの画面、さらには各種管理者用ダッシュボードなどをご確認頂けます。

showks-concourse showks-argocd showks-weavescope

また、showKs/showK3sに関しての質問も受け付けておりますので、何かお聞きになりたいことがありましたらブース担当者までお気軽にお声がけください。

ハッシュタグ

showKsに関しては #CNDT2019#showKs の2つのハッシュタグをつけてのTweetにご協力をお願いします。 たくさんの感想やご意見をお待ちしております。

チーム紹介

ライセンス

showKsプロジェクトで公開しているものはshowKs CanvasアプリのみMIT licenseで、残りは全てApache 2.0 licenseです。