Upgrade to Pro — share decks privately, control downloads, hide ads and more …

クラウドネイティブアーキテクチャに適したデータストア活用パターン / clrh13

miyake
March 17, 2018

クラウドネイティブアーキテクチャに適したデータストア活用パターン / clrh13

CLR/H in TOKYO #13の発表資料です

miyake

March 17, 2018
Tweet

More Decks by miyake

Other Decks in Technology

Transcript

  1. - 2018.3.17 - - 2018.3.17 - - 2018.3.17 - -

    2018.3.17 - - 2018.3.17 - - 2018.3.17 - CLR/H in TOKYO #13 CLR/H in TOKYO #13 CLR/H in TOKYO #13 CLR/H in TOKYO #13 CLR/H in TOKYO #13 CLR/H in TOKYO #13 @kazuyukimiyake @kazuyukimiyake @kazuyukimiyake @kazuyukimiyake @kazuyukimiyake @kazuyukimiyake
  2. About me About me About me About me About me

    About me @kazuyukimiyake @kazuyukimiyake @kazuyukimiyake @kazuyukimiyake @kazuyukimiyake @kazuyukimiyake CTO CTO CTO CTO CTO CTO 5 10 Azure 5 10 Azure 5 10 Azure 5 10 Azure 5 10 Azure 5 10 Azure Microsoft MVP for Data Platform Microsoft MVP for Data Platform Microsoft MVP for Data Platform Microsoft MVP for Data Platform Microsoft MVP for Data Platform Microsoft MVP for Data Platform JAZUG, JXUG, Vue.js-jp JAZUG, JXUG, Vue.js-jp JAZUG, JXUG, Vue.js-jp JAZUG, JXUG, Vue.js-jp JAZUG, JXUG, Vue.js-jp JAZUG, JXUG, Vue.js-jp PaaS (Blog): PaaS (Blog): PaaS (Blog): PaaS (Blog): PaaS (Blog): PaaS (Blog): https://k-miyake.github.io/blog/ https://k-miyake.github.io/blog/ https://k-miyake.github.io/blog/ https://k-miyake.github.io/blog/ https://k-miyake.github.io/blog/ https://k-miyake.github.io/blog/ Cosmos DB, Vue.js, RC Cosmos DB, Vue.js, RC Cosmos DB, Vue.js, RC Cosmos DB, Vue.js, RC Cosmos DB, Vue.js, RC Cosmos DB, Vue.js, RC ā ā ā ā ā ā ý ý ý ý ý ý ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā 2 / 36
  3. Microsoft Microsoft Microsoft Microsoft Microsoft Microsoft Cloud-Optimized Cloud-Optimized Cloud-Optimized Cloud-Optimized

    Cloud-Optimized Cloud-Optimized: : : : : : Full PaaS Full PaaS Full PaaS Full PaaS Full PaaS Full PaaS & cloud-native & cloud-native & cloud-native & cloud-native & cloud-native & cloud-native 3 / 36
  4. " " " " " " " " " "

    " " 4 / 36
  5. 1 1 1 1 1 1 Web OSS Web OSS

    Web OSS Web OSS Web OSS Web OSS RDB OSS ... RDB OSS ... RDB OSS ... RDB OSS ... RDB OSS ... RDB OSS ... 6 / 36
  6. "NoOps" PaaS "NoOps" PaaS "NoOps" PaaS "NoOps" PaaS "NoOps" PaaS

    "NoOps" PaaS App Service App Service App Service App Service App Service App Service DB DB DB DB DB DB Azure DB for MySQL Azure DB for MySQL Azure DB for MySQL Azure DB for MySQL Azure DB for MySQL Azure DB for MySQL NEW NEW NEW NEW NEW NEW ā ā ā ā ā ā ā ā ā ā ā ā ý ý ý ý ý ý 7 / 36
  7. [ ] Managed OSS Web App [ ] Managed OSS

    Web App [ ] Managed OSS Web App [ ] Managed OSS Web App [ ] Managed OSS Web App [ ] Managed OSS Web App 8 / 36
  8. NoOps NoOps NoOps NoOps NoOps NoOps NoOps NoOps NoOps NoOps

    NoOps NoOps : : : : : : Developers Summit 2018 16-B-2 Developers Summit 2018 16-B-2 Developers Summit 2018 16-B-2 Developers Summit 2018 16-B-2 Developers Summit 2018 16-B-2 Developers Summit 2018 16-B-2 P.38 P.38 P.38 P.38 P.38 P.38 PaaS NoOps 3 PaaS NoOps 3 PaaS NoOps 3 PaaS NoOps 3 PaaS NoOps 3 PaaS NoOps 3 Self Healing Self Healing Self Healing Self Healing Self Healing Self Healing: : : : : : In-Flight Renewing In-Flight Renewing In-Flight Renewing In-Flight Renewing In-Flight Renewing In-Flight Renewing: : : : : : Adaptive Scale Adaptive Scale Adaptive Scale Adaptive Scale Adaptive Scale Adaptive Scale: : : : : : ā ā ā ā ā ā ý ý ý ý ý ý ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā 9 / 36
  9. App Service NoOps App Service NoOps App Service NoOps App

    Service NoOps App Service NoOps App Service NoOps NoOps NoOps NoOps NoOps NoOps NoOps Git Git Git Git Git Git Blue/Green Blue/Green Blue/Green Blue/Green Blue/Green Blue/Green MySQL in App DB MySQL in App DB MySQL in App DB MySQL in App DB MySQL in App DB MySQL in App DB Let's Encrypt SSL Let's Encrypt SSL Let's Encrypt SSL Let's Encrypt SSL Let's Encrypt SSL Let's Encrypt SSL TINFOIL Web TINFOIL Web TINFOIL Web TINFOIL Web TINFOIL Web TINFOIL Web ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā 10 / 36
  10. Azure DB for MySQL NoOps Azure DB for MySQL NoOps

    Azure DB for MySQL NoOps Azure DB for MySQL NoOps Azure DB for MySQL NoOps Azure DB for MySQL NoOps LRS GRS LRS GRS LRS GRS LRS GRS LRS GRS LRS GRS 35 35 35 35 35 35 ā ā ā ā ā ā ý ý ý ý ý ý ā ā ā ā ā ā ý ý ý ý ý ý ā ā ā ā ā ā ý ý ý ý ý ý ā ā ā ā ā ā ý ý ý ý ý ý 11 / 36
  11. Azure DB for MySQL Azure DB for MySQL Azure DB

    for MySQL Azure DB for MySQL Azure DB for MySQL Azure DB for MySQL MySQL/PostgreSQL MySQL/PostgreSQL MySQL/PostgreSQL MySQL/PostgreSQL MySQL/PostgreSQL MySQL/PostgreSQL SSL SSL SSL SSL SSL SSL App Service IP App Service IP App Service IP App Service IP App Service IP App Service IP DB (AES256) DB (AES256) DB (AES256) DB (AES256) DB (AES256) DB (AES256) ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ý ý ý ý ý ý ā ā ā ā ā ā 12 / 36
  12. [ ] WordPress MySQL SSL [ ] WordPress MySQL SSL

    [ ] WordPress MySQL SSL [ ] WordPress MySQL SSL [ ] WordPress MySQL SSL [ ] WordPress MySQL SSL wp-con g.php wp-con g.php wp-con g.php wp-con g.php wp-con g.php wp-con g.php /** MySQL SSL **/ /** MySQL SSL **/ define define( ('MYSQL_CLIENT_FLAGS' 'MYSQL_CLIENT_FLAGS', , MYSQLI_CLIENT_SSL MYSQLI_CLIENT_SSL) ); ; define define( ('MYSQL_SSL_CA' 'MYSQL_SSL_CA', , getenv getenv( ('MYSQL_SSL_CA' 'MYSQL_SSL_CA') )) ); ; - - - - - - 13 / 36
  13. Managed OSS Web App Managed OSS Web App Managed OSS

    Web App Managed OSS Web App Managed OSS Web App Managed OSS Web App
  14. RDB NoSQL( RDB NoSQL( RDB NoSQL( RDB NoSQL( RDB NoSQL(

    RDB NoSQL( Azure Cosmos DB Azure Cosmos DB Azure Cosmos DB Azure Cosmos DB Azure Cosmos DB Azure Cosmos DB ) ) ) ) ) ) RDB RDB RDB RDB RDB RDB Azure SQL DB Azure SQL DB Azure SQL DB Azure SQL DB Azure SQL DB Azure SQL DB ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā 16 / 36
  15. [ ] RDB + NoSQL [ ] RDB + NoSQL

    [ ] RDB + NoSQL [ ] RDB + NoSQL [ ] RDB + NoSQL [ ] RDB + NoSQL
  16. Cosmos DB Cosmos DB Cosmos DB Cosmos DB Cosmos DB

    Cosmos DB NoSQL NoSQL NoSQL NoSQL NoSQL NoSQL 1KB 1KB 1KB 1KB 1KB 1KB 50 99 2ms 10ms 6ms 15ms RU RU RU RU RU RU ā ā ā ā ā ā ā ā ā ā ā ā 19 / 36
  17. ā ā ā ā ā ā ā ā ā ā

    ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā 20 / 36
  18. [ ] RDB NoSQL [ ] RDB NoSQL [ ]

    RDB NoSQL [ ] RDB NoSQL [ ] RDB NoSQL [ ] RDB NoSQL 21 / 36
  19. Cosmos DB Cosmos DB Cosmos DB Cosmos DB Cosmos DB

    Cosmos DB Azure Storage Exproler Azure Storage Exproler Azure Storage Exproler Azure Storage Exproler Azure Storage Exproler Azure Storage Exproler JSON C# Visual Studio JSON C# Visual Studio JSON C# Visual Studio JSON C# Visual Studio JSON C# Visual Studio JSON C# Visual Studio ā ā ā ā ā ā ý ý ý ý ý ý ā ā ā ā ā ā 22 / 36
  20. RDB + NoSQL RDB + NoSQL RDB + NoSQL RDB

    + NoSQL RDB + NoSQL RDB + NoSQL
  21. [ ] D/R [ ] D/R [ ] D/R [

    ] D/R [ ] D/R [ ] D/R
  22. DB DB DB DB DB DB ā ā ā ā

    ā ā ā ā ā ā ā ā ā ā ā ā ā ā
  23. Stream Analytics Stream Analytics Stream Analytics Stream Analytics Stream Analytics

    Stream Analytics Event Hubs Event Hubs Event Hubs Event Hubs Event Hubs Event Hubs IoT Hub IoT Hub IoT Hub IoT Hub IoT Hub IoT Hub ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā 28 / 36
  24. [ ] Stream Analytics SQL [ ] Stream Analytics SQL

    [ ] Stream Analytics SQL [ ] Stream Analytics SQL [ ] Stream Analytics SQL [ ] Stream Analytics SQL EventHub Cosmos DB Blob EventHub Cosmos DB Blob EventHub Cosmos DB Blob EventHub Cosmos DB Blob EventHub Cosmos DB Blob EventHub Cosmos DB Blob -- Cosmos DB -- Cosmos DB SELECT SELECT * * INTO INTO cosmosdb cosmosdb FROM FROM eventhub eventhub WHERE WHERE title title NOT NOT LIKE LIKE 'Test%' 'Test%' -- Blob -- Blob SELECT SELECT * * INTO INTO blob blob FROM FROM eventhub eventhub 29 / 36
  25. Cosmos DB Cosmos DB Cosmos DB Cosmos DB Cosmos DB

    Cosmos DB TTL (Time to Live) TTL (Time to Live) TTL (Time to Live) TTL (Time to Live) TTL (Time to Live) TTL (Time to Live) TTL TTL TTL TTL TTL TTL JSON -> JSON -> JSON -> JSON -> JSON -> JSON -> docs docs docs docs docs docs ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā 30 / 36
  26. Azure Functions Cosmos DB Trigger Azure Functions Cosmos DB Trigger

    Azure Functions Cosmos DB Trigger Azure Functions Cosmos DB Trigger Azure Functions Cosmos DB Trigger Azure Functions Cosmos DB Trigger Azure Functions Azure Functions Azure Functions Azure Functions Azure Functions Azure Functions DB DB DB DB DB DB DB DB DB DB DB DB Azure Search Azure Search Azure Search Azure Search Azure Search Azure Search ā ā ā ā ā ā ā ā ā ā ā ā ý ý ý ý ý ý ý ý ý ý ý ý 31 / 36
  27. Azure Search Azure Search Azure Search Azure Search Azure Search

    Azure Search Cosmos DB (RU) Cosmos DB (RU) Cosmos DB (RU) Cosmos DB (RU) Cosmos DB (RU) Cosmos DB (RU) RU RU RU RU RU RU Search Search Search Search Search Search Cosmos DB Cosmos DB Cosmos DB Cosmos DB Cosmos DB Cosmos DB RU RU RU RU RU RU ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā 32 / 36
  28. Global Azure Bootcamp 2018@Tokyo Global Azure Bootcamp 2018@Tokyo Global Azure

    Bootcamp 2018@Tokyo Global Azure Bootcamp 2018@Tokyo Global Azure Bootcamp 2018@Tokyo Global Azure Bootcamp 2018@Tokyo https://jazug.connpass.com/event/81865/ https://jazug.connpass.com/event/81865/ https://jazug.connpass.com/event/81865/ https://jazug.connpass.com/event/81865/ https://jazug.connpass.com/event/81865/ https://jazug.connpass.com/event/81865/ 35 / 36