Monday, 20 May 2024

Virtual machines in Azure

 

Virtual machines in Azure

Applies to: ✔️ Linux VMs ✔️ Windows VMs ✔️ Flexible scale sets

Azure virtual machines are one of several types of on-demand, scalable computing resources that Azure offers. Typically, you choose a virtual machine when you need more control over the computing environment than the other choices offer. This article gives you information about what you should consider before you create a virtual machine, how you create it, and how you manage it.

An Azure virtual machine gives you the flexibility of virtualization without having to buy and maintain the physical hardware that runs it. However, you still need to maintain the virtual machine by performing tasks, such as configuring, patching, and installing the software that runs on it.

Azure virtual machines can be used in various ways. Some examples are:

  • Development and test – Azure virtual machines offer a quick and easy way to create a computer with specific configurations required to code and test an application.
  • Applications in the cloud – Because demand for your application can fluctuate, it might make economic sense to run it on a virtual machine in Azure. You pay for extra virtual machines when you need them and shut them down when you don’t.
  • Extended datacenter – virtual machines in an Azure virtual network can easily be connected to your organization’s network.

The number of virtual machines that your application uses can scale up and out to whatever is required to meet your needs.

What do I need to think about before creating a virtual machine?

There's always a multitude of design considerations when you build out an application infrastructure in Azure. These aspects of a virtual machine are important to think about before you start:

  • The names of your resources
  • The location where the resources are stored
  • The size of the virtual machine
  • The maximum number of virtual machines that can be created
  • The operating system that the virtual machine runs
  • The configuration of the virtual machine after it starts
  • The related resources that the virtual machine needs

Parts of a VM and how they're billed

When you create a virtual machine, you're also creating resources that support the virtual machine. These resources come with their own costs that should be considered.

The default resources supporting a virtual machine and how they're billed are detailed in the following table:

ResourceDescriptionCost
Virtual networkFor giving your virtual machine the ability to communicate with other resourcesVirtual Network pricing
A virtual Network Interface Card (NIC)For connecting to the virtual networkThere is no separate cost for NICs. However, there is a limit to how many NICs you can use based on your VM's size. Size your VM accordingly and reference Virtual Machine pricing.
A private IP address and sometimes a public IP address.For communication and data exchange on your network and with external networksIP Addresses pricing
Network security group (NSG)For managing the network traffic to and from your VM. For example, you might need to open port 22 for SSH access, but you might want to block traffic to port 80. Blocking and allowing port access is done through the NSG.There are no additional charges for network security groups in Azure.
OS Disk and possibly separate disks for data.It's a best practice to keep your data on a separate disk from your operating system, in case you ever have a VM fail, you can simply detach the data disk, and attach it to a new VM.All new virtual machines have an operating system disk and a local disk.
Azure doesn't charge for local disk storage.
The operating system disk, which is usually 127GiB but is smaller for some images, is charged at the regular rate for disks.
You can see the cost for attach Premium (SSD based) and Standard (HDD) based disks to your virtual machines on the Managed Disks pricing page.
In some cases, a license for the OSFor providing your virtual machine runs to run the OSThe cost varies based on the number of cores on your VM, so size your VM accordingly. The cost can be reduced through the Azure Hybrid Benefit.

You can also choose to have Azure can create and store public and private SSH keys - Azure uses the public key in your VM and you use the private key when you access the VM over SSH. Otherwise, you will need a username and password.

By default, these resources are created in the same resource group as the VM.

Locations

There are multiple geographical regions around the world where you can create Azure resources. Usually, the region is called location when you create a virtual machine. For a virtual machine, the location specifies where the virtual hard disks will be stored.

This table shows some of the ways you can get a list of available locations.

MethodDescription
Azure portalSelect a location from the list when you create a virtual machine.
Azure PowerShellUse the Get-AzLocation command.
REST APIUse the List locations operation.
Azure CLIUse the az account list-locations operation.

Availability

There are multiple options to manage the availability of your virtual machines in Azure.

  • Availability Zones are physically separated zones within an Azure region. Availability zones guarantee virtual machine connectivity to at least one instance at least 99.99% of the time when you've two or more instances deployed across two or more Availability Zones in the same Azure region.
  • Virtual Machine Scale Sets let you create and manage a group of load balanced virtual machines. The number of virtual machine instances can automatically increase or decrease in response to demand or a defined schedule. Scale sets provide high availability to your applications, and allow you to centrally manage, configure, and update many virtual machines. Virtual machines in a scale set can also be deployed into multiple availability zones, a single availability zone, or regionally.

Fore more information see Availability options for Azure virtual machines and SLA for Azure virtual machines.

Sizes and pricing

The size of the virtual machine that you use is determined by the workload that you want to run. The size that you choose then determines factors such as processing power, memory, storage capacity, and network bandwidth. Azure offers a wide variety of sizes to support many types of uses.

Azure charges an hourly price based on the virtual machine’s size and operating system. For partial hours, Azure charges only for the minutes used. Storage is priced and charged separately.

Virtual machine total core limits

Your subscription has default quota limits in place that could impact the deployment of many virtual machines for your project. The current limit on a per subscription basis is 20 virtual machine total cores per region. Limits can be raised by filing a support ticket requesting an increase

Managed Disks

Managed Disks handles Azure Storage account creation and management in the background for you, and ensures that you don't have to worry about the scalability limits of the storage account. You specify the disk size and the performance tier (Standard or Premium), and Azure creates and manages the disk. As you add disks or scale the virtual machine up and down, you don't have to worry about the storage being used. If you're creating new virtual machines, use the Azure CLI or the Azure portal to create virtual machines with Managed OS and data disks. If you have virtual machines with unmanaged disks, you can convert your virtual machines to be backed with Managed Disks.

You can also manage your custom images in one storage account per Azure region, and use them to create hundreds of virtual machines in the same subscription. For more information about Managed Disks, see the Managed Disks Overview.

Distributions

Microsoft Azure supports a variety of Linux and Windows distributions. You can find available distributions in the marketplace, Azure portal or by querying results using CLI, PowerShell and REST APIs.

This table shows some ways that you can find the information for an image.

MethodDescription
Azure portalThe values are automatically specified for you when you select an image to use.
Azure PowerShellGet-AzVMImagePublisher -Location location
Get-AzVMImageOffer -Location location -Publisher publisherName
Get-AzVMImageSku -Location location -Publisher publisherName -Offer offerName
REST APIsList image publishers
List image offers
List image skus
Azure CLIaz vm image list-publishers --location location
az vm image list-offers --location location --publisher publisherName
az vm image list-skus --location location --publisher publisherName --offer offerName

Microsoft works closely with partners to ensure the images available are updated and optimized for an Azure runtime. For more information on Azure partner offers, see the Azure Marketplace

Cloud-init

Azure supports for cloud-init across most Linux distributions that support it. we're actively working with our Linux partners in order to have cloud-init enabled images available in the Azure Marketplace. These images will make your cloud-init deployments and configurations work seamlessly with virtual machines and virtual machine scale sets.

For more information, see Using cloud-init on Azure Linux virtual machines.

Storage

Networking

Service disruptions

At Microsoft, we work hard to make sure that our services are always available to you when you need them. Forces beyond our control sometimes impact us in ways that cause unplanned service disruptions.

Microsoft provides a Service Level Agreement (SLA) for its services as a commitment for uptime and connectivity. The SLA for individual Azure services can be found at Azure Service Level Agreements.

Azure already has many built-in platform features that support highly available applications. For more about these services, read Disaster recovery and high availability for Azure applications.

This article covers a true disaster recovery scenario, when a whole region experiences an outage due to major natural disaster or widespread service interruption. These are rare occurrences, but you must prepare for the possibility that there is an outage of an entire region. If an entire region experiences a service disruption, the locally redundant copies of your data would temporarily be unavailable. If you have enabled geo-replication, three additional copies of your Azure Storage blobs and tables are stored in a different region. In the event of a complete regional outage or a disaster in which the primary region isn't recoverable, Azure remaps all of the DNS entries to the geo-replicated region.

To help you handle these rare occurrences, we provide the following guidance for Azure virtual machines in the case of a service disruption of the entire region where your Azure virtual machine application is deployed.

Option 1: Initiate a failover by using Azure Site Recovery

You can configure Azure Site Recovery for your VMs so that you can recover your application with a single click in matter of minutes. You can replicate to Azure region of your choice and not restricted to paired regions. You can get started by replicating your virtual machines. You can create a recovery plan so that you can automate the entire failover process for your application. You can test your failovers beforehand without impacting production application or the ongoing replication. In the event of a primary region disruption, you just initiate a failover and bring your application in target region.

Option 2: Wait for recovery

In this case, no action on your part is required. Know that we're working diligently to restore service availability. You can see the current service status on our Azure Service Health Dashboard.

This is the best option if you have not set up Azure Site Recovery, read-access geo-redundant storage, or geo-redundant storage prior to the disruption. If you have set up geo-redundant storage or read-access geo-redundant storage for the storage account where your VM virtual hard drives (VHDs) are stored, you can look to recover the base image VHD and try to provision a new VM from it. This isn't a preferred option because there are no guarantees of synchronization of data. Consequently, this option isn't guaranteed to work.

 Note

Be aware that you don't have any control over this process, and it will only occur for region-wide service disruptions. Because of this, you must also rely on other application-specific backup strategies to achieve the highest level of availability. For more information, see the section on Data strategies for disaster recovery.

Resources for service disruptions

Azure Availability Sets

 Azure Availability Sets

 

What is an Availability Set?

Availability Sets make use of two key concepts - Fault Domains, and Update Domains. At its core, Azure consists of racks upon racks of servers. Each rack can host any number of virtual machines. When creating a highly available pairing, you want to be sure that there is no single point of failure, that your workload will still be provisioned by one virtual machine if the other is under maintenance. Unfortunately, if you do not specify otherwise, there is no guarantee that your VMs will not be placed on the same rack, or the same 'Fault Domain'. In essence, a fault domain can be considered a rack within Azure. Every VM on the rack is subject to that rack's power and network connections. A rackwide failure, or a rackwide maintenance window will take down all VMs hosted on this single point of failure. When Azure refers to a fault domain, consider each fault domain a single point of failure.
 
 
 
An Availability Set distributes highly available workloads across multiple Fault Domains, thereby eliminating any single point of failure. Unless the entire data center is down, your workload will keep running. In essence, your workload is split between two or more racks, leveraging the redundant power supplies, network switches, etc, of each.
 
 
 
 
Grouping VMs in an availability sets also gives the Windows Azure Fabric Controller (FC) the information it needs to intelligently update the host OSs that your guest VMs are running on. Without availability sets the FC would have no idea that two machines were serving the same purpose and could reasonable take them both down for host OS updates.
 
An Availability Set also makes use of Update Domains. This allow you to determine how many of the workloads are down at any given time. You can set a priority order for shutting down the VMs and the number of update domains determines how many machines will be involved in the shutdown. In the image below, we see an Availability Set with 16  virtual machines, and four update domains. This means that a maximum of four VMs  can be down for maintenance at a given time, allowing the other 12 to carry the load. Once the first four return to service, another group will be available for maintenance. In conjunction with Fault Domains, this allows an Availability Set to ensure that undue burden is not placed on either rack.
 
When considering your use case, including the number of VMs you want to create and the number of Availability Sets you will need to create, remember that as a rule, you want one Availability Set per workload. A workload can be considered any virtual machines working together towards a common single purpose. Therefore, two highly available SoftNAS VMs to perform a single function would constitute a workload.
 

Creating An Availability Set

Creating an Availability Set in the Azure Portal can be done in one of two ways - while creating your VM, or separately.
 
Creating Separately
To create an Availability Set prior to creating your virtual machines, select More Services, then Availability Sets from the listed options.
 
 
Click Add.
 
Provide a name, the subscription that the Availability Set belongs to, the number of Fault Domains and Update Domains you require for your particular purpose, and create or select an existing resource group. Finally, select a location.
 
During VM creation
If creating a VM, it is possible to select an existing Availability Set, or to create one for your instance. When adding your virtual machine within an Availability set, or creating one, remember that for a given workload, both must be in the same Availability Set. A virtual machine cannot be moved from one availability set to another after creation.
 
Creating your virtual machine is well documented in Create and Configure a Virtual Machine in Azure, so we will not cover the topic in detail. It is in the third part of VM creation, Settings, in which your Availability Set can be created or selected.
 
 
Once Availability Set has been selected, you will have the option to create a new Availability Set, or select from existing if available within the current resource group and location. To create a new Availability Set, click Create New.
 
 
Note that the menu here is much simplified, as your resource group and location were already determined when establishing the 'Basics' for your VM.  These settings are automatically applied to your Availability Set using this method.
 
If a pre-existing Availability Set is available, simply select it, and it will be applied to your VM.
 
Remember again, if you create or add an availability set to the first VM of your HA pairing, the second must be added to the same availability set.

Cloud computing course wrap up

 

Cloud computing course wrap up


In this article, we will wrap up this cloud computing basics course. 

Cloud computing is everywhere. It is a big shift from the traditional way businesses think about IT resources and software solutions. Organizations of every type, size, and industry are using the cloud for a wide variety of use cases.

It is the future. Whether you are a Software Engineer, Quality Engineer, Business Analyst, Software Architect, IT Manager, or a Chief Technology Officer (CTO). It has something to offer to everyone. If you don't upgrade yourself and learn cloud computing, sooner or later you are out of the game. 

In this course, we have covered several important cloud concepts.

  • The state of Information Technology before Virtual Machines.
  • What is a Virtual Machine.
  • What are Containers.
  • What is a cloud and why is it important.
  • Different types of clouds - Private, Public and Hybrid.
  • Different types of cloud offerings - IaaS, PaaS and SaaS.
  • Benefits and risks of moving to a cloud.

Cloud computing offers several benefits and we discussed them in detail in our previous videos in this series. Just like everything else, along with the benefits, cloud computing also has risks. We must know and consider these risks before moving to a cloud. We discussed the risks of cloud computing in-detail in our previous videos in this series.

Data Security 

Data Security is one of the very important risks you must consider. When you store your business, employees and customer data in the cloud, you are placing your complete trust on the cloud service provider to secure and safeguard that data. 

If you are thinking, your applications and data are more secure in your own data center, you are almost certainly mistaken. 

Cloud service providers, at least the big reputable players like Microsft Azure, Amazon Web Services and Google Cloud for example, invest lots of resources and money to implement and improve cloud security. They are experts in this area. Their data centers are far more secure than our own data center. So, in reality, by moving to the cloud you are actually improving security, not reducing it. In addition to this, best practices like the following can reduce the security risk to a great extent.

  • Encryption
  • Two-factor authentication
  • Auditing
  • Reviewing and rotating access keys and credentials 

Like everything else, cloud computing has benefits and risks. We are far enough into the cloud revoultion and the risks have been dealt with in many ways. Cloud is here to stay and it has fundamentally changed the way businesses think about IT resources and software solutions.

You can find all our course videos, text articles and slides in sequence on the following page. 

Your feedback means a lot and is really really important. If you have couple of minutes, please provide your rating and valuable feedback on the Reviews tab.

Our next course is going to be Azure tutorial for beginners. Azure is the cloud computing service from Microsoft. In this course, we will discuss everything you need to know to build, deploy and scale applications using Microsoft Azure.

If you have a specific concept or topic in mind that you want me to cover as part of this course, please leave it as a comment.


In this article, we will wrap up this cloud computing basics course. 

Cloud computing is everywhere. It is a big shift from the traditional way businesses think about IT resources and software solutions. Organizations of every type, size, and industry are using the cloud for a wide variety of use cases.

It is the future. Whether you are a Software Engineer, Quality Engineer, Business Analyst, Software Architect, IT Manager, or a Chief Technology Officer (CTO). It has something to offer to everyone. If you don't upgrade yourself and learn cloud computing, sooner or later you are out of the game. 

In this course, we have covered several important cloud concepts.

  • The state of Information Technology before Virtual Machines.
  • What is a Virtual Machine.
  • What are Containers.
  • What is a cloud and why is it important.
  • Different types of clouds - Private, Public and Hybrid.
  • Different types of cloud offerings - IaaS, PaaS and SaaS.
  • Benefits and risks of moving to a cloud.

Cloud computing offers several benefits and we discussed them in detail in our previous videos in this series. Just like everything else, along with the benefits, cloud computing also has risks. We must know and consider these risks before moving to a cloud. We discussed the risks of cloud computing in-detail in our previous videos in this series.

Data Security 

Data Security is one of the very important risks you must consider. When you store your business, employees and customer data in the cloud, you are placing your complete trust on the cloud service provider to secure and safeguard that data. 

If you are thinking, your applications and data are more secure in your own data center, you are almost certainly mistaken. 

Cloud service providers, at least the big reputable players like Microsft Azure, Amazon Web Services and Google Cloud for example, invest lots of resources and money to implement and improve cloud security. They are experts in this area. Their data centers are far more secure than our own data center. So, in reality, by moving to the cloud you are actually improving security, not reducing it. In addition to this, best practices like the following can reduce the security risk to a great extent.

  • Encryption
  • Two-factor authentication
  • Auditing
  • Reviewing and rotating access keys and credentials 

Like everything else, cloud computing has benefits and risks. We are far enough into the cloud revoultion and the risks have been dealt with in many ways. Cloud is here to stay and it has fundamentally changed the way businesses think about IT resources and software solutions.

You can find all our course videos, text articles and slides in sequence on the following page. 

Your feedback means a lot and is really really important. If you have couple of minutes, please provide your rating and valuable feedback on the Reviews tab.

Our next course is going to be Azure tutorial for beginners. Azure is the cloud computing service from Microsoft. In this course, we will discuss everything you need to know to build, deploy and scale applications using Microsoft Azure.

If you have a specific concept or topic in mind that you want me to cover as part of this course, please leave it as a comment.

What is SaaS in cloud computing | Software as a Service

 

What is SaaS in cloud computing | Software as a Service


In this article we will understand, what is Software as a Service (also called SaaS). Who uses this service. Few examples and the benefits it provides.

What is Software as a Service (SaaS)

In our previous 2 articles, we discussed 

  1. What is Infrastructure as a Service
  2. What is Platform as a Service

As you can see from the diagram below, with Software as a Service, the cloud service provider manages everythig for us. We do not have to worry about any of the following

  • Purchasing and setting up physical hardware.
  • Installing operating system.
  • Virtualization.
  • Setting up network.
  • Installing and maintaining middleware, runtime and applications.

What is Software as a Service

All these are taken care by the service provider. So the bottom line is, all the hardware and software is maintained for us by the cloud service provider. We simply access the software i.e the application which we want to use for our business over the internet. The software runs at the cloud service provider data center on their physical servers. Event the data the application captures is stored at the cloud service provider data center. So the point, that I am trying to make is, everything is managed for us by the cloud service provider. We simply access the service over the internet and as it supports pay as you go model, we pay a monthly fee based on the usage.

Who uses Software as a Service

Everyone, individuals and organisations of all sizes - small, medium and even large enterprises.

Who uses SaaS

Examples of Software as a Service

I bet most of us will be using at least 2 to 3 Software as a Service applications. A few examples of Software as a Service are GMAIL, Netflix, Amazon Prime, Dropbox, Google Drive and Office 365. How many of these SaaS applications do you use. If you aske me, I use all ofthem. If we take GMAIL for example. It is hosted by Google on their physical servers at their data-centers. We don't host or install anything on our computer or laptop. We simply fire up our favourite browser, point it to GMAIL.com and access the GMAIL software as a service over the internet.

There are a wide variety of SaaS applications both for personal and business use cases. We have SaaS applications for customer relationship management (CRM), financial management, sales management, human resource management (HRM), billing, entertainment, storage, collaboration etc.

Benefits of Software as a Service

Very easy to get started

It is very easy to get started with a SaaS application. Think about a traditional business application running on-premise. You need to purchase hardware i.e a physical server and all the related hardware. Install the operating system, runtime, middleware and any other dependencies. On top of this you install the software application, configure it and then you have it available for business. You also need to recruit work-force to maintain the servers and the application i.e install patches and updates. 

Compare this to a SaaS application. You simply fireup your favourite browser and access the SaaS application over the internet. There might be some customization and configuration required, but it is definitely very easy to get started with a SaaS application than running that same application on-premise.

Accessibility 

You access SaaS applications over the internet. So this means as long as you have an internet connection, you can access a SaaS application from anywhere and any internet enabled device.

Automatic updates 

With a SaaS application you don't have to worry about installing updates or patches. These are automatically provided by the cloud service provider, that too, in most cases, with a ZERO down-time. This obviously reduces the burden on the in-house development and IT staff.

Flexible usage-based pricing

Flexible usage-based pricing. No upfront huge capital expenditure. You only pay for what you use. For example, if you have 10 users using the application you only pay for that 10 users. You also have the flexibility to scale the number of users up and down depending on your business needs.

Reduced financial risk

With SaaS applications there is less financial risk. For example, if you want to see if a SaaS application adds value to your business, you can start with 1 or 2 users and see if it's really adding value. If it is, then you have the option to scale up the number of users. If it is not adding any value, you simply stop using the app and the payments. These days, most cloud service providers also offer free trials. You can try a SaaS app for free and see if it is adding any value. If it is not, there is no cost to your business anyway. Compare this to buying an expensive hardware and a packaged app upfornt. With SaaS applications, businesses definitely have reduced financial risks.

Affordability

Affordability is another great benefit. Applications and solutions that fall in the category of CRM (Customer Relationship Management) and ERP (Enterprise Resource Planning) for example are very expensive to buy out right. Especially for individuals, small and medium organisations, it's a huge burden. However, SaaS applications flexible pay-as-you-go model allows even small and medium organisations to trial and experiment if these expensive apps add value to their business. Basically it levels the playing field for everyone, including small businesses and individuals.


What is PaaS in cloud computing | Platform as a Service

 

What is PaaS in cloud computing | Platform as a Service


In our previous article we understood what is Infrastructure as a Service. In this article we will understand, what is Platform as a Service (also called PaaS), who uses this service and the benefits it provide.

What is Platform as a Service (PaaS)

If you have read our previous article, what is Infrastructure as a Service then, understanding what is Platform as a Service is very easy. It boils down to what we (i.e our organisation) manages verus what the cloud service provider manages. With the, Infrastructure as a Service the cloud service provider manages the infrastructure (i.e Networking, Servers, Storage and Virtualization). We manage everything else (i.e the Operating System, Middleware, Runtime, Data and Application).

what is platform as a service

When compared with Infrastructure as a Service, Platform as a Service provides an even higher level of abstraction. You can think of it as a layer on top of Infrastructure as a Service. It shifts more responsibility to the cloud service provider. As you can see from the diagram, you manage just your business applications or services and the underlying data. The rest is managed by the cloud service provider. You don't have to worry about any of the things like, managing the network or underlying infrastructure. Installing the operating system updates, critical patches, runtime or middleware components. All these are taken care by the cloud service provider. This gives you, even more time to concentrate on what matters to your business. 

Who uses Platform as a Service (IaaS)

Well, it is primarily used by software development teams. As the name implies, it provides the platform for developing software applications. It is a complete development and deployment environment in the cloud. It enables you to deliver everything from simple cloud-based apps to sophisticated, enterprise class cloud-enabled apps. 

For example, let's say you want to develop data driven web applications. For this, we need a framework like ASP.NET Core or Java. To store data we need a database like SQL Server or Oracle for example. We need a web server to host and run a web application. Purchasing all these softwares, installing, setting up the development environment and maintaining it, is not only expensive but also time consuming. 

With Platform as a Service, the cloud service provider, provides all these softwares, installs and configures them. You have the development platform available with a few clicks in just a few minutes. You pay for the service on a pay-as-you-go basis and access it over a secure Internet connection. When you no longer need the service, you shut things down and stop paying.

Windows Azure, AWS Elastic Beanstalk, and Google App Engine are few examples of Platform as a Service.

Advantages of Platform as a Service

Platform as a service is a layer on top of Infrastructure as a Service. So it has all the benefits of IaaS plus the benefits specific to PaaS. IaaS provides many benefits like

  • Reduced financial risk
  • Deployment Speed
  • Provision resources from geographically closer locations
  • Auto scaling resources (i.e the underlying virtual infrastructure) up and down depending on demand

We discussed IaaS benefits in detail, in our previous article. The following are the benefits specific to platform as a service.

Greatly reduces development time

Platform as a Service greatly reduces development time. Just imagine the amount of time it takes to procure your own infrastructure, purchase all the softwares, install, configure and set up your own development environment. With Platform as a Service, in just a few minutes with a few simple clicks you gain instant access to a complete software development environment. It also provides templates and reusable application components and features such as search, directory services, security features and so on.

Great support for global teams

Platform as a Service, supports global teams. To access the development environment, all you need is an internet connection. So your development team members can be located anywhere in the world, I mean, in any remote location. It doesn't really matter. As long as they have an internet connection, they can connect and work together on projects.

Develop for multiple platforms

PaaS provides options for developing multiple platforms, such as computers, mobile devices and browsers. In short, it makes developing cross-platform apps quicker and easier.

Affordability

Affordability is another great benefit. Cloud supports pay-as-you-go model. So with it organisations of all sizes including small organisation and even individuals are able to use sophisticated development software, business intelligence and analytics tools that they could not afford to purchase outright. So with the pay-as-you-go model you simply pay a monthly fee for as long as you want to use them.