In a recent past AZURE has achieved significant success as a cloud hosting provider. App service is one of the incredibly easier to setup, up and running platform as a service provider (PAAS) by Azure.
Why PAAS? There are decent amount of internet resources distinguish between IAAS, PAAS and SAAS. General engineers shorthand point of view of PAAS can be state as below:
“you develop the app and give us the package”, that is good enough for us to deploy and expose as a public app (url)
No need to concern about infrastructure costs or maintenance. Just pay the subscriptions to maintain your package/ files with required safety and security which are defined by end users.
There is a reasonable forester research paper published while ago, how companies can save money by moving to PAAS by cutting down maintenance cost and human resource involvement in longer run. ( Google for it… )
The computing resources in cloud generally referring to same old school, cores, RAM, storage etc which are having a direct relationship to the PAAS. But you do not need to configure or integrate them together as in older days or play with Virtual Machine s as in IAAS model. Because, they are set up to scale as you wish through configurations.
You will never know from where those resources come from. That is how PAAS feels like for an engineer.
Is Azure App service only for microsoft stack?
Not to mention, as being a world largest open source contributor, Microsoft delivers , app service with vast flexibility to use with any other stack as well. For php, MEAN stack, java, python, whatever the stack which developer ask for. Even not limited to windows, App service provides Linux environment too.
What is APP Service Plan?
App service plan is a very first step of creating a PAAS app. It is similar to mobile plan. Which has to be a base for many different type of subscription services to come and add.
Checkout the scratch below!
Minimal requirements to run a DB based application are:
1) File server to serve the files
2) Database to store application data. SQL or MySQL or any other DB provider
3) Anything else? Yes just some more additional storage. May be for backups or store resource files like images!
Quit obviously your file server has to scale its resources with the demand / growth. Demand can come as many forms. Either increment in number or requests or data volume. So that since the auto scaling is a main purpose you chose cloud service, need to let it manage by itself with your minimum involvement.
Azure app service provides 2 ways to scale up:
Increase the power, number of cores, Ram size or physical storage. ( Refer to diagram )
Increase the number of VM instances ( Refer to diagram )
Both has limits. When Scale UP not enough you must scale out. When the max number of instances (20 for standard plan) per package reached then you have no choice than upgrade it. Simple!
The storage account I added on diagram is to cover the additional data storage requirement in app. It may be a form of data back up. In azure you can easily configure sql backup up to the size your standard or premium packages are given.
Security and Compliance Basic Knowledge
Security and Compliance is important as well. Particularly these days where personal data policies are getting stronger than ever. Good news! Azure provides good protection for your data by ensuring it is only logically segregate for you unless requested to access by azure support. Therefore default data protection is reliable.
If you need more protection then you can add encryption at any layer, as in storage level or transport level. Azure then provides a key vault to manage your encryption keys too.
This article only provides a brief know how to get started with Azure app service. Watch my video below for details:
1) Set up git repo and push to the bitbucket
2) Create a PAAS app in Azure App Service
3) Set Up and configure azure CI/CD pipelines