Service Fabric Patterns & Best Practices

Slides:



Advertisements
Similar presentations
Lift-and- Shift Cloud First Dev. And TestHybrid SaaS for Sale Windows Azure PaaS IaaS+ Windows CEAP Private PaaS Be sure to grab all parts of graphic before.
Advertisements

Microsoft Ignite /16/2017 2:42 PM
Cloud Computing Systems Lin Gu Hong Kong University of Science and Technology Sept. 21, 2011 Windows Azure—Overview.
Get more control & flexibility of the Windows Azure environment Developers IT Pros Easier migration of existing Windows applications to Windows Azure.
Austin code camp 2010 asp.net apps with azure table storage PRESENTED BY CHANDER SHEKHAR DHALL
Operating System for the Cloud Runs applications in the cloud Provides Storage Application Management Windows Azure ideal for applications needing:
Building micro-service based applications using Azure Service Fabric
Creating highly available and resilient Microservices on Microsoft Azure Service Fabric
Windows Azure Custom Software Development Mobile Middleware Windows Azure Compute Dipl.-Ing. Damir Dobric Lead Architect daenet
Mick Badran Using Microsoft Service Fabric to build your next Solution with zero downtime – Lvl 300 CLD32 5.
(re)-Architecting cloud applications on the windows Azure platform CLAEYS Kurt Technology Solution Professional Microsoft EMEA.
The best of WF 4.0 and AppFabric Damir Dobric MVP-Connected System Developer Microsoft Connected System Division Advisor Visual Studio Inner Circle member.
MIX 09 11/30/2017 5:54 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
12/29/2017 3:36 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
1/27/2018 5:13 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Run Azure Services in your datacenter
Building ARM IaaS Application Environment
Microsoft Azure Deployment Planning Services
4/24/ :07 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Microservices with Azure Service Fabric Building and Running Services at Scale
Developing Hybrid Apps on Microsoft Azure Stack
Migrating your IaaS infrastructure from ASM to ARM without downtime
Lessons learned from moving to Microsoft Azure
7/17/2018 3:31 AM BRK3313 Plan, orchestrate and tune large resource deployments on Azure infrastructure IaaS Igal Figlin Principal PM Manager – Azure Compute.
Microsoft Azure Deployment Planning Services
Modernizing Application Delivery with Containers & Kubernetes
Building Applications with Windows Azure and SQL Azure
Windows Azure Pack : Express Installation
Building Microservices Applications on Azure Service Fabric
Microsoft Azure Deployment Planning Services
Microsoft Azure Service Fabric Overview
Azure Infrastructure as a Service
Overview of Managing Apps, Services & VM in Windows Azure
9/20/ :55 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Microsoft Build /8/2018 5:15 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
02 | Hosting Services in Windows Azure
"SessionTitle": "Infrastructure as Code"
Move and manage your SQL Databases to Azure
Intro to Docker Containers and Orchestration in the Cloud
Cloud? It's All about the App!
Cloud? It's All about the App!
Learn. Imagine. Build. .NET Conf
Microsoft Virtual Academy
Introduction to Building Applications with Windows Azure
M318.
System Center Application Management
1/2/2019 5:18 PM THR3016 Customer stories: Plan and orchestrate large resource deployments on Azure infrastructure Igal Figlin Principal PM Manager – Azure.
Jim Nakashima Program Manager Cloud Tools
Stephen Baron Sr. Program Manager Lead Microsoft Corporation
Microsoft Virtual Academy
Microsoft Build /14/2019 8:42 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Saranya Sriram Developer Evangelist | Microsoft
MDC-B203 Deploying Applications in Microsoft System Center Virtual Machine Manager Using Services John Messec Program Manager Microsoft.
Building and running HPC apps in Windows Azure
Windows Azure Overview
TechEd /23/2019 9:23 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Service Template Creation from the Ground Up
02 – Cloud Services Bret Stateham | Senior Technical Evangelist​
Developing Windows Azure Applications with Visual Studio
Service Template Creation from the Ground Up
Monitor VMware with SC2012 SP1 Operation Manager & Veeam Microsoft Tools for VMware Integration & Migration Symon Perriman Michael Stafford Senior.
Office 365 Development July 2014.
Microsoft Virtual Academy
Microsoft Virtual Academy
Deep Dive Into SSIS in ADF
Johan Lindberg, inRiver
Productive + Hybrid + Intelligent + Trusted
Build /24/ What's new for Azure developers in Visual Studio 2013 update 2 and Azure SDK 2.3 Dan Fernandez Principal PM
Containers on Azure Peter Lasne Sr. Software Development Engineer
Azure DevOps Integration
Presentation transcript:

Service Fabric Patterns & Best Practices 9/20/2018 6:30 PM Service Fabric Patterns & Best Practices © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Service Fabric - Migration Khaled Henidak (Kal) @khnidk github.com/khenidak

Problem How do I migrate existing applications to Service Fabric? Migration from Azure Classic Cloud Services Migration from dedicated servers On premises On cloud Bare-metal

Why should you consider migration? As a first step of “breaking monolith into microservices” journy. Lift and shift migration (+ slightly change) from on-premises to cloud. Lower cost by employing high density deployment. A balanced choice between PaaS and IaaS. Note: Service Fabric runs everywhere, supporting Azure. On Prem. On other public clouds.

Migration From Cloud Services

Cloud Services to Service Fabric Migration Paths 9/20/2018 6:30 PM Cloud Services to Service Fabric Migration Paths From To Guest Executable To SDK Application Worker Roles Wrap your “code” in executable and re-deploy as Guest Executable to Service Fabric Re-write taking advantages of Service Fabric SDK. Web Roles Wrap your “code” in executable and re-deploy as guest executables. Keep in mind that there is no “IIS” on top of service fabric. Use in-proc web servers/listeners (note: ASP.NET < 4.6.2 will not work, MVC Web API will). Notes on Both Use SetupEntryPoint to mechanically prepare nodes for apps. Use Service Fabric versioned “Configuration” and “Data” packages to consistently manage them. Each application is a “complete” package that includes everything the app needs to run. No Azure Environment Emulation/Vars/SDK. No role lifetime management for guest executables (i.e. no OnRun/OnRunAsync). Plan for multiple apps instances on same server. + Follow https://azure.microsoft.com/en-us/documentation/articles/service-fabric-cloud-services-migration-worker-role-stateless-service/ for details on migration. © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Preparing Service Fabric nodes for your App Use App Packages Package all application + runtime on a single deployable package (use SetupEntry point for any pre work). Use Scripts in Setup EntryPoint Use PowerShell scripts to download and install runtime Use Azure VM Agent Bootstrap upon provisioning Pros Service Fabric tooling. Runtime has no footprint on nodes. Smaller Packages. Can be used to be upgrade runtime. Familiar tooling. Good for node wide configuration. Cons Large application package takes longer to deploy. Possible complexity with multiple versions of the runtime running together. Complex scripts to write (consider idempotent + concurrent deployment). Consider future config changes or upgrades (may require reimaging the node). Best with Small runtimes (i.e. python or similar) Large runtime deployment + low frequency upgrades. OS/machine wide configuration.

Migration From VMs/IaaS/Bare-Metal Simple Web App (Web FE Only) Web FE & Compute Web FE, Compute & Backend Service

Simple Web Application

Simple Web Application

Demo: Simple Web Application Migration

Simple Web App – What to watch for? 9/20/2018 6:30 PM Simple Web App – What to watch for? Servers are commodity they will come and they will absolutely go, frequently. Treat your app package that gets to deployed to ”green field” servers every time. Use setup entry points to pave servers as needed. Watch out for instance count, fault domains and upgrade domains. Full blown / out of proc web servers (IIS/Apache) Now: Break the dependencies and move to in-proc listeners. Later: Move to “containers” (does not apply on all). Databases Move to managed databases or IaaS (when you absolutely have to). © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Web Front End + Compute Service

Web Front End + Compute

Demo: Web Front End + Compute + custom stdout

Web FE + Compute – What to watch for? On Compute What is the nature of our Compute Service? Can we partition and scale our compute? Existing Logging Avoid major *opps* by reviewing log file naming + location for collision & conflicts. Traditional windows specific logging event logs/ETW + custom log files => Azure Diagnostics Extension. Custom stdout => use redirect or custom solution.

Web Front End + Backend Service + Compute Service

Web FE + Backend FE + Compute

Demo: Web FE + BE + Compute + custom stdout + Health Monitoring

FE + BE + Compute – What to watch for? 9/20/2018 6:30 PM FE + BE + Compute – What to watch for? On Backend Services Customize your cluster by using Azure internal load balancers and/or DMZs. Backend Services can be single or multiple instances as needed. Keep in mind that Service Fabric runs on customizable VMSSs. Interacting with Service Fabric Guest Executables does not have to live in void. App => Service Fabric Service Fabric APIs are exposed as REST. Use health monitoring as you can. Use performance metrics. Service Fabric => App Metadata information are available to applications as Environment Variables, look for vars prefixed with “Fabric”. © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Q / A + More Resources Service Fabric Application Model https://azure.microsoft.com/en- us/documentation/articles/service-fabric-application-model/ Cloud Service => Service Fabric guide https://azure.microsoft.com/en- us/documentation/articles/service-fabric-cloud-services-migration-worker- role-stateless-service/ Deploying Guest Executable on Service Fabric https://azure.microsoft.com/en-us/documentation/articles/service-fabric- deploy-existing-app/ Creating Azure Internal Load Balancer https://azure.microsoft.com/en- us/documentation/articles/load-balancer-get-started-ilb-arm-cli/ All code used will be on github.com/khenidak