52
Build 2015 – BB Azure

Build 2015 – Azure overview

Embed Size (px)

Citation preview

Page 1: Build 2015 – Azure overview

Build 2015 – BBAzure

Page 2: Build 2015 – Azure overview

Why cloud ?PRO CON

Scaling (”infinite”) Bandwidth (bottleneck)

Metered (Pay-as-you-go) Storage (comparatively expensive)

Redundancy (resilient) Hands-off (lack of control)

Less on-prem admin (TCO) SLA (compromises)

DevOps made possible (eliminate the middleman) Perception (is it safe ?)

SLA (guarantees) Not right for everything

I/P/SaaS

Page 3: Build 2015 – Azure overview

Why Azure ?Azure (Microsoft) AWS (Amazon) GCP (Google)

Cost Per minute – rounded up

Per hour – rounded up

Per minute – rounded up (minimum 10 minutes)

SLA

Technologies .Net, Hyper-V, Hybrid clouds, WinServer, NoSql and Sql storage, HDInsight (Hadoop), ML, etc

Xen hyper-V, NoSql and Sql storage, analytics (Hadoop), ML, etc

KVM hyper-V, Linux, Hadoop, Java/Python (primarily), NoSql and Sql (mysql), etc

”Barrier-to-entry” (for a Microsoft stack company)

Low Higher Higher

Page 4: Build 2015 – Azure overview

Regional presence (why is this relevant ?)

Page 5: Build 2015 – Azure overview
Page 6: Build 2015 – Azure overview

Analogy

Page 7: Build 2015 – Azure overview
Page 8: Build 2015 – Azure overview

Continuous integration / delivery DevOps• “A working product after every check-in”• “The adoption of DevOps is being driven by factors such as:

• Use of agile and other development processes and methodologies• Demand for an increased rate of production releases from application and business unit stakeholders• Wide availability of virtualized and cloud infrastructure from internal and external providers• Increased usage of data center automation and configuration management tools”

• “You’re doing continuous delivery when• Your software is deployable throughout its lifecycle• Your team prioritizes keeping the software deployable over working on new features• Anybody can get fast, automated feedback on the production readiness of their systems any time

somebody makes a change to them• You can perform push-button deployments of any version of the software to any environment on

demand”

Page 9: Build 2015 – Azure overview

MS DevOps stages

Page 10: Build 2015 – Azure overview

The DevOps virtuous cycle

Page 11: Build 2015 – Azure overview

(...AKA Deming Cycle)

Page 12: Build 2015 – Azure overview

Moving on to...

Page 13: Build 2015 – Azure overview

Build 2015 Azure themes (rough bundling)• Azure management and VS integration, ”new” Azure portal, resource groups• Dockers and containerization• App service + web and mobile on Azure• Big data & analytics• Azure Media Services• Azure Elastic Search• Azure Compute platform• Storage updates (DocumentDB, Azure Sql, Blob updates)• Azure Service Fabric• IoT with Azure• Office 365 and Azure

Want everything ? http://channel9.msdn.com/Events/Build/2015?sort=status&direction=asc&term=azure#tab_sortBy_status

Page 14: Build 2015 – Azure overview

Cloud computing trends• Hybrid cloud and piecemeal migration

• Private clouds less so

• Containerization and DevOps • Agile => CI

• Cloud APIs (REST, JSON)• Ease and scalability / automation of resource management

• Portal, API, scripting

• Security• Encryption, automation, orchestration

• Industry clouds• Case in point, Media Services, see also reference architectures

• Continuing commodification• Metering, billing, modes of tweaking resource usage, monitoring

Sources: IBM, Gartner, IDC, Forrester

Page 16: Build 2015 – Azure overview

Storage• SQL Database• SQL Server VM• DocumentDB• Search• HDInsight• Other DBs• Blobs• Files• Queues• Tables• DataLake (Hbase)

Page 17: Build 2015 – Azure overview

Azure storage offerings

Page 18: Build 2015 – Azure overview

Storage architecture

Page 19: Build 2015 – Azure overview

Core storage category API overview

Page 21: Build 2015 – Azure overview

Mgmt portal and Visual Studio integration• Download the Azure SDK to integrate• Start your VS or open your portal• Portal : logon via Azure AD• VS : use the Azure server explorer• Or use PowerShell (get the Azure cmdlets)• Or use cross-platform xplat-cli• Or write the automation code in any .net

language

Dockers and containerizationDockers and containerization

Page 22: Build 2015 – Azure overview

ALTER DATABASE Milestone MODIFY (edition='Standard')Set-AzureSqlDatabase -ResourceGroupName MS -ServerName MS-Server -DatabaseName Milestone -RequestedServiceObjectiveName Standard;

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.sql/servers/{serverName}/databases/{databaseName}?api-version=2014-04-01

https://msdn.microsoft.com/en-us/library/azure/mt163571.aspx

{ "location": “<location>”, "properties": { "requestedServiceObjectiveId":“<serviceObjectiveID>“ }}

Request body

T-SQL:

PowerShell:

REST API:

Page 24: Build 2015 – Azure overview

The problem

Page 25: Build 2015 – Azure overview

The problem

Page 26: Build 2015 – Azure overview

The containerization solution – e.g. Dockers

Page 27: Build 2015 – Azure overview

...the analogy to shipping containers...

Page 28: Build 2015 – Azure overview

VM

Virtualization spectrum – where VMs and Containers fit

Page 30: Build 2015 – Azure overview

Azure Media Services• Upload and storage• Encoding, packaging, indexing• Content protection (encryption, signing)• Live and VoD streaming• Azure Media Player (cross platform)• Azure Media Indexer (NLP, transcripts, search, CC)• Ingest => encode => encrypt => publish => deliver

Page 34: Build 2015 – Azure overview

Service Fabric Applications

Azure Private Clouds

Applications composed of microservices

High Availability

Hyper-Scale

Hybrid Operations

High Density

Rolling Upgrades Stateful

services

Low Latency Fast startup & shutdown

Container Orchestration & lifecycle management Replication &

FailoverSimple

programming models

Load balancing

Self-healingData Partitioning

Automated Rollback

Health Monitoring

Placement Constraints

Service Fabric

Reliable Actors API Reliable Services API

Page 35: Build 2015 – Azure overview

What is a microservice?• Is (logic + state) that is independently versioned, deployed,

and scaled• Has a unique name that can be resolved

e.g. fabric:/myapplication/myservice

• Interacts with other microservices over well defined interfaces and protocols like REST

• Remains always logically consistent in the presence of failures• Hosted inside a “container” (code + config)• Can be written in any language and framework• node.js, Java VMs, any EXE

Page 36: Build 2015 – Azure overview

Abstraction, encapsulation, decoupling

• Reliable actors API (“Orleans”)• Build reliable stateless and stateful objects with a virtual Actor Programming Model

• Suitable for applications with multiple independent units of state and compute

• Automatic state management and turn based concurrency (single threaded execution)

• Reliable services API • Build stateless services using existing technologies such as ASP.NET

• Build stateful services using reliable collections

• Manage the concurrency and granularity of state changes using transactions

• Communicate with services using the technology of your choice (e.g WebAPI, WCF)

“Self-contained, independent, substitutable containers vs interdependent tiers”

Page 37: Build 2015 – Azure overview

Reliable Collections

• Atomically update one or more collections using transactions• Changes are replicated and durably stored on multiple replicas• Reads are repeatable within the transaction• Enumerations are snapshot based

IReliableDictionary<K,V>

IReliableQueue<T>

Page 40: Build 2015 – Azure overview

Azure App Service• Abstraction layer over Web Apps, Moble Apps, API Apps, Logic Apps• “Point-and-click” / CASE-like functionality• Seamless authentication• API definition and generation, auto-discovery and update using

Swagger / Swashbuckle• Galleries (Marketplace)

Page 41: Build 2015 – Azure overview

App Service – four categories of app

Page 42: Build 2015 – Azure overview

Point-n-click in the Azure portal

Page 45: Build 2015 – Azure overview

Elastic database management

Page 46: Build 2015 – Azure overview

Data lake concept

Page 47: Build 2015 – Azure overview

Event data and analyticsPresentation and action

Storage andBatch Analysis

StreamAnalysis

IngestionCollectionEvent production

Event hubs

Cloud gateways(web APIs)

Field gateways

Applications

Legacy IOT (custom protocols)

Devices

IP-capable devices(Windows/Linux)

Low-power devices (RTOS)

Search and query

Data analytics(Power BI)

Web/thick client dashboardsEvent Hubs

SQL DB

Storage Tables

Power BI

Storage Blobs

Stream Analytics

Devices to take action

MachineLearning

more to come…

Page 48: Build 2015 – Azure overview

Code example, Azure Stream Analytics

{“XO”, 4, “Win10”} {“Jo”, 0, “Surface”} {“Foo”,4, “Bing”}Twitter Stream: {“Dip”, 2, “XBox”}

{“XO”, 0, “Win10”} {“Dip”, 0, “Xbox”}{“Jo”, 4, “Surface”} {“Foo”, 0, “Bing”}Twitter Stream:(same stream,further down the timeline)

SELECT TS1.UserName, TS1.TopicFROM TwitterStream TS1 TIMESTAMP BY CreatedAt JOIN TwitterStream TS2 TIMESTAMP BY CreatedAt

ON TS1.UserName = TS2.UserName AND TS1.Topic = TS2.Topic

AND DateDiff(second, TS1, TS2) BETWEEN 1 AND 60WHERE TS1.SentimentScore != TS2.SentimentScore

time

“List all users and the topics on which they switched their sentiment within a minute“

Page 49: Build 2015 – Azure overview

Parallelized stream analytics of event hubs

WITH Step1 AS ( SELECT Count(*) AS CountTweets, TopicFROM TwitterStream PARTITION BY PartitionIdGROUP BY TumblingWindow(second, 3), Topic, PartitionId

),Step2 AS (

SELECT Avg(CountTweets) FROM Step1GROUP BY TumblingWindow(minute, 3)

)SELECT * INTO Output1 FROM Step1SELECT * INTO Output2 FROM Step2SELECT * INTO Output3 FROM Step2

• A query can have multiple steps to enable pipeline execution

• A step is a sub-query defined using WITH (“common table expression”)

• Can be used to develop complex queries more elegantly by creating a intermediary named result

• Creates unit of execution for scaling out when PARTITION BY is used

• Each step’s output can be sent to multiple output targets using INTO

Page 50: Build 2015 – Azure overview

Azure Machine Learning Studio

Page 51: Build 2015 – Azure overview

ML Studio - detail

Page 52: Build 2015 – Azure overview

Resources• Everything Azure @ Build2015

• https://channel9.msdn.com/Events/Build/2015?sort=status&direction=asc&term=azure#tab_sortBy_status

• MS Azure Blog & Announcements• https://azure.microsoft.com/blog/

• All links referenced for this slide pack =>• Try-an-app :

• https://tryappservice.azure.com/

• Azure storage explorers• http://blogs.msdn.com/b/windowsazurestorage/archive/2014/03/11/windows-azure-

storage-explorers-2014.aspx

links.txt