Building scalable cloud-native applications (Sam Vanhoutte at Codit Azure PaaS Event)
-
Upload
codit -
Category
Technology
-
view
55 -
download
3
Transcript of Building scalable cloud-native applications (Sam Vanhoutte at Codit Azure PaaS Event)
2014_Codit-company-presentation_LIGHT
Building scalable, cloud-native solutions.Learnings from the field.Sam Vanhoutte, CTO@samvanhoutte
1
Hello world23rd year Azure MVP+ 100 Active customers2000 Belgium2004 France2008 Netherlands2013 Portugal2016 Switzerland2016 U.K.
Close collaboration with Microsoft
+120 employees
Azure & IoT Advisor8th year Microsoft P-TSPAzure CAT support
IntegrationAzureIoTAPI [email protected]+32 474 849 [email protected]/in/samvanhoutte
2
AgendaContext & positioningConsumption predictionMake it scaleMulti-tenancyTracing & loggingGeneral cloud aspects
Multi tenancyTracing & loggingAPI management from the beginningScalability and partitioningSecurity concernsPricingStateful vs statelessServerlessScalability (small vs large)Geo-deployments (traffic manager / cdn)Concurrency & locking when scalingThrottling
3
Why is integration more important now than ever?
Digital transformationApp is king
Data is everywhereEverything is connected
Architecture is key, integration is the backbone
Businesses are seen as being innovativeIT is seen as catching up to innovation
3 components: proliferation of apps, data as management nightmare, smart devices that need to interact
4
Typical cloud solutions
Which of the following types of applications are you currently developing using a cloud environment or have you delivered to a cloud environment in the past 12 months?Application integrationInternal web business applicationsMobile sites/applicationsHigh-performance computingApplication testing and QACorporate intraneteCommerce siteSocial computing/collaborationA new business serviceMarketing siteBatch jobs
39% 39% 37% 35% 33% 32% 32% 30% 27% 26%25%Source: Improve Quality and Speed with Application Testing in the Cloud, Forrester Research, Inc., January 28, 2016.
Forrester report that surveyed 675 cloud developers
39% delivering an application integration solution
Higher than mobile, e-commerce S4 Solution Specialist Sales Summit 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.10/25/2016 6:38 AM5
The interface is where the profit is
the worlds most popular media company creates no contentthe most valuable retailer carries no stockthe worlds largest accommodation provider owns no propertythe world largest taxi company owns no car
control the interface between the consumer and the provider take a cut from the millions of consumers6
The story of the WiFi-Kettle7
A British guys wanted his morning tea.
7
The story of the WiFi-Kettle8
Luckily he was a geek and decided to live tweet his 11hr struggle.
The story of the WiFi-Kettle9
The story of the WiFi-Kettle10
It all starts with an idea11
Learnings from the field12
Consumption prediction in Azure PaaS
What will it cost ?Business modelCost prediction needed
Architecture needs to be designedLoad predictability is needed
Prediction (start) vs Reality (go-live)
Businesses are seen as being innovativeIT is seen as catching up to innovation
3 components: proliferation of apps, data as management nightmare, smart devices that need to interact
13
Considerations that impact scalabilitydecouple, partition & throttle
Throttling
External communications
Partitioning
Microservices
Resource size
Concurrency & locking
Communication patterns
Caching
X API management from the beginning (external buffer)X Scalability and partitioningX Microservices - Stateful vs statelessServerless (attention points)X Scalability (small vs large)X Concurrency & locking when scalingX Throttling14
Chosing the right communication pattern15Information lookupMost Web APIsAvoid data duplicationUI integrationRPC
AsyncDurable messagingScalable & multi-castLoad levelingTemporary unavailable
BulkScheduled data exchangeBulk or batch dataTraditional appsInitial import & data load
Handle external communications16Requests outside of appSecurity, monitoringDocumentation, portalDNS handlingAPI Management
Queuing Standards basedDurable messagingLoad levelingPeek/lock/retry
Version API versioningMessage versioningMonitor usage
Testing is crucialMostly scaling out is easier than scaling upAutoscaling is welcome, but complexResource sizes matter17Many small vsFew large
The rise of serverless
Autoscale & test
Think about downstream (LOB?) systemsAggregate and forward, when possibleRetries are important, but think about your strategyThrottling will help your connected systems18Async messaging
Plan retries
Timers & Reminders
Synchronization of cache & data storeThink distributed Cache, but not too much19Distributed cacheWrite throughRead behind
Stateful actors or services
Use hashing algorithm, based on functional valueStateless vs stateful
Data & service partioning20Colocated dataParallellism over partitions
Partitioning scheme
Multi tenancy
Design for multi-tenancy from the beginningHow do tenants impact your costs? Isolate data per tenantavoid app filtering on tenantsAuto deploy for tenant creationIsolate data, but allow for anonymized cross tenant analytics
Businesses are seen as being innovativeIT is seen as catching up to innovation
3 components: proliferation of apps, data as management nightmare, smart devices that need to interact
21
Track & trace22Tracing frameworksOpt for centralized monitoringExtract functional metadata Correlation
Management
Application insights
CIC demoRefer to ALM22
DevOps23More self-service
Security & RBAC
Staging & ALM
External connections
Align proceduresGood communication between Dev & OpsAutomation of ALM
RBAC in Azure portal23
Fast iterations in the cloud24New servicesNew featuresBackwards compatibilityDeprecation of servicesClosely follow up on roadmap & announcementsDesign for changeUse abstraction to cope with changesForesee versioning or compatibility for external API
API management 24