Azure Service Fabric 概要

  • Published on
    16-Apr-2017

  • View
    216

  • Download
    1

Transcript

<p>Azure Service Fabric </p> <p>https://www.facebook.com/dahatake/https://twitter.com/dahatake/</p> <p>https://github.com/dahatake/https://daiyuhatakeyama.wordpress.com/</p> <p>#azurejp</p> <p>#azurejp</p> <p>1</p> <p>#azurejp</p> <p>2016/02 https://www.oreilly.co.jp/books/9784873117607/</p> <p>#azurejpAzure Service Fabric</p> <p>Azure Service Fabric </p> <p>#azurejp </p> <p>#azurejp?</p> <p>Plan1Monitor + LearnReleaseDevelop + Test2DevelopmentProduction43</p> <p>#azurejp Feedback</p> <p>!</p> <p>The OLD way</p> <p>#azurejp</p> <p> 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.11/20/20167</p> <p>#azurejp</p> <p> 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.11/20/2016 10:39 PM8</p> <p>Development</p> <p>Development</p> <p>Development</p> <p>Development</p> <p>DEV</p> <p>#azurejp</p> <p>Development</p> <p>Development</p> <p>Development</p> <p>Development</p> <p>DEV</p> <p>QA</p> <p>OPS</p> <p>#azurejpDevOps </p> <p>AgileInfrastructure</p> <p>DevOps</p> <p>Agile</p> <p>AgileWebOperation</p> <p>Agile Infrastructure</p> <p>#azurejp</p> <p>?</p> <p>#azurejp</p> <p>EC/App</p> <p>/</p> <p>CRM</p> <p>5?3?</p> <p>#azurejpCustomer #1SaaSIaaSVersion 1.0Customer #2Version 1.0Customer #3Version 2.0</p> <p>Version 1.0Version 2.0</p> <p>#azurejp</p> <p>#azurejpThumbnailServiceThumbnailServicePhoto ShareServicePhoto ShareServicePhoto ShareServicePhoto ShareServiceThumbnailServicePhoto Share ServiceThumbnailSharedLib-v7Photo ShareServiceSharedLib-v1Photo ShareServicenode.jsThumbnailService.NETPhoto ShareServiceV1ThumbnailServiceV1ThumbnailServiceSharedLib-v7ThumbnailServiceV2SharedLib-v1</p> <p>#azurejp</p> <p>Microsoft Ignite 201611/20/2016 10:39 PM16</p> <p>stateless Service</p> <p>stateless Service with separate storesstateful Service</p> <p>stateless presentation Service</p> <p>#azurejpCompute </p> <p>Container / Service Fabric VM 1 //DR () </p> <p> VM /</p> <p>#azurejp Service FabricContainer ServiceVM Scale Sets </p> <p>#azurejpProcessContainerMore isolatedMore efficientNot sharedSharedSharedSharedNot sharedNot sharedShared*Shared (ex: File System)Not sharedNot sharedNot sharedShared</p> <p>* Windows Hyper-V </p> <p>#azurejp</p> <p> 2016 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.11/20/201620</p> <p>Service Fabric</p> <p>#azurejp Platform Rolling UpgradesAvailability GuaranteesScale Out ArchitectureResource GovernanceDensityPackaging &amp; DeploymentPolicy EnforcementGranular VersioningStateful WorkloadsLeader ElectionMesosKubernetesZookeeperRedisRavenYarnFleetContainers</p> <p>?</p> <p>#azurejp</p> <p>22</p> <p> PlatformRolling UpgradesAvailability GuaranteesScale Out ArchitectureResource GovernanceDensityPackaging &amp; DeploymentPolicy EnforcementGranular VersioningStateful WorkloadsLeader Election</p> <p>Service Fabric</p> <p>#azurejp</p> <p>23</p> <p>Azure Service Fabric / / Windows ServerLinuxDocker ().NETJava APIAzureAzure StackVMwareOpenStackAWS</p> <p>#azurejpService Fabric for Linux () Azure Service Fabric ExplorerLinux Azure CLIEclipseYoemanJenkinsapt-get LTTng MacLinuxJavaC# (.NET Core) Azure LinuxMac (Vagrant/VirtualBox Linux VM)AzureWindowsGAGAGALinux-Mac--(Linux VM)</p> <p>#azurejpService Fabric Azure </p> <p>Power BIIntune</p> <p>80 AzureSQL Database</p> <p>140 Bing Cortana</p> <p>5 /AzureDocumenDB</p> <p>/Skypefor Business</p> <p>AzureEvent Hubs</p> <p>200 /IoT Suite6</p> <p>#azurejp</p> <p>#azurejp</p> <p>Microsoft Ignite 201611/20/2016 10:39 PM27</p> <p>https://azure.microsoft.com/ja-jp/solutions/microservice-applications/</p> <p>Service Fabric Team Bloghttps://blogs.msdn.microsoft.com/azureservicefabric/tag/case-study/ </p> <p>#azurejp</p> <p>Microsoft Ignite 201611/20/2016 10:39 PM28</p> <p>Your ApplicationApplication ModelDeclarative Application DescriptionNative and Managed APIsManagement SubsystemDeploy, Upgrade and MonitoringCommunication SubsystemService discoveryReliability SubsystemReliability, Availability, Replication, Service OrchestrationHosting &amp; ActivationApplication LifecycleTestability SubsystemFault inject, Test in ProductionFederation SubsystemFederation a set of nodes to from a consistent scalable fabricTransport SubsystemSecure Point-to-point communication</p> <p>#azurejpAzure Consistent Private CloudAzure Public CloudVMs and VM Scale SetsVM Extensions</p> <p>Mesosphere/SwarmMarathon/Chronos/Swarm</p> <p>Cluster ManagementFederation and Reliability:Failover managerCluster managerNamingImage store serviceLeader Election</p> <p>Container/Service schedulingHostingContainer activation and MonitoringBalancing and SchedulingResource Balancing &amp; Placement</p> <p>ZooKeaperApplication Programming ModelsStateful/Stateless ServiceReliable ActorsReliable ServiceHealth MonitoringCommunication Subsystem Service/Service CommunicationSessions/Streams</p> <p>Health management and diagnosticsTestability framework </p> <p>Service Fabric Azure Container Service</p> <p>#azurejp</p> <p> 2016 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.11/20/201630</p> <p>App1App2</p> <p>Orchestration - DeploymentsApp Type PackagesService Fabric Cluster VMs</p> <p>#azurejp</p> <p>App1App2</p> <p>Orchestration - FailuresApp Type PackagesService Fabric Cluster VMs</p> <p>#FAIL</p> <p>#azurejpPurple NodesGreen Nodes</p> <p>App1App2</p> <p>Orchestration - ConstraintsApp Type PackagesService Fabric Cluster VMs</p> <p>#azurejp</p> <p>App1App2</p> <p>Orchestration - CapacityApp Type PackagesService Fabric Cluster VMs</p> <p>#azurejp</p> <p>App1App2</p> <p>Orchestration - BalancingApp Type PackagesService Fabric Cluster VMs</p> <p>#azurejp</p> <p>App1App2</p> <p>Orchestration Scale-out ServiceApp Type PackagesService Fabric Cluster VMs</p> <p>#azurejp</p> <p>App1App2</p> <p>Orchestration Scale-out ClusterApp Type PackagesService Fabric Cluster VMs</p> <p>#azurejpUD3UD2UD1</p> <p>App1App2</p> <p>Orchestration - UpgradeApp Type PackagesService Fabric Cluster VMs</p> <p>App2.1</p> <p>#azurejpService Fabric Orchestration (topology awareness) -&gt; () -&gt; ex: (HasGPU == True)Node Capacity</p> <p>#azurejpService Fabric Orchestration Default MetricsCustom MetricsMetric Metric ex: Service Fabric </p> <p>#azurejpAzure Service Fabric </p> <p>#azurejpAzure Service Fabric VM Public IP addressVM () Storage Account</p> <p>RDP VMOS</p> <p>#azurejp</p> <p>Primary: DBService Fabric Core SystemFrontVMGold: DS3 / 2@1Bronze: D2_V2 / Platinum: 9 9Bronze: 5 3</p> <p>P</p> <p>S</p> <p>S</p> <p>S</p> <p>S</p> <p>S</p> <p>S</p> <p>S</p> <p>S</p> <p>P</p> <p>S</p> <p>S</p> <p>VM</p> <p>#azurejpCluster Resource Manager/</p> <p>#azurejpYoemanEclipse </p> <p>#azurejpService Fabric CI/CDSource ControlBuild</p> <p>Test</p> <p>DEVOPS</p> <p>OPS</p> <p>PPL</p> <p>PROD</p> <p>Inner Dev LoopMocks</p> <p>#azurejp</p> <p>Microsoft 2016 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.11/20/2016 10:39 PM46</p> <p>Service Fabric </p> <p>#azurejpService Fabric Programming Models</p> <p>Guest Executables() EXE / //Reliable Service()/Reliable Collection Reliable Actors()/ IoT / </p> <p>Platform : </p> <p>#azurejp</p> <p>48</p> <p>Windows.NET.NET.NETWindowsWindows()Linux()Java.NET()Java.NETLinuxLinux</p> <p>#azurejp</p> <p>Service Fabric infrastructureReliable Actors APIReliable Service API</p> <p>Stateless service Statefull service Service Fabric Programming Models</p> <p>#azurejp// (DLL/EXE) () </p> <p> ServiceHost.exe </p> <p>Service Type 1CodeConfigData</p> <p>#azurejp//Application Type AService Type 1Service Type 2Service Type 3CodeConfigDataCodeConfigDataCodeConfigData</p> <p>#azurejpService Fabric : sfAuction: Website() (Node.js): Auction ()(C#/.NET): APIGateway ()(C#/.NET)</p> <p>#azurejp</p> <p> 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.11/20/2016 10:39 PM53</p> <p>Service Fabric / : Website() (Node.js)</p> <p>#azurejpWeb / Docker ServiceManifest.xml</p> <p> node.exe Server.js </p> <p> myNodeImage:latest </p> <p>#azurejpService Fabric / ( Web API )Visual Studio (F5 /) : Website() (Node.js): APIGateway ()(C#/.NET)</p> <p>#azurejpService Fabric / ( Web API )Visual Studio (F5 /) (Reliable Collection): Website() (Node.js): Auction ()(C#/.NET): APIGateway ()(C#/.NET)</p> <p>#azurejpReliable Collections .NET Collections Colleciton </p> <p>IReliableDictionaryIReliableQueue</p> <p>#azurejpReliable Actors () IoT ( )/</p> <p>#azurejp Service Fabric VMSS #1 ()NodeType=FrontEnd #1WebsiteApiGateway #2WebsiteApiGatewayVMSS #2 ()NodeType=BackEnd #3Auction</p> <p> #4Auction</p> <p>#azurejpAuction ( #1) Users DictionaryEmailUserInfoU1ItemId[]U2ItemId[]</p> <p>Active Items ListItemIdU1/AU2/X</p> <p>U1s Items DictionaryItemIdItemInfoU1/A2016-2-1, Bid[]U1/B2016-2-5, Bid[]</p> <p>U2s Items DictionaryItemIdItemInfoU2/X2016-3-3, Bid[]U2/Y2016-4-9, Bid[]</p> <p>APIGatewayCreateUserAsync</p> <p>#azurejpQueues Storage </p> <p> () </p> <p>Front End(StatelessWeb)</p> <p>StatelessMiddle-tierCompute</p> <p>Cache</p> <p>Load Balancer</p> <p>#azurejp</p> <p>Build 201511/20/2016 10:39 PM</p> <p>StatefulMiddle-tierCompute </p> <p> () </p> <p> ()Front End(StatelessWeb)</p> <p>Load Balancer</p> <p>Cold Data StoresFor Exhaust(Optional)</p> <p>#azurejp</p> <p>Build 201511/20/2016 10:39 PM</p> <p> /Node 5Node 4Node 3Node 6Node 2Node 1P2SSSP4SP1SP3SSS</p> <p>#azurejp</p> <p> Hundreds of partitions</p> <p>Service Fabric Cluster</p> <p>Hundreds of gateway Service == 1</p> <p>Partition 1Partition 2Partition n</p> <p>#azurejp</p> <p> 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.11/20/201665</p> <p>#azurejpMicroservice Azure Windows / Linux Azure Stack / Azure Container ServiceDocker OrchestrationAzure Service Fabric.NET / Java </p> <p>#azurejp</p> <p>Azure Service Fabric Service Fabric developer SDK http://aka.ms/ServiceFabricSDKService Fabric Course (Microsoft Virtual Academy)http://bit.do/ServiceFabricFREE clustershttp://aka.ms/ServiceFabricSamples and http://aka.ms/tryservicefabric Service Fabric on Linux http://aka.ms/SFlinuxpreview http://aka.ms/ServiceFabricForum or internally winfabtalk alias</p> <p>#azurejpAzure Service Fabric Party Clusterhttp://tryazureservicefabric.westus.cloudapp.azure.com/</p> <p>#azurejp</p> <p> 2016 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.</p> <p>The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. </p> <p>MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.</p> <p>#azurejp</p> <p>70</p>