Serverlessconf æé«ã§ããï¼ã¼AWSãªäººã«è´ããæãç°¡åã«åãã Azure ã® Serverless
10/1ã«ãServerlessConf åºåºãã¼ã¹å§ããä¼å ´ã«ããããæ¹ããAWSãå©ç¨ããã¦ããæ¹ãã»ã¨ãã©ã ã£ãæ§åã ã£ãã®ã§ãè¬æ¼ã§ã¯ãAWSãæ®æ®µä½¿ã£ã¦ããããæ¹ãæ³å®ãã¦ãã話ãããã¾ããããã ãçãä¸ãã£ãä¸æ¹ã詳細ãªã¢ã¼ããã¯ãã£ãç¥ãããã£ãã¨ããAWSã®Î»ã¨ã®éããããããªãã£ãã¨ãããæè¦ãããã ãã¾ããã®ã§ããããããã©ãã¼ã¢ããè¨äºãæ¸ãã¦ã¿ããã¨æãã¾ããã
ãå人çã«ã¯ãServerless ã¯ãMicroservicesã®æ¬¡ã®ãã©ãã¤ã ãããã®å¢ããããã¾ãããã©ã®ãããªå©ç¨ãããã¦ãããã®ã¢ã¤ãã¢ã¨ãã®æªæ¥ãç¥ãããã¦åå ãã¾ãããã¡ãªã¿ã«ãã¹ãã³ãµã¼ã»ãã·ã§ã³ã¨æããã¦ãã¾ãããä¸å¿ãã¹ãã³ãµã¼ã»ãã·ã§ã³ã§ã¯ãªãããµãããã·ã§ã³ãåºãã¦ãã¾ããæ¬ã¤ãã³ãã¯ãé常ã«ç±æ°ããããå¦ã³ãå¤ããç´ æ´ãããã¤ãã³ãã§ããããããªã«ãç´ æ´ãããã¤ãã³ãããããªã«ãæ©ãæ¥æ¬ã§ãéå¬ããã ããã主å¬ã®åç°ããã«æ¬å½ã«æè¬ã§ã!
ã§ã¯ãæ©éãAWSãªäººã«è´ã Azure ã®Serverless ã®ã話ããããã¦æå¾ã«ãç§ãæããServerless ã®æªæ¥ã«ã¤ãã¦ã話ããã¦ã¿ããã¨æãã¾ãã
1. è¬æ¼æ¦è¦
ãè¬æ¼ã®æ¦è¦ã¯ã9/26-30 ã¾ãã«ç´åã«è¡ãããMicrosoft Igniteã§ã®çºè¡¨ã®è³æãä¸å¿ã«ãããã¤ãã®ãã¢ãå ãã¦è¡ããããã®ã§ããè¬æ¼è³æã¯ãã¡ãã«ãªãã¾ããè¬æ¼è³æã¯ãå½æ¥ãæ¥æ¬äººã¨æµ·å¤ã®æ¹ã両æ¹ããããã®ã§ãè±èªã®è³æã§ãæ¥æ¬èªã§è¬æ¼ã¨ããã¹ã¿ã¤ã«ã«ãã¾ããã
2. Azure Functions (AWSã®Î»ã£ã½ããã®)
Azureã§ã®ãServerless ã®ãµã¼ãã¹ã¯ãAzure Functions ã¨ãããµã¼ãã¹ã§ããä¸ç·ã«è¬æ¼ãããä½è¤(NEO)ç´çããããå½æ¥æ©é Getting Started çã®URLãæ´çããããã°ãæ¸ãã¦ãããã®ã§å ±æãããã¨æãã¾ãã
[ServerlessConf Tokyo] Serverless Patterns with Azure Functions (Azure Functionsでのサーバーレス パターン)satonaoki.wordpress.com
ããã®ãµã¼ãã¹ã¯ãå ã Azure ã§ä½¿ããã¦ãããWebJobs ã¨ããä»çµã¿ãå ã«ãªã£ã¦ãã¾ããä½ããã®ããªã¬ã¼ããã£ããã«ããããç ã®å°ããªããã°ã©ã ãåãããã®ä»çµã¿ã¯ãServerless ã®Azure Functions ãåä½ãããããã«ã¯æé©ãªä»çµã¿ã§ããã
ãAWS ã®Î»ã«ç¸å½ãã Azure Functions 㯠Azure ã® PaaS åºç¤ã§ãã App Service ã®ä¸ã«æ§ç¯ãããä»çµã¿ã§ãWeb Appsãã¯ããã¨ãããä¾ãã°Webã®PaaSã使ã£ã¦ããã°ãããã«ãµã¼ãã¼ãæ°ãã«å»ºã¦ããã¨ãªããããããå®è¡ãããã¨ãã§ãã¾ããã ãããã¦ãC#ã¯ãã¡ããã®äºãæ§ã ãªè¨èªã§åä½ãã¾ããä¸èº«ã¯ç¾å¨ã®ã¨ãããWindowsãµã¼ãã¼ããã¼ã¹ã¨ãªã£ããWindowsã®æè¡ãããã¯ã°ã©ã¦ã³ãã«ããã¾ãããã ããã®WebJobsãåµãããã«ã¯ãããã¾ã§å¤§å¤ã§ã¯ããã¾ããããã¡ãã£ã¨ããã©ãããé¨åããã£ãã®ã¯äºå®ã§ããã
2.1. ããªã¬
ãAzure Functions ã§ã¯ãSeverless ãå®ç¾ããããããã®ä»çµã¿ãã¤ãã£ã¦ãããããã® Web Appsãããèµ·åãããã¨ãªããã®ãµã¼ãã¹ãå©ç¨å¯è½ã«ãã¾ãããæ³å®ããã·ããªãªã¨ãã¦ã¯
- Timer
- Data Processing
- Webhook + API
ãããã«å ãã¦ãBlobã¹ãã¬ã¼ã¸(S3ç¸å½)ã¸ãã¡ã¤ã«ãã¢ãããã¼ããããQueueã«ã¡ãã»ã¼ã¸ãæãããªã©ã®ãã£ãããå ã«ãããã°ã©ã ãå®è¡ãã¾ããçµæã¯ãBlob(S3ç¸å½)ãHTTP, ServiceBus (SQSç¸å½)ããã¼ã¿ãã¼ã¹ãéç¥ã®ããããSendGrid, Twilio ã¸ã®ãµãã¼ãããã³ãã¬ã¼ãã¬ãã«ã§ãµãã¼ããã¦ãããä»ã®ãã®ãèªåã§ã³ã¼ããæ¸ãã°ä½ã¨ã§ããªãã¾ãã
2.2. ã¤ã³ããã / ã¢ã¦ãããã
ã¤ã³ããããã¢ã¦ããããã®ãªã½ã¼ã¹ã¨ãã¦ã¯ãæ§ã ãªãµã¼ãã¹ããããã³ã«ã¨é£æºãã¾ããä¸è¨ã®å³ãããããããã¨æãã¾ãã
Azure Functions ã®ç»é¢ã§ã¯æ¬¡ã®ãããªã¤ã¡ã¼ã¸ã§ã¤ã³ããããã¢ã¦ãããããè¨å®ã§ãã¾ãããè¨å®ãã¡ã¤ã«ã§ããã¡ããè¨å®ã§ãã¾ãã
2.3. è¨èª
使ç¨ã§ããè¨èªã¯ãC#, Node.js, F#, Python, PHP, çãããã¨æ¸ãã¦ãã¾ããä»ã«ãBashããCmdãPowerShellçãåä½ããã¿ããã§ãããç§ã®ååã¯ãGoãåãããã®ãæ¸ãã¦ãã¾ããã
2.4. ããã°ã©ã æ§æ
ãããã¯C#ã®ä¾ã§ãããä¸è¨ã®ãããªããã°ã©ã æ§æã«ãªã£ã¦ãããrun.csxãC#ã®ãã¡ã¤ã«ã§ããfunction.json ãè¨å®ãã¡ã¤ã«ãããã¦project.json ã¯ãnugetããã±ã¼ã¸ï¼npm ããRuby gemsã®æ§ãªãã®)ãåå¾ããããã«ä½¿ãããã¡ã¤ã«ã§ãã
function.json
{ "bindings": [ { "name": "myBlob", "type": "blobTrigger", "direction": "in", "path": "pictures", "connection": "pooryou_STORAGE" } ], "disabled": false }
project.json
{ "frameworks": { "net46":{ "dependencies": { "Microsoft.ProjectOxford.Face": "1.2.1.2" } } } }
ä»åç§ããã¢ã§ä½¿ç¨ããã½ã¼ã¹ã³ã¼ãã¯ãç°¡åã§ãããGitHubã«ããã¦ããã¾ãããããç´°ããæ å ±ã¯ãä½è¤ãããPowerPointã®è³æã«æ¸ãã¦ããã¦ãã¾ããããç´°ããããã°ã©ã æ§é (nodeã®å ´å)ã使ããè¨èªãããªã¬ã®ç¨®é¡ãªã©ã§ãã
2.5. AWS λã¨æ¯è¼ããã¡ãªãã
ãã¼ã¹ã«ããã¨ãã«AWSãæ®æ®µä½¿ã£ã¦ããããæ¹ããããããã¯Azureã®ã»ãããããï¼ãã¨è¨ã£ã¦ããã ãããã¤ã³ããããã¤ããã£ãã®ã§ããããå ±æãã¦ããããã¨æãã¾ããç§ãæ·±ãAWSã®äºãç¥ã£ã¦ããããã§ã¯ããã¾ããããããã¾ã§ãã¼ã¹ã«æ¥ã¦ããã ãã人ããå¦ãã ãã¨ã§ãã®ã§ãç´°ãããã¹ãªã©ã¯ã容赦ãã ãããã¾ãããããããã®ãããã°æ¬ããã°ããªã³ã¯ãã¦æ¯éçæ§ã®ããã°ã§ãã©ãã¼ãã¦ããã ããã°ã¨æãã¾ãã
ããã¯å人çãªæè¦ã§ããããã£ãããã¨ããã¹ã¦ãã³ã³ããã¼ã«ããã人㯠AWSãããã¬ã¼ã«ã«ä¹ã£ã¦æ¥½ããã人㯠Azureãã¨ããã¤ã¡ã¼ã¸ãæã£ã¦ãã¾ãã ããã¡ãããAzure ã§ããLinux/Windows ã® IaaSã¨ãã¯ä½¿ãã¾ãããAzureã®é¢ç½ãã¯ãã£ã±ããPaaSããSaaSã ã¨æãã¾ããã¾ããã®è¾ºãã¯å¥ã®ãã¹ãã§ã話ããã¦ã¿ããã®ã§ãå²æãã¾ãã
Azure Functionsã«çµãã¨ããã£ããããã¨æ¬¡ã®éãã§ãã
- ããããããGUI
- æ§ã ãªããªã¬ãã¤ãã³ã
- ããã°ã©ã æ§é ã®éæå
- ãããã°æ©è½ã®å å®
- Azure ã®æ©è½ã¨ã®é£æº
- API Gatewayä¸è¦
2.5.1. ãããããã GUI
çµ±ä¸ããããããããã GUIã¯ãAzure ã®è¯ãã®ä¸ã¤ã§ãã Azure Functions ã®å ´åã¯ãçµæ§ Azure ã§æä½ãããã¨ãã£ã¿ããªããªãã¤ã±ã¦ãã¾ãããªããªãããã®ã¨ãã£ã¿ã¯ãã®ã¨ãªãã¯ã»ã¬ã³ããä½æãããVisual Studio Online ã®æè¡ã使ããã¦ããããã§ããå½¼ããã¤ã¯ãã½ããã®ä¸å¡ã§ããçµæ§ããã ãã§ããèªåçã«ã¯ããããï¼
2.5.2. æ§ã ãªããªã¬ã»ã¤ãã³ã
Serverlessãã®é¸å®è¦ç´ ã®ä¸ã¤ãç¾å¨å®ç¾ããã¦ãããã®ã®ã¿ã§èããã¨ãã©ãããããããããªãããªã¬ãè¨èªã«å¯¾å¿ãã¦ãããï¼ã¨ããã®ããã¼ã«ãªãã¨æãã¾ããAzure Functions ã§ã¯ãBlob(S3ç¸å½), Timer, IoT/EventHub, Webhook, http, Queue(SQSç¸å½), SaaS SendGrit, ServiceBusçã®ããªã¬ã«å¯¾ãã¦ãC#, Node, Bash, PowerShell, Python, PHPçå¤ãã®è¨èªã«å¯¾å¿ãã¦ãã¾ãã
2.5.3. ããã°ã©ã æ§é ã®éæå
ãλã§ã¯ããµã¼ãã¬ã¹ã®ã³ã¼ããæ¸ãã¨ããããã©ãããå½¢ã§æ ¼ç´ããã¦ããããããã¾ãããä¸æ¹ Azure Functions ã§ã¯ãå ã«èª¬æ ããéããæ§é ãæ確ã§ããããµã¼ãã¼ã¬ã¹ã§ãã®ã§ããã°ãããããå¯ã¦ãã¾ãã¾ããããµã¼ãã¼ã½ããã®ã®ä¸ã«ã©ã®ããã«æ ¼ç´ããã¦ãã ãããKUDOã¨ãããã¼ã«ã§è¦ããã¨ãã§ãã¾ããã¾ããããã±ã¼ã¸ããã¼ã¸ã£(npm, nuget)çãã使ããã¨ããã®ãå©ç¹ã§ãã
2.5.4. ãããã°æ©è½ã®å å®
ããããã°ãå ã®KUDUã使ã£ã¦ãã°ãè¦ãããã³ãã³ãããããã¦ã¿ããã¨ãããã¨ãã§ãã¦å¤§å¤ä¾¿å©ã§ãã
2.5.5. Azure ã®æ©è½ã¨ã®é£æº
ãããã¯ãã¾ãæ¯è¼ã®ã¡ãªããã§ã¯ããã¾ããããServerless ã®å ´åãããã«æ¥½ã«nano serviceãæ¸ããã®ãããã¤ã³ãã«ãªãã¨æãã¾ãããã®ã±ã¼ã¹ã§ãAzure ã¯ããããªãµã¼ãã¹ããããAzure Functions ã¨é£æºãã¦ããã®ã§ããã¯ã©ã¯ãã³ã§ãã
2.5.6. API Gatewayä¸è¦
ãAWSã®API Gateway ã«ç¸å½ãã httpã®ããªã¬ãç¨æããã¦ãã¾ãã®ã§ãAPI Gatewayã®æ§ãªãã®ãè¨ç½®ããå¿ è¦ãããã¾ãããã¤ã¾ãããã«èª²éãããã¾ããã
ãã¡ãããλã®å©ç¹ãããã¨æãã¾ãã®ã§ããã®ãããªã¡ãªãããã¡ãªãããèæ ®ãã¦çæ§ã®ç°å¢ã§ä¾¿å©ãªã»ããæ¯éãå©ç¨ãã ããï¼å è¡ããã¦ããããAWSããã¨æ¯è¼ãã¦ããªããªãã®ãã®ã§ããã(2016/10/3æç¹ã®æ å ±)
ãã¡ãªã¿ã«ããã¼ã¹ã®ä¼å ´ã§ãAWSã®æ¹ã¨è©±ããã®ã§ãããã競åã¨ããªãã¨ããããããCloudããã£ã¨å¤ãã®äººã«ä½¿ã£ã¦ã»ããã§ããããã¨ããç´ æµãªè©±ããã¦ãã¦ãæ¬å½ã«ãã®éãã ãªã¨æãã¾ãããDevOps ãããã§ããã競åã¨ããããªãã¤ãé£ãåããããªã»ã³ã話ã§ã¯ãªãã¦ããã£ã¨å¤ãã®äººãCloudã使ãããã«ãªãã°ãã¿ããªHappyã«ãªã£ã¦ããã¨æãã¾ãã
3ï¼ãã¢ã³ã¹ãã¬ã¼ã·ã§ã³
ãå½æ¥ãã£ãã解説ããæéããªãã£ãã®ã§ããã¡ãã®ãã¢ã®å 容ã¨ã³ã¼ããå ¬éãã¦ãããã¨æãã¾ãããã®ãã¢ã¯ãUnityã¨ãCognitive Service ã¨ããããã¤ã¯ãã½ããã®AIã®ç 究ã®ææã使ã£ãAPIãµã¼ãã¹ãå©ç¨ãã¦ãã¾ãã
å¼ç¤¾ã®è¤æ¬æ°ãä½æãããInteractive ãã¡ãLoveã²ã¼ã ã¨ããUnityã§ä½ãããã²ã¼ã ãå ã«ãªã£ã¦ãã¾ãããã®ã²ã¼ã ã¯ãCognitive Service ã®Emotion APIã¨ãã人ã®é¡ã®ææ ãèªã¿åãAPIã使ã£ã¦ãã¾ããã²ã¼ã ããã£ã¦ãã人ã®ææ ã«åããã¦ã²ã¼ã ã®åå¿ãå¤ããã¨ãããã¢ã³ã¹ãã¬ã¼ã·ã§ã³ã§ããã¹ãã¼ã¹ãã¼ãæ¼ãã¨ãPCã®ã«ã¡ã©ã§ç»åãæ®ããããããEmotion APIã«RESTãã¼ã¹ã§éä»ãã¦ææ åæããã¦ããã£ã©ã¯ã¿ã¼ã®æ¯ãèããå¤æ´ãã¦ãã¾ãã ããã£ã©ã¯ã¿ã¼ãã¶ã¤ã³ã¨ããã¤ã¹ã¯ãã¡ãã¾ã©ãããæ å½ãã¦ãã¾ãã
ããã®é¢ç½ãã²ã¼ã ã®è©³ç´°ãç¥ããã人ã¯ã次ã®ããã°ãã¹ãã§èª¬æããã¦ãã¾ãã
ãç§ã®æ¹ã§ã¯ããã®ã²ã¼ã ã«å¯¾ãã¦ããã¬ã¤ã¤ã¼ã®å±æ§ãåæãããã¨æã£ãã®ã§ãåçãæ®ã£ãå¾ã«ããããBlobã¹ãã¬ã¼ã¸(S3ç¸å½)ã«ã¢ãããããããããªã¬ã¼ã«ãAzure Functions(λç¸å½) ãèµ·åãã¦ãã¾ããFunctionsã§ãCognitive Serviceã®Face APIãã³ã¼ã«ãã¦ããã¬ã¤ã¤ã¼ã®å¹´é½¢ãææ ãé¡ã®è¼ªéãã²ãã®ä½ç½®ãªã©ã®æ å ±ãåæãã¦ããããSQLãµã¼ãã¼ã«éä»ãã¦ãã¾ãããã®FACEAPIã使ãã¨ã社å¡ãããã¤ãè¦ããããã¨ããã®äººãã©ããã®å¤å¥ãè¡ããã¨ãã§ãã¾ãã ãæå¾ã«ãPowerBIã¨ããBIãµã¼ãã¹ã«ãã®æ å ±ãé£æºããã¦ãåæãè¡ãã¨ãããã¢ã§ãããå®éã«ãServerless ã¢ã¼ããã¯ãã£ã使ãã¨ãç°¡åã«å®è£ ã§ããã®ã§ã¨ã¦ã楽ããã£ãã§ãããã¿ã¼ã³ã¨ãã¦ã¯ãããæå³çéçãªä½¿ãæ¹ã§ãããæ¬å½ã«ãã£ããä½ããã¨ãã§ãã¾ãããããã¯æ¥½ã§ãï¼
ãèå³ãããæ¹ã¯ãã½ã¼ã¹ã³ã¼ããç½®ãã¦ããã¾ããã®ã§ããåç §ãã ãããå®ã¯ä½è¤ããã¯ãæ´ã«åãCognitive Service ã使ãåãããã¢ãç¨æãã¦ãã¾ããããæéã®é¢ä¿ã§ãè¦ãã§ãã¾ããã§ããã
4. Azure ã®é¢é£æ å ±
ãã¦ãAWSã使ã£ãã¾ã¾ã§ã使ãããCognitive Service çã®æ å ±ãå ±æãã¦ããããã¨æãã¾ãã Cognitive Service ã«é¢ãã¦ã¯ã¨ãã³ã¸ã§ãªã¹ãã®å¤§æ£®å½©åãããããè³æãããããä½ã£ã¦ããã¦ãã¾ããç´¹ä»ãããã®ä»¥å¤ã«ãåç»ããªã¢ã«ã¿ã¤ã ã«è§£æããããç»å/æç« ã®ææ åæããããè¨èªè§£æãããã翻訳ãããã¨ãã£ã¡ãåããµã¼ãã¹ã«ãªã£ã¦ããã®ã§ãå人çã«ãç±ããµã¼ãã¹ã§ãããREST-APIãå¼ã¶ã ããªã®ã§ç°¡åã«ä½¿ãã¾ããã次ã®ãããªæ å ±ãæ¥æ¬èªã§ãããããã§ãã
1. Cognitive Services ã®æ©è½ç´¹ä»ãªã©ã¯ MSDN Blog
2. å®è£ æ¹æ³ãªã©å ·ä½çãªæé ãã³ã¼ããªã©ã¯ Qiita
3. 説æè³æ (PPT)
æåã®ã¹ãããã¨ãã¦ã¯ã以ä¸ã®è¨äºãããããã§ãã
a. Cognitive Service ã§ã§ãããã¨ããã£ã¨ç¥ããã人åã (from â )
ã人éã«ã¨ã£ã¦ âèªç¶ãªâ ã¢ã¯ã·ã§ã³ã®å®è£ ï½ Microsoft Cognitive Services ãå§ããåã«ã
b. ã¨ã³ã¸ãã¢ã§å®éã«ã³ã¼ãæ¸ãã¦ç解ããã人åã (from â¡)
ã人工ç¥è½ãã¼ã Microsoft Cognitive Services ã使ã£ã表æ åæã¢ããªãä½ããï¼ã Emotion API à JavaScript ç·¨
Emotion API Ã Bot Framework (C#)ç·¨ qiita.com
Azure Functions ã®ãµã³ãã«ç
çå£ããããããªãµã³ãã«ã¨ãã®è§£èª¬ãæ¸ãã¦ããã¦ãã¾ãï¼
Azure Functionsで運用管理サーバレス生活(使用量データ取得編) · re-imagine
ã¾ã ä»æã§ãããããªãã®ãããæ§å
ãã¡ããããã¬ã¼ã³ãã¼ã·ã§ã³è³æã«ããããããªã³ã¯ãã¤ãã¦ãã¾ãã®ã§ãAzure Functions èªä½ã®è³æãã楽ãã¿ãã ããã
5. Serverless ã«æããæªæ¥
ãã¼ãã³ãã¡ã¦ã©ã¼æ°ã®ãServerless ã¢ã¼ããã¯ãã£ã§æåãªãµã¼ãã¼ã¬ã¹ã§ãããæ¥æ¬èªã§ã¯ãä¼å ´ã«ãæ¥ã¦ãã¼ã¹ããµãã¼ããã¦ããã¦ãããããã¤çåãã¨å»£ç¬ä¸æµ·ããã®è¨äºãç§ã¯ããããããã¦å¥½ãã§ãã
ä»åã®ãµã¼ãã¼ã¬ã¹ã«ã³ãã¡ã¬ã³ã¹ã§ããããããé¢ç½ãäºä¾ã使ãæ¹ãåºã¦ãã¦ã¨ã¦ãé¢ç½ãã£ãã®ã§ãããNano Serviceã¨ããè¨èãããéãããã¤ã¯ããµã¼ãã¹ã¨ã®ã¤ãªãããã¨ã¦ãå¼·ãæãã¾ããã
å人çãªæè¦ã§ã¯ãç¾å¨ãã¤ã¯ããµã¼ãã¹ã®ç°å¢ãããããåºã¦ãã¾ããä¾ãã°ãDC/OSã¯ããã¼ã¿ã»ã³ã¿OSã¨å¼ã°ãã¦ãã¯ã©ã¹ã¿èªä½ãã¾ãã§ï¼å°ã®ãµã¼ãã¼ãã®ããã«æ±ãããªã½ã¼ã¹ã®ã¢ãã±ã¼ã·ã§ã³ããã¦ãããããã¾ãã大å¤æªæ¥çã§ç§ã¯å¤§å¥½ããªãã©ãããã©ã¼ã ã§ãããæ®å¿µãªããç¾æç¹ã§ã¯ããã£ãããªã½ã¼ã¹ãæé©åãã¦ããã¦ãã¾ããã使ããªãã¦ãã使ã£ã¦ããVMãä¸ãã¦ããå¿ è¦ãããã¾ãã ãããã¤å¾ãVMã®åå¨ãæèããå¿ è¦ãããã¾ãã
ç¾å¨ã®ã¢ã¼ããã¯ãã£ã§ããã¨ãIaaS, Container, PaaS, Serverless ã®é çªã«ã©ãã©ããããã¨ãæ¸ã£ã¦ãããããããã°ã©ã ã«éä¸ã§ããç°å¢ãã§ãã¦ãã¾ãããã ãç¾æç¹ã§ã¯ãServerless ã¯ããµã¼ãã¼ãç«ã¦ãã¾ã§ããªããã®ããã°ã«ã¼ã³ã¼ããã¤ãã³ãã®å¦çãªã©ã®ç°¡åãªãã«å¯¾ããã¦ã¼ã¹ã±ã¼ã¹ããã¾ãè¡ãããã§ãã
ãããããã¡ãã£ã¨å ã®æªæ¥ãè¦ã¦ããã¨ãDC/OSã¿ãããªãµã¼ãã¹ã¯æ¬æ¥ãVMã®åå¨ã¯å¿ãã¦ãªã½ã¼ã¹é ç½®ããã¦ããããã®ã ã¨æãã¾ãããPaaSãã§ããã°ãVMã®å¢ç®ãæèããªãã¦ãããããªç¶æ ã«ãªã£ãã¨ããããåã楽ã§ä¾¿å©ãªä¸çãåºããã¨æãã¾ãã ãã¤ã¾ããããã¯æãã£ãããµã¼ãã¼ã¬ã¹ã®ä¸çã§ããµã¼ãã¼ã¬ã¹ã§åºæ¥ããã¨ããPaaSã¨ãç¾æç¹ã§ã®ãµã¼ãã¼ã¬ã¹ã§åºæ¥ããã¨ã®éã縮ã¾ã£ã¦ãPaaSã¨è¦åããã¤ããªããªãã¨ãã«ãæ¬å½ã«ãµã¼ãã¼ã¬ã¹ã®åãä¸çããã£ã¦ããæ°ããã¾ããããããããã¯ããã¶ãæ°å¹´ã¨ããããªãæ°ããã¾ããç§ãç¥ããªãã ãã§ãã§ã«ãããããã®ãåå¨ããããããã¾ãããã
ãã¾ããIto Naoya ããã®ããã«ããããé¢ç½ãã話ãã§ããããæå¾ã«ãããã®äºä¾ã¯ãæ¬å½ã¯ãActorã使ãã¨ãã¾ãããã¨æããã¨ãã話ãããã¦ãããã¾ãããå人çã«ããã¤ã¯ãã½ããã®åºãã¦ãããã®ã§ãæãããããªãã®ã¨ãã¦ãService Fabricã¨ããã®ãããã¾ãã ããæ¿ã¢ãã§ããããã¯ããã¤ã¯ããµã¼ãã¹ã®PaaSã¨ããã¨ãã§ããªããã®ã§ããã¨ãã¨ãAzureã®å種ãµã¼ãã¹ã«ä½¿ããã¦ããåºç¤ãå ¬éãããã®ã§ããStateless/Stateful ã®ãµã¼ãã¹ãããã¦ãActorããã¹ããã¦ããã¾ããStateful / Actor ã«é¢ãã¦ã¯ããããã¤ããã¨ãµã¼ãã¼ã«å¯¾ãã¦ãã¬ããªã«ãèªåã§çµãã§ããã¦ãVMããã¦ã³ããã¨ãã¦ããã¡ã¢ãªãå ±æãã¦ããã®ã§ãå¦çããã®ã¾ã¾ç¶ç¶ãã¦å®è¡ããããã¾ããã¤ã¾ããNetflixããããã£ã¦ãããããªãã«ãªã¹ã¢ã³ãã¼ã使ããããªFault Injectionãã¶ã¡ãã¾ããåºç¤ãæåããæã«å ¥ãæãã§ããå®éã«ãService Fabric ã«ã¯ããã®ãããªChaos Testing ã®APIãæåããçµã¿è¾¼ã¾ãã¦ãã¾ãã
ãããã¦ãActorãã¬ã³ã¬ã³ã«ãµãã¼ããã¦ãã¾ãã次ã®ã²ã¼ã ã¨ããè¦ãã¨åºç¤ã®åããä¼ããããããã¾ãããä½è«ã§ããç±ããªã£ã¦ãã¾ãã¾ããã
ãã®ããã«ãAzure ãå人çã«ã¯æ¿ç±ãªãã¯ããã¸ã¼ããããããã£ã¦ããã£ã¡ã楽ããã§ããæ¯éçãããããã£ãã楽ããã§ãã ãããï¼
æå¾ã«
主å¬ã®åç°ããããä¸çã«åãã¦ãæ¥æ¬ã®Serverlessã®çãä¸ãããè¨äºã«ããã¦ãããã¾ããç´ æ´ãããã§ãï¼
ããã¯åã«å®£ä¼ã§ãããAzure ãæ°ã«ãªãæ¹ã¯ãããªã¤ãã³ããããã¾ãï¼