SlideShare a Scribd company logo
1
TOPIC
2
TOPIC
How to develop
modern web
application
With no money and no Javascript
ATosato86
andreatosato
andrea.tosato
ANDREA TOSATO
DEMO
https://community-italy.azureedge.net/
https://github.com/andreatosato/Community-Italy
Oggi vedremo…
Azure Content Delivery Network
Origin Type
Custom domain
Azure Content Delivery Network Standard
OUTBOUND DATA
TRANSFERS
1
ZONE 1
2
ZONE 2
2
ZONE 3
2
ZONE 4
2
ZONE 5
2
First 10 TB /Month €0.0684 per GB €0.1088 per GB €0.1965 per GB €0.1097 per GB €0.1333 per GB
Next 40 TB (10–50
TB)/Month
€0.0633 per GB €0.1021 per GB €0.1569 per GB €0.1063 per GB €0.1021 per GB
Next 100 TB (50–150
TB)/Month
€0.0473 per GB €0.0945 per GB €0.1417 per GB €0.0945 per GB €0.0861 per GB
Next 350 TB (150–500
TB)/Month
€0.0313 per GB €0.0785 per GB €0.1257 per GB €0.0785 per GB €0.0785 per GB
Next 500 TB (500–1,000
TB)/Month
€0.0237 per GB €0.0633 per GB €0.1097 per GB €0.0743 per GB
Next 4,000 TB (1,000–
5,000 TB)/Month
€0.0194 per GB €0.0549 per GB €0.1021 per GB €0.0709 per GB
CDN
Azure Static Website
Mat Blazor
https://www.matblazor.com/
https://blazordev.it/blazor/tips/2020/03/30/loading-blazor-webassembly.html
Time Zone
https://www.nuget.org/packages/Toolbelt.Blazor.TimeZoneKit/
Blazor
Code
Azure Functions
METER PRICE FREE GRANT (PER MONTH)
Execution Time
*
€0.000014/GB-s 400,000 GB-s
Total executions
*
€0.169 per million executions 1 million executions
Durable Functions
Approvazione evento
ConfirmEvent_Http
StartNewAsyncHttp Request
ConfirmOrchestratorEvent
CreateEvent
SendMailEvent
ApproveFromHttpEvent
ApproveCancelEventOnCosmos
1
2
3
WaitForExternalEvent
Send Mail
Output Binding
Http Request
Expire Timer (7 days max)
Creazione miniature
UploadImage
Http Request
Original Image
Upload via SDK
Original Image
events/{name}/original.{blobextension}
ResizeImage
events/{name}/medium.{blobextension}
events/{name}/icon.{blobextension}
Azure Functions
Code
Entity Framework Core – v3
dotnet add package Microsoft.EntityFrameworkCore.Cosmos
Funzionalità ancora assenti
EF Core – Cosmos DB
Limitazioni temporanee
• Anche se è presente un solo tipo di entità senza ereditarietà
mappata a un contenitore, è ancora presente una proprietà
Discriminator.
• I tipi di entità con chiavi di partizione non funzionano correttamente
in alcuni scenari
• le chiamate Include non sono supportate
• le chiamate Join non sono supportate
• No migration
• No DateTime compare
• Le entità incorporate devono essere diverse dalle entità delle
collezioni
https://docs.microsoft.com/it-it/ef/core/providers/cosmos/limitations
EF Core – Cosmos DB
using (var context = new OrderContext())
{
var cosmosClient = context.Database.GetCosmosClient();
var database = cosmosClient.GetDatabase("OrdersDB");
var container = database.GetContainer("Orders");
var resultSet = container.GetItemQueryIterator<JObject>(new QueryDefinition("select * from o"));
var order = (await resultSet.ReadNextAsync()).First();
Console.WriteLine($"First order JSON: {order}");
order.Remove("TrackingNumber");
await container.ReplaceItemAsync(order, order["id"].ToString());
}
EF Core
Code
Cosmos DB – Free Tier
https://azure.microsoft.com/it-
it/updates/azure-cosmos-db-free-tier-is-
now-available/
Cosmos DB – Free Tier
https://azure.microsoft.com/it-
it/updates/azure-cosmos-db-free-tier-is-
now-available/
Quando il livello Gratuito viene abilitato
in un account Azure Cosmos DB,
riceverai gratuitamente le prime 400
UR/s e 5 GB di risorse di archiviazione
per la durata dell'account. Quando usi
database condivisi per le unità
elaborate, puoi inoltre creare fino a 25
contenitori che condividono 400
UR/s a livello di database. È consentito
al massimo un account di livello
Gratuito per sottoscrizione.
Cosmos Request Units
Il numero di unità elaborate con provisioning è espresso
in Unità richieste al secondo (UR/s), che possono essere usate
per varie operazioni del database, ad esempio inserimenti,
letture, sostituzioni, aggiornamenti, eliminazioni, query e così
via.
1 UR/s è ad esempio sufficiente per l'elaborazione di una
operazione di scrittura finale coerente al secondo di 1.000
elementi e 5 UR/s sono sufficienti per l'elaborazione di
un'operazione di scrittura al secondo di 1.000 elementi.
Per l'archiviazione viene fatturato ogni GB usato per i dati e
l'indice basati su SSD.
Cosmos Request Units
https://docs.microsoft.com/it-it/azure/cosmos-db/request-units
DevOps - GitHub
https://shields.io/
GitHub Actions
GitHub Free for everyone
https://help.github.com/en/github/getting-started-
with-github/faq-about-changes-to-githubs-
plans#how-can-i-compare-which-features-are-in-
each-plan
Thanks
Questions?
andreatosato ATosato86 andrea.tosato

More Related Content

Similar to How to develop modern web application - With no money and no Javascript

Community Tour 2009 Windows Azure Overview
Community Tour 2009 Windows Azure OverviewCommunity Tour 2009 Windows Azure Overview
Community Tour 2009 Windows Azure OverviewFabio Cozzolino
 
MongoDB User Group Padova - Overviews iniziale su MongoDB
MongoDB User Group Padova - Overviews iniziale su MongoDBMongoDB User Group Padova - Overviews iniziale su MongoDB
MongoDB User Group Padova - Overviews iniziale su MongoDB
Stefano Dindo
 
Azure No-Sql approach: DocumentDB
Azure No-Sql approach: DocumentDBAzure No-Sql approach: DocumentDB
Azure No-Sql approach: DocumentDB
Davide Benvegnù
 
Wcf data services
Wcf data servicesWcf data services
Wcf data services
Salvatore Sorrentino
 
ILIC Dejan - MSc presentation: Secure Business Computation by using Garbled C...
ILIC Dejan - MSc presentation: Secure Business Computation by using Garbled C...ILIC Dejan - MSc presentation: Secure Business Computation by using Garbled C...
ILIC Dejan - MSc presentation: Secure Business Computation by using Garbled C...
Dejan Ilic
 
Abusing HTML 5 Client-side Storage
Abusing HTML 5 Client-side StorageAbusing HTML 5 Client-side Storage
Abusing HTML 5 Client-side Storageameft
 
PoC IoT in 1 ora
PoC IoT in 1 oraPoC IoT in 1 ora
PoC IoT in 1 ora
Alessio Biasiutti
 
iot Saturday 2019 - PoC iot in 1 ora
iot Saturday 2019 - PoC iot in 1 oraiot Saturday 2019 - PoC iot in 1 ora
iot Saturday 2019 - PoC iot in 1 ora
Alessio Biasiutti
 
Implementare e mantenere un progetto azure sql database v.2
Implementare e mantenere un progetto azure sql database v.2Implementare e mantenere un progetto azure sql database v.2
Implementare e mantenere un progetto azure sql database v.2Emanuele Zanchettin
 
REST API fantastiche e dove trovarle
REST API fantastiche e dove trovarleREST API fantastiche e dove trovarle
REST API fantastiche e dove trovarle
Marco Breveglieri
 
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
Emanuele Zanchettin
 
#dd12 Applicazioni a tre voci (Android e Domino)
#dd12 Applicazioni a tre voci (Android e Domino)#dd12 Applicazioni a tre voci (Android e Domino)
#dd12 Applicazioni a tre voci (Android e Domino)
Dominopoint - Italian Lotus User Group
 
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...
azuredayit
 
Couchbase Meetup - "Introduzione a NoSQL e Couchbase"
Couchbase Meetup - "Introduzione a NoSQL e Couchbase"Couchbase Meetup - "Introduzione a NoSQL e Couchbase"
Couchbase Meetup - "Introduzione a NoSQL e Couchbase"
Franco Caporale
 
Applicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore RomeoApplicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore Romeo
marcocasario
 
EF 6.0 What's New - EF@Work
EF 6.0 What's New - EF@WorkEF 6.0 What's New - EF@Work
EF 6.0 What's New - EF@Work
Pietro Libro
 
SQL Saturday 2019 - Event Processing with Spark
SQL Saturday 2019 - Event Processing with SparkSQL Saturday 2019 - Event Processing with Spark
SQL Saturday 2019 - Event Processing with Spark
Alessio Biasiutti
 
Entity Framework 4 vs NHibernate 3
Entity Framework 4 vs NHibernate 3Entity Framework 4 vs NHibernate 3
Entity Framework 4 vs NHibernate 3
Martino Bordin
 

Similar to How to develop modern web application - With no money and no Javascript (20)

Community Tour 2009 Windows Azure Overview
Community Tour 2009 Windows Azure OverviewCommunity Tour 2009 Windows Azure Overview
Community Tour 2009 Windows Azure Overview
 
MongoDB User Group Padova - Overviews iniziale su MongoDB
MongoDB User Group Padova - Overviews iniziale su MongoDBMongoDB User Group Padova - Overviews iniziale su MongoDB
MongoDB User Group Padova - Overviews iniziale su MongoDB
 
Azure No-Sql approach: DocumentDB
Azure No-Sql approach: DocumentDBAzure No-Sql approach: DocumentDB
Azure No-Sql approach: DocumentDB
 
Wcf data services
Wcf data servicesWcf data services
Wcf data services
 
ILIC Dejan - MSc presentation: Secure Business Computation by using Garbled C...
ILIC Dejan - MSc presentation: Secure Business Computation by using Garbled C...ILIC Dejan - MSc presentation: Secure Business Computation by using Garbled C...
ILIC Dejan - MSc presentation: Secure Business Computation by using Garbled C...
 
Oai Data Adapter
Oai Data AdapterOai Data Adapter
Oai Data Adapter
 
Abusing HTML 5 Client-side Storage
Abusing HTML 5 Client-side StorageAbusing HTML 5 Client-side Storage
Abusing HTML 5 Client-side Storage
 
PoC IoT in 1 ora
PoC IoT in 1 oraPoC IoT in 1 ora
PoC IoT in 1 ora
 
iot Saturday 2019 - PoC iot in 1 ora
iot Saturday 2019 - PoC iot in 1 oraiot Saturday 2019 - PoC iot in 1 ora
iot Saturday 2019 - PoC iot in 1 ora
 
Implementare e mantenere un progetto azure sql database v.2
Implementare e mantenere un progetto azure sql database v.2Implementare e mantenere un progetto azure sql database v.2
Implementare e mantenere un progetto azure sql database v.2
 
REST API fantastiche e dove trovarle
REST API fantastiche e dove trovarleREST API fantastiche e dove trovarle
REST API fantastiche e dove trovarle
 
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
 
#dd12 Applicazioni a tre voci (Android e Domino)
#dd12 Applicazioni a tre voci (Android e Domino)#dd12 Applicazioni a tre voci (Android e Domino)
#dd12 Applicazioni a tre voci (Android e Domino)
 
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...
 
Couchbase Meetup - "Introduzione a NoSQL e Couchbase"
Couchbase Meetup - "Introduzione a NoSQL e Couchbase"Couchbase Meetup - "Introduzione a NoSQL e Couchbase"
Couchbase Meetup - "Introduzione a NoSQL e Couchbase"
 
Applicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore RomeoApplicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore Romeo
 
EF 6.0 What's New - EF@Work
EF 6.0 What's New - EF@WorkEF 6.0 What's New - EF@Work
EF 6.0 What's New - EF@Work
 
Dojo nuovo look alle vostre applicazioni web Domino
Dojo nuovo look alle vostre applicazioni web DominoDojo nuovo look alle vostre applicazioni web Domino
Dojo nuovo look alle vostre applicazioni web Domino
 
SQL Saturday 2019 - Event Processing with Spark
SQL Saturday 2019 - Event Processing with SparkSQL Saturday 2019 - Event Processing with Spark
SQL Saturday 2019 - Event Processing with Spark
 
Entity Framework 4 vs NHibernate 3
Entity Framework 4 vs NHibernate 3Entity Framework 4 vs NHibernate 3
Entity Framework 4 vs NHibernate 3
 

More from Andrea Tosato

Codemotion Azure Container Apps
Codemotion Azure Container AppsCodemotion Azure Container Apps
Codemotion Azure Container Apps
Andrea Tosato
 
Lite db for dummies
Lite db for dummiesLite db for dummies
Lite db for dummies
Andrea Tosato
 
Azure Static Web Apps & Blazor
Azure Static Web Apps & BlazorAzure Static Web Apps & Blazor
Azure Static Web Apps & Blazor
Andrea Tosato
 
Dapr logicapps
Dapr logicappsDapr logicapps
Dapr logicapps
Andrea Tosato
 
How to develop modern web application, with no money and nod javascript
How to develop modern web application, with no money and nod javascriptHow to develop modern web application, with no money and nod javascript
How to develop modern web application, with no money and nod javascript
Andrea Tosato
 
Entity framework core v3 from sql to no sql
Entity framework core v3 from sql to no sqlEntity framework core v3 from sql to no sql
Entity framework core v3 from sql to no sql
Andrea Tosato
 
Mixing Identity server, AAD, ASP .NET Identity
Mixing Identity server, AAD, ASP .NET IdentityMixing Identity server, AAD, ASP .NET Identity
Mixing Identity server, AAD, ASP .NET Identity
Andrea Tosato
 
An introduction to GraphQL in .NET Core
An introduction to GraphQL in .NET CoreAn introduction to GraphQL in .NET Core
An introduction to GraphQL in .NET Core
Andrea Tosato
 
DevOps Heroes 2019
DevOps Heroes 2019DevOps Heroes 2019
DevOps Heroes 2019
Andrea Tosato
 
dotNetConf2019
dotNetConf2019dotNetConf2019
dotNetConf2019
Andrea Tosato
 
Cost Optimization - Global Azure Bootcamp 2019
Cost Optimization - Global Azure Bootcamp 2019Cost Optimization - Global Azure Bootcamp 2019
Cost Optimization - Global Azure Bootcamp 2019
Andrea Tosato
 
Deep Dive Azure Functions - Global Azure Bootcamp 2019
Deep Dive Azure Functions - Global Azure Bootcamp 2019Deep Dive Azure Functions - Global Azure Bootcamp 2019
Deep Dive Azure Functions - Global Azure Bootcamp 2019
Andrea Tosato
 
Azure Function Workflow
Azure Function WorkflowAzure Function Workflow
Azure Function Workflow
Andrea Tosato
 
Azure Cognitive Service on Container
Azure Cognitive Service on ContainerAzure Cognitive Service on Container
Azure Cognitive Service on Container
Andrea Tosato
 
Deploy multi-environment application with Azure DevOps
Deploy multi-environment application with Azure DevOpsDeploy multi-environment application with Azure DevOps
Deploy multi-environment application with Azure DevOps
Andrea Tosato
 
Azure Cognitive Service in Container
Azure Cognitive Service in ContainerAzure Cognitive Service in Container
Azure Cognitive Service in Container
Andrea Tosato
 
Azure Signalr Service
Azure Signalr ServiceAzure Signalr Service
Azure Signalr Service
Andrea Tosato
 
Xamarin - Microcharts
Xamarin - MicrochartsXamarin - Microcharts
Xamarin - Microcharts
Andrea Tosato
 
Introduzione Xamarin
Introduzione XamarinIntroduzione Xamarin
Introduzione Xamarin
Andrea Tosato
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
Andrea Tosato
 

More from Andrea Tosato (20)

Codemotion Azure Container Apps
Codemotion Azure Container AppsCodemotion Azure Container Apps
Codemotion Azure Container Apps
 
Lite db for dummies
Lite db for dummiesLite db for dummies
Lite db for dummies
 
Azure Static Web Apps & Blazor
Azure Static Web Apps & BlazorAzure Static Web Apps & Blazor
Azure Static Web Apps & Blazor
 
Dapr logicapps
Dapr logicappsDapr logicapps
Dapr logicapps
 
How to develop modern web application, with no money and nod javascript
How to develop modern web application, with no money and nod javascriptHow to develop modern web application, with no money and nod javascript
How to develop modern web application, with no money and nod javascript
 
Entity framework core v3 from sql to no sql
Entity framework core v3 from sql to no sqlEntity framework core v3 from sql to no sql
Entity framework core v3 from sql to no sql
 
Mixing Identity server, AAD, ASP .NET Identity
Mixing Identity server, AAD, ASP .NET IdentityMixing Identity server, AAD, ASP .NET Identity
Mixing Identity server, AAD, ASP .NET Identity
 
An introduction to GraphQL in .NET Core
An introduction to GraphQL in .NET CoreAn introduction to GraphQL in .NET Core
An introduction to GraphQL in .NET Core
 
DevOps Heroes 2019
DevOps Heroes 2019DevOps Heroes 2019
DevOps Heroes 2019
 
dotNetConf2019
dotNetConf2019dotNetConf2019
dotNetConf2019
 
Cost Optimization - Global Azure Bootcamp 2019
Cost Optimization - Global Azure Bootcamp 2019Cost Optimization - Global Azure Bootcamp 2019
Cost Optimization - Global Azure Bootcamp 2019
 
Deep Dive Azure Functions - Global Azure Bootcamp 2019
Deep Dive Azure Functions - Global Azure Bootcamp 2019Deep Dive Azure Functions - Global Azure Bootcamp 2019
Deep Dive Azure Functions - Global Azure Bootcamp 2019
 
Azure Function Workflow
Azure Function WorkflowAzure Function Workflow
Azure Function Workflow
 
Azure Cognitive Service on Container
Azure Cognitive Service on ContainerAzure Cognitive Service on Container
Azure Cognitive Service on Container
 
Deploy multi-environment application with Azure DevOps
Deploy multi-environment application with Azure DevOpsDeploy multi-environment application with Azure DevOps
Deploy multi-environment application with Azure DevOps
 
Azure Cognitive Service in Container
Azure Cognitive Service in ContainerAzure Cognitive Service in Container
Azure Cognitive Service in Container
 
Azure Signalr Service
Azure Signalr ServiceAzure Signalr Service
Azure Signalr Service
 
Xamarin - Microcharts
Xamarin - MicrochartsXamarin - Microcharts
Xamarin - Microcharts
 
Introduzione Xamarin
Introduzione XamarinIntroduzione Xamarin
Introduzione Xamarin
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 

How to develop modern web application - With no money and no Javascript