Microsoft Azure 1 část: Úvod - Univerzita Karlova · Microsoft Azure Tomáš Herceg Microsoft...

22
Microsoft Azure Tomáš Herceg Microsoft MVP (ASP.NET) Microsoft Regional Director [email protected]

Transcript of Microsoft Azure 1 část: Úvod - Univerzita Karlova · Microsoft Azure Tomáš Herceg Microsoft...

Page 1: Microsoft Azure 1 část: Úvod - Univerzita Karlova · Microsoft Azure Tomáš Herceg Microsoft MVP (ASP.NET) Microsoft Regional Director tomas.herceg@riganti.cz

Microsoft Azure

Tomáš Herceg

Microsoft MVP (ASP.NET)

Microsoft Regional Director

[email protected]

Page 2: Microsoft Azure 1 část: Úvod - Univerzita Karlova · Microsoft Azure Tomáš Herceg Microsoft MVP (ASP.NET) Microsoft Regional Director tomas.herceg@riganti.cz

What Is Azure

https://www.azure.com

SaaS, IaaS, PaaS

Windows, .NET, MS SQL, ale i Linux, Java, PHP, Python, Oracle, Redis...

Pricing

DreamSpark

BizSpark – MSDN Subscription

Pay-as-You-Go

Enterprise Agreement

Page 3: Microsoft Azure 1 část: Úvod - Univerzita Karlova · Microsoft Azure Tomáš Herceg Microsoft MVP (ASP.NET) Microsoft Regional Director tomas.herceg@riganti.cz

Management & Tools

Management

Management Portal (old & new)

https://portal.azure.com

PowerShell

https://azure.microsoft.com/cs-cz/documentation/articles/powershell-install-configure/

Azure CLI (multi-platform)

https://azure.microsoft.com/cs-cz/documentation/articles/xplat-cli-install/

REST API

Developer Tools

Visual Studio

Community Edition (FREE)

Azure SDK

https://azure.microsoft.com/cs-cz/downloads/

Page 4: Microsoft Azure 1 část: Úvod - Univerzita Karlova · Microsoft Azure Tomáš Herceg Microsoft MVP (ASP.NET) Microsoft Regional Director tomas.herceg@riganti.cz

Introduction

Azure Portal

Subscriptions

Resource Groups & Resources

Old Portal

Billing Portal

Pricing Calculator

Spending Limit

Page 5: Microsoft Azure 1 část: Úvod - Univerzita Karlova · Microsoft Azure Tomáš Herceg Microsoft MVP (ASP.NET) Microsoft Regional Director tomas.herceg@riganti.cz

Azure App Service

Web App

Classic web app hosting (.NET, Java, PHP, Python, Ruby...)

(Auto)scale, deployment slots, A/B testing

API App

REST API

(Auto)scale, authorization, SDK generation

Mobile App

Social Network Authentication

Data Sync

Logic App

Workflow Creation

Integration with SalesForce, Office365, Twilio...

Page 6: Microsoft Azure 1 část: Úvod - Univerzita Karlova · Microsoft Azure Tomáš Herceg Microsoft MVP (ASP.NET) Microsoft Regional Director tomas.herceg@riganti.cz

Web App

Manual / Auto Scale

Continuous Delivery

Deploy from a Git branch

Deployment Slots

Immediate switching between staging and production slots

Configuration Rewrites

Connection Strings

Application Settings

Diagnostics portal

nameoftheapp.scm.azurewebsites.net

Page 7: Microsoft Azure 1 část: Úvod - Univerzita Karlova · Microsoft Azure Tomáš Herceg Microsoft MVP (ASP.NET) Microsoft Regional Director tomas.herceg@riganti.cz

Storage Options in Azure

Relational Data

SQL Azure

Key-Value Data

Redis

Table Storage

Document DB

Blobs

Blob Storage

Other

Storage Queue

Search

Page 8: Microsoft Azure 1 část: Úvod - Univerzita Karlova · Microsoft Azure Tomáš Herceg Microsoft MVP (ASP.NET) Microsoft Regional Director tomas.herceg@riganti.cz

SQL Azure

Server (virtual group of databases)

1 or more databases

Shared user name & password

Shared firewall rules

Database

DTU (number of average database transactions / second)

Elastic Database Pool

Page 9: Microsoft Azure 1 část: Úvod - Univerzita Karlova · Microsoft Azure Tomáš Herceg Microsoft MVP (ASP.NET) Microsoft Regional Director tomas.herceg@riganti.cz

SQL Azure

Data Migration

*.BACPAC (schema + data)

SQL Management Studio

Tasks > Import/Export Data-Tier Application

Limitations

SQL Server authentication & TCP/IP connections only

No multi-database & multi-server queries

No system table access

Requires clustered indexes

No SQL CLR support

Database engine only (no Reporting, Integration, Analysis services)

Page 10: Microsoft Azure 1 část: Úvod - Univerzita Karlova · Microsoft Azure Tomáš Herceg Microsoft MVP (ASP.NET) Microsoft Regional Director tomas.herceg@riganti.cz

Azure Document DB

Collections

Indexing Policy

Default: hash for strings, ordering for numbers

Hash

Querying

SQL dialect

https://www.documentdb.com/sql/demo

Page 11: Microsoft Azure 1 část: Úvod - Univerzita Karlova · Microsoft Azure Tomáš Herceg Microsoft MVP (ASP.NET) Microsoft Regional Director tomas.herceg@riganti.cz

Azure Storage

Blob / Table / Queue

Storage Account

Name

Access Key

Max. 500 TB / storage account

Page 12: Microsoft Azure 1 část: Úvod - Univerzita Karlova · Microsoft Azure Tomáš Herceg Microsoft MVP (ASP.NET) Microsoft Regional Director tomas.herceg@riganti.cz

Table Storage

Non-relational storage

Schema-free (max 255 columns)

Max. row size 1MB

Very slow filtering, ordering & search

Very fast access by primary key

Scalable

Partition Key, Row Key, Timestamp

Page 13: Microsoft Azure 1 část: Úvod - Univerzita Karlova · Microsoft Azure Tomáš Herceg Microsoft MVP (ASP.NET) Microsoft Regional Director tomas.herceg@riganti.cz

Blob Storage

Containers

Access Levels

Shared Access Signature

Blob Types

Block Blob

4 MB blocks, max. 50000 blocks

Page Blob

512 B blocks, max 1TB

Optimized for read/write access

Storage Types

Standard Storage

Premium Storage

Better performance

Optimized for virtual machines

Page 14: Microsoft Azure 1 část: Úvod - Univerzita Karlova · Microsoft Azure Tomáš Herceg Microsoft MVP (ASP.NET) Microsoft Regional Director tomas.herceg@riganti.cz

Queue Storage

Multiple writers, multiple readers

Order of messages not guaranteed (if you need, use Service Bus)

Enqueue waiting Dequeue process message Delete

If not processed within specified timeout (default 30), the message is

enqueued again

Use DequeueCount property to get rid of poisoned messages

Page 15: Microsoft Azure 1 část: Úvod - Univerzita Karlova · Microsoft Azure Tomáš Herceg Microsoft MVP (ASP.NET) Microsoft Regional Director tomas.herceg@riganti.cz

Virtual Machines & Resource Manager

Supports both Windows and Linux

Resource Manager Deployment

JSON template

Deployment via PowerShell, Azure CLI or REST API

https://azure.microsoft.com/en-us/documentation/templates/

https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-create-windows-powershell-resource-manager-template/

https://github.com/Azure/azure-content/blob/master/articles/virtual-machines/virtual-machines-extensions-customscript-with-template.md

Prepare Custom VM Image

Windows: sysprep

Linux: sudo waagent –deprovision

https://resources.azure.com/

Page 16: Microsoft Azure 1 část: Úvod - Univerzita Karlova · Microsoft Azure Tomáš Herceg Microsoft MVP (ASP.NET) Microsoft Regional Director tomas.herceg@riganti.cz

Service Bus

Topics vs Subscriptions

Cloud and On-Premise Solution

More robust than Azure Storage Queue

https://azure.microsoft.com/cs-cz/documentation/articles/service-bus-

azure-and-service-bus-queues-compared-contrasted/

Page 17: Microsoft Azure 1 část: Úvod - Univerzita Karlova · Microsoft Azure Tomáš Herceg Microsoft MVP (ASP.NET) Microsoft Regional Director tomas.herceg@riganti.cz

Application Insights

Advanced Application Monitoring

Trace Events & Exceptions with custom metadata

Server Performance, Page Load Times, App Availability...

Correlation ID & Search Events by User

Page 18: Microsoft Azure 1 část: Úvod - Univerzita Karlova · Microsoft Azure Tomáš Herceg Microsoft MVP (ASP.NET) Microsoft Regional Director tomas.herceg@riganti.cz

Azure Functions

Micro-service Architecture

Uses C# Script language (.csx files)

#ref directives to load packages and assemblies

Connectors for input and output

Blob / Queue storage

Service Bus

HTTP request

Webhook

Page 19: Microsoft Azure 1 část: Úvod - Univerzita Karlova · Microsoft Azure Tomáš Herceg Microsoft MVP (ASP.NET) Microsoft Regional Director tomas.herceg@riganti.cz

Docker Basics

Dockerfile

A script used to build a single container

Docker-compose

Compose several containers and deploy them together

docker run

docker-compose up

Page 20: Microsoft Azure 1 část: Úvod - Univerzita Karlova · Microsoft Azure Tomáš Herceg Microsoft MVP (ASP.NET) Microsoft Regional Director tomas.herceg@riganti.cz

Azure Container Service

Hosting and Orchestration of Containers

Docker Swarm

Cubernetes

DC/OS

Master – manages the farm of agents

Agents – hosts containers

Load balancer – seting up port forwarding and health probes

Connect using SSH to Master

tunneling of port 2375 to localhost:23750

Set DOCKER_HOST environment variable to localhost:23750

Use Docker CLI commands to work with containers

Page 21: Microsoft Azure 1 část: Úvod - Univerzita Karlova · Microsoft Azure Tomáš Herceg Microsoft MVP (ASP.NET) Microsoft Regional Director tomas.herceg@riganti.cz

Azure Machine Learning

Algorithms

Classification: Is this A or B (or C)?

Regression: How Much?

Clustering: How it is organized?

Anomaly Detection: Is this weird?

Reinforcement Learning: What should I do next?

Sample project with data (Handwritten digit recognition)

http://www.riganti.cz/download/mff_ml_exercise.zip

Page 22: Microsoft Azure 1 část: Úvod - Univerzita Karlova · Microsoft Azure Tomáš Herceg Microsoft MVP (ASP.NET) Microsoft Regional Director tomas.herceg@riganti.cz

Azure Machine Learning