Last Updated on September 25, 2023 by Mayank Dham
Cloud computing is simply the use of technological resources to store, retrieve, and process data over the internet for increased speed, availability, scalability, and cost savings. Cloud service providers are companies that provide the resources for doing these things. Microsoft Azure is one such cloud service provider. On February 1, 2010, Microsoft launched Azure, which followed the pay-per-use model, allowing users to pay only for what they have chosen.
Azure has evolved into a leading service provider, with approximately 80% of Fortune 500 companies relying on Azure to host their applications, resources, or other computing requirements. Azure supports a variety of programming languages, including Java, C#, and NodeJS, and offers over 200 cloud computing services.
Why do we require Azure?
Well, Azure offers a wide range of services that enable us to create any type of web application and host it on Azure. Azure also provides a dedicated environment for testing the application before releasing it to the intended audience. In Azure, creating and configuring virtual machines is now easier than ever.
Azure also offers a variety of integration and synchronization features for virtual directories and virtual devices. Azure also provides extensive monitoring tools that aid in the collection of metrics for your application in order to understand how well it performs. Massive amounts of data can now be stored on the cloud thanks to the virtual hard drive feature.
With such amazing features offered by Azure and ever-growing demand by businesses to Azure, being an Azure certified professional opens up a path for a wide range of career opportunities like being an Azure Administrator, Azure Developer, Azure Solutions Architect, etc all providing amazing pay benefits.
Azure Interview Questions For Freshers
Here are some of the most common Azure Interview Questions for Freshers.
1. What do you understand about cloud computing?
Cloud computing is the use of computing resources (servers) on the internet (referred to as the cloud) for data storage, management, analysis, and processing. We use infrastructure provided and maintained by third-party vendors such as Microsoft, AWS, and others instead of maintaining our own servers, and we pay them based on the duration of server usage.
Cloud computing speeds up execution, ensures resource flexibility, and allows for scalability.
Cloud computing can be used to achieve high fault tolerance and system availability, which can be done dynamically based on the infrastructure requirements of the application.
2. Can you tell something about Azure Cloud Service?
Azure Cloud Service is a classic platform as a service (PaaS) example. This was created to support applications that require high scalability, reliability, and availability while maintaining low operational costs. These are hosted on virtual VMs, and Azure provides more control over them by letting the developers install the necessary software and enabling them to control them remotely.
Azure cloud services are used to deploy multi-tier web-based applications in Azure by launching a cloud service instance. It is also possible to define multiple roles for distributed processing, such as web roles, worker roles, and so on. Azure cloud services aid in the application’s easier and more flexible scalability.
Each cloud service role has its own purpose, as well as its own configuration and application files.
3. What are the various models available for cloud deployment?
There are 3 models available for cloud deployment:
Models For Cloud Deployment
- Public Cloud: In this model, the cloud infrastructure is owned publicly by the cloud provider, and there are chances that the server resources could be shared between multiple applications.
- Private Cloud: Here, the cloud infrastructure is owned exclusively by us or exclusive service is provided by the cloud provider to us.
- This includes hosting our applications on our own on-premise servers or on a dedicated server provided by the cloud provider.
- Hybrid Cloud: As the name itself says, this model is a hybrid combination of private cloud and the public cloud.
This might include the scenario of using on-premise servers for processing confidential, sensitive data and using public cloud features for hosting public-facing applications.
4. Define role instance in Azure.
A role instance is nothing but a virtual machine where the application code runs with the help of running role configurations. There can also be multiple instances of a role as per the definition in the cloud service configuration files.
5. How many cloud service roles are provided by Azure?
Cloud service roles comprise a set of application and configuration files. There are 2 kinds of roles provided by Azure:
- Web role: This provides a dedicated web server belonging to IIS (Internet Information Services) that is used for automatic deployment and hosting of front-end websites.
- Worker role: These roles help the applications hosted within them to run asynchronously for longer durations and are independent of the user interactions and generally do not use IIS. They are also ideal for performing background processes. The applications are run in a standalone manner.
6. Why is Azure Diagnostics API needed?
Azure Diagnostics API helps us collect diagnostic data such as performance monitoring, system event logs, etc from the applications that are running on Azure.
For the verbose monitoring of the data, Azure Diagnostics has to be enabled for the cloud service roles.
The diagnostics data can be used for building visual chart representations for better monitoring and also for creating performance metric alerts.
7. Define Azure Service Level Agreement (SLA)?
The Azure SLA is a contract that ensures or guarantees that when two or more role instances of a role are deployed on Azure, access to that cloud service is guaranteed for at least 99.95% of the time.
It also states that if the role instance process is not in the running state, then the detection of such processes and corrective action for the same will be taken 99.9% percent of the time.
If the mentioned guarantees are not satisfied at any point in time, then Azure credits a percentage of monthly fees to us depending on the pricing model of the respective Azure services.
8. What is Azure Resource Manager?
Azure Resource Manager is a service offered by Azure that allows for management and application deployment in the cloud. The management layer provided by the resource manager allows the developer to create, modify, or delete resources in the Azure subscription account. This feature comes in handy when we have requirements like managing access controls, locks, ensuring the security of the resources post-deployment, and organization of those resources.
9. What is NSG?
NSG stands for Network Security Group that has a list of ACL (Access Control List) rules which either allows/denies network traffic to subnets or NICs (Network Interface Card) connected to a subnet or both. When NSG is linked with a subnet, then the ACL rules are applied to all the Virtual Machines in that subnet.
Restrictions of traffic to individual NIC can be done by associating NSG directly to that NIC.
Intermediate Azure Interview Questions
Here are some of the most common Azure Interview questions for intermediates.
1. What is an Azure Redis Cache?
It is an open-source, in-memory Redis cache system provided and maintained by Azure.
It helps the web applications to improve the performance by fetching data from the backend database and storing it into the Redis cache for the first request and then fetching data from the Redis cache for all subsequent requests.
Azure Redis Cache provides powerful and secure caching mechanisms by making use of the Azure cloud.
2. Define Azure virtual machine scale sets
These are the Azure computation resources that can be used to deploy and manage sets of identical Virtual Machines (VMs).
These scale sets are configured in the same manner and are designed to support the autoscaling of the applications without the need for pre-provisioning of the VMs.
They help to build large-scale applications targeting big data and containerized workloads in an easier manner.
3. What do you understand about the “Availability Set”?
Availability Set is nothing but a logical grouping of VMs (Virtual Machines) that allows Azure cloud to understand how the application was developed for providing availability and redundancy.
Each VM in the availability set is assigned 2 kinds of domains by Azure:
Fault Domain: These define the grouping of VMs that would share a common power source and common network switch. The VMs within availability sets are separated across up to 3 fault domains by default. This separation of VMs in fault domains helps our applications to be available by reducing impacts of network outages, power interruptions, and certain hardware failures.
Update Domain: These indicate the grouping of VMs and underlying hardware which are eligible to be rebooted at the same time. Only one update domain can be rebooted at a time, however, the order of reboot does not proceed in a sequential manner. Before the maintenance of another update domain, the previously rebooted domain is given a recovery time of 30 minutes to ensure that the domain is up.
Azure provides flexibility to configure up to 3 fault domains and 20 update domains for an availability set.
4. What are the available options for deployment environments provided by Azure?
Azure provides two deployment environments, they are:
Staging Environment: This environment is used for validating the changes of our application before making them live into the main environment.
Here, the application is identified by means of GUID (Globally Unique Identifier) of Azure which has the URL as: GUID.cloudapp.net
Production Environment: This is the main environment where our application goes live and can be accessed by the target audience which can be accessed by means of DNS friendly URL: appName.cloudapp.net
5. What do you need to do when drive failure occurs?
The following steps need to be performed when the drive failure occurs:
To make sure that the Azure Storage functions without fail, we need to ensure that the drive is not mounted.
Replace the drive so that the drive gets remounted and formatted.
6. Is it possible to design applications that handle connection failure in Azure?
Yes, it is possible and is done by means of the Transient Fault Handling Block. There can be multiple causes of transient failures while using the cloud environment:
Due to the presence of more load balancers, we can see that the application to database connections fail periodically.
While using multi-tenant services, the calls get slower and eventually time out because other applications are using resources to hit the same resource heavily.
The last cause can be we ourselves as the user trying to hit the resource very frequently which causes the service to deliberately deny the connection to us to support other tenants in the architecture.
Instead of showing errors to the user periodically, the application can recognize the errors that are transient and automatically try to perform the same operation again typically after some seconds with the hope of establishing the connection. By making use of the Transient Fault Handling Application Block mechanism, we can generate the retry intervals and make the application perform retries. In the majority of the cases, the error would be resolved on the second try and hence the user need not be made aware of these errors unnecessarily.
7. Define azure storage key.
Azure storage key is used for authentication for validating access for the azure storage service to control access of data based on the project requirements.
2 types of storage keys are given for the authentication purpose –
Primary Access Key
Secondary Access Key
The main purpose of the secondary access key is for avoiding downtime of the website or application.
8. What is cspack in Azure?
It is a command-line tool that is used for generating service package files. The tool also helps in preparing the application for deployment in Microsoft Azure or compute emulator.
Every project of cloud service type has the .cscfg file which is basically the cloud service configuration file that is generated by means of cspack tool and is primarily used to store:
The number of role instances for the deployment of each role in the project.
The thumbprint of the certificates.
User-defined configuration and settings.
9. What is the best Azure solution for executing the code without a server?
Azure Functions service can be used for executing the code without a server.
Serverless Azure Functions are used for simplifying complex orchestration and challenging resolutions. They are meant for being stateless and short-lived.
They help to connect with other services without the need for hard coding of the integrations thereby making the development process faster.
It helps the developer to write and concentrate on the business logic code thereby saving time and effort.
They also provide the features of monitoring and analyzing code performance by means of Azure Application Insights that help in identifying bottlenecks and failure points across the components of the application.
10. What would be the best feature recommended by Azure for having a common file sharing system between multiple virtual machines?
Azure offers a service called Azure File System, which is used as a common repository system for sharing data across Virtual Machines configured using protocols such as SMB, FTPS, NFS, and so on.
Azure Interview Questions For Experienced
1. What do you understand by Azure Scheduler?
Azure Scheduler helps us to invoke certain background trigger events or activities like calling HTTP/S endpoints or to present a message on the queue on any schedule.
By using this Azure Schedule, the jobs present in the cloud call services present within and outside of the Azure to execute those jobs on-demand that are routinely on a repeated regular schedule or start those jobs at a future specified date.
2. Is it possible to map the Windows machines running on two different port numbers, say 80 and 81, on an IIS Web Server to an Azure Load Balancer?
Yes, it can be done by defining a separate Load Balancer Role in Azure.
3. You have an application running on the On-Prem Server and have backup on Azure East US region. Now, On-Prem server application access fails. Is it possible to access the application via the Azure environment?
Yes, it is totally possible by making use of the Site Recovery Service provided by Azure. It is capable of handling fail-over and fail-back scenarios between On-Prem Servers and Azure environments.
4. What feature of Azure can be used to stop the issue of high load on the application in cases of no man support on the flow?
This issue can be stopped by making use of VM Scale sets by defining proper configuration and conditions to provision a new VM whenever the load to the application increases.
Azure VM Scale Sets lets the developer create and manage a group of VMs that are load balanced. The scale sets can be configured in such a way that the count of VMs can automatically be increased or decreased based on the application demand or based on a pre-defined schedule.
Usage of Scale Sets ensures high availability of the applications and allows the developers to manage, update and configure large VMs centrally and also help them support the development of large-scale applications supporting big data, big workloads, and compute loads.
Azure scale sets can support up to 1,000 VMs. If the custom VM images are created and uploaded, then the limit is 600 VMs.
5. What are the types of storage services apart from blob storage provided by Azure?
Azure provides overall 4 types of storage services – Blob Service, Table Storage, Queue Storage, and File Storage Services as shown in the figure below:
Azure Table Storage: This type of storage lets user deploy their applications with semi-structured data and a NoSQL-based key-value store.
This is used when there is a need for applications that follow a flexible schema of data.
Table Storage focuses on enterprise-level data and follows strongly consistent models.
The data is represented in terms of Entities grouped under tables.
Azure Queue Storage: This storage provides a message queue system for handling large workloads by letting users develop and build flexible and modular applications.
This storage ensures that the application becomes less prone to failure of individual components and is scalable.
With the help of message queues, it provides the queue monitoring feature for helping the application to ensure the user demands are met.
Azure File Storage: This storage type provides features of file sharing that are accessible using SMB (Server Message Block) Protocol. The data in this storage is protected by HTTPS and SMB 3.0 Protocol.
They are used for improving the performance and capabilities of on-premise applications.
The OS deployments and hardware management is taken by Azure itself.
6. What are IaaS, PaaS and SaaS?
- IaaS: This stands for “Infrastructure as a Service” which provides a set of capabilities like OS, network connectivities, etc which are at the infrastructural level and are delivered as pay per use policy. The infrastructure is used for hosting applications. Examples include Azure VM, VNET, etc.
- PaaS: PaaS stands for “Platform as a Service” which is mostly about underlying infrastructure abstraction to the developers for enabling quicker development of the applications without the need for worry about hosting management. Examples include Azure web apps, Storage services, cloud services, etc.
- SaaS: SaaS stands for “Software as a Service” and are those applications which are delivered using the service delivery model where the applications are simply consumed and used by an organization. These applications are generally mobilized by making the organization pay for their usage or through ads. Examples include applications like Office 365, Gmail, SharePoint Online, and so on.
The following table shows the difference between the On-Prem Service, IaaS, PaaS, and SaaS services. We can observe that as we go right, the level of control the developer or the user has over the application reduces.
7. Consider a scenario where an application front end hosting is done on Azure but the customer needs the database hosting to be done on on-premise server due to security concerns. What are the ways to handle the connectivity in Azure for this scenario?
- Possibility 1: Azure VNET based “Point to Site” service can be a correct choice for this scenario of connecting one on-premise DB to an Azure-hosted app. “Point to Site” is valid for cases where the count of resources to be connected via VPN is very limited.
- Possibility 2: In case there is a large number of resources for connection, then “Site to Site” or “Express routes” are the other options that could be considered.
- There might be chances that using “Site to Site” might lead to network latency as VPN due to these work only via Internet (public infrastructure). In such cases, “Express Routes” are used as it provides dedicated leased line for overcoming latency issues.
- Possibility 3: In case the customer is not willing to work via VNET, then Windows Communication Foundation (WCF) service can be developed and hosted on-premise which would have CRUD operations meant only for the database hosted on-premise. This works by means of using the “Service bus relay” option for developing communication between the Azure-hosted app to the WCF service for database access.
8. What are the possible causes of the client application to be disconnected from the cache?
There can be 2 possible causes:
- Client-side causes:
- The application might have been redeployed.
- The application might have just performed a scaling operation.
- The client-side networking layer has been changed.
- There might be transient errors in the client or the network between the client and the server.
- Another possible reason could be the bandwidth threshold limits have been crossed.
- It might occur if the Azure Redis Cache service itself might undergo a failover from the primary to the secondary node.
- The server instance where the cache was deployed might have undergone patching or maintenance.
Because of its more than 200 service offerings and pay-per-use pricing strategy, Microsoft Azure has proven to be the fastest-growing cloud platform. Microsoft Azure’s revenue has steadily increased from $880 million in 2015 to a whopping $14.6 billion in 2020. This phenomenal growth in Azure has paved the way for many businesses by creating numerous opportunities in both tech and non-tech domains, making it a very lucrative domain for building a career.
Frequently Asked Questions (FAQs)
Here are some of the most frequently asked Azure interview questions.
Q1. What is Microsoft Azure, and how does it differ from traditional on-premises infrastructure?
Microsoft Azure is a cloud computing platform and service provided by Microsoft. It offers a wide range of services, including virtual machines, databases, AI and machine learning tools, and more, which can be accessed and managed over the internet. Unlike traditional on-premises infrastructure, Azure allows businesses to scale resources up or down as needed, pay only for what they use, and avoid the upfront costs and maintenance associated with physical hardware.
Q2. What is the Azure Resource Manager (ARM), and why is it important?
Azure Resource Manager (ARM) is the management layer in Azure that provides a unified way to deploy, manage, and organize Azure resources. It allows you to create templates (ARM templates) to define the infrastructure and resources your application needs. ARM templates enable infrastructure as code (IaC), making it easier to automate deployments, ensure consistency, and manage complex Azure environments efficiently.
Q3. What are Azure Virtual Machines (VMs), and when should you use them?
Azure Virtual Machines (VMs) are on-demand, scalable computing resources in the Azure cloud. They allow you to run Windows or Linux virtual machines in the cloud. You should use Azure VMs when you need control over the operating system and software stack, require flexibility to customize and manage the virtual machine, and need to run applications that may not be cloud-native.
Q4. What is Azure Active Directory (Azure AD), and how does it differ from on-premises Active Directory?
Azure Active Directory (Azure AD) is Microsoft’s cloud-based identity and access management service. It provides identity services for applications and resources hosted in Azure and other cloud environments. Unlike on-premises Active Directory, which primarily focuses on authentication and access control within an organization’s network, Azure AD extends identity and access management to cloud-based resources, enabling secure and seamless access from anywhere.
Q5. How does Azure handle data security and compliance?
Azure takes data security and compliance seriously. It provides a range of security features, including data encryption in transit and at rest, identity and access management, network security groups, and threat detection services. Azure also offers compliance certifications for various industry standards and regulations, such as GDPR, HIPAA, and ISO 27001. Customers can configure and manage their security policies and controls to meet their specific requirements while leveraging Azure’s robust security infrastructure.