[Rakuten TeckTalk] Microservices and Azure Service Fabric (2016/06/02)

  • Published on
    08-Jan-2017

  • View
    1.103

  • Download
    0

Transcript

<ul><li><p>http://samnewman.io/books/building_microservices/</p><p>http://www.oreilly.co.jp/books/9784873117607/</p><p>http://samnewman.io/books/building_microservices/http://www.oreilly.co.jp/books/9784873117607/</p></li><li><p>http://www.slideshare.net/spnewman/principles-of-microservices-ndc-oslo</p><p>http://www.slideshare.net/spnewman/principles-of-microservices-ndc-oslo</p></li><li><p>Web Apps</p><p>MobileApps</p><p>APIManagement</p><p>APIApps</p><p>LogicApps</p><p>NotificationHubs</p><p>Content DeliveryNetwork (CDN)</p><p>MediaServices</p><p>HDInsight MachineLearning</p><p>StreamAnalytics</p><p>DataFactory</p><p>EventHubs</p><p>MobileEngagement</p><p>BiztalkServices</p><p>HybridConnections</p><p>ServiceBus</p><p>StorageQueues</p><p>Backup</p><p>StorSimple</p><p>SiteRecovery</p><p>Import/Export</p><p>SQLDatabase</p><p>DocumentDB</p><p>RedisCache</p><p>Search</p><p>Tables</p><p>SQL DataWarehouse</p><p>Azure AD Connect Health</p><p>AD PrivilegedIdentity Mngt</p><p>OperationalInsights</p><p>CloudServices</p><p>Batch Remote App</p><p>ServiceFabric Visual Studio</p><p>ApplicationInsights</p><p>Azure SDK</p><p>Team Project</p><p>ActiveDirectory</p><p>Multi-FactorAuthentication</p><p>Automation</p><p>Portal</p><p>Key Vault</p><p>Store /Marketplace</p><p>VM Image Gallery&amp; VM Depot</p><p>SECURITY &amp; MANAGEMENT</p><p>PLATFORM SERVICESHYBRID </p><p>OPERATIONS</p></li><li><p>Build on infrastructure (IaaS) Build on Dev framework (PaaS)</p><p>Preview</p><p>GAThe Azure Application PlatformApp Creators</p><p>Developers Non-Devs</p><p>Microsoft Azure</p><p>LOBSaaSLift &amp; Shift Docker</p><p>Virtual </p><p>Machines</p><p>Stateful and </p><p>stateless one-</p><p>off solutions</p><p>VM </p><p>ScaleSet</p><p>s</p><p>Scalable </p><p>stateless </p><p>solutions</p><p>Containe</p><p>r Service</p><p>Scalable, </p><p>orchestrated </p><p>Docker </p><p>images </p><p>deployed into </p><p>containers</p><p>Differentiation Time to valueExisting App Investments</p><p>Batch</p><p>Custom </p><p>High </p><p>Performanc</p><p>e </p><p>Computing </p><p>solutions</p><p>Cloud </p><p>Service</p><p>sCustom </p><p>Monolithic </p><p>3-tier </p><p>stateless </p><p>solutions</p><p>Service </p><p>Fabric</p><p>Custom </p><p>Microservice</p><p>-based </p><p>stateless and </p><p>stateful</p><p>solutions</p><p>Power </p><p>Apps</p><p>Graphical </p><p>design </p><p>mobile </p><p>solutions</p><p>App Service</p><p>Template based </p><p>rapid </p><p>development </p><p>web, mobile </p><p>and API </p><p>solutions</p><p>Orchestrate</p><p>d workflow </p><p>based </p><p>integration </p><p>solutions</p><p>LogicWeb/Mob/</p><p>APIAll the </p><p>goodness of </p><p>App Service in </p><p>a dedicated </p><p>environment</p><p>Environments</p></li><li><p>IaaS VMs and ScaleSetsRaw </p><p>Containers</p></li><li><p>Corey StorageCorey vNIC</p><p>Corey VM</p><p>Mark StorageMark vNIC</p><p>Mark VM</p></li><li><p>VM 1 VM 2 VM 3</p><p>VM 4 VM 5 VM 5</p></li><li><p>PaaS</p><p>IaaS VMs and ScaleSetsRaw </p><p>Containers</p><p>Microservices Existing </p><p>Frameworks</p><p>Web/Mobile Serverless</p></li><li><p>Microservices</p><p>Existing </p><p>Frameworks</p><p>Web/Mobile</p><p>Serverless Event-driven compute application components.Ex: IOT events, game events, operational events</p><p>Web and mobile fully managed applications. No infra management. </p><p>Ex: ecommerce sites, LOB sites, supporting websites</p><p>Massive-scale, 24x7 available applications with agile multi-components.</p><p>Ex: Multi-part live games, queuing systems, large-scale sites/LOB</p><p>Applications focused on the framework/runtime/application model.</p><p>Ex: Existing enterprise/LOB apps, new scale-out with existing components</p></li><li><p>App Service</p><p>Service Fabric</p><p>Cloud Services</p><p>Azure Functions</p><p>Microservices</p><p>Existing </p><p>Frameworks</p><p>Web/Mobile</p><p>Serverless</p></li><li><p>Plan1 Monitor + Learn</p><p>ReleaseDevelop + Test2</p><p>Development Production</p><p>4</p><p>3</p></li><li><p> Scales by cloning the app on multiple </p><p>servers/VMs/Containers</p><p>Monolithic application approach Microservices application approach</p><p> A microservice application </p><p>separates functionality into </p><p>separate smaller services.</p><p> Scales out by deploying each service </p><p>independently creating instances of these services </p><p>across servers/VMs/containers</p><p> A monolith app contains domain </p><p>specific functionality and is </p><p>normally divided by functional </p><p>layers such as web, business and </p><p>data</p><p>App 1 App 2App 1</p></li><li><p>Service Fabric Cluster</p><p>Age of Ascent Architecture</p><p>Spatial</p><p>(In Space)</p><p>Gaia (stateless)</p><p>Trade Inventory Production CommsNavigation</p><p>PlayerAccount CrewCommerce Alliance</p><p>Avatar</p><p>(stateless)</p><p>AI Events</p><p>web browser</p><p>or device</p><p>game </p><p>function </p><p>services</p><p>CDN</p><p>aggregate</p><p>services</p><p>physics</p><p>service</p><p>routing</p><p>services</p></li><li><p>Microservices</p></li><li><p>Public Cloud Other CloudsOn Premises</p><p>Private cloud</p><p>Azure Service Fabric</p></li><li><p>Composable platform</p><p>Prescriptive microservices platform</p><p>Service Fabric</p></li><li><p>Datacenter (Azure, On Premises, Other Clouds )</p><p>Load </p><p>Balancer</p><p>PC/VM #1</p><p>Service Fabric</p><p>Your code, etc.</p><p>PC/VM #2</p><p>Service Fabric</p><p>Your code, etc. PC/VM #3</p><p>Service Fabric</p><p>Your code, etc.</p><p>PC/VM #4</p><p>Service Fabric</p><p>Your code, etc.PC/VM #5</p><p>Service Fabric</p><p>Your code, etc.</p><p>Management to deploy </p><p>your code, etc.</p><p>(Port: 19080)</p><p>App Web Request(Port: 80/443/?)</p></li><li><p>Application Type: sfAuction</p><p>Service Type: Website</p><p>Guest Executable (stateless)</p><p>(Node.js)</p><p>Service Type: Auction</p><p>Reliable Collections (stateful)</p><p>(C#/.NET)</p><p>Service Fabric Auction AppMicroservices design</p><p>Service Type: APIGateway</p><p>Reliable Service (stateless)</p><p>(C#/.NET)</p></li><li><p>Cluster</p><p>Load </p><p>Balancer</p><p>VMSS #1 (stateless tier)</p><p>NodeType=FrontEnd</p><p>Node #1</p><p>Website</p><p>ApiGateway</p><p>Node #2</p><p>Website</p><p>ApiGateway</p><p>VMSS #2 (stateful tier)</p><p>NodeType=BackEnd</p><p>Node #3</p><p>Auction</p><p>Node #4</p><p>Auction</p></li><li><p>Service Type: Website</p><p>Guest Executable (stateless)</p><p>(Node.js)</p></li><li><p>node.exeServer.js</p><p>myNodeImage:latest</p></li><li><p>Service Type: APIGateway</p><p>Reliable Service (stateless)</p><p>(C#/.NET)</p><p>Service Type: Website</p><p>Guest Executable (stateless)</p><p>(Node.js)</p></li><li><p>Load </p><p>Balancer</p><p>Stateful</p><p>Data</p><p>Load </p><p>Balancer</p><p>Other </p><p>Internal </p><p>Tiers</p><p>?</p><p>Stateless</p><p>Compute</p><p>Stateless</p><p>Web</p><p>Cach</p><p>e</p><p>Stateless</p><p>Web</p><p>Stateful</p><p>Compute</p></li><li><p>Service Type: Auction</p><p>Reliable Collections (stateful)</p><p>(C#/.NET)</p><p>Service Type: APIGateway</p><p>Reliable Service (stateless)</p><p>(C#/.NET)</p><p>Service Type: Website</p><p>Guest Executable (stateless)</p><p>(Node.js)</p></li><li><p>Auction (Partition #1)</p><p>Users Dictionary</p><p>Email UserInfo</p><p>U1 ItemId[]</p><p>U2 ItemId[]</p><p>Active Items List</p><p>ItemId</p><p>U1/A</p><p>U2/X</p><p>U1s Items Dictionary</p><p>ItemId ItemInfo</p><p>U1/A 2016-2-1, Bid[]</p><p>U1/B 2016-2-5, Bid[]</p><p>U2s Items Dictionary</p><p>ItemId ItemInfo</p><p>U2/X 2016-3-3, Bid[]</p><p>U2/Y 2016-4-9, Bid[]</p><p>APIGatewayCreateUserAsync</p></li><li><p>http://aka.ms/servicefabric</p><p>http://aka.ms/tryservicefabric</p><p>http://aka.ms/servicefabrichttp://aka.ms/tryservicefabric</p></li></ul>

Recommended

View more >