2. Types of Services
IaaS PaaS SaaS
Infrastructure as a service
- VM
- Storage
Platform as a service
- App Services
- SQL Azure
Software as a service
- Office 365 (Email, Skype …)
3. Azure Service Fabric
• Web Apps
• API Apps
• Logic Apps (Execute API’s, make workflow etc…)
• Mobile Apps (Mobile backend for iOS, Android apps and push
notifications)
• Function Apps (Run an independent code)
4. Deployment Slots (Test/Staging/Prod etc…)
• Use to confirm changes before you promote your app
• Deploy with no downtime by swapping staging with prod.
• Revert back published website if any problem occurs
staging.acme.com acme.com
%90 of users%10 of users
Test users
Swap
IP change
no downtime
Swap back
if any error
6. In-process hosting model
• Uses IIS HTTP Server instead of Kestrel.
• The requestTimeout attribute doesn't apply to in-process hosting.
• Sharing an app pool among apps isn't supported. 1 app pool per app.
• Placing an app_offline.htm file in the deployment, the app might not shut
down immediately if there's an open connection.
Eg: A WebSocket connection may delay app shut down.
• Client disconnects are detected. The HttpContext.RequestAborted
cancellation token is cancelled when the client disconnects.
• GetCurrentDirectory returns the worker directory of the process started by
IIS rather than the app's directory (for example,
C:WindowsSystem32inetsrv for w3wp.exe)
• The architecture of the app and installed runtime (x64 or x86) must match
the architecture of the app pool.
7. Out-of-process hosting model
• If <AspNetCoreHostingModel> is not present, hosting model
becomes OutOfProcess
• Kestrel server is used instead of IIS HTTP Server (IISHttpServer).
17. WebJobs
• Background processes like Windows Services
• If fails, tries again
• Can be triggered outside
• Queue, Blob, WebHooks
• Can be triggered manually or scheduled
• Are part of your WebApp
• A WebApp can have multiple WebJobs
• Can be used for long running tasks
• *.exe *.bat *.php *.js *.ps1 can be used