Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
In De Wolken Met Cloud Computing
1. In de wolken met cloud
computing?
Een introductie, overzicht en vergelijking…
Dec-09
2. Introducing…
• Class-A
• Kennisprovider
• Microsoft development
• Training & Coaching
• http://www.class-a.nl
• Anko Duizer
• Trainer/ coach
• Blog: http://www.ankoduizer.nl
• Twitter: ankoduizer
3. Overview 3
• What is cloud computing?
• What is Windows Azure?
• Scenarios
• Challenges
4. The big switch? 4
• From your own Burden wheel to large-scale
electricity…
• Large scale electricity was possible by a
series of scientific and engineering
breakthroughs
• But what ensured the triumph was not
technology but economics
• It changed our lives completely: we have
light everywhere and power at each house!
5. The next big switch? 5
• Cloud computing is moving away from the
personal computer to a public grid: The
Internet
• Centralized data processing
• Computing is turning into a utility
• Is driven by economics
• Is processing information the next electricity?
• Will this change our lives once again?
6. Cloud duurder dan
datacenter
Capaciteit huren in
de cloud
Schneier: cloud
computing niet
onveiliger Computable, 2008
8. Cloud computing is Internet
("cloud") based development
and use of computer technology
("computing”)
9. What is the cloud? 9
• A set of connected servers
• Offers infrastructure, platform and software
as a service
• An infrastructure on which you can:
• Install and run services
• Store and retrieve data
• We have public and private clouds
10. Characteristics of the cloud 10
• The management/ administration of the
systems is not in hands of the user
• The user pays a recurring fee
• Pay for what you use (utility based
computing)
• The capacity of the infrastructure is elastic
• Strong focus on integration (cloud-cloud,
cloud-on premises)
21. Windows Azure platform 21
AppFabric
Applications SQL Azure
Windows Azure Live Services
Applications
Windows Windows 7/ Windows Others
Server Vista/XP Mobile
22. Windows Azure 22
Application
Compute Storage
Config Fabric
25. SQL Azure 25
SQL Data
Services
Others
(future)
26. SQL Azure architecture 26
Application Application
Browser
ODBC, OLEDB,
application
REST Client SQL Client* ADO.Net PHP,
Ruby, …
Cloud
HTTP+REST
HTTP
TDS
Windows Azure
REST Web App
Data center
ADO.Net + EF SQL Client*
TDS + TSQL Model
SQL Azure
27. Information services “Dallas” 27
• Information as a Service
• Content brokerage and discovery platform
• Discover, explore and use any type of content
• Blobs, structured, real-time web services
• Tap into an ecosystem of global content
providers
• Process and analyze data
• Empowers developers of all sizes
• Built on Windows Azure and SQL Azure
28. Windows Azure service lifecycle 28
Coding and Provisioning Deployment Maintain
Modeling goal state
- Mapping and
deploying to - Monitor
New services Desired actual - React to
configuration hardware events
and updates
- Network
configuration
Developer Developer/ Automated Automated
Deployer
29. From on-premises to cloud platforms
Cloud
Cloud infrastructure
application services
Cloud foundation Cloud application
services
On-premises
On-premises
infrastructure
application services
OS On-premises
application
services
31. Azure : designed for the cloud
• For easy access, from anywhere
• Language agnostic REST APIs
• Client libraries for .NET, Java, PHP, …
• For durability
• All data is replicated 3 times within a cluster, and
across datacenters
• For massive scale
• Data is automatically partitioned and load
balanced across servers
32. Windows Azure – coming soon… 32
• Programming model
• Administrator privilege in the VM
• Deployment of pre-configured VM images
• Storage
• User-selectable geo locations for replicas
• Secondary indices on tables
• Service management
• Remote terminal server access to VMs
34. Cloud platform scenarios
1. Running an on-premise app unchanged in
the cloud
2. Scalable web application
3. Parallel processing application
4. Web application with background
processing
5. Archiving
35. Scenarios versus capabilities 35
Run On- Scalable Parallel Background Archiving
Premise web apps processing processing
apps apps
VM with
standard OS
X
Scale-out
web app X X
platform
Scale-out
batch app X X
platform
Relational
storage
X X X X
Scale-out
storage
X X X
Blobs
Queues X X
36. Amazon Web Services 36
Run On- Scalable Parallel Background Archiving
Premise web apps processing processing
apps apps
VM with
standard OS
EC2 VMs
Scale-out
EC2 VMs EC2 VMs
web app
platform
Scale-out
EC2 VMs EC2 VMs
batch app
platform
Relational RDS RDS
storage RDS
Scale-out
storage
SimpleDB SimpleDB
Blobs S3 S3
Queues SQS
37. Google AppEngine 37
Run On- Scalable Parallel Background Archiving
Premise web apps processing processing
apps apps
VM with
standard OS
Scale-out Java/
web app Python
platform runtime
Scale-out
batch app
platform
Relational
storage
Scale-out
storage
Datastore
Blobs
Queues
38. Salesforce.com Force.com 38
Run On- Scalable Parallel Background Archiving
Premise web apps processing processing
apps apps
VM with
standard OS
Scale-out
Force.com
web app
runtime
platform
Scale-out
batch app
platform
Relational
storage
Scale-out Force.com
storage storage
Blobs
Queues
39. Windows Azure platform 39
Run On- Scalable Very Parallel Background Archiving
Premise web apps scalable processing processing
apps web apps apps
VM with
standard OS
VMs
Scale-out
web app Web role Web role Web role
platform
Scale-out
Worker Worker
batch app
platform role role
Relational SQL SQL SQL
storage Azure Azure Azure
Scale-out
storage
Tables Tables Tables
Blobs Blobs Blobs
Queues Queues
40. Summarize platform comparison 40
Run On- Scalable Parallel Background Archiving
Premise web apps processing processing
apps apps
Mosso X X
Amazon Web
Services
X X X X X
Microsoft
Windows Azure
X X X X X
Google
AppEngine
X
Salesforce.com
Force.com
X
41. Workload patterns optimal for cloud 41
“On and Off “ “Growing Fast“
Compute
Compute
Inactivity
Period
Average Usage
Average Usage
Time Time
On & off workloads (e.g. batch job) Successful services needs to grow/scale
Over provisioned capacity is wasted Keeping up w/ growth is big IT challenge
Time to market can be cumbersome Complex lead time for deployment
“Unpredictable Bursting“ “Predictable Bursting“
Compute
Compute
Average Usage Average Usage
Time Time
Unexpected/unplanned peak in demand Services with micro seasonality trends
Sudden spike impacts performance Peaks due to periodic increased demand
Can’t over provision for extreme cases IT complexity and wasted capacity
43. Legal
Availability
Vendor lock-in
Trust New
development
API?
Costs
Software +
Services?
44. Vendor lock-in? 44
• The interoperability story is quite good.
• Cloud platforms can expose and consume web
services en RESTfull interfaces
• Cloud platform data can be accessed by other
applications
• The portability story is quite different…
• It strongly depends, each vendor is doing it
differently
• Moving apps form on-premise to the cloud and
back is hard!