by shigemk2

当面は技術的なことしか書かない

メモ クラウドネイティブアプリケーションとSpring Framework #jjug_ccc

クラウドネイティブアプリケーションとは、プログラマブルにクラウド環境の制御を行いサービスを実現するアプリケーションである。

www.okinawaopenlabs.org

pivotal.io

  • 世の中にソフトウェアによるビジネス変革をもたらす会社
  • アジャイル開発してる
  • ソフトウェアを迅速にリリースする

  • 高価な環境からのクラウドへのワークロード移行

    • クラウドネイティブ クラウドに根ざしたアプリケーションのリリース
    • マイクロサービス
    • アプリケーションを細かく、スケールアウトしやすいようにする
    • 安く早く的確にスケールアウトしやすいものを作る
  • クラウド時代のアプリのあり方(12個)

    • Herokuとか
    • 新しいアーキテクチャが増えてきている
  • 新しいトレンドとしてのマイクロサービス

    • 疎結合 + 細かいリリース
    • いろいろな会社(IOTとか)

Seven micro-services architecture advantages | Art of Software Engineering

  • マイクロサービスを業務の要件として盛り込む企業が増えてきている

    • 内製化 + マイクロサービス
  • マイクロサービスを使うために必要な条件

    • 迅速なプロビジョニング
    • ベーシックな監視機能
    • 迅速なアプリケーションの展開
    • DevOpsの文化
  • こういったのを実践実装している企業 Google FB netflix amazon

    • こういった企業の技術を最大限活用する
    • 協業しているのがnetflix
  • リファレンスアーキテクチャ

    • 細かくサービスを組み合わせる
    • 全体の整合性をどうするのか
    • netflixは最大限技術を公開している(netflix ossとして還元)

enterprisezine.jp

  • netflix
    • スピードがマーケットを制する
    • マイクロサービスのパイオニア
    • netflix ossは部品を提供
    • クラウドプラットフォームの独自構築
    • spring

www.slideshare.net

  • クラウドネイティブという言葉ができたのは2013年。最近バズってきた
  • カオスモンキー
    • 特定のシステムを破壊するプログラムをわざと組み込む
    • データソースがいっぺんに集中しないように気をつける

www.publickey1.jp

  • CI CDといったものを適切に使う
  • マイクロサービスと言いながらも、それを支えるプラットフォームは必要
    • spring cloudとか。。。
  • クラウドネイティブなアプローチの推進
  • spring boot

Spring Boot

  • 導入数は増えていってるが、今後どうするか
    • spring cloud アプリケーションの連携パターンを定義
    • 実行環境とクライアントライブラリを提供
    • spring cloud service netflix ossとの等号を勧めたクラウドネイティブなコンポーネント

Spring Cloud Netflix

  • service discovery

Service discovery - Wikipedia, the free encyclopedia

サービスレジストレーションディスカバリー

github.com

e-words.jp

  • デモで立ち上げは大変
  • プラットフォームとしての機能を提供している
  • アプリケーションを登録するだけでいい
  • ほぼすべてのアプリケーションが実行可能なプラットフォームを提供する

  • 数多くのフレームワークと管理手法、自動化ツール

  • パイプライン管理 コードを書くだけではなく、コードを読んで、継続的デリバリーを実現する = cloud foundary
  • デプロイの自動化
  • コマンドひとつでデプロイできる(今まで手作業でやっていたことがプラットフォーム側で吸収できる)

pivotal.io

paasからcloud native application platformへ