azu02 building azure solutions with office 365 · sap hana developer edition puppet enterprise...
TRANSCRIPT
AZU02 – Building Azure Solutionswith Office 365
Marco Parenzan
#CloudConferenceItalia
Gli Sponsor
Marco Parenzan
• Formazione & Divulgazione con 1nn0va
• Parlo di Cloud e di tutto quello che gira intorno
• Ad esempio Internet of Things
• Microsoft MVP 2014 for Microsoft Azure
• Formazione & Progettazione con ITS Kennedy
• Insegno principi di Cloud Computing
• Ricerca e Innovazione con Servizi Cgn
• Sviluppo software
• Formazione interna
State of Software Development
New development trends
• Cloud
• Big Data
• Mobile and Devices
• Internet of Things
New development challenges
• None of the following is true:
• “Network is reliable”
• “Latency is near to zero or irrelevant”
• “Bandwidth is unlimited”
• “Network is secure”
• “Topology doesn’t change”
• “Transport cost is irrelevant”
• “Network is homogeneous”
From Mauro Servienti presentationhttp://www.slideshare.net/mauroservienti/in-the-brain-designing-distributed-scalable-and-reliable-systems
New development patterns
RETRY
QUEUING STORAGEWORKLOAD
IDENTITY
New development architectures
Storage
Servers
Networking
O/S
Middleware
Virtualization
Data
Applications
Runtime
Away from premises
“Mobile First, Cloud First”
We develop for the
customer
Software(as a Service)
Storage
Servers
Networking
O/S
Middleware
Virtualization
Applications
Runtime
Data
To consume services
Platform (as a Service)
Storage
Servers
Networking
O/S
Middleware
Virtualization
Applications
Runtime
Data
To consume
his services
Infrastructure(as a Service)
Storage
Servers
Networking
O/S
Middleware
Virtualization
Data
Applications
Runtime
To consume
his legacy services
“
”
The Cloud is moving the center
of the modern, agile Company
Microsoft Azure
Core – compute, networking, storage, identity
Platform
16 regions worldwide in 2014
Azure
footprint
Data Centers
Regional Partners
Azure features for SolutionsPlatform as a Service
Microsoft Azure Services
Cli
en
t la
yer
(on
-pre
mis
es)
Tablet Phone
Games
consolePC
On-
premises
databaseBrowser
Office Add-
in
On-
premises
service
AD
Multifactor
Authentication
Access
Co
ntr
ol
Layer
Inte
gra
tio
n
layer
Service
Bus CDN
BizTalk
Services
Traffic
Manager
Virtual
NetworksExpress
Route
Ap
pli
cati
on
layer
API Mgmt Websites
Cloud
Services VM
Mobile
Services
Media
Services
Notification
Hubs Scheduler
Automatio
n
Data
Layer
Storage Blobs Tables Queues Data
Machine
Learning HD Insight
Backup
and
RecoverySQL
Database Caching
StorSimpl
e
Microsoft Azure Web Sites
Create new sites in seconds
Easily manage and scale your
sites
Automatic load balancing and
shared storage across instances
Scale out or up to reserved
instances for improved
performance and scale
Built-in web jobs support
Use ASP.NET, ASP, PHP, Java
or Node.js
SQL Azure or MySQL
databases
Start with open source apps
and frameworks
Develop with VS and
WebMatrix
Supports any Web
development tool on any
platform (Windows, OSX,
Linux)
Rapid deployment for quick
iteration
Integrated source control
with Team Foundation Server
(TFS) and Git
Built-in monitoring of perf
and usage data
Quick access to request logs,
failed requests diagnostics
and diagnostics
Windows Store
iOS
Android
Xamarin
Sencha
Windows Phone
iOS
Android
HTML 5/JS
SDKs
Node.js Express.NET Web API
RE
ST
AP
IFacebook Twitter Microsoft Google
Active Directory
SQLTable Storage Blob
Storage
WNS & MPNS APNS GCM
Mongo DB
Notification HubsSource Control
Hybrid Connections
Mobile Services
Azure Virtual Machines
• Launch Windows Server and Linux in minutes
• Scale from 1 to 1000s of VM Instances
• Save money with per-minute billing
• Open and extensible
Virtual Machine SizesVM Size CPU Cores Memory # (1TB) Data Disks
Extra Small (A0) Shared 768 MB 1
Small (A1) 1 1.75 GB 2
Medium (A2) 2 3.5 GB 4
Large (A3) 4 7 GB 8
Extra Large (A4) 8 14 GB 16
A5 2 14 GB 4
A6 4 28 GB 8
A7 8 56 GB 16
A8 8 56 GB 16
A9 16 112 GB 16
VM Gallery
Windows Server 2012 R2 Ubuntu Server 14.04 LTS CentOS 6.5SUSE Linux
Enterprise Server Oracle Linux 6.4.0.0.0
Windows 8.1 Enterprise
SQL Server 2014 Standard Oracle Database 11g R2 BizTalk Server 2013 SharePoint Server FarmMicrosoft Dynamics
GP 2013Zulu 8
SAP HANA Developer Edition Puppet Enterprise 3.2.3 Barracuda Web Application
Oracle WebLogicServer 12.1.2
Visual Studio Ultimate 2013
openSUSE 13.1
“
”AzureLab
Demo
(Some) Azure Storage SolutionsStorage in Azure...Software as a Service
(Some) Azure Storage Solutions
SQL Database
SQL on IaaS
NoSQL
Tables Files
Run SQL on VM
• Run any SQL product on cloud VM
• Support for SQL Server, Oracle, MySql
• Ready to go VM images available in Gallery
• Persistent storage using attached disk in blob storage
24
SQL IaaS Comparison vs SQL Database
NoSQL Generally more scalable
• The storage engines of NoSQL stores are designed to minimize contentions enabling higher throughput and therefore more scalable
• Lower transaction capability in NoSQL results in less contention and therefore more scalable
• Less complex query processor means that a single query can’t degrade service
• Built-in replication capability means that store can scale out which better aligns to other application tiers (e.g. websites)
• No fixed schema or lower schema requirements
26
NoSQL on Azure
• Cassandra is a columnar store with excellent replication
• HBase is a Big Data (Hadoop) NoSQL store available in HDInsight
• MongoDB is a document (JSON) store
• The new DocumentDB document (JSON) store
• The new DocumentDB document (JSON) store
• Azure Tables service is NoSQL row store
Windows Azure Storage Abstractions
Azure Table
Partitions and Partition Ranges
Sharing Files – The old way
• Setup an IaaS VM to host a File Share backed by an IaaS Disk
• Write code to find the IaaS File Share from the rest of the VMs in your service.
• Write some code to provide high availability
• Handle host upgrades, node failures
• You can only access the File Share from other VMs
Azure Files
• Shared Network File Storage for Azure
• Availability, durability, scalability are managed automatically
• Supports two interfaces: SMB and REST
• Share data across VMs and applications
• Multiple writers, multiple readers using standard file system semantics.
• Share settings throughout services
• VMs can read settings and files from a common, shared location. These can be updated externally via REST.
• Dev/Test/Debug
• Very useful to have a shared location for installing applications, setting up VMs, running tools, and keeping notes while developing, testing, and debugging cloud services.
“
”Maker365
Demo
Maker365
• Who? 3 friends
• What? 3D Printing
• Where? No office, just a garage
What is Office 365?
“
”
Hybrid Cloud is one of the strategies
for Global Cloud Adoption
“
”
Office 365 is in the center of the modern, agile
Company
“
”
Office 365 is in the center of the modern, agile, hybrid
Company
“
”
Office 365 is a rich platform for extending and integrating with
“
”
Office 365 is a rich platform for extending and
integrating with as a service
Office 365 APIs
Azure
Modern web hybrid applications
Build for the cloud
• Web Standards
• Apps are built using industry proven web standards such as HTML, JavaScript and REST
• Scalable and Safe
• Apps are independently scalable which reduces total cost of ownership. Apps are secured and isolated from SharePoint
• Accessible
• Apps can be accessed from any device with a web browser. Write once, run anywhere
• An app can run outside the firewall in the cloud and from inside the firewall in a data center.
• Apps can be hosted on any platform giving you complete freedom.
Adding Connected Services
Your identity goes with you
3rd party clouds/hosting
Azure AD
OAuth 2.0
OAuth 2.0
WS-Fed, SAML 2.0, OpenID Connect
OAuth 2.0
Modern Authentication Protocols
ASP.NET Identity 2.1 Features• Login username/ password
• Roles
• Profile
• Claims
• User Management – Create, edit and delete Users
• Role Management – Create, edit, delete Roles and manage Users.
• External Logins – Social providers + Azure AD
• Identity Storage Extensibility
ASP.NET Identity 2.1 Features
• Stronger passwords
• Two-Factor Authentication
• Account Lockout
• Account Confirmation
• Security Stamp (Sign out everywhere)
• Reset password
• Custom Password Policies
• User Validators
• Customize Primary Key
ASP.NET Identity 2.1 Features
• Login username/ password
• Roles
• Profile
• Claims
• User Management – Create, edit and delete Users
• Role Management – Create, edit, delete Roles and manage Users.
• External Logins – Social providers + Azure AD
• Identity Storage Extensibility
ASP.NET Identity 2.1 Features [2]
• Stronger passwords
• Two-Factor Authentication
• Account Lockout
• Account Confirmation
• Security Stamp (Sign out everywhere)
• Reset password
• Custom Password Policies
• User Validators
• Customize Primary Key
Deep Dive into Office 365 APIs for Calendar, Mail, and Contacts
Office 365 APIs for Calendar, Mail and Contacts
• Office 365 APIs • Mail Message API
• Calendar Events API
• Contacts API
• Office 365 APIs accessible through REST• https://outlook.office365.com/ews/odata/Me/Inbox/Messages
• https://outlook.office365.com/ews/odata/Me/Events
• https://outlook.office365.com/ews/odata/Me/Contacts
• Office 365 APIs accessible through ExchangeClient library• A library which abstracts away sending and receiving REST request
52
Mail Messages
•Common API operations• Reading messages
• Deleting messages
• Sending messages
• Working with attachments
53
Calendar Events
•Common API operations• Reading events for specific date range
• Creating events
• Deleting events
• Editing events
54
Contacts
•Common API operations• Reading contacts
• Searching for contacts
• Creating contacts
• Deleting contacts
• Editing events
55
Reading Contacts using REST
• Send GET request to Contacts endpoint
• Office 365 Exchange API only returns JSON responses
• Paging is accomplished using $skip and $top
56
Adding a new Contact
• POST to Add endpoint
• Provide minimum of @data.type and GivenName property
57
Deleting a Contact
• DELETE operation targeting
Me/Contacts(Id)
58
Deep Dive into Office 365 APIsfor OneDrive for Business
A personal library for storing and organizing your work documents
OneDrive for Business Files REST API
• Get the metadata for all files in OneDrive
• GET http://<onedrive>/_api/Files
• Get the metadata for a folder in OneDrive
• GET http://<onedrive>/_api/Files('folder')
• Get the metadata for the children of a folder in OneDrive
• GET http://<onedrive>/_api/Files('folder')/Children
• Get the metadata for a single file in OneDrive
• GET http://<onedrive>/_api/Files('folder/filename.docx')
• Download a single file from OneDrive
• GET http://<onedrive>/_api/Files('folder/filename.docx')/download
Reading File Metadata
• GET Files endpoint
• Paging is accomplished post-query using LINQ
62
Uploading a new File
• POST to Add endpoint
• Provide a file name and the file stream
63
Deleting a File
• DELETE the target file ID
64
“
”UTec365
Demo
Conclusions
Azure (Web Site) o SharePoint (Site)?
Azure(Windows Server)
• Focus on
• Functionalities
• Full Control on infrastructure
• All pros and cons
• Develop applications
• Flexible experience
• Common question:
• “How do I handle this power?”
SharePoint On Line (SharePoint on Premise)
• Focus on:
• documents (content)
• Light Control on infrastructure
• All pros and cons
• Develop apps
• Specialized/controlled experience
• Common question
• “How do I manage template change when new SP version come out?”
“
”How much does it costs?
http://azure.microsoft.com/en-us/pricing/calculator/
Please distinguish between Fixed Costs and Current Costs!
Security and Privacy
• I’m not a security expert
• I’m a honest developer
• Some anti-examples…
• Development teams, Sales force is distributes “by design”
• On premise issues (Firewall, for example)
• People that talk about security issues publish photo of their children on Facebook
• I have every document on Cloud…
• …but not my photos (only in my on premise W2K12R2 Essentials @ home with two external backups!)
Conclusions
• Office 365 is the best solution on which you can build your Company
• A complete set of RESTful services to be integrated
• Identity, Storage and Communications for the Company
• Azure is the best solution with which you can extend your Company
• A complete set of .NET and RESTful services
• Visual Studio ecosystem is the best solution with which you can customize your company
• A complete set of tools
“
”Developer…you have to change!
https://github.com/marcoparenzan/Maker365.git
Ricordati il feedbackCod. Sessione: AZU02
#CloudConferenceItalia
www.slideshare.net/marco.parenzangithub.com/marcoparenzan
it.linkedin.com/in/marcoparenzan
marco [dot] parenzan [at] 1nn0va [dot] onmicrosoft [dot] com
www.innovazionefvg.net
22 Ottobre 2014
#CloudConferenceItalia