SlideShare una empresa de Scribd logo
1 de 54
Michał Furmankiewicz
@mifurm
https://architektwchmurze.pl
Słowo o tym, co robię.



Każdy dostawca obiecywał, że będzie tańsza…
Co podmiot liryczny miał na myśli?
Platform Services
Infrastructure Services
Web
Apps
Mobile
Apps
API
Apps
Notification
Hubs
Hybrid
Cloud
Backup
StorSimple
Azure Site
Recovery
Import/Export
SQL
Database DocumentDB
Redis
Cache
Azure
Search
Storage
Tables
SQL Data
Warehouse
Azure AD
Health Monitoring
AD Privileged
Identity
Management
Operational
Analytics
Cloud
Services
Batch
RemoteApp
Service
Fabric
Visual Studio
Application
Insights
VS Team Services
Domain Services
HDInsight Machine
Learning Stream Analytics
Data
Factory
Event
Hubs
Data Lake
Analytics Service
IoT Hub
Data
Catalog
Security &
Management
Azure Active
Directory
Multi-Factor
Authentication
Automation
Portal
Key Vault
Store/
Marketplace
VM Image Gallery
& VM Depot
Azure AD
B2C
Scheduler
Xamarin
HockeyApp
Power BI
Embedded
SQL Server
Stretch Database
Mobile
Engagement
Functions
Cognitive Services Bot Framework Cortana
Security Center
Container
Service
VM
Scale Sets
Data Lake Store
BizTalk
Services
Service Bus
Logic
Apps
API
Management
Content
Delivery
Network
Media
Services
Media
Analytics
Aplikacje
Clients
Infrastuktura
Zarządzanie
Bazy danych
Narzędzia
programistyczne
DevOps
PaaS &
DevOps
Azure to otwarta chmura
Maszyny wirtualne
 (być może) Idealny model do
migracji Lift&Shift
 Uruchomisz na nich wszystko,
wybierzesz dowolny system
 Wyłączone, nic nie kosztują
 Duży wybór. Od małych po takie,
co mają 2TB pamięci
 Każdy „admin” wie jak nimi
zarządzać
 Zawsze są w jakiejś sieć, Wasz
sieciowie Was polubi
17
 Można skalować ale to wolne
 Proces CI/CD
 Nadal masz przy nich tyle samo
pracy
 Wszystkie znane problemy
związane z VM’kami ich dotyczą
 Czy faktycznie po to budowano
Cloud by hostować w nim
maszyny?
Virtual Machine Scale Set
18
 Idealne tam, gdzie w jednej
warstwie potrzebujesz wiele
maszyn naraz i są identyczne
 Mają wszystkie zalety maszyn 
 Szybko się „powołują”
 Kiedy maszyny są w Scale Set
zachowują się „prawie” jak PaaS
 Chcą się „auto-scalować”
 Dobrze nadają się procesu
automatyzacji
 Łatwo zautomatyzować
przygotowanie nowych wydań
 Łatwo wydać nową wersję… ale
trochę trwa zbudowanie image’u
 To nadal tylko maszyny
 Wszystkie znane problemy
związane z VM’kami ich dotyczą
(np. patch management)
19
20
AppService
 To naprawdę PaaS -> szybko się
tworzy, wstaje, skaluje, restartuje,
wiąże krawat.
 Proces wdrożenia, zarządzania
wydaniami i konfiguracją to
prawdziwa bajka. (Sloty to must
have)
 Nie jest wybredna :) lubi i wspiera
.Net, Java, PHP, NodeJS, Python,
Ruby
 Jest gotowy sklep, która zawiera
paczki m.in. WordPress’a, Django,
wiele innych
 Na dole ma Windows lub Linux z
Dockerem
22
 Skoro to PaaS, to nie macie
wpływu na to, co pod spodem,
czasem Wasze IT / Security tego
bardzo chce
 Proces maintanance jest poza
Wami
 Ma zawsze publiczny adres IP
 Kosztuje zawsze, nawet jak nic
nie robi… ale można skalować w
dół
 Ma ograniczenia co do ilości
nawiązanych połączeń i
zestawionych sesji
App Service (Win&Linux)
 Instancje o danej wielkości mają tę samą wydajność,
niezależnie od planu (S1==B1==P1)
 Łączny koszt dla AppService będzie niższy niż dla
VM’ek (TCO)
 Wersja z Windows / Linux kosztuje tyle samo
 Jeśli piszesz w PHP, Python, RubyOnRails weź wersją z
Linux, będzie szybciej i mam na to dowody
App Service Environment
 Ma wszystkie zalety App Service
 Rozumie co to sieć, możemy go
wystawić na zewnątrz jak i zrobić
rozwiązanie „prywatne”
 Ma dedykowanego Load
Balancera, przy dużym obciążeniu
nie zgubi Twoich requestów
 Pomogło wybrać nowego
Premiera Kanady, udało się
wyciągnąć 25kRPS i dostarczać to
z 2 kontynentów i 3 DC
26
 Nadal postawienie środowiska
trwa dość długo (ok. 40 min)
 Skalowanie „w górę” / „w dół”
jest szybsze ale…
 Bazowe środowisko nie jest
tanie. Zdecydowanie opcja dla
Enterprise.
 Nowa wersja wydajnościowo
jest dużo ciekawsza niż pierwsza
(dyski SSD i nowe serie CPU
robią swoje)
27
App Service Env.
 Load Balancer i jego obciążenie ma gigantyczny wpływ
na wydajność całego rozwiązania. Trzeba to
monitorować.
 Maksymalna ilość instancji na dziś to 100 i można to
skalować po regionach (np. 3 instancje w 3 regionach)
 W ramach ASE można pomieszać rozwiązanie Webowe,
dla potrzeb API czy Functions
ASE – Load Balancer – Utylizacja zasobów
ASE – Worker Pool – Utylizacja zasobów
Jeśli już korzystasz z AppService/ASE to
wyciśnij z niego ile się da.
 Wyłącz frameworki z których nie korzystasz
 Ustaw AlwaysOn na On
 Ustaw Affinity Cookie na Off
 Weź Redis Cache albo bazę dla potrzeb sesji
 Jeśli nie znasz obciążenia swojej aplikacji ustaw „autoscaling” ale… nie
polecam.
 Bez dobrego podejścia do badania telemetrii nie podchodź. Np.
AppInsight czy DynaTrace
 Korzystaj z Application Settings i wbudowanych Slot’ów. Spodoba Ci
się to jako model wdrażania aplikacji.
31
Kontenery
33
 Jeśli nadal nie wiesz czym są, czas zacząć się
uczyć.
 3 różne usługi i 3 różne cele
 Container Services
 Container Services Managed
 Container Instances
 Jeśli korzystasz z Windows’a – nie przejmuj się.
Też w tym świecie są kontenery.
Application
Infrastructure
Azure Container Service
Orchestrator
Kontenery
 Wspiera podział aplikacji na
architekturę usługową /
mikroserwisów
 Bardzo przyspiesza development,
pięknie wpisuje się w proces
automatyzacji środowiska.
 Szybko się buduje i tworzy kolejna
instancja.
 Poprawia utylizację sprzętu
 Dobrze wpisuje się w hybrydową
architekturę środowisk
 Działa wszędzie
 Zdecydowanie warto inwestować
35
 Piękne dla aplikacji Stateless,
Statefull to nie tutaj
 Mega dynamiczny rozwój, który
wprowadza „breaking changes”
 Dużo różnych pomysłów na
architekturę środowiska, dużo
dostawców rozwiązań (również
tych, które działają w Azure)
 Dużo różnych narzędzi
 Trzeba zbudować kompetencje
zarówno po stronie
Dev/Ops/DevOps/SysOps
Czy ktoś tego używa? Microsoft – Azure i
usługi stoją na SF.
Usługi globalne korzystają z SF: Cortana, Skype &
Cosmos DB
Dla Azure, SF to fundamentalna technologia
Pytacie o skalę? 60 miliardów zdarzeń na dzień
po milionach baz
SQL
{ }Power BI
Dynamics
Intune
Cortana Skype
Cosmos DB
IoT Hub
Events Hub
SQL Database
Service Fabric w dwóch słowach
Środowisko dla kontenerów czy mikroserwisów na każdym OS, w każdej
chmurce
Programming
Models
Dev & Ops
Tooling
Orchestration Lifecycle
Management
Health &
Monitoring
Always On
Availability
Auto
Scaling
Azure On-premises infrastructure Other cloudsDev machine
Bardzo różne modele programistyczne
Lifecycle
Management
Always On
Availability
Orchestration Programming
Models
Health &
Monitoring
Dev & Ops
Tooling
Auto
Scaling
Programming
Models
Dev & Ops
Tooling
Orchestration Lifecycle
Management
Health &
Monitoring
Always On
Availability
Auto
Scaling
.NET or Java …
Built-in ASP.NET core integration;
work with VS and VSTS or
Eclipse and Jenkins
Reliable Services
Manage state reliability
without a database,
lowering latency
Guest Executables
Run existing code and
orchestrate life cycle using
service fabric
Reliable Actors
Use familiar tools: Visual Studio +
Team Services for .NET or Jenkins
+ Yeomen for Java
Containers
Orchestrate your Windows
Server or Linux containers
reliably at scale
</>
Service Fabric
 Cechy i zalety były już na
poprzednim slajdzie.
 Sprawdzona technologia w boju.
 Nie ważne w czym piszesz, na co
piszesz, może być dla Ciebie.
 Za darmo jest. Płacisz tylko za
maszyny.
 Gdybym dziś wybierał
architekturę pod system kluczowy
w Banku, byłyby to SF
40
 Potężne rozwiązanie – pewnie
nie wjedziesz z tym jutro na
produkcję (ale to nie po to jest)
 W sumie nie ma wad poza tym,
że trzeba to poznać, nauczyć się
Framework’u i nauczyć się z tego
korzystać
41
Wiem, że chcecie więcej posłuchać o SF
Queues Storage
Stateless Services Pattern
Front End
(Stateless
Web)
Stateless
Middle-tier
Compute
Cache
• Scale stateless services
backed by partitioned
storage
• Increase reliability and
ordering with queues
• Reduce read latency with
caches
• Manage your own
transactions for state
consistency
Load Balancer
Stateful
Middle-tier
Compute
Stateful Services Pattern Simplify design, reduce latency
Front End
(Stateless
Web)
• Application state resides
in the compute tier
• Low latency reads and
writes
• Partitions are first class at
the service layer for scale-
out
• Built in transactions
• External stores for exhaust
and offline analytics
Load Balancer
Cold Data Stores
(Optional)
Serverless w Azure to nie tylko Functions
Co dalej?
Testy wydajnościowe? Ostateczne porównanie
Jak ocenić dostępne rozwiązania?
50
Zarządzanie
Automatyzacja
wydań
Model kosztowy
Wydajność i
skalowanie
Wiedza zespołu
Osiołkowi w żłobie dano – co wybrać?
Usługi
Dostosowanie
OS
Narzut na
zarządzanie
DevOps
Zarządzanie
klastrem
Refactoring
aplikacji
Model
kosztowy
VM/VMSS -
App
Service
ACS
Service
Fabric
Functions -
Linki, które musisz przeczytać
Kontenery
 ACS Engine https://github.com/Azure/acs-engine
 5 biggest challanges with containers http://rancher.com/top-5-challenges-with-deploying-container-in-production/
Serverless
 Play with Azure Functions https://blog.jeremylikness.com/exploring-cosmosdb-with-powerbi-9192317087d8
 Serverless impact on Cost Management https://blog.acolyer.org/2017/10/19/serverless-computing-economic-and-architectural-impact/
 Durable functions https://docs.microsoft.com/en-us/azure/azure-functions/durable-functions-sequence
 Wydajność funkcji by Janusz Nowak https://blog.janono.pl/2017/10/azure-function-benchmark-for-net-4-7-vs-net-core-beta/
 How Cloud Compouting witll change by Azure Functions https://www.datamation.com/cloud-computing/how-serverless-changes-cloud-
computing.html
App Service / ASE porównanie
 Roberto Pravato https://robertoprevato.github.io/More-about-Linux-vs-Windows-hosted-ASP-NET-Core-applications-in-Azure-App-Service/
Dalsze dyskusje o tym co wybrać
 https://blogs.msdn.microsoft.com/maheshkshirsagar/2016/11/21/choosing-between-azure-container-service-azure-service-fabric-and-
azure-functions/
 https://docs.microsoft.com/pl-pl/azure/app-service/choose-web-site-cloud-service-vm
 https://medium.com/@WorkloadRancher/service-fabric-functions-and-app-services-which-ones-for-me-4e275128ed0
Service Fabric
• Najlepsza sesja o Service Fabric: https://myignite.microsoft.com/sessions?q=service%2520fabric

Más contenido relacionado

Similar a GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Microsoft Azure

Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...Lukasz Kaluzny
 
Automatyzacja fundament każdej chmury
Automatyzacja fundament każdej chmury Automatyzacja fundament każdej chmury
Automatyzacja fundament każdej chmury Jakub Mazurkiewicz
 
[CareerCon] as-a-Service czy Software Defined (PL)
[CareerCon] as-a-Service czy Software Defined (PL)[CareerCon] as-a-Service czy Software Defined (PL)
[CareerCon] as-a-Service czy Software Defined (PL)Jaroslaw Sobel
 
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.Wojciech Barczyński
 
Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005Tomasz Cieplak
 
Nowości Windows Azure
Nowości Windows AzureNowości Windows Azure
Nowości Windows Azurepbubacz
 
Cometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólnaCometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólnaJakub Hajek
 
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...Future Processing
 
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDNPLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDNPROIDEA
 
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...Tomasz Kopacz
 
Olsztyński Dzień Informatyki - Chmura Azure dla specjalistów IT. Mamy się jej...
Olsztyński Dzień Informatyki - Chmura Azure dla specjalistów IT. Mamy się jej...Olsztyński Dzień Informatyki - Chmura Azure dla specjalistów IT. Mamy się jej...
Olsztyński Dzień Informatyki - Chmura Azure dla specjalistów IT. Mamy się jej...cieszak
 
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Cloudskraqa
 
1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?
1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?
1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?Tobias Koprowski
 
Cloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, MicrosoftCloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, MicrosoftBiznes 2.0
 
Tomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows AzureTomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows AzureWebhosting.pl
 
Optymalizacja hostingu
Optymalizacja hostinguOptymalizacja hostingu
Optymalizacja hostinguDivante
 

Similar a GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Microsoft Azure (20)

Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
 
Automatyzacja fundament każdej chmury
Automatyzacja fundament każdej chmury Automatyzacja fundament każdej chmury
Automatyzacja fundament każdej chmury
 
[CareerCon] as-a-Service czy Software Defined (PL)
[CareerCon] as-a-Service czy Software Defined (PL)[CareerCon] as-a-Service czy Software Defined (PL)
[CareerCon] as-a-Service czy Software Defined (PL)
 
Budowanie sieci Grid
Budowanie sieci GridBudowanie sieci Grid
Budowanie sieci Grid
 
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
 
Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005
 
Nowości Windows Azure
Nowości Windows AzureNowości Windows Azure
Nowości Windows Azure
 
Cometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólnaCometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólna
 
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
 
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDNPLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
 
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
 
Wirtualizacja
WirtualizacjaWirtualizacja
Wirtualizacja
 
Olsztyński Dzień Informatyki - Chmura Azure dla specjalistów IT. Mamy się jej...
Olsztyński Dzień Informatyki - Chmura Azure dla specjalistów IT. Mamy się jej...Olsztyński Dzień Informatyki - Chmura Azure dla specjalistów IT. Mamy się jej...
Olsztyński Dzień Informatyki - Chmura Azure dla specjalistów IT. Mamy się jej...
 
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Clouds
 
1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?
1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?
1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?
 
Cloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, MicrosoftCloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
 
Tomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows AzureTomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows Azure
 
Optymalizacja hostingu
Optymalizacja hostinguOptymalizacja hostingu
Optymalizacja hostingu
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 

GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Microsoft Azure

  • 2. Słowo o tym, co robię.
  • 3.
  • 5.
  • 6. Każdy dostawca obiecywał, że będzie tańsza…
  • 7. Co podmiot liryczny miał na myśli?
  • 8. Platform Services Infrastructure Services Web Apps Mobile Apps API Apps Notification Hubs Hybrid Cloud Backup StorSimple Azure Site Recovery Import/Export SQL Database DocumentDB Redis Cache Azure Search Storage Tables SQL Data Warehouse Azure AD Health Monitoring AD Privileged Identity Management Operational Analytics Cloud Services Batch RemoteApp Service Fabric Visual Studio Application Insights VS Team Services Domain Services HDInsight Machine Learning Stream Analytics Data Factory Event Hubs Data Lake Analytics Service IoT Hub Data Catalog Security & Management Azure Active Directory Multi-Factor Authentication Automation Portal Key Vault Store/ Marketplace VM Image Gallery & VM Depot Azure AD B2C Scheduler Xamarin HockeyApp Power BI Embedded SQL Server Stretch Database Mobile Engagement Functions Cognitive Services Bot Framework Cortana Security Center Container Service VM Scale Sets Data Lake Store BizTalk Services Service Bus Logic Apps API Management Content Delivery Network Media Services Media Analytics
  • 9.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16. Maszyny wirtualne  (być może) Idealny model do migracji Lift&Shift  Uruchomisz na nich wszystko, wybierzesz dowolny system  Wyłączone, nic nie kosztują  Duży wybór. Od małych po takie, co mają 2TB pamięci  Każdy „admin” wie jak nimi zarządzać  Zawsze są w jakiejś sieć, Wasz sieciowie Was polubi 17  Można skalować ale to wolne  Proces CI/CD  Nadal masz przy nich tyle samo pracy  Wszystkie znane problemy związane z VM’kami ich dotyczą  Czy faktycznie po to budowano Cloud by hostować w nim maszyny?
  • 17. Virtual Machine Scale Set 18  Idealne tam, gdzie w jednej warstwie potrzebujesz wiele maszyn naraz i są identyczne  Mają wszystkie zalety maszyn   Szybko się „powołują”  Kiedy maszyny są w Scale Set zachowują się „prawie” jak PaaS  Chcą się „auto-scalować”  Dobrze nadają się procesu automatyzacji  Łatwo zautomatyzować przygotowanie nowych wydań  Łatwo wydać nową wersję… ale trochę trwa zbudowanie image’u  To nadal tylko maszyny  Wszystkie znane problemy związane z VM’kami ich dotyczą (np. patch management)
  • 18. 19
  • 19. 20
  • 20.
  • 21. AppService  To naprawdę PaaS -> szybko się tworzy, wstaje, skaluje, restartuje, wiąże krawat.  Proces wdrożenia, zarządzania wydaniami i konfiguracją to prawdziwa bajka. (Sloty to must have)  Nie jest wybredna :) lubi i wspiera .Net, Java, PHP, NodeJS, Python, Ruby  Jest gotowy sklep, która zawiera paczki m.in. WordPress’a, Django, wiele innych  Na dole ma Windows lub Linux z Dockerem 22  Skoro to PaaS, to nie macie wpływu na to, co pod spodem, czasem Wasze IT / Security tego bardzo chce  Proces maintanance jest poza Wami  Ma zawsze publiczny adres IP  Kosztuje zawsze, nawet jak nic nie robi… ale można skalować w dół  Ma ograniczenia co do ilości nawiązanych połączeń i zestawionych sesji
  • 22. App Service (Win&Linux)  Instancje o danej wielkości mają tę samą wydajność, niezależnie od planu (S1==B1==P1)  Łączny koszt dla AppService będzie niższy niż dla VM’ek (TCO)  Wersja z Windows / Linux kosztuje tyle samo  Jeśli piszesz w PHP, Python, RubyOnRails weź wersją z Linux, będzie szybciej i mam na to dowody
  • 23.
  • 24.
  • 25. App Service Environment  Ma wszystkie zalety App Service  Rozumie co to sieć, możemy go wystawić na zewnątrz jak i zrobić rozwiązanie „prywatne”  Ma dedykowanego Load Balancera, przy dużym obciążeniu nie zgubi Twoich requestów  Pomogło wybrać nowego Premiera Kanady, udało się wyciągnąć 25kRPS i dostarczać to z 2 kontynentów i 3 DC 26  Nadal postawienie środowiska trwa dość długo (ok. 40 min)  Skalowanie „w górę” / „w dół” jest szybsze ale…  Bazowe środowisko nie jest tanie. Zdecydowanie opcja dla Enterprise.  Nowa wersja wydajnościowo jest dużo ciekawsza niż pierwsza (dyski SSD i nowe serie CPU robią swoje)
  • 26. 27
  • 27. App Service Env.  Load Balancer i jego obciążenie ma gigantyczny wpływ na wydajność całego rozwiązania. Trzeba to monitorować.  Maksymalna ilość instancji na dziś to 100 i można to skalować po regionach (np. 3 instancje w 3 regionach)  W ramach ASE można pomieszać rozwiązanie Webowe, dla potrzeb API czy Functions
  • 28. ASE – Load Balancer – Utylizacja zasobów
  • 29. ASE – Worker Pool – Utylizacja zasobów
  • 30. Jeśli już korzystasz z AppService/ASE to wyciśnij z niego ile się da.  Wyłącz frameworki z których nie korzystasz  Ustaw AlwaysOn na On  Ustaw Affinity Cookie na Off  Weź Redis Cache albo bazę dla potrzeb sesji  Jeśli nie znasz obciążenia swojej aplikacji ustaw „autoscaling” ale… nie polecam.  Bez dobrego podejścia do badania telemetrii nie podchodź. Np. AppInsight czy DynaTrace  Korzystaj z Application Settings i wbudowanych Slot’ów. Spodoba Ci się to jako model wdrażania aplikacji. 31
  • 31.
  • 32. Kontenery 33  Jeśli nadal nie wiesz czym są, czas zacząć się uczyć.  3 różne usługi i 3 różne cele  Container Services  Container Services Managed  Container Instances  Jeśli korzystasz z Windows’a – nie przejmuj się. Też w tym świecie są kontenery.
  • 34. Kontenery  Wspiera podział aplikacji na architekturę usługową / mikroserwisów  Bardzo przyspiesza development, pięknie wpisuje się w proces automatyzacji środowiska.  Szybko się buduje i tworzy kolejna instancja.  Poprawia utylizację sprzętu  Dobrze wpisuje się w hybrydową architekturę środowisk  Działa wszędzie  Zdecydowanie warto inwestować 35  Piękne dla aplikacji Stateless, Statefull to nie tutaj  Mega dynamiczny rozwój, który wprowadza „breaking changes”  Dużo różnych pomysłów na architekturę środowiska, dużo dostawców rozwiązań (również tych, które działają w Azure)  Dużo różnych narzędzi  Trzeba zbudować kompetencje zarówno po stronie Dev/Ops/DevOps/SysOps
  • 35.
  • 36. Czy ktoś tego używa? Microsoft – Azure i usługi stoją na SF. Usługi globalne korzystają z SF: Cortana, Skype & Cosmos DB Dla Azure, SF to fundamentalna technologia Pytacie o skalę? 60 miliardów zdarzeń na dzień po milionach baz SQL { }Power BI Dynamics Intune Cortana Skype Cosmos DB IoT Hub Events Hub SQL Database
  • 37. Service Fabric w dwóch słowach Środowisko dla kontenerów czy mikroserwisów na każdym OS, w każdej chmurce Programming Models Dev & Ops Tooling Orchestration Lifecycle Management Health & Monitoring Always On Availability Auto Scaling Azure On-premises infrastructure Other cloudsDev machine
  • 38. Bardzo różne modele programistyczne Lifecycle Management Always On Availability Orchestration Programming Models Health & Monitoring Dev & Ops Tooling Auto Scaling Programming Models Dev & Ops Tooling Orchestration Lifecycle Management Health & Monitoring Always On Availability Auto Scaling .NET or Java … Built-in ASP.NET core integration; work with VS and VSTS or Eclipse and Jenkins Reliable Services Manage state reliability without a database, lowering latency Guest Executables Run existing code and orchestrate life cycle using service fabric Reliable Actors Use familiar tools: Visual Studio + Team Services for .NET or Jenkins + Yeomen for Java Containers Orchestrate your Windows Server or Linux containers reliably at scale </>
  • 39. Service Fabric  Cechy i zalety były już na poprzednim slajdzie.  Sprawdzona technologia w boju.  Nie ważne w czym piszesz, na co piszesz, może być dla Ciebie.  Za darmo jest. Płacisz tylko za maszyny.  Gdybym dziś wybierał architekturę pod system kluczowy w Banku, byłyby to SF 40  Potężne rozwiązanie – pewnie nie wjedziesz z tym jutro na produkcję (ale to nie po to jest)  W sumie nie ma wad poza tym, że trzeba to poznać, nauczyć się Framework’u i nauczyć się z tego korzystać
  • 40. 41
  • 41. Wiem, że chcecie więcej posłuchać o SF
  • 42. Queues Storage Stateless Services Pattern Front End (Stateless Web) Stateless Middle-tier Compute Cache • Scale stateless services backed by partitioned storage • Increase reliability and ordering with queues • Reduce read latency with caches • Manage your own transactions for state consistency Load Balancer
  • 43. Stateful Middle-tier Compute Stateful Services Pattern Simplify design, reduce latency Front End (Stateless Web) • Application state resides in the compute tier • Low latency reads and writes • Partitions are first class at the service layer for scale- out • Built in transactions • External stores for exhaust and offline analytics Load Balancer Cold Data Stores (Optional)
  • 44.
  • 45. Serverless w Azure to nie tylko Functions
  • 47.
  • 49. Jak ocenić dostępne rozwiązania? 50 Zarządzanie Automatyzacja wydań Model kosztowy Wydajność i skalowanie Wiedza zespołu
  • 50. Osiołkowi w żłobie dano – co wybrać? Usługi Dostosowanie OS Narzut na zarządzanie DevOps Zarządzanie klastrem Refactoring aplikacji Model kosztowy VM/VMSS - App Service ACS Service Fabric Functions -
  • 51.
  • 52.
  • 53.
  • 54. Linki, które musisz przeczytać Kontenery  ACS Engine https://github.com/Azure/acs-engine  5 biggest challanges with containers http://rancher.com/top-5-challenges-with-deploying-container-in-production/ Serverless  Play with Azure Functions https://blog.jeremylikness.com/exploring-cosmosdb-with-powerbi-9192317087d8  Serverless impact on Cost Management https://blog.acolyer.org/2017/10/19/serverless-computing-economic-and-architectural-impact/  Durable functions https://docs.microsoft.com/en-us/azure/azure-functions/durable-functions-sequence  Wydajność funkcji by Janusz Nowak https://blog.janono.pl/2017/10/azure-function-benchmark-for-net-4-7-vs-net-core-beta/  How Cloud Compouting witll change by Azure Functions https://www.datamation.com/cloud-computing/how-serverless-changes-cloud- computing.html App Service / ASE porównanie  Roberto Pravato https://robertoprevato.github.io/More-about-Linux-vs-Windows-hosted-ASP-NET-Core-applications-in-Azure-App-Service/ Dalsze dyskusje o tym co wybrać  https://blogs.msdn.microsoft.com/maheshkshirsagar/2016/11/21/choosing-between-azure-container-service-azure-service-fabric-and- azure-functions/  https://docs.microsoft.com/pl-pl/azure/app-service/choose-web-site-cloud-service-vm  https://medium.com/@WorkloadRancher/service-fabric-functions-and-app-services-which-ones-for-me-4e275128ed0 Service Fabric • Najlepsza sesja o Service Fabric: https://myignite.microsoft.com/sessions?q=service%2520fabric