Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie Microservices?
-
Upload
afas-software -
Category
Technology
-
view
1.148 -
download
0
Transcript of Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie Microservices?
Pieter de Bruin26-11-2016
Microservices technologies
AgendaIntroductionASP.NET 5Containers: Windows & DockerService FabricConclusion
Platform Services
Security & Manageme
nt
Infrastructure ServicesCompute Storage
Datacenter Infrastructure (24 Regions, 19 Online)
Web and MobileWeb Apps
MobileApps
APIManagement
APIApps
LogicApps
NotificationHubs
Media & CDNContent DeliveryNetwork (CDN)
MediaServices
Analytics & IoT
HDInsight MachineLearning
StreamAnalytics
DataFactory
EventHubs
MobileEngagement
ActiveDirectory
Multi-FactorAuthentication
Automation
Portal
Key Vault
IntegrationBiztalkServices
HybridConnections
ServiceBus
StorageQueues
Store /Marketplace
HybridOperations
Backup
StorSimple
SiteRecovery
Import/Export
Networking
Data
SQLDatabase
DocumentDB
RedisCache Search
Tables
SQL DataWarehouse
Azure AD Connect Health
Virtual Network
ExpressRoute
BLOB Storage
Azure Files
Premium Storage
Virtual Machines
AD PrivilegedIdentity Management
Traffic Manager
Application Gateway
OperationalInsights
ComputeCloudServices
Batch Remote App
ServiceFabric
Developer Services
Visual Studio
ApplicationInsights
Azure SDK
Team Project
Containers
VM Image Gallery& VM Depot
DNS VPN Gateway
Load Balancer
AZURE REGIONS
24Azure regions around the world
Enterprise proven
Hybrid
Hyper-scale
Hybrid
Hybrid
Azure Stack
On-premises
Enterprise proven
Hybrid
Hyper-scale
Open + Flexible
Open & flexible Applications
Infrastructure
Management
Databases & Middleware
App Frameworks
Linux
Enterprise proven
Hybrid
Hyper-scale Open & flexible
TrustworthyMore compliance certifications than any other cloud
Trustworthy
Developer & IT productivity
Trustworthy
Platform for SaaS extensibility
ASP.NET 5
What is ASP.NET 5?
A new open-source and cross-platform framework for building modern cloud-based Web applications using .NET
ASP.NET and the Modern Web
Choose your Editors and Tools
Open Source with Contributions Cross-PlatformOSS
Seamless transition from on-premises to cloud
Faster Development CycleTotally Modular
Fast
ASP.NET 5 in a Nutshell
.NET Framework 4.6 .NET Core 5 Full .NET Framework for any scenario and
library support on WindowsModular libraries & runtime optimized
for server and cloud workloads
ASP.NET 4.6 (System.Web)
MVC 5.x
MVC / Web API 6
Core CLR .Net Native
ASP.NET 5
Web API 2.2
WebForms
.NET Execution Environment (DNX)
MICROSOFT CONF IDENTIAL – INTERNAL ONLY
MVC 6: MVC, Web API, Web PagesOne set of concepts – remove duplicationWeb UI and Web APIsSmooth transition from Web Pages to MVC (future)Built DI firstBuilt on ASP.NET 5Runs on IIS or self-hostedSupports .NET Core
Demo
Containers
What is a Container• Declarative packaging• Unit of deployment• Isolated environment • Isolated resources
Container 101
Why Containers• Avoid “It works on my machine”• Write once run anywhere• Very lightweight• Massive Scale• Repeatable and reliable execution• Dev Ops• Great for microservices
Win
dows
Use Hyper-V Containers when: The host doesn’t trust the code it’s hosting in the container You want a version of Windows different than what’s running in the
container host
Windows Isolation SpectrumQuotas
and limits
Process
State isolatio
n
Hostile Multi-tenant Isolation
Hardware virtualization
Job Objects
Windows Server
Containers
Hyper-V Container
s
Hyper-V Virtual
Machines
Faster and more efficient More isolated and more secure
New
Docker 101Container ImagesContainer Run-
Time
Linux
Image Repository
(Docker API/Client) (Docker images) (Docker Hub/Trusted Repositories)
Choice
Windows Server ImageWindows Extension
Windows Containers on Azure
Azure
Curated ExtensionsAgent
Demo
Service Fabric
Comparing Azure Cloud Services vs. Azure Service Fabric
Azure Cloud Services (Web and Worker Roles)
Azure Service Fabric(Stateless, stateful or Actor services)
• 1 service instance per VM with uneven workloads
• Lower compute density• Slow in deployment & upgrades• Slower in scaling and disaster recovery
• Many microservices per VM• High microservices density• Fast deployment & upgrades• Fast scaling microservices across
the cluster
Azure Other cloudsPrivate cloud
Service Fabric
Scalability
Availability
Performance
Lifecycle manageme
ntPortability Monitoring
Azure Service Fabric
In other wordsCluster VMs to create a pool of resourcesDeploy apps into the clusterScale out and scale downHandle failures transparently by providing failover for applicationsAutomatically move applications to utilize the resources most efficientlyFind where an application is currently runningRoll out application upgrades with no downtimeProvide application diagnostics and monitoring insight
Azure Core Infrastruct
urethousands of
machines
Power BI
Intune800k
devices
Azure SQL Database
1.4 million databases
Bing Cortana
500m evals/sec
Azure Document
DBbillions
transactions/week
Skype for Business
Hybrid Ops
Event Hubs
20bn events/day
Services built with Service Fabric
Service Fabric Preview271 customers
A set of machines that Service Fabric stitches together to form a cluster
Clusters can scale to 1,000s of machines
Service Fabric Cluster
Update system services
File store service
Naming service
Cluster manager
Failover manager
System Services
Usually stateless microservice with related remote external database, SQL DB, DocDB, etc.
Like stateless service plus Data is in-memory and/or persisted locally. Data is replicated across the Service Fabric cluster to other nodes
Stateless vs. Stateful services in Azure Service Fabric
Stateful service
Sample Scenarios• Traditional WebApp or Service (even monolithic
approach)• Stateless microservice with related external DB• Large/complex enterprise applications based on
microservices• Domain-Driven Design scenario evolution
• Stateless background service for batch/scheduled processes
Sample Scenarios• Stateful microservice with fast data
processing because of no latency between logic and data
• Gaming backends• Live IoT backends• High scalable/available database
implementation (i.e. Azure Document DB, Azure SQL DB)
• Other..
Stateless service .NET process
(currently)
Any other language in the future (Node.js, Java, etc.)
Stateless services in Service Fabric can fit great into most current enterprise high- scalable architectures and scenarios
Stateful services in Service Fabric are special scenarios not suitable for all applications.
Application Contain
erContain
er
Container
Container
Application: A group of microservices
Other important topics in Service Fabric
• Rolling Upgrades• Health Monitoring• Cluster lifecycle
management• Cluster Self-healing• Automated Rollback• Placement Constraints• Resource Balancing• Replication & Failover
Demo
SummaryASP.NET 5, containers, service fabric and Azure provide all kind of options for microservice solutions.
Microsoft loves microservices
© 2014 Microsoft Corporation. All rights reserved.