3. Nicolas Georgeault
– MVP2y SharePoint Server
– Architecte SP chez Exakis
– RP Collab et BI
Consultant & Speaker
– nicolasgt@exakis.com
– http://nicolasgt.exakis.com (Blog CKS:EBE sur WSS3.0)
– http://www.facebook.com/nicolas.georgeault
– http://twitter.com/ngeorgeault
– http://www.slideshare.com/ngeorgeault
Passionné de Horse-Ball
– Webmaster www.fihb-horseball.org
4. • National ET Régional
– 23 mai à Paris
– 15 septembre à Nantes
– 29 septembre à Rennes
• Groupe d’échange sur les usages et les bonnes pratiques
• SharePoint Saturday
• SharePoint Conférence Paris (10-13 Avril 2012)
• Afterworks des communautés
– 2ième Jeudi du mois à Nantes
– Dernier jeudi du mois à Rennes
http://www.club-sharepoint.fr
http://www.ugsf.fr
5. Rappel sur le concept de Cloud Computing
Le Cloud chez Microsoft
La plateforme Windows Azure
La plateforme Office 365
6. • Manque d’agilité pour parvenir à déployer les applications et services qui
créent de la valeur métier
• Equipes informatiques essentiellement focalisées sur l’exploitation des
systèmes existants, pas sur les projets stratégiques pour l’entreprise
• Maintenance et sécurité des postes de travail et des applications difficiles
et coûteuses
• Coûts informatiques non prédictibles et non maîtrisés
Des métiers moins Des directions
productifs et peu générales ne percevant
satisfaits que des coûts et faible
ROI
7. 2010 Cloud
2000 SOA
1990 Web
1980 Client-Server
1970 Mainframe
8. Software As A Service
Infrastructure As A Service
Platform As A Service
Anything As A Service ??
9. • Notion de Self-service, Service à la demande
• Accès réseau ubiquitaire
• Mise en commun des ressources
– Indépendance de l’emplacement
– Homogénéité
• « Élasticité » rapide
• Service mesuré en permanence (SLAs)
10. • Software as a Service (SaaS)
– Utilisation des applications du fournisseur de services à travers
le réseau
• Platform as a Service (PaaS)
– Déploiement d’applications créées par le client dans le Cloud
• Infrastructure as a Service (IaaS)
– Location de capacités de traitement, de stockage, de réseau et
autres ressources
11. Private Infrastructure Platform
(On-Premise) (as a Service) (as a Service)
You manage
Applications Applications Applications
You manage
Runtimes Runtimes Runtimes
Security & Integration Security & Integration Security & Integration
Managed by vendor
Databases Databases Databases
You manage
Servers Servers Servers
Managed by vendor
Virtualization Virtualization Virtualization
Server HW Server HW Server HW
Storage Storage Storage
Networking Networking Networking
12. Private Infrastructure Platform
(On-Premise) (as a Service) (as a Service)
13. Capacités
fournies par
l’IT Prévision de
CAPACITE INFORMATIQUE
Sous-capacité charge
« Gâchis » Coût fixe
de capacités pour les
capacités
fournies par
l’IT
Barrière pour
les
innovations Charge
actuelle
TEMPS
14. Capacités
fournies par
l’IT Prévision
CAPACITE INFORMATIQUE
de
charge
Pas de sous-capacité
Réduction de Réduction
la surcapacité possible des
capacités IT
en cas de
diminution de
la charge
Réduction des Charge actuelle
investissements
initiaux
TEMPS
15. Web
Applications
Windows
Windows Live
Live (2010)
Messenger Disponible
pour 450
(2003) (2004) millions de
Windows 5 2 milliards consommate
Update (2001) emails/jour
+ 20 M milliards urs
(1999) util. min conf
2 Milliards actifs /an
(1999) requêtes/mois
+ 320 M
util.
(1998) actifs
Windows
Logiciel +
Live
Service
Hotmail
450 M util.
(1997)
1 milliard =
550 M
Nombre d‘authentification
util./mois
Windows Live ID chaque jour
(1996)
+ 450 M
util. actifs
16. ~100 Data Centers répartis
Quincy, WA Chicago, IL San Antonio, TX Dublin, Ireland Datacenters de
4ième Generation
18. • Plus de $2 millards investis
• Env. 100 Data Centers
Microsoft gére
• Conformité avec les procédures de sécurités (SOX)
• Flexibilité entre Cloud Public et Privé
• Innovation en terme d’empreinte carbone
PRODUCTIVITE COMMUNICATIONS COLLABORATION BUSINESS APPS MANAGEMENT STOCKAGE PLATEFORME
• 30 000 ingénieurs travaillent sur les services Cloud
Vous gérez
• 70% de l’ensemble des produits serveurs auront une offre
Cloud d’ici 2012
24. Distribution, stockage et calcul évolutif
Réseau privé virtuel (VPN)
Gestion des services automatisés
Langages, technologies et outils familiers
Stockage relationnel pour le nuage
Synchronisation et reporting
Modèle de développement cohérent
Gestion automatisée
Cache distribué
Capacité de bus de services
Service de contrôle des accès
Service d'intégration et de composition de la
demande
25. Compute Storage CDN Management
Database Data Sync Reporting Management
Service Bus Access Control Caching Virtual Network
AppFabric
App Data App Data
App Data App Data
Platform
26. Un système d’exploitation pour le Cloud
Réduction des coûts
Agilité / on-demand
Efficacité
Interoperabilité
Focus
29. Web et
Clouds
Experience Developpeurs
Sur la base de compétences existantes et d‘outils connus.
Web applications Third party Cloud
On-
Composite applications premises LOB Applications
30. Migrer des applications dans le Cloud
Créer de nouvelles solutions en créant
des services Cloud
Stocker des données dans le Cloud
Créer de nouveaux services Cloud
Etendre des applications au Cloud
31. “On and Off “ “Growing Fast“
Compute
Compute
Inactivity
Period
Average Usage Average Usage
Time
Time
Scénarios d’usage temporaire Service à succès, réussite commerciale
Gaspillage de ressources non exploitées S’adapter à la demande est difficile
Délais de déploiement parfois importants Temps de déploiements et mise en oeuvre complexe
“Unpredictable Bursting“ “Predictable Bursting“
Compute
Compute
Average Usage Average Usage
Time Time
Pics de consommation imprévisibles Services répondant à des saisonnalités
Impact négatif sur la performance Pics de consommation périodiques
Trop coûteux à anticiper ou provisionner Complexité du SI et gaspillage de ressources
32. Contrôle d’accès
Web edition
Traitement Bus de données
Business edition
Stockage Bande passante
33. Supervision Service Base de Stockage Bus de
systématique connecté et données connecté et données
des instances accessible via connectée accessible accessible
le Web
Détection et Disponible et Requêtes Opérations
action sur les Engagement supervisée complétées sur les
défauts pour 2+ sur intervalles en intégralité messages
matériels instances/rôle de 5-minutes complétées
en intégralité
Automatique >99.95% >99.9% >99.9% >99.9%
34. Détermine la valeur “quantitative” de
Windows Azure
TCO du développement et opérations
sur Windows Azure comparé à un
hébergement traditionnel
Estimation du coût de fonctionnement
sur Windows Azure
http://www.microsoft.com/windowsazure/tco/
35. http://www.windowsazure.fr
Explorez l’infini en 24h au travers de 3 exercices et repartez avec un Pass qui
vous permet d‘accéder à un vrai compte Windows Azure gratuitement
pendant 30 jours.
Les abonnés MSDN bénéficient d‘avantages pour tirer profit de la
plateforme Windows Azure tels que 750 heures/mois, base de données
SQL Azure…
Offre de Découverte ―Windows Azure Platform Introductory Special‖ —
Cette offre promotionnelle vous permet d'essayer gratuitement la plateforme
Windows Azure. L'abonnement comprend un niveau de base de 25h de
calcul/mois, du stockage, du transfert de données...
40. •
•
•
•
•
•
1. One site collection, authenticated external user access enabled for up to 50 unique users/month.
2. Includes ready-to-use templates, option to add custom domain.
41. Synchro d’annuaire Active Directory
2 Archivage
3 BlackBerry Enterprise Services Office 365 pour les
Croissance au-delà de 50
entreprises
4
utilisateurs
5 Support téléphonique 24x7
6 Administration avancée
47. • Présentations:
– Windows Azure Platform par David Chou – Microsoft Corp
– Azure Services Platform par David Chou – Microsoft Corp
• Sessions Techdays 2011:
– A la découverte de Windows Azure
G.Renard & S.Warin
http://www.microsoft.com/france/mstechdays/showcase/player
.aspx?uuid=0667e04a-627f-42ee-9475-a289fb36c010
– Office 365: Vue d’ensemble de la solution
C.Lentini, C.Fumey & D.Caro
http://www.microsoft.com/france/mstechdays/showcase/player
.aspx?uuid=5c172a2a-ef9d-4880-81a5-48b8e536537e
52. Web Hosting High performance computing
Massive scale infrastructure Parallel & distributed processing
Burst & overflow capacity Massive modeling & simulation
Temporary, ad-hoc sites Advanced analytics
Application Hosting Information Sharing
On-premise extensions Common data repositories
Composite applications Reference data
Automated agents / jobs Knowledge discovery & mgmt
Media Hosting & Processing Collaborative Processes
CGI rendering Multi-enterprise integration
Content transcoding B2B & e-commerce
Media streaming Supply chain management
Distributed Storage Health & life sciences
External backup and storage Domain-specific services
53. Design configuration changes
Horizontal scaling Data & Content
Service-oriented composition De-normalization
Eventual consistency Logical partitioning
Fault tolerant (expect failures) Distributed in-memory cache
Security Diverse data storage options (persistent &
transient, relational & unstructured, text
Claims-based authentication & access
& binary, read & write, etc.)
control
Federated identity Processes
Data encryption & key mgmt. Loosely coupled components
Parallel & distributed processing
Management
Asynchronous distributed communication
Policy-driven automation
Idempotent (handle duplicity)
Aware of application lifecycles
Isolation (separation of concerns)
Handle dynamic data schema and
54. Presentation
• ASP.NET C#, PHP, Java
• Distributed in-memory cache
Services
• .NET C#, Java, native code
• Distributed in-memory cache
• Asynchronous processes
• Distributed parallel processes
• Transient file storage
Connectivity
• Message queues
• Service orchestrations
• Identity federation SERVICE ACCESS WORK
BUS CONTROL FLOWS
• Claims-based access control
• External services connectivity
Storage
• Relational & transactional data
• Federated databases
• Unstructured, de-normalized data
• Logical partitioning
• Persistent file & blob storage
• Encrypted storage
55. Cloud Web Application
Web Mobile Silverlight WPF
Browser Browser Application Application
User
Jobs
Enterprise ASP.NET Web Svc Application
ASP.NET ASP.NET (Worker
ASP.NET
Application (Web Role)
ASP.NET (Web Role)
ASP.NET ASP.NET Service
(Web Role)
ASP.NET (Web Role)
ASP.NET (Web Role)
Role)
ASP.NET
(Web Role)
ASP.NET (Web Role)
ASP.NET (Web Role)
ASP.NET
(Web Role) (Web Role) (Web Role)
(Web Role) (Web Role) (Web Role)
Enterprise Data
Web Svc Service
Table Blob
Queue
Enterprise Storage Storage Storage
Service
Data Service Service Service
Enterprise Access Identity
User Application Reference Workflow
Identity Service Bus Control Service
Data Data Data Service
Service
Private Public Cloud
Cloud Services
56. Composite Services Application
Web Mobile Silverlight WPF
Browser Browser Application Application
User
Jobs
Enterprise ASP.NET Web Svc Application
ASP.NET ASP.NET (Worker
ASP.NET
Application (Web Role)
ASP.NET (Web Role)
ASP.NET ASP.NET Service
(Web Role)
ASP.NET (Web Role)
ASP.NET (Web Role)
Role)
ASP.NET
(Web Role)
ASP.NET (Web Role)
ASP.NET (Web Role)
ASP.NET
(Web Role) (Web Role) (Web Role)
(Web Role) (Web Role) (Web Role)
Enterprise Data
Web Svc Service
Table Blob
Queue
Enterprise Storage Storage Storage
Service
Data Service Service Service
Enterprise Access Identity
User Application Reference Workflow
Identity Service Bus Control Service
Data Data Data Service
Service
Private Public
Cloud Services
57. Cloud Agent Application
Web Mobile Silverlight WPF
Browser Browser Application Application
User
Jobs
Enterprise ASP.NET Web Svc Application
ASP.NET ASP.NET (Worker
ASP.NET
Application (Web Role)
ASP.NET (Web Role)
ASP.NET ASP.NET Service
(Web Role)
ASP.NET (Web Role)
ASP.NET (Web Role)
Role)
ASP.NET
(Web Role)
ASP.NET (Web Role)
ASP.NET (Web Role)
ASP.NET
(Web Role) (Web Role) (Web Role)
(Web Role) (Web Role) (Web Role)
Enterprise Data
Web Svc Service
Table Blob
Queue
Enterprise Storage Storage Storage
Service
Data Service Service Service
Enterprise Access Identity
User Application Reference Workflow
Identity Service Bus Control Service
Data Data Data Service
Service
Private Public
Cloud Services
58. B2B Integration Application
Web Mobile Silverlight WPF
Browser Browser Application Application
User
Jobs
Enterprise ASP.NET Web Svc Application
ASP.NET ASP.NET (Worker
ASP.NET
Application (Web Role)
ASP.NET (Web Role)
ASP.NET ASP.NET Service
(Web Role)
ASP.NET (Web Role)
ASP.NET (Web Role)
Role)
ASP.NET
(Web Role)
ASP.NET (Web Role)
ASP.NET (Web Role)
ASP.NET
(Web Role) (Web Role) (Web Role)
(Web Role) (Web Role) (Web Role)
Enterprise Data
Web Svc Service
Table Blob
Queue
Enterprise Storage Storage Storage
Service
Data Service Service Service
Enterprise Access Identity
User Application Reference Workflow
Identity Service Bus Control Service
Data Data Data Service
Service
Private Public
Cloud Services
59. Grid / Parallel Computing Application
Web Mobile Silverlight WPF
Browser Browser Application Application
User
Jobs
Enterprise ASP.NET Web Svc Application
ASP.NET ASP.NET (Worker
ASP.NET
Application (Web Role)
ASP.NET (Web Role)
ASP.NET ASP.NET Service
(Web Role)
ASP.NET (Web Role)
ASP.NET (Web Role)
Role)
ASP.NET
(Web Role)
ASP.NET (Web Role)
ASP.NET (Web Role)
ASP.NET
(Web Role) (Web Role) (Web Role)
(Web Role) (Web Role) (Web Role)
Enterprise Data
Web Svc Service
Table Blob
Queue
Enterprise Storage Storage Storage
Service
Data Service Service Service
Enterprise Access Identity
User Application Reference Workflow
Identity Service Bus Control Service
Data Data Data Service
Service
Private Public
Cloud Services
60. Hybrid Enterprise Application
Web Mobile Silverlight WPF
Browser Browser Application Application
User
Jobs
Enterprise ASP.NET Web Svc Application
ASP.NET ASP.NET (Worker
ASP.NET
Application (Web Role)
ASP.NET (Web Role)
ASP.NET ASP.NET Service
(Web Role)
ASP.NET (Web Role)
ASP.NET (Web Role)
Role)
ASP.NET
(Web Role)
ASP.NET (Web Role)
ASP.NET (Web Role)
ASP.NET
(Web Role) (Web Role) (Web Role)
(Web Role) (Web Role) (Web Role)
Enterprise Data
Web Svc Service
Table Blob
Queue
Enterprise Storage Storage Storage
Service
Data Service Service Service
Enterprise Access Identity
User Application Reference Workflow
Identity Service Bus Control Service
Data Data Data Service
Service
Private Public
Cloud Services
63. Fabric
Fabric controller
Compute Storage
The Fabric Controller communicates with
every server within the Fabric. It manages
Windows Azure, monitors every application,
decides where new applications should run –
optimizing hardware utilization.
64. The Fabric Controller automates load
balancing and computes resource scaling
Security and Control Features include
storage encryption, access
authentication, and over-the-wire
encryption using HTTPS. Industry
Computation provides Storage Services allow customers to certification is part of the Windows
application scalability. scale to store large amounts of data – Azure roadmap.
Developers can build a in any format – for any length of
combination of web and worker time, only paying for what they use Geographically distributed, state-of-
roles. Those roles can be or store. the-art data centers host your
replicated as needed to scale the applications and data, internet-
applications and computational accessible from everywhere you
processing power. choose to allow.
65. Fabric Controller
Interacts with a “Fabric Agent” on
each machine
Monitors every VM, application
and instance
Performs load balancing, check
pointing and recovery
66. Compute
GOAL:
SCALABILITY Two instance types: Web Role & Worker Role
Windows Azure applications are built with
Scale out by replicating worker instances web role instances, worker role instances,
as needed. or a combination of both.
Allow applications to scale
user and compute processing
independently.
Each instance runs on
its own VM (virtual
machine), replicated
as needed
67. Storage
GOAL:
SCALABLE, DURABLE STORAGE
Tables: simply Queues: serially accessed
structured data,
Blobs: large, messages
accessed using
unstructured or requests, allowing web-
Windows Azure storage is an data (audio,
ADO.NET Data roles and worker-roles to
application managed by the Services
video, etc) interact
Fabric Controller
Windows Azure applications can use
native storage or SQL Azure
Application state is kept in storage
services, so worker roles can replicate
as needed
70. SQL Server
• SQL Server on-premises
• Resource governance @
Dedicated
Hosted machine
• Security @ SQL Server/OS
RDBMS
• Hosted SQL Server Roll-your-own HA/DR/scale
• Resource governance @
VM
• Security @ SQL Server/OS
SQL Azure
Database
Resources
Roll-your-own HA/DR/scale
(RDBMS)
• Virtual DB server
• Logical user database
(LUDB)
• Resource governance @
LUDB
• Security @LUDB
Shared
Low High
―Friction‖/Control
Value Propositions: Value Propositions : Value Propositions :
• Auto HA, Fault-Tolerance • XSPs, Server Ops • Full h/w control – size/scale
• Friction-free scale • SQL CLR • 100% compatibility
• Self-provisioning • 100% compatibility
• High compatibility
71. Flexible access to data in the cloud
Simple storage and hosted RDBMS
• Create client applications that access
ODBC, OLEDB,
data in the cloud via TDS – just like Browser Application Application ADO.Net PHP,
on-premise SQL Server Application REST Client SQL Client*
Ruby, …
• Create cloud-based Web applications
in Azure that use standard SQLClient
libraries with ADO.NET
• Create cloud-based REST data Cloud
interfaces in Azure with ADO.NET
Data Services and the Entity
HTTP+REST
Framework
HTTP
TDS
Low friction data storage provisioning Windows Azure
Data Center
Web App REST(Astoria)
• Web interface for simple, database SQL Client* ADO.Net +EF
provisioning
• Scale seamlessly as needed
TDS + TSQL Model
Self-managing data center
• Automated maintenance
SQL Azure
• Built in high-availability and data
recoverability * Client access enabled using TDS for ODBC,
ADO.Net, OLEDB, PHP-SQL, Ruby, …
72. Account • Goal: A storage platform built
Azure wide for extreme scale and low cost
Billing instrument
• Architecture:
– An Azure account provides access
Has one or more
to SQL Azure
Server – Each account can have one or
Database metadata more logical server
Unit of authorization • Implemented as multiple physical servers
within a given geo-location
Unit of geo-location
– Each logical server can contain one
Has one or more or more logical database
• Implemented as replicated partitioned data
Database across multiple physical databases
Unit of consistency
Contains Users,
Tables, Views, etc…
73. • Uses shared infrastructure at SQL database and below
– Each user database is replicated to one or more servers (configurable based on SLA)
– Client requests are routed to current “primary server” for read and write operations (based on SQL session)
– Security, lockdown and isolation enforced in SQL tier
• Highly scalable and state-of-the-art HA technology
– Automatic failure detection; client request re-routed to new primary on failure
– High SLA guarantee using logical replication (hot standby replicas)
– Automatic management, self-healing and load balancing across shared resource pool
• SQL Azure Database provides provisioning, metering and billing infrastructure
SQL Azure Database Provisioning (databases, accounts, roles, …, Metering, and Billing
Machine 4 Machine 5 Machine 6
SQL Instance SQL Instance SQL Instance
SQL DB SQL DB SQL DB
User User User User User User User User User User User User
DB1 DB2 DB3 DB4 DB1 DB2 DB3 DB4 DB1 DB2 DB3 DB4
Scalability and Availability: Fabric, Failover, Replication, and Load balancing
DBA role will change to focus on policy/logical management
74. Security
• Uses regular SQL security model
– Authenticate logins, map to users and roles
– Authorize users and roles to SQL objects
• Supports standard SQL logins
– Logins are username + password strings
– Service enforces use of SSL to secure credentials
– Future support for AD Federation, WLID, etc as alternate authentication
protocols
Connections
• Connect using common client libraries
– ADO.NET, OLE DB, ODBC, etc.
• Clients connect to a database directly
• Cannot hop across DBs
• Large surface of SQL supported within the database boundary
– Future work will relax many of these constraints
75. • Account and server provisioning
– Portal and API based access
– Ex: enumerate my servers, show server usage
metrics, etc
• Each account has one or more servers
– Ex: srv123.data.database.windows.net
* *
• Each server has a virtual master
database
– Has subset of SQL Server master DB interface
• Each server has one or more SQL logins
– System creates sysadmin login on “server creation”
• Databases created using “CREATE
DATABASE”
– Can be called by sysadmin or anyone with create DB
permission
76. • SQL Server has many patterns for accomplishing
tasks
– SQL Azure Database supports a subset of full SQL Server
patterns
– Focus on logical and policy based administration
– Patterns work in both SQL Azure Database and SQL Server
• Enables migration of on-premise application to/from SQL Azure
• SQL Azure Database is a multi-tenant service
– Throttling and load balancing policies
– Examples: limit on DB size, duration of transaction, …
In Scope for v1 Out of Scope for v1
• Create/Alter/Drop on Database/Index/View • CLR
• Stored Procedures (Transact-SQL) • Service Broker
• Triggers • Distributed Transactions
• Constraints • Distributed Query
• Table variables, session temp tables (#t) • Spatial
• + lots of others • All server level DDL
• All physical DDL and physical catalog views
79. • How can you use cloud services to connect apps and services
across deployment locations?
– Bridge cloud, on-premises, and hosted assets
– Navigate network and security boundaries, securely and simply
– Handle identity and access across organizations and ID providers
– Interoperate across languages, platforms, standards
– Perform protocol mediation and schema mapping
• Customers need a way to:
Connect endpoints Control & secure access
Service Bus Access Control
80. Connect Endpoints
Service Bus
Service Bus Access Control Service
• Expose RESTful or SOAP services over the • Authorization management and federation
internet through firewall and NAT infrastructure firewall
firewall
boundaries • Provides internet-scope federated identity
NAT
integration for distributed applications
• Communicate bi-directionally between
apps and services in an interoperable • Use it to
manner • Secure Service Bus communications
• Manage user-level access to apps across
• Choose relays, queues, routers, and other
organizations and ID providers
message patterns and types
• Scale out naturally and reliably as apps and
services grow
Your app Customer/partner app
81. Control Access
Access Control Service
1. Define access
Service Bus 3. Map input claims
Access Control Service
control rules for a to output claims
• Network abstraction and virtualization
customer
• Integrate authorization into apps to control
infrastructure ―what users are allowed to do‖
• Enables many common shapes of • Federate with multiple identity systems
communication in an efficient and
across organizations and ID providers
interoperable manner
6. Check claims • Easily apply fine-grained access control
• Use it to
rules
• Connect applications across any network
topology, including firewalls and NAT • Secure Service Bus communications
boundaries • Scale out naturally and reliably as apps and
• Exchange data between loosely coupled
5. Msg w/token
services grow
applications
Your app Customer/partner users & apps
82. • Internet-scoped overlay-network bridging across IP NATs and
Firewalls with federated access control
– Network Listen/Send from any Internet-Connected Device
– Internet-scoped, per-endpoint Naming and Discovery
– NAT/FW Traversal via TCP, TCP/Direct, and HTTP Web Streams
Private Network
Space B
ACS
ACS
Internet
A ACS D
Space
ACS
ACS
C
83. • Transfer raw and structured data allowing for any common
shape of communication
– Raw Data, Text, XML, JSON, …
– Datagrams, Sessions, Correlated Messages
– Unicast, Multicast
A B Octet-Streams
Text
XML
A B SOAP
…
JSON XML-
…
RPC
…
A B
84. • Built-In messaging primitives for temporally decoupled
communication, routing, and message processing
– Push/Pull translation for occasionally connected receivers
– Publish/subscribe and message processing (after V1)
Push Pull
A B
Push
B
Push
C
A
D
E
86. Windows Azure, Datacenter, Hosting, Amazon EC2, Google App Engine
Storage Storage Storage
App App App
Instance Instance Instance
ACS ACS
POST, PUT, DELETE POST, PUT,
DELETE POST
ACS
PUT
POST, PUT, DELETE DELETE
ACS
ACS
GET
On-Demand ‗Pull‘ Sync
Cache
Continuous ‗Push‘ Sync
On-Premise App(s)
87. Hosted In-House Outsourced
ACS
Storage Storage Storage
E-Commerce Ordering Inventory / Shipping
Front System System
Ready
PO ACS SO ACS Shipped
Delivered
ACS
ACK ACK
ACS
Order Accepted
Order Processed
Web Client Hi-Fi Client
Experience Experience
88. Home Internal Datacenter
Storage Storage
Storage Devices
Enterprise
Enterprise App Enterprise
App
Home Automation Instance App Instance
Instance
or Home Media
Server
Balance / Filter Reverse Proxy
ACS ACS ACS
http(s) / net.tcp
net.tcp/direct
Web or Hi-Fi Client Web or Hi-Fi Client
Experience Experience
89. Windows Azure, Datacenter, Hosting, Amazon EC2 (Windows)
Socket Agent NP Agent
App ASP.NET J2EE, JDBC,
Instance ADO.NET JMS
Socket HTTP/HTTPS TDS
Passthrough Passthrough Passthrough
ACS ACS
w/ URI Rewriting
Socket Bridge HTTP Bridge NP Bridge
Exchange/Mail (SMTP/IMAP)
Active Directory (LDAP) ERP, CRM, Custom Apps
System Center (SNMP) .NET, J2EE, ROR, PHP SQL
… … Server
On-Premise Infra Apps & Services On-Premise Data
Microsoft Software + Service strategy was developed in respond to customer requests and growing trends in the marketplace. In the messaging and collaboration space, we have found that collaboration applications are increasing becoming mission critical components of a company’s daily operations. Even though many of these companies understand the need to increase the “speed to value” of equipping employee with the latest collaboration tools, their IT department struggles to keep the software up to date. CIOs are faced with the difficult choices of deciding where to spend their limited IT resources: keeping up existing infrastructure, investing in software upgrades, or focused on other LOB applications. In addition, today’s business environment demands IT to generate a high return on investment based on a predictable cost model and avoid the high project based capital expenditures while having the flexibility to react quickly to business growth.
Virer le slide
Note : faire animtextes en bullets + imagePour en savoir plus allezsur www.globalfundationservices.com (GFS : filliale qui gère et opère les datas centers)Key Points:No one has the breadth of cloud servicesOnly Microsoft has a the wide set of cloud services that complements on-premises softwareScript:In addition to our consumer-facing cloud services, Microsoft offers the most complete set of cloud-based solutions to meet your business needs including advertising, communications (email, telephony, meetings), collaboration (document storage, sharing, workflow), business applications (CRM, business productivity), storage, management and infrastructure services. And unique to Microsoft these sets of cloud services complement a full and rich set of on-premise software enabling often times to add cloud functionality to your existing software or move between cloud and on-premises systems.Click:And with BPOS we are seeing quite a bit of momentum of customers moving to the cloud.
SEBMonter plus haut dans la présentation en fonction de la timeline jouée !
SEB
Service managementDefine the rules and provide codePlatform deploys, monitors, and manages the serviceStorageSimple storage provided by Windows AzureT-SQL capability delivered through SQL AzureDeveloper experienceFamiliar tools, technologies, languages for MS developersSupport for non-MS technologies, frameworks and toolsIntegration with on-premisesExtend on-premises applications to the cloudFederate identities across cloud applications
AppFabric :Parler oralement de Integration (type Biztalk : pipeline, transform et adapter)Composite App : application WF & WCF
Un système d’exploitation pour le Cloud Voir si on garde dans le timeline
SEB
Whether an application runs in the cloud, uses services provided by the cloud, or both, some kind of application platform is required. Viewed broadly, an application platform can be thought of as anything that provides developer-accessible services for creating applications. In the local, on-premises Windows world, for example, this includes technologies such as the .NET Framework, SQL Server, and more. To let applications exploit the cloud, cloud application platforms must also exist. And because there are a variety of ways for applications to use cloud services, different kinds of cloud platforms are useful in different situations. Microsoft’s Windows Azure platform is a group of cloud technologies, each providing a specific set of services to application developers. The Windows Azure platform can be used both by applications running in the cloud and by applications running on local systems. The components of the Windows Azure platform can be used by local applications running on a variety of systems, including various flavors of Windows, mobile devices, and others. Those components include: Windows Azure: Provides a Windows-based environment for running applications and storing data on servers in Microsoft data centers. Microsoft .NET Services: Offers distributed infrastructure services to cloud-based and local applications. Microsoft SQL Azure: Provides data services in the cloud based on SQL Server. Each component of the Windows Azure platform has its own role to play. This overview describes all four, first at a high level, then in a bit more detail. While none of them are yet final—details and more might change before their initial release—it’s not too early to start understanding this new set of platform technologies.
For WAPU: We’ve just introduced the three main parts of the Windows Azure platform. This slide lets us walk through some broad scenarios of how they might be used.Original Slide Notes---------------------------------------------------------------------------------------------------------------------------------With Windows Azure and existing Microsoft technologies, cloud computing is not an all-or-nothing proposition. The ability to combine deployment options, installing applications on premises, with traditional posters, or within Windows Azure, is deeply ingrained in the technology of Microsoft Windows server and Windows Azure. Customer's can make decisions where to host all or part of their applications based on desired cost model, ability to manage and maintain systems, software licensing requirements, and desired hardware investment models. No other infrastructure provider or cloud computing platform gives customers that choice and flexibility.
Le plus intéressant sont ces 4 scénarios là !
Todo : Mettre les tarifs en EurosAvec la plate-forme Windows Azure, vous ne payez que ce que vous utilisez. La diapositive ci-dessus montre un bref résumé des prix des différents services de la platefome Windows Azure (prix en dollars).Certains points méritent qu’on s’y arrêtent:- Les instances sont de différentes tailles, allant d'une seule machine virtuellesur une machine virtuellequadri-cœurs.- Le stockage BLOB propose un prix par transaction. Ce n’est pas le cas pour le stockage relationnel. Le prix mensuel pour le stockage relationnel est basé uniquement sur la quantité de données stockées.- Toutes les données déplacées entrantes et sortantes des data centers Windows Azure entraîne des frais de bande passante. Toutefois, une application fonctionnant par exemple sur Windows Azure et utilisant des données stockées dans les blobs dans un même data center n’impliquera pas de frais de bande passante supplémentaire.- En raison des coûts sensiblement plus élevés, les frais de bande passante sont plus élevés dans la région Asie / Pacifique: $0.30/GB entrants et $0.45/GB sortants.Ce sont des prix à la consommation standard. Il y a aussi des rabais disponibles, y compris les réductions de prix pour les partenaires Microsoft et des rabais offerts dans le cadre d'un abonnement MSDN.Quand vous faites des comparaisons de prix entre la plate-forme Windows Azure et d'autres alternatives, il est important de comparer des pommes avec des pommes. Avec Windows Azure, par exemple, Microsoft prend en charge la gestion vous n'avez pas besoin de créer et d'administrer les machines virtuelles, installer des correctifs, et ainsi de suite. De nombreuses variantes, deux options d'hébergement et de plates-formes de cloud autres, laisser cette tâche à vous, ce qui implique des coûts plus élevés. La comparaison des prix nécessite précision comprendre exactement ce que sont les services inclus pour un prix donné.
Les questionspositionnentdans le bon schéma mental pour évoluervers AzureParler MAP 5.5 & WAC
As the figure shows, Windows Azure runs on machines in Microsoft data centers. Rather than providing software that Microsoft customers can install and run themselves on their own computers, Windows Azure is a service: Customers use it to run applications and store data on Internet-accessible machines owned by Microsoft. Those applications might provide services to businesses, to consumers, or both.
Read the slide headlines, answer questions
All Windows Azure applications and all of the data in Windows Azure Storage live in some Microsoft data center. Within that data center, the set of machines dedicated to Windows Azure is organized into a fabric. As the figure shows, the Windows Azure Fabric consists of a (large) group of machines, all of which are managed by software called the fabric controller. The fabric controller is replicated across a group of five to seven machines, and it owns all of the resources in the fabric: computers, switches, load balancers, and more. Because it can communicate with a fabric agent on every computer, it’s also aware of every Windows Azure application in this fabric. (Interestingly, the fabric controller sees Windows Azure Storage as just another application, and so the details of data management and replication aren’t visible to the controller.) 8 This broad knowledge lets the fabric controller do many useful things. It monitors all running applications, for example, giving it an up-to-the-minute picture of what’s happening in the fabric. It manages operating systems, taking care of things like patching the version of Windows Server 2008 that runs in Windows Azure VMs. It also decides where new applications should run, choosing physical servers to optimize hardware utilization. To do this, the fabric controller depends on a configuration file that is uploaded with each Windows Azure application. This file provides an XML-based description of what the application needs: how many Web role instances, how many Worker role instances, and more. When the fabric controller receives this new application, it uses
The Windows Azure Compute service can run many different kinds of applications. A primary goal of this platform, however, is to support applications that have a very large number of simultaneous users. (In fact, Microsoft has said that it will build its own SaaS applications on Windows Azure, which sets the bar high.) Reaching this goal by scaling up—running on bigger and bigger machines—isn’t possible. Instead, Windows Azure is designed to support applications that scale out, running multiple copies of the same code across many commodity servers. To allow this, a Windows Azure application can have multiple instances, each executing in its own virtual machine (VM). These VMs run 64-bit Windows Server 2008, and they’re provided by a hypervisor (based on Hyper-V) that’s been modified for use in Microsoft’s cloud. To run an application, a developer accesses the Windows Azure portal through her Web browser, signing in with a Windows Live ID. She then chooses whether to create a hosting account for running applications, a storage account for storing data, or both. Once the developer has a hosting account, she can upload her application, specifying how many instances the application needs. Windows Azure then creates the necessary VMs and runs the application. It’s important to note that a developer can’t supply her own VM image for Windows Azure to run. Instead, the platform itself provides and maintains its own copy of Windows. Developers focus solely on creating applications that run on Windows Azure. 4 In the initial incarnation of Windows Azure, known as the Community Technology Preview (CTP), two different instance types are available for developers to use: Web role instances and Worker role instances.
Regardless of how it’s stored—in blobs, tables, or queues—all data held in Windows Azure storage is replicated three times. This replication allows fault tolerance, so losing a copy isn’t fatal. The system guarantees consistency, however, so an application that reads data it has just written will get what it expects. Windows Azure storage can be accessed either by a Windows Azure application or by an application running someplace else. In both cases, all three Windows Azure storage styles use the conventions of REST to identify and expose data. Everything is named using URIs and accessed with standard HTTP operations. A .NET client can also use ADO.NET Data Services and LINQ, but access to Windows Azure storage from, say, a Java application can just use standard REST.
Managing applications in this complex environment is challenging. For example, how do you upgrade your apps without bringing it down or degrading its performance, or how do you upgrade an underlying OS without degrading your app's performance of bringing it down. Windows Azure can handle both of these scenarios. Windows Azure separates the applications from the underlying OS so both the application and the OS are managed separately. Microsoft manages the OS and ensures it is up-to-date and always available and the developer of the service can focus exclusively on delivering their business logic. At the heart of Windows Azure is a so-called “fabric controller”. This manages services running on Windows Azure. Developers interact with the fabric controller, hand it their services and tell it how they wish to run their service. The fabric controller is then responsible for deploying the service to the global data center and ensuring its availability.In today's world services are expected to deliver 24/7 availability. Windows Azure strives for this in two important ways. First, all our components are built to be highly available. Fabric controller and storage system are built in a highly redundant and a four-quadrant way. No single processor are a disk failure. In fact, no double failure of these components can bring either of these services down. For massive scale, our storage system partitions and replicates the data across multiple machines, possibly thousands of machines, using adaptive replication, caching, automatic load balancing, our storage systems can maintain high availability under varying loads with no user intervention.Automates Service Management:You tell it what to do—it figures out howScale up, scale down, update or roll application back to a previous versionFabric:Abstracts the VMs from the physical devices
SQL Azure Database provides the best aspects of simple, cloud-based storage and a hosted RDBMS.Developers have the flexibility of being able to choose the data access model that best fits the application requirements. They can use the same tools and libraries as with on-premise client applications to build client applications or Web applications hosted in Windows Azure that access data through familiar data access APIs. Alternatively, they can use ADO.NET Data Services and the Entity Framework to expose a REST-based interface that enables rich Internet applications to access data in the cloud.Whichever data access model is used, SQL Azure Database significantly reduces the effort and cost associated with provisioning data storage for an application. You can just use the Web-based interface to create a new database, and then start building your application. As your scalability requirements increase, SQL Azure can grow with you to meet your specific needs.By using SQL Azure Database, you eliminate the need to manage your own data center servers. Maintenance is automated, reducing your administrative overhead.BackgroundThe initial release of SQL Azure was announced at the PDC in 2008. It consisted of a cloud-based data store that provided an HTTP/REST and SOAP based data access interface and a data object model based on authorities, containers, and entities. While this release provided a great way for developers to build rich applications that access data in the cloud, it lacked some of the key capabilities of a traditional, on-premise SQL Server-based database solution.The REST-based interface and ACE data model has been replaced with a TDS interface and a relational, Transact-SQL-based programming model– just like an on-premise SQL Server instance. This means that developers can create client applications for SQL Azure that use the same data access libraries as traditional, on-premise SQL Server solutions. For scenarios where a REST-based interface is desired, developers can use ADO.NET Services (formerly known as Astoria) and the ADO.NET Entity Framework in the Windows Azure platform to expose SQL Azure through a REST-based data access interface.
The SQL Azure storage platform was designed for extreme scale and low cost. To achieve this, it uses a partitioned data architecture where data is physically distributed across multiple servers in order to provide the high scalability and query performance associated with a federated database solution. The partitions are replicated to provide redundancy and failover capabilities. All partitioning, failover, and load-balancing is automatic.Rather than take a “single image” approach in which each customer gets a dedicated database server, customer data is physically spread across multiple servers in order to maximize scalability and read/write performance for common data access patterns. Workflow is used to achieve transactional consistency across partitions.The end result of this architecture is a highly scalable data platform that requires little to no administrative effort on the part of the customer to provision or manage. Operations and maintenance are automated, with built-in intelligence to detect failures and trigger automatic failover.Goal: A storage platform built for extreme scale and low costCommodity hardware to lower CapExLights out operations and self healing to lower OpExOptimize I/O throughput for specific app patternsOptimized for a handful of hardware SKU’s for datacenter operationsAchieved by:Partitioning dataApps are partition aware to exploit data parallelism for HA, scaling and throughputPartitions are replicated to achieve reliabilitySystem is self healing - automatically partitions data, fails over, load-balances, and scales-upTrade off single system image for scale at very low cost and high throughput“Fan out” operations for large scale cross partition query workloadsDistributed transactions enabled through workflowSpecific IO optimizations to reduce random writes and readsOptimized code paths for high throughputEasy to deploy and manageNo DBA required to manage clusterUse automated provisioning, deployment / rollback and monitoringUse distributed fabric for reliable failure detection, primary election, failover and load balancingFramework for deploying and running scheduled and one off tasks
From the customer’s perspective, SQL Azure provides logical databases for application data storage. In reality, each customer’s data is actually stored in multiple SQL Server databases, which are distributed across multiple physical servers. Many customers may share the same physical database, but the data is presented to the customer through a logical database that abstracts the physical storage architecture and uses automatic load balancing and connection routing to access the distributed data. Security and isolation is managed automatically.The key impact of this model for the customer is a move from managing physical servers to focus on logical management of data storage through policies.
In terms of security, SQL Azure uses the same authentication and authorization model as SQL Server. Logins are created at the Server instance level, and mapped to user accounts and roles at the database level. Access to objects and data in the database is based on permissions granted or denied to database-level user accounts.One key difference from SQL Server is that SQL Azure Db supports only SQL Server authentication – integrated Windows authentication is not supported. Authentication is achieved through a username and password transmitted over a secure, encrypted connection. Future released of SQL Azure may support additional authentication models.When a client opens a connection to SQL Azure, the connection context is set to a specific database. If no database is specified in the connection information, the database context is the Master database. Once a connection is established, the client application cannot change the database context by using the USE Transact-SQL keyword or a fully-qualified database name.
Provisioning is handled by a utility service that is exposed through a Web-based portal and an API. The utility service can be used to enumerate the servers associated with a customer account, show server usage statistics, and other common administrative tasks. You can also use the utility service to manage logins and create new databases with the CREATE DATABASE Transact-SQL command.
What is the difference between SQL Azure and SQL Server?How do we think about compatibility on/off premises – as necessary to provide a broad platform for customersKey Differences – v1 TimeframeSQL Azure v1 will cover a vast majority of the “feature/function” surface area SQL Server (RDBMS). Exceptions:SQL CLRServer-scoped catalogue (shared environment)Few T-SQL constructs not appropriate in a shared environment (global temp tables, DTC)Longer term, will extend other parts of the data platform to cloudSQL BI platformDWCore RDBMS functionality with necessary restrictions due to:SecurityResource GovernanceDatabase independence
This slide describes four common customer scenarios that AQL Azure supportsDepartmental workgroup applicationsBuilt with SQL Express or AccessSmall in size, 5 GB or lessLess than 10,000 rowsSmall number of concurrent users (tens)Owned by a department, not central IT.Often grows out an excel spreadsheet or Access databaseTypically one of the following types:Tracking app (purchase orders changes)Simple reporting app (CSS tool for tracking issues)Commonly pulls reference data from other systems.Simple security needs (a set of people all get read access, with a small number of people with Admin access)Do not have a dedicated DBA (usually managed by a department level IT helper or a technically savvy IW)Developer often a technically savvy IW. Especially for the Access apps.Web applicationsTypically built by a small development team with no little or administrative capabilitiesNeed to start small, but then be able to scale-up quickly and easily as required.Secure data hubs enable you to consolidate existing data store investments and access them through a single cloud-based hub. The security features provided by the SQL Azure Database platform ensure movement of, and access to your data is secure at all times. This enables you to develop or modify applications to provide geo-dispersed data access and enables the complete mobility of your workforce. You can be certain that if your employees have access to the internet they have access to their data!ISVs and SaaS ProvidersGrowing trend towards cloud-based LOB application offerings.Need global reach and scalability with the ability to quickly provision multiple tenants and manage billing