Azureで新サービスやってます/Building a new product on Microsoft Azure
by
Sansan
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Azureで新サービスやってます
Slide 2
Slide 2 text
神原 淳史 @atsukanrock ṗߴग़ͨͷʹͳ͔ͥઐֶߍߦ͙ͬͯΒ͍4*ͬͨޙ 4BOTBOʹδϣΠϯɻ͙Β͍ΤϯδχΞຬ٤ޙʹ 4BOTBO։ൃେ෦ୂͷ։ൃϚωʔδϟʔʹɻ͙Β͍Ϗδωε ͱٕज़Λ݁Μͩޙʹ৽ϓϩμΫτʮ$VTUPNFS*OUFMMJHFODFʯͷ ্ཱͪ͛ɻϓϩμΫτϏδωεΛ্ཱͪ͛Δ͜ͱͷຊ࣭త ͠͞ʹཱ͔͍ͪͬͯΔɻ ٕज़తओઓ/&5$"[VSF"84%%%ɻ झຯεϊʔϘʔυɻ࠷ۙͷؔ৺ࣄڭɻ Sansan Customer Intelligence開発者
Slide 3
Slide 3 text
Sansan Builders Box 質問, 応援, ガヤ等はsli.doで https://bit.ly/2RLlG23 ( https://app.sli.do/event/tqkmstqb )
Slide 4
Slide 4 text
Sansan Builders Box Agenda - Why Customer Intelligence? - What’s Customer Intelligence? - Why Azure? - Why Microservices?
Slide 5
Slide 5 text
Why Customer Intelligence?
Slide 6
Slide 6 text
顧客管理 ありとあらゆる企業・組織において必要かつ重要
Slide 7
Slide 7 text
Sansan Builders Box 顧客管理しようにも顧客情報が • 汚い 問い合わせフォーム, アンケート回答, 営業の⾛り書き… • ⾜りない 業種・業態は? 売上は? 当社と取引がある? • 分散している CRM / SFA, MA, ERP, 会計, ⼿元のExcel… Customer pain points
Slide 8
Slide 8 text
Sansan Builders Box 顧客管理しようにも顧客情報が • 汚い 問い合わせフォーム, アンケート回答, 営業の⾛り書き… • ⾜りない 業種・業態は? 売上は? 当社と取引がある? • 分散している CRM / SFA, MA, ERP, 会計, ⼿元のExcel… → 名刺管理で⼀定の改善が可能 Customer pain points
Slide 9
Slide 9 text
Sansan Builders Box - 企業の顧客を統合管理 - いつ - 誰が - どの会社の - 誰と会ったのか - ⼈脈DBを簡単に構築 名刺管理とは
Slide 10
Slide 10 text
What’s Customer Intelligence?
Slide 11
Slide 11 text
Sansan Builders Box 名刺管理を真の意味で顧客管理へ 名刺は⼈脈の証であり顧客情報マスタ では、企業が持ち得る顧客情報は名刺だけですか? What’s Customer Intelligence?
Slide 12
Slide 12 text
Sansan Builders Box 名刺以外の顧客情報も統合 Customer Intelligence
Slide 13
Slide 13 text
Sansan Builders Box Customer Intelligenceの中には、その企業が持ち得ているすべての顧客情報がある。 各システムの顧客マスターデータが統合されていることにより、 分散されていた時よりも質の⾼いデータとなっている。 既存顧客でなく⾒込み客までのデータが 企業、事業所、⼈物単位で体系的に管理されている。 何も作業をしなくとも、メンテナンスが⾃動でなされ、 顧客データが常に最新かつ正確な状態で維持されている。 データを利⽤したいユーザーは、許可されている範囲で 必要な量の顧客データを取り出し、⾃⾝の業務に利⽤することができる。 Product vision
Slide 14
Slide 14 text
Why Azure?
Slide 15
Slide 15 text
Sansan Builders Box - 想定するアーキテクチャ設計への適性 - 開発⽣産性, 運⽤性 - 組織としての技術的選択肢の獲得 → AWS / Azure / GCPの3プラットフォームを上記観点で⽐較して決定 Key points
Slide 16
Slide 16 text
Sansan Builders Box - Serverless - Messaging & Pub/Sub - Schemaless data - Fulltext search → どのプラットフォームでもマネージドサービスの組み合わせで実現可能 想定するアーキテクチャ設計
Slide 17
Slide 17 text
Sansan Builders Box Serverless FaaSにおける開発⽣産性が最重要 開発⽣産性: 静的型付け⾔語 > 動的型付け⾔語 ※もちろん「状況に依る」が様々な状況を考慮してこう考えた、という話 → Cloud FunctionsでのサポートがJavaScript (Node.js) のみなGCPが脱落 (最終的にメイン⾔語としてC#を採⽤しています ) 開発⽣産性
Slide 18
Slide 18 text
Sansan Builders Box 当時Sansan社が抱える全てのサービスがAWS上に構築されていた 今のところAWSの覇権は揺るがないがAzure, GCPも存在感を増している 前提となる考え⽅: 技術選定は適材適所で ただ、使ったこともないものを⽐較できるはずがない → 敢えてAWSでなくAzureを選択 組織としての技術的選択肢の獲得
Slide 19
Slide 19 text
Sansan Builders Box Azureを選んでどうだったか (現場の声) - C#に優しい - ADとの統合で権限管理 - Resource Group便利 - Resource Manager秀逸 - Table Storage激安 - DevOps (旧VSTS) 便利 - Durable Functions - Reserved Instance柔軟 - 監視 - メトリックが… - Alertが… - FunctionsのC#以外のサポート - ポータル: 重い、permalinkない - 課⾦周りで罠多すぎ
Slide 20
Slide 20 text
Why Microservices?
Slide 21
Slide 21 text
Sansan Builders Box Conwayの法則を逆⼿に取って組織的スケーラビリティを確保する l৫ͷઃܭ͢ΔγεςϜʹ ... ͦͷ৫ͷίϛϡχέʔγϣϯߏΛͦͷ··ө͠ ͨઃܭʹͳΔͱ͍͏੍͕͋Δz (Conwayͷ๏ଇ) → 逆に⾔うと「システム設計はコミュニケーション構造そのものになる」 要は「強制的に分割可能性を確保する」ことにより 開発チームを増やしても全体の⽣産性が上がらない問題の発⽣を防ぐ Microservicesの⼀般的な⽬的
Slide 22
Slide 22 text
Sansan Builders Box 組織的にはまだMonolithで余裕 ⼩さなチームで開発している 実⾏時スケーラビリティと運⽤性, 耐障害性のために 敢えて当初からMicroservices的なアーキテクチャを選択 もちろん将来的には組織的スケーラビリティのメリットを享受するつもり ぼくらのMicroservices
Slide 23
Slide 23 text
Sansan Builders Box アーキテクチャ (イメージ) Azure Functions (serverless FaaS) Service Bus (messaging)
Slide 24
Slide 24 text
Sansan Builders Box メリット - 個々のfunctionをいつでも⽌められる - function単位でscale out / in & up / down可能 - エラーになった箇所から再実⾏可能 デメリット - 設計がいちいち難しい - 冪等性, 結果整合性など⾮同期分散処理の複雑さのため 基本形: Azure Functionsをmessage queueで繋ぐ
Slide 25
Slide 25 text
Sansan Builders Box Martin Fowler先⽣の「Microservidesの前提条件」 • 迅速なプロビジョニング • 基本的なモニタリング • アプリケーションの迅速なデプロイ めっちゃハードル⾼いやん… Microservices的にやってみての学び
Slide 26
Slide 26 text
Sansan Builders Box Martin Fowler先⽣の「Microservidesの前提条件」 • 迅速なプロビジョニング → Functions • 基本的なモニタリング → Application Insights & Monitor • アプリケーションの迅速なデプロイ → DevOps めっちゃハードル⾼いやん… → 意外と何とかなる Microservices的にやってみての学び
Slide 27
Slide 27 text
Sansan Builders Box 2014年頃から各クラウドベンダーがマネージドサービスによる Microservicesサポートに投資してきた結果、 2018年現在ではだいぶ楽になっている模様 Cloud Native Architecture / Kubernetesが盛り上がっているけど サービスが育つまでは使わなくて戦えるんじゃないかな Microservices的にやってみての学び
Slide 28
Slide 28 text
No content