Say your company has tasked you to move your Web application in cloud.
Where would you start?
In a traditional cloud setup (IaaS), you cook up a Virtual machine, install App server, Databases, Storages, Cache, and do Network configurations. These are skill intensive, and complex.
As full stack developers, we are already burdened with UI and backend. Most Programming frameworks become outdated before a new season of Games of Thrones begins.
Most web technologies die unexpectedly like Games of Thrones characters.
Luckily, we have PaaS which simplifies cloud computing. PaaS is especially a savior for developers in start-ups. It is good starting point to quickly get your hands dirty in the cloud.
Focus on development increases from left to the right.
PaaS stands for Platform as a Service.
- No Hardware Procurement.
- No Capacity Planning.
- No Software Licensing.
As a developer, you only worry about application deployment, and maintenance. High abstractions lets us focus on what matters the most – Business.
2 main components of PaaS.
- Middleware integration.
- Deployment tools.
Directory services (Azure Directory) lets you setup OAuth2 security for your website right from portal. No need to write any code. Azure directory has nothing to do with Active Directory, and they are not related. Azure directory is OAuth2 implementation from Azure.
Application Insights provide monitoring, analytics and logging. It’s a powerful tool we can exploit to troubleshoot issues.
Azure supports deployment through Kudu. Kudu will help you deploy code automatically. You can configure it to deploy from a repository branch. TFS, GitHub etc are supported right now. Master, Stage, and Dev branches can be connected to individual App services — each a separate website. Setting up, and running Powershell scripts for pre and/or post deployment is easy.
Getting started with PaaS is very easy.
In 3 steps we can have a website running in the cloud.
1. Setup Applications Server:
Directly host your websites using ‘App Service’ instead of a creating a Virtual machine. Connect your code repository to App Service, and your website is ready in 10 minutes. Much of the deployment heavy lifting is automatically managed by Azure for you.
In the background, Azure will create a new machine, install IIS, and hosts your site as default website. All App services have public url, and run on wild card SSL’s.
2. Create Database:
Relational Databases (SQL server) can be setup from Azure portal in less than 10 minutes. No downloads. No Installations. No Licensing. With a click of few buttons (name your server and db), and that’s it.
Even configuration intensive NoSQL databases like DocumentDB and MongoDB are supported in PaaS. Select your partition key, and database size. That’s it.
3. Configure Scaling:
Conveniently setup scaling from Azure portal. Based on the usage, scale up (for more CPU and RAM) and scale out (for more instances) your web apps. Also, customize it by number of requests, or waiting queue messages, or multi-threads, faults, and/or exceptions.