Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Microsoft AzureMartin Šimeček
David Bureš
Agenda Microsoft Azure - what is it?
How to host a website on Azure?
How to use Azure as a mobile backend?
How to host Virtual Machines in Azure?
How to manage Azure without a single click?
How to use Azure as an IoT command center?
Introduction
On Premises
Yo
u s
cale
, m
ake r
esi
lien
t an
d m
an
ag
e
Infrastructure(as a Service)
Man
ag
ed
by v
en
do
r
Yo
u s
cale
, m
ake
resi
lien
t &
man
ag
e
Platform (as a Service)
Sca
le, re
silien
ce a
nd
man
ag
em
en
t b
y v
en
do
r
Yo
u m
an
ag
e
Hosting models
Software(as a Service)
Business model
Applications
Sca
le, re
silien
ce a
nd
man
ag
em
en
t b
y v
en
do
r
Cloud computing
Cloud Computing Patterns
t
Co
mp
ute
Inactivity
Period
t
t
t
On and OffOn & off workloads (e.g. batch job)
Over provisioned capacity is wasted
Time to market can be cumbersome
Unpredictable BurstingUnexpected/unplanned peak in demand
Sudden spike impacts performance
Can’t over provision for extreme cases Co
mp
ute
Growing FastSuccessful services needs to grow/scale
Keeping up w/ growth is big IT challenge
Cannot provision hardware fast enoughCo
mp
ute
Predictable BurstingServices with micro seasonality trends
Peaks due to periodic increased demand
IT complexity and wasted capacity
Co
mp
ute
Scaling
Azure
Control
Web portal
PowerShell / CLI
Management Libraries
REST API
Open SourceLanguages
CMS
Devices
Databases / Apps
Operatingsystems
Management
Compliance: aka.ms/AzureCompliance
Azure Services
Microsoft Azure ServicesC
lien
t la
yer
(on
-pre
mis
es)
Tablet Phone
Games
consolePC
On-premises
databaseBrowserOffice Add-in
On-premises
service
AD
Multifactor
Authentication
Access
Co
ntr
ol
Layer
Data
Layer
Storage Blobs Tables Queues Data
Machine
Learning HD Insight
Backup and
RecoverySQL
Database Caching StorSimple
Ap
pli
cati
on
layer
API Mgmt Web AppsCloud
ServicesVMMobile Apps
Media
Services
Notification
Hubs Scheduler AutomationAPI Apps
Inte
gra
tio
n
layer
Service Bus CDN
BizTalk
Services
Traffic
Manager
Virtual
NetworksExpress
RouteLogic Apps
Microsoft Azure ServicesD
ata
& S
tora
ge
Web
& M
ob
ile
Co
mp
ute
SQL
Database
App
Service
Virtual
Machines
Med
ia &
CD
N Media
Services
CDN
Develo
per
Serv
ices
DocumentDB Redis Cache
Cloud
Services Batch Service Fabric
Netw
ork
ing
Virtual
Network ExpressRoute
Traffic
Manager
StorSimpleSearchStorage
Iden
tity
& A
ccess
Azure Active
Directory
Multi-Factor
Authent
API
Management
Notification
Hubs
Mobile
Engagement
Visual Studio
Online
Application
Insights
Man
ag
em
en
t
Scheduler Automation
Operational
Insights Key Vault
An
aly
tics
& Io
T
HDInsight
Machine
Learning
Stream
Analytics Data Factory Event Hubs
Hyb
rid
Inte
gra
tio
n
BizTalk
Services Service Bus Backup Site Recovery
Web App Mobile App API App Logic App
Blobs Tables Queues Files
Mark
etp
lace
…
Data Lake
Data
Warehouse
RemoteApp DNS
Application
Gateway
Microsoft Azure Services
Azure Resource Manager Overview
Application Lifecycle Container
Available in Preview Portal
Consistent Management Layer
Resources are created into a Resource Group explicitly ARM Template (JSON)
PowerShell
Azure CLI tools
Portal creation experience coming soon
Azure Resource Groups
Containers of multiple Resources
Every Resource must exist in one and only one Resource Group
Unit of management
Lifecycle
Identity
GroupingReference
Reference
Backend Pool (NICs)
Reference
ReferenceReference
Azure Resource Manager Templates
SQL - A Website VirtualMachines
SQL-AWebsite
[SQL CONFIG]
VM (2x)
DEPENDS ON SQLDEPENDS ON SQL
SQL CONFIG
Instantiation of repeatable config.Configuration Resource Group
Azure Templates can:Ensure Idempotency
Simplify Orchestration
Provide Cross-Resource Configuration and Update Support
Azure Templates are: Source file, checked-in
Specifies resources and dependencies (VMs, WebApps, DBs)
and connections (config, LB sets)
Parametrized input/output
Key Scenarios to Get Started with Microsoft Azure
Key Scenarios to get started with Microsoft Azure
Production
Staging
Dev/Test
Test branch
Master branch
Build
Visual Studio Online
GIT / TFS
Full Dev/Test environments
Check
-in
Developers
Corporate
Network
Microsoft SQL Server
VM
Application
VM
Key Scenarios to get started with Microsoft Azure
Lift and Shift
Archive
Application
VM
Microsoft SQL Server
VM
PDF DOCX JPG VIDEO DB
Storage
key data inexpensively
PCs and devices
SaaS
Azure App Service and Non-MS cloud-based apps
Active Directory
Synchronize and
consolidate
identities
Key Scenarios to get started with Microsoft Azure
Identity as a Service
Microsoft
SQL
Server
IIS
MySql
On-premises /
Hosting ServicesIIS/SQL Server Based
Web Apps
Web Apps - Take your web apps to the cloud using inexpensive App Service Web Apps
Key Scenarios to get started with Microsoft Azure
Non-IIS Open Source
Web Apps
David Bureš[email protected] | @pidibiTechnical Evangelist | Microsoft
Xamarin.iOS does full Ahead Of Time
(AOT) compilation to produce an ARM
binary for Apple’s App Store.
Xamarin.Android takes advantage of
Just In Time (JIT) compilation on the
Android device.
Backend code
REST API
- Client DB: SQLLite
- Azure SDK - MobileServiceClient
- Synchronization
- Hidden HTTP interactions
- Implementation with Interfaces – mockable
- Samples: iOS, Android, Xamarin, Cordova, Windows
Mobile DevOps
https://www.visualstudio.com/
VS Community Edition
VS Code
VS Team Services
VS Dev Essentials
- 25USD / month Azure credit
iOS
Mobile DevOps + Visual Studio Team Services
VisualStudio
Code Repository
Backlog
Build + Deploy
Monitor and improve
Automated TestingBeta Testing
User Feedback
XamarinStudio
HockeyApp
HockeyAppXamarin Test
CloudVisual Studio Team Services
Crash Analytics
- VSTS
- Xamarin Test Cloud
- Hockey App
Proces zpracování dat
Prezentace a řízení
Notification & App
services
Data analytics
Power BI
Uloženídat
Externaldata sources
Azure Storage
Transformacedat
Real-time analytics
Stream analytics
Machine learning
Přenosdat
ScalableEvent Broker
Field Gateways
Sběrdat
Cloud Gateways(WebAPIs)
Applications
Vznikdat
Devices
Proces zpracování datVznik dat Sběr dat Uložení dat
Analýza dat /
transformacePrezentace a řízení
Event Hub SQL DatabaseMachine
LearningApp Service
IoT HubTable/Blob
Storage
Stream
AnalyticsPower BI
Service Bus DocumentDB HDInsightNotification
Hubs
External Data
Sources3rd party
DatabasesData Factory Mobile Services
Data Lake BizTalk Services
{ }
Remote Monitoring Service Architecture
https://azure.microsoft.com/en-us/solutions/iot-suite/
Per-Device AuthenticationIndividual device identities and credentials
Connection MultiplexingSingle device-cloud connection for all communications
(device-to-cloud, cloud-to-device)
Multi-ProtocolNatively supports AMQPS, HTTPS, MQTT
Extensible protocol support for custom protocol needs
Multi-PlatformDevice SDKs available for multiple platforms
RTOS, Linux, Windows, iOS, Android
Service SDK supports multiple languages (Node, Java, C#)
- Security takes precedence over all other capabilities
- A device establishes all connections and routes in an outbound-onlyfashion.
- Devices should only connect to or establish routes to well-knownservices
- The communication path is secured at the application protocol layer
- Authorization and authentication are based on per-device identities. It makes access credentials instantly revocable.
- For a device to receive a command from the backend, the devicemust regularly initiate a connection to check for any pending commands to process.
-
-
-
-
-
-
-
http://aka.ms/iot-hub-sdk
End-to-End Architecture Overview
End-to-End Architecture Overview
Data Source Collect Process ConsumeDeliver
Event Inputs- Event Hub
- IoT hub
- Azure Blob
Transform- Temporal joins
- Filter
- Aggregates
- Projections
- Windows
- Etc.
Enrich
Correlate
Outputs- SQL Azure
- Blob Storage
- Event Hub
- Table Storage
- Service Bus
- Queue
- Topic
- DocumentDB
- Power BI
Azure
Storage
• Temporal Semantics
• Guaranteed delivery
• Guaranteed up time
Azure Stream Analytics
Reference Data- Azure Blob
TUMBLINGWINDOW ( timeunit , windowsize, [offsetsize] )
TUMBLINGWINDOW ( Duration( timeunit , windowsize ), [Offset(timeunit , offsetsize)] )
HOPPINGWINDOW ( timeunit , windowsize , hopsize, [offsetsize] )
HOPPINGWINDOW ( Duration( timeunit , windowsize ) , Hop (timeunit , windowsize ), [Offset(timeunit , offsetsize)])
SLIDINGWINDOW ( timeunit , windowsize )
SLIDINGWINDOW ( Duration( timeunit , windowsize ) )
Aggregate functions
Scalar/Conversion functions
Date and time:
String:
Typy
Type Description
bigint Integers in the range -2^63 (-9,223,372,036,854,775,808) to 2^63-1 (9,223,372,036,854,775,807).
float Floating point numbers in the range - 1.79E+308 to -2.23E-308, 0, and 2.23E-308 to 1.79E+308.
nvarchar(max) Text values, comprised of Unicode characters. Note: A value other than max is not supported.
datetime Defines a date that is combined with a time of day with fractional seconds that is based on a 24-hour clock and relative to
UTC (time zone offset 0).
State is made highly-available through replication and distributed through partitioning
https://github.com/Azure-Samples/MyDriving
David Bureš[email protected] | @pidibiTechnical Evangelist | Microsoft