Azureで新サービスやってます/Building a new product on Microsoft Azure
by
Sansan
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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