マイクロサービス
アーキテクチャとデータベース
SIOS Technology, Inc.
Innovative Solution Business Planning Dept.
Tatsuhiro Murata

講師紹介--- 講師紹介
Name

︓村⽥ ⿓洋Company︓サイオステクノロジー株式会社

Dept

︓イノベーティブソリューション事業企画部- Task
2002年 サイオステクノロジー（当時のテンアートニ）に⼊社
ハードウェア部⾨、Linux/OSSサポート部⾨を経て、現在の事業企画へ
AWSパートナー契約やNGINXパートナー契約を担当、OSSよろず相談室の企画・運営を経て現在はエンタープライズ向けのOSSサブスクリプション製品（ EnterpriseDB, Red Hat, NGINX）の事業企画を担当
IaC活⽤研究会 運営メンバー©2019 SIOS Technology, Inc.

2

マイクロサービスが求められる背景

3

デジタルへの変⾰が求められるビジネス
現在、ビジネスの変化は⾮常に早くあらゆる業種で起きています。
そして、企業の成⻑にはデジタルコンテンツが⽋かせません。
市場へいかに早く⾰新的なサービスを提供するか、スピードの重要度が⾼まり、その流れに対応できるかが勝負の分かれ⽬になります。
しかし、多くの企業ではこの変⾰を起こすことができずにいます。
デジタル・トランスフォーメーション（DX）というキーワードで取り組みを始める企業が増加中©2019 SIOS Technology, Inc.

4

ビジネスのデジタル化

実店舗

Webサイトスマートフォンアプリ

⼩売のビジネスを例に⾒ると、これまで実店舗での販売が中⼼であったものが、Webサイト、そしてスマートフォンアプリへと変化してきている。

©2019 SIOS Technology, Inc.

5

⼤きな変化が起きたモノとコト
商品販売

新聞紙、雑誌

テレビ、CD、DVD

製造・⽣産

交通・移動⼿段

銀⾏、証券©2019 SIOS Technology, Inc.

6

あらゆる業種でビジネスがデジタルへと切り替わっています。

破壊的イノベーション
Disruptive technology︓
従来の価値基準のもとではむしろ性能を低下させるが、新しい価値基準の下では従来製品よりも優れた特⻑を持つ新技術
Disruptive technologyの主な例
niPhonenFacebooknUber
破壊的サービスの多くはスマートフォンが媒体に©2019 SIOS Technology, Inc.

8

5G ネットワークの破壊⼒
第5世代移動通信システムの特徴（4Gとの⽐較）
n「⾼速⼤容量」︓1Gbpsから10Gbps
n「低遅延」
︓10msecから1msec
n「同時多接続」︓10万デバイス/㎢から100万デバイス/㎢
⾳声通信からデータ通信、
そして時代はサービスコンテンツデリバリーの時代へ©2019 SIOS Technology, Inc.

9

マイクロサービスのはじまり
マーチン・ファウラー⽒らが2014年に公開した「Microservices」という記事より世に広まったと⾔われています。
マイクロサービスは、これまで主流であったモノリスなアプリケーションとは異なる⼿法で、機能ごとに最⼩のアプリケーションを作成し、疎結合で繋ぐのが特徴です。
海外ではAmazonや、NetFlixなどの企業で多く採⽤されており、⽇本でもLINEやクックパッド、Gunosyなどのサービスで利⽤されています。

©2019 SIOS Technology, Inc.

10

モノリスとマイクロサービス
n3層構造で全ての機能を1つのアプリケーションとして作成するモノリスアプリケーションに対して、マイクロサービスは機能ごとにアプリケーションを作成する。
Monolithic Architectures

Microservice Architectures

フロントエンドバックエンドデータストア©2019 SIOS Technology, Inc.

UI

APP

APP

API
GW

APP

APP

11

Monolithic Architecturesの特徴
全ての機能を1つのパッケージに開発、テストが全体を通して⾏うため、確実な⼿法

nアプリケーションがパッケージ化され、ソフトウェアベースで展開
n拡張する場合、サーバーにアプリケーションをコピーして展開
n拡張の度に肥⼤化するアプリケーション
n障害発⽣時の影響は全体に及び切り分けの難易度はコード量に⽐例
nバグ修正や新機能追加時の影響範囲はコード量に⽐例して増加©2019 SIOS Technology, Inc.

12

Microservice Architecturesの特徴
機能ごとにアプリケーション最⼩化開発し、アプリケーション同⼠をREST APIなど疎結合で繋ぐ

nアプリケーション開発の⾼速化と単純化
nサービスに適した開発⼿法、⾔語・技術を適⽤nアプリケーションの独⽴性を持たせるため、各サービス毎にデータベースを持たせる必要がある。
nアップデート時、他のサービスへの影響⼩nスケールアウトがサービス毎に独⽴して可能
nサービス全体を通じてのテストシナリオは複雑化©2019 SIOS Technology, Inc.

13

マイクロサービスの利点
n技術の多様性サービスごとに最適な⾔語を利⽤して各サービスの開発が⾏える
n個別デプロイ
変更をかけたいときは、システム全体ではなく、⼩さなサービスごとに変更をかけられるため、影響範囲が限定的
n開発効率
⼩さなサービスで開発単位を進めるため、ビルドやテストの期間が短くなり開発効率が向上
n障害時の影響範囲
マイクロサービスでは障害時の影響範囲が限られ、原因の突き⽌めが⽐較的容易©2018 SIOS Technology, Inc.

14

マイクロサービスの課題
nデータの⼀貫性
特にトランザクション処理系はマイクロサービスでは不向きと⾔われています。
n分散化するサービス
サービスが細かくいくつも⽴ち上がるため、管理対象が増加し、煩雑化する可能性がある
nマインドチェンジへの抵抗
開発と運⽤がそれぞれ連携する意識が必要になるため、マインドチェンジが求められる。
PMやアーキテクトにはこの連携も意識した設計が求められる。

©2018 SIOS Technology, Inc.

15

マイクロサービスで起こる変化
マイクロサービスを導⼊することで、様々なところで変化を求められる事になります。⼀例を上げただけでも以下のような変化が想定出来ます。
n開発⼿法と開発環境
nPM、アーキテクトに求められる条件
n運⽤の範囲と運⽤⽅法
nシステム毎のライフサイクル※マイクロサービスはあくまでも⼿段のため、Dev/Opsという⾔葉も使われるよ
うに、運⽤と開発が⼀体となりサービスの開発・運⽤を⾏うというマインドの変化がなければ導⼊は失敗に終わる可能性もある。
©2018 SIOS Technology, Inc.

16

マイクロサービスへ従来の⼿法を持ち込むと︖
n 運⽤の煩雑化

Ø数百、数千、時には数万のリソースをどのように運⽤するのか︖
短縮されるライフサイクルを⼈の⼿だけで運⽤ができるのか︖

n 運⽤コストの増加

Øサービスの拡⼤と共にシステムにかかるコストが増加
そして、⼈員の増強も求められ、⼈件費が増加

n マネージメント層もしくは技術者の抵抗

Ø⼿順書通り、仕様書通りの運⽤が安全
Ø新たな技術習得への抵抗、誰が︖どこから︖どのように︖の旗振り役が不在

従来の考え⽅のままでは評価・検証フェーズから進まないプロジェクトとなりやすい©2018 SIOS Technology, Inc.

17

マイクロサービスの導⼊に求められること
nクラウドやコンテナ技術、ツール類の選択
Ø数百、数千、数万とサービス拡⼤と共にスケールするリソースに対応できるク
ラウド技術、コンテナ技術、⾃動化技術の選択は⽋かせません。
また、開発もこの様なスケールするインフラを前提にアプリケーション開発を⾏う必要がある。

n技術範囲の拡⼤
Øクラウド、コンテナ、⾃動化、APIなど、新たな技術への対応が必要
常にアンテナを⾼く張り、最新技術の収集と習得が求められる

n体質改⾰、組織改⾰、企業⽂化改⾰
Ø問題が発⽣しないための運⽤では新たな取組の⾜かせになる
⽇本企業の丸投げ体質もマイクロサービスでは⼤きな障害になります。
SRE (Site Reliability Engineering )組織を作り改⾰する企業も増加している。
©2018 SIOS Technology, Inc.

18

マイクロサービスでのデータベースの課題
⼤規模なマイクロサービスでデータベースを構築・実⾏・メンテナンスを⾏うことは⾮常に難易度の⾼い業務になります。
lアプリケーション毎に独⽴した設計が必要
lスケールアップ、スケールアウトを前提
lリソースの競合が発⽣しないこと
l障害に対する耐性©2019 SIOS Technology, Inc.

19

サイオステクノロジー株式会社
イノベーティブソリューション事業企画部
EDB製品に関するご相談は下記フォームよりお気軽にご連絡ください。
https://sios.jp/products/oss/postgres/contact/