Microsoft Azure Service Fabric Agenda Service Fabric Introduction
Microsoft Azure Service Fabric
Agenda • • • Service Fabric Introduction Concepts and terminology Service management life cycle Portal Fault Analysis service Monitoring and diagnostics
Why a microservices approach? • Build and operate a service at scale • Continually evolving applications • Faster delivery of features and capabilities to respond to customer expectations • Improved resource utilization to reduce costs
Monolithic application approach • A monolith app contains domain specific functionality and is normally divided by functional layers such as web, business and data • Scales by cloning the app on multiple servers/VMs/Containers App 1 Microservices application approach • A microservice application separates functionality into separate smaller services. • App 1 App 2 Scales out by deploying each service independently creating instances of these services across servers/VMs/containers
What is a microservice? Encapsulates a scenario Are developed by a small engineering team Can be written in any language and framework Contain code plus state that is independently versioned, deployed, and scaled § Interact with other microservices over well defined interfaces and protocols such as http § Have a unique name (URL) that can be resolved § Remains consistent and available in the presence of failures § §
Azure Service Fabric Scalability Availability Azure Performance Service Fabric Private cloud Lifecycle management Portability Other clouds Monitoring
Service Fabric management capabilities § § § § Reliable optics into application health Automatic repair action based on policies you set Scales up/down based on service demand Integrated alerting and notification system Tools to effectively test a service for robustness Tools for easy deployments and config management Tools to perform service upgrades without downtime
Service Fabric Cluster Node Node
Defining applications and services Code Config Application Type Unit of • Deployment • Activation Service type A 100 MB Service type B Service Package B A 2 GB Application Package Unit of • Lifetime • Versioning • Isolation
Instantiating an application Node Node Service Package A Service Package B Node
Demo § Portal § Create a Cluster § ARM Template Deploy an application
Service Fabric Programming Models Scalability Availability Performance Azure Service Fabric Private cloud Lifecycle management Portability Other clouds Monitoring
Demo § Visual Studio support for Service Fabric § Service Fabric Explorer
Upgrading Services with zero downtime Node Service Package A Service Package B Node
Demo No downtime application upgrade
Demo • Fault Analysis service & Resource balancing
Performance and stress response • Rich built-in metrics for Actors and Services programming models • Easy to add custom application performance metrics • we emit standard ETW events, you can use any tool of your choice to consume and visualize Health status monitoring • Built-in health reports for cluster and system services • Flexible and extensible health store for custom app health reporting • Allows continuous monitoring for real-time alerting on problems in production Business telemetry • Collect, analyze and drive insights from your customers’ interaction with your application • Allows data-driven decision making
Detailed System Optics • Repair suggestions. Examples: Slow Run. Async cancellations, Run. Async failures • All important events logged. Examples: App creation, deploy and upgrade records. All Actor method calls. • Detailed System events - Allow you to know what service fabric was doing at the time of the incident. Custom Application Tracing • ETW == Fast Industry Standard Logging Technology • Works across environments. Same code runs on devbox and also on production clusters on Azure. • Easy to add and system appends all the needed metadata such as node, app, service, and partition. Choice of Tools • • Visual Studio Diagnostics Events Viewer Windows Event Viewer Windows Azure Diagnostics + Operational Insights Easy to plug in your preferred tools: Kibana, Elastisearch and more
Call to Action http: //aka. ms/Service. Fabricdocs http: //aka. ms/Service. Fabricforum http: //stackoverflow. com/questions/tagged/azure-service-fabric http: //portal. Azure. com
- Slides: 20