Cloud! Cloud! Cloud! What is this cloud? What is Azure? What is cloud computing again?
Oh! So many questions, when we get into this industry. Let's discuss cloud computing and then move on to Azure.
Cloud computing is one the most hyped and demanded technologies in the industry now. It is actually a paradigm shift for providing computing over the internet. Innovations are now what many companies are looking forward to. Cloud computing is a big enemy to on-premise computing which has been prevailing for many years and is still dominating. Now, what is on-premise computing? This is when solutions are installed on user/users' systems, whereas cloud provides solutions via the Internet. Cloud computing now no longer wastes your time and space with installing the hardware servers physically, it just needs a good reliable internet connection.
Cloud comprises of various virtual Data Centers that provide different software, hardware, and information resources/services. Organizations now just need to connect to the cloud and use the available resources based on their requirement.
Cloud computing for organizations can be done in three ways:
- Private: This is only for one organization and is totally secure as the name states: it is private.
- Public: This is acquired and managed by the cloud service provider and it provides the highest level of efficiency for the resources provided by the cloud provider.
- Hybrid: This is the blend of both private and public, where few resources are added and managed under the public (i.e. the cloud provider and few other resources are managed by the organization.) This also provides increased efficiency.
We will now learn more facts and information to make our understanding of the cloud clear...
Microsoft Azure is a cloud computing platform provided by Microsoft, previously named Windows Azure. Let's have a pictorial view of what Azure can provide:
This is a quick visual summary for Azure.
All the overheads (i.e. the operating system to be used for the application we develop, the network on which we have the application set up, the storage space and scalability, and the performance monitoring of the application) are important things to keep in mind before developing an application.
Just imagine if we had a provider capable of handling and managing these things for us so that we could simply focus on our application development. Would that not be great? Here comes the hero, Microsoft Azure.
Microsoft Azure, the cloud service provider, provides us with all the required resources.
According to Garnet,
A style of computing in which scalable and elastic IT enabled capabilities are derived as a service using the internet technologies.
The image below shows how the Microsoft Azure portal looks.
The above image shows the various resources Azure portal provides us.
App Services: These are the Web app services on which we deploy our websites in general. Suppose we create an MVC application and want to run on Azure, we need to create a web app service on which the Website will be deployed and running.
Virtual Machines (Classic): As Microsoft suggests, the VMs are the same but the classic mode denotes that the old platform/portal is outdated but the API is still intact. This will not support the newest resources added, whereas, in new mode, it supports the very new and updated additional resources.
SQL Databases: This, as discussed below, also helps create a database for the application. The creation would need a new or existing server on which it will run based on location. We discuss this more below.
Cloud Services: It is one of the PaaS services provided by Azure. This can simply be thought of as a collection of numerous VMs which in turn would have software installed on them.
Microsoft Azure runs on three basic structures. IaaS, PaaS, & SaaS. Let's briefly discuss them below:
IaaS (Infrastructure as a Service)
Infrastructure as a service when used by the organization, provides the infrastructure resources required for the build. Here you are only concerned about the service we get from the infrastructure, for example: Database as a service. Microsoft provides Remote Desktops, Virtual Machines, Servers as IaaS resources.
PaaS (Platform as a Service)
This is the platform which Microsoft Azure provides required for only development. Here, we only need to focus on the development, maintenance, and management of the application. Azure SQL Database, HD Insights, Application Insights, Azure Storage, Active directory are all a part of PaaS of Azure.
The difference being, PaaS has more of an economic advantage than IaaS, whereas IaaS has more control over the entire resources being used be it: OS, servers, VMs, etc.
Let's see an example of how we can add an IaaS service and PaaS i.e. for instance Database (SQL).
We saw an image of the Azure portal above, now let's click on SQL Database and then on Add as pictured below:
Then, we will see a new tab beside the above tab on the same window like below:
This is the new portal style in which the tabs open up side by side, whereas in an earlier portal, every time a new tab was overlapping the clicked tab.
Here on this image, there are many things we need to know. Remember, we are going to add a new SQL Database.
First, it asks for the database name—enter the name. Then, the next box is for the Server name. Once you click on the Server, the tab opens up with options such as Create a new server or use existing. Here I am adding a new server instance.
Another interesting thing to mark is Location. Out of different options, be decisive and wise in choosing the location based on the nearest location to the deployment server in order to decrease the latency rate.
Here, while creating the database, we created a new Server instance with a name and location. The Server here acts as IaaS and the Database as PaaS.
Virtual Machines (IaaS):
There are a lot of services provided by Microsoft Azure. While adding a new virtual machine, we have options for adding as a Windows Server, Linux, Joomla, and many more pre-build images. Interestingly, they provide you with an image of SQL Server. Let's use this as an example and see how to add VMs.
As you see above, when we select the SQL Server as our VM, it means it will create a Windows Server with SQL Server (* version) installed on it. The list of versions is shown in the image. Let's select the 2016 instance and see what happens.
When we click the SQL Server version to be created, the above tab pops up to configure the settings for the VM. The above details are just the name and password you would be using for login.
This the VM configuration, the windows server configuration on which our SQL 2016 would be installed. Select any one of these and proceed with the configuration. The next are default settings, you may change these also based on your needs.
Finally, hit OK to create the VM, and it will start the initial deployment. After submitting the deployment, it will take few minutes to complete and set up the VM for you to download the VM instance and choose using Remote desktop connection.
The configuration can be seen on all resources and upon clicking the virtual machine.
As you can see here, the OS is Windows, and every Virtual Machine requires a Virtual Network to be created. So, while creating the virtual machine, a virtual network is created in the setting, if wished the name of VN can be changed—in this case, it is surajsql2016.
Then, after the VM is updated and setup is completed, you will get a notification regarding the same.
Then hit Connect which will download the .rdp file. Then, as you know the process, add the username password you had set up during the configuration of VM and play around on the Server with SQL 2016 installed on it.
SaaS (Software as a Service)
This is an interesting concept provided by the cloud. It gives users access to online applications like Sharepoint online, MS Office based on subscription. This can also be termed as software delivered over the internet/web. We need not worry about the installation, the bit information, OS, etc. before using the product/software.
Here comes another interesting fact about Microsoft Azure. The Pay as you Go model.
Here, the payment method is like electricity usage. You pay only when you use. That is called utility. You are not asked to pay for units that you have not used, right? May sound weird but true.
Microsoft Azure also follows the utility graph. It is the green in the graph. Only pay for the services you use and that are up and running. Isn't that great! Quite economical!
Thus, here we've just brief described what cloud computing is, why to choose Microsoft Azure, the architecture, and different platforms. In upcoming modules we will have a detailed walkthrough of the Azure portal and learn how to create an MVC application and deploy to the Azure app service.