An Investigation of Microsoft Azure and Amazon Web Services from Users’ Perspectives

— Cloud computing is one of the paradigms that have undertaken to deliver the utility computing concept. It views computing as a utility similar to water and electricity. We aim in this paper to make an investigation of two highly efficacious Cloud platforms: Microsoft Azure (Azure) and Amazon Web Services (AWS) from users’ perspectives the point of view of users. We highlight and compare in depth the features of Azure and AWS from users’ perspectives. The features which we shall focus on include (1) Pricing, (2) Availability, (3) Confidentiality, (4) Secrecy, (5) Tier Account and (6) Service Level Agreement (SLA). The study shows that Azure is more appropriate when considering Pricing and Availability (Error Rate) while AWS is more appropriate when considering Tier account. Our user survey study and its statistical analysis agreed with the arguments made for each of the six comparisons factors.


Introduction
Using computing as a utility is one of the main objectives that IT industry strives for [2]. Cloud computing is one of the paradigms that have undertaken to deliver the utility computing concept. Cloud computing can be defined as a service over the Internet where the application, services, storage and files are hosted on servers that are available in cloud infrastructure environment. It uses clusters of distributed computers with ondemand resources to provide powerful and reliable services over the Internet [1]. The rapid and worldwide adoption of cloud computing is due to the many benefits it offers to both organizations and individual users. It increases data and resources availability where users can reach their data whenever they need. It reduces cost since it benefits from virtualization which is a technique that optimizes computer resources.
It is worth noting that both AWS and Azure offer comparable capabilities regarding meeting the needs of their customers and they constantly strive for accommodating demand for new cloud services.
The choice of AWS and Azure is motivated by the fact that AWS is a clear leader Cloud vendor while Azure is the fastest growing cloud provider. It is important to consider them from an operational perspective. Both providers seem to offer comparative offering such as compute, storage, networking and other services such as databases, big data and APIs. Each provider has a global infrastructure deployment. For instance, Amazon has a massive geographical presence via deployed data centers across the world where in each data centers there are thousands of servers along with storage and networking appliances. Microsoft is making a extensive to catch up with Amazon. In terms of servers, Amazon with the Elastic Compute Cloud (EC2), has the largest server configuration. Its Virtual Machines (VMs) are divided into nine families where each family serves a different purpose. The families include general-purpose computing, CPU-optimized, RAM-optimized, storage-optimized and GPU-optimized families. Microsoft has less variety in VM families but has more flexibility with regards to machine size. Furthermore, they have optimized machines with better CPU, more RAM and more storage and network-optimized.
Furthermore, preferring one cloud over another is determined by the need of individual customers and the tasks and operations they want to run. It is conceivable that customers may use both providers for different functions and operations. However there are features that distinguish one provider from the other regarding their approaches, which can help the customers to determine what best serves their needs.
In this paper, we highlight and compare in depth the factors/features of Azure and AWS from users' perspectives. The factors which we shall focus on include The rest of this paper is organized as follows. In Section 2, we present some of the existing cloud services. In section 3, we present AWS and Azure. Section 4 presents the methodology model that will be the base for doing the comparison. In Section 5, we make detailed comparisons concerning each feature and factor followed by a discussion. Section 6 presents a user survey study and its statistical analysis. In Section 7, we present a comparison with previous work on comparing aspects of Azure and AWS. In Section 8, we present the conclusions and suggestions for future work.

Comparing AWS and azure
This paper makes a comparison between AWS and Azure platforms using six comparison factors that we believe to be the most important based on the customers' point of view. Table 2 summarizes these six factors and its sub-factors.

Amazon wed service (AWS)
AWS is a cloud service platform that offers SaaS, PaaS and IaaS with highly reliability, scalability and low-cost infrastructure. AWS was officially launched in 2006 [7]. Within 12 geographic Regions world-wide, AWS operates in 33 Availability Zones. Data center locations are in U.S., Europe, Brazil, Singapore, Japan, and Australia. About 11 more Availability Zones and 5 regions are expected to come online during next year [8]. Elastic Compute Cloud (EC2) from Amazon, virtual private cloud (VPC), Rout 53 (a highly available and scalable cloud Domain Name System (DNS) web service), Relational Database Service (RDS), Elastic load balancer (ELB), Simple Storage Service (S3), Elastic Block Store (EBS), Glacier, Simple Queue Service (SQS)/ Auto Scale, Security Group and Cloudfront are some of the services provided by AWS [9].

2.6
Microsoft azure Azure is a popular cloud service platform and infrastructure; it offers SaaS, PaaS and IaaS with highly reliability, scalability and low-cost infrastructure. Azure was first launched in 2008. It is available in 140 countries, including China, and supports 10 languages, 24 currencies, and the data centers available in 28 regions [10]. Some of services that Azure offering to customers are Virtual Machine, Virtual Network, Windows Azure Name Resolution, Structure Query Language (SQL) Database, Traffic Manager, Storage, Scheduler, EndPoint and Content Delivery Network (CDN) [11].

Methodology
Our research focuses on customers' point of view and the main functional requirements for them to go to cloud. We proposed a comparison model (see Fig. 1) with six factors to compare between two cloud platforms leaders: Amazon Web Service (AWS) and Microsoft Azure.
The six comparison factors: Pricing (currency, purchasing options, purchasing styles, the minimum billing cycle and available calculators), Free Tier, SLA, Availability, Confidentiality and Secrecy.
It is worth mentioning that neither we were able to find in literature a previous comparison between Azure and AWS that grouped the comparisons factors the same way we did; nor we were able to see comparison with the same details we presented. Fig.1 shows how these factors are grouped to go through the comparison process between Azure and AWS.
Notice that we added the word security to all security related factors (Availability, Confidentiality, and Secrecy). This addition aims at making the comparison process easier as will be described in section 4.

Comparisions and Discussions
The comparison process will be covered as follows: we first list the factor of comparison; we introduce the case of this factor in Azure followed by its case in AWS, and we conclude each factor by a discussion that clarifies our findings.

Pricing
We will present pricing for Azure followed by pricing in AWS and then we conclude the subsection by a discussion to our findings.
Pricing in Azure: Azure services are available in 140 countries; it supports billing in 24 currencies and allows any one of the following multiple purchasing ways: Pay-As-You-Go Subscriptions, Prepaid Subscriptions, Microsoft Resellers, Enterprise Agreements, Microsoft Azure Compute Option and Microsoft Azure Hybrid Use Benefit [25].
These different purchasing ways give flexibility for purchasing and billing and provide an appropriate purchasing option for any company or organization, Pay-As-You-Go Subscriptions option represents the classic purchasing way for cloud computing provider where the customer will pay for only the resources used. On other hand, Prepaid Subscriptions option gives the customer 5% discount by prepaying the Azure services for 12 months [26].
Microsoft Resellers option is a convenient purchasing option for small and midsize businesses purchase through Microsoft Open Licensing by contacting a Microsoft partner or reseller and purchase an Online Service Activation (OSA) Key [27].
Enterprise Agreements option is a convenient purchasing option for the large organizations where organizations have flexible billing way with very good discount [17]. We think that Microsoft Azure Compute Option is a smart option to solve the problem of increased cost for organizations that already have on-premises Windows server license. It enables such organizations to purchase add-ons to these licenses and then run any compute instance in Azure and save costs and get discount up to 60% [28].
Microsoft Azure Hybrid Use Benefit option is a purchasing option for the originations that have existing Windows server license with Software Assurance to move to the cloud and pay only for the base compute rate rather than pay for an Azure Windows server virtual machine by using these existing licenses [29]. It is an option to deploy hybrid cloud with cost-effective price.
The minimum billing cycle for Azure is the minute [25]; this means that customers pay for resources usage per minute. We see that this option gives a cost reduction advantage for the research projects, deploying a test environment or any projects with limited time.
Azure provides some options for free with any subscription such as building and hosting up to 10 web and mobile applications, sending up to 1 million push notifications per month; and creating a private network with up to 50 virtual networks [30]. For each Azure service, there are many price tiers to meet customer's need; Azure provides a price calculator to estimates the cost [31] Pricing in AWS: Price model for AWS provides flexibility for paying in local currency [32]. We see that such feature will remove the complexity for small or new startup organizations.
AWS price model has five utility-style options: Pay as you go, Pay Less When You Reserve, Pay even less per unit by using more, Pay even less as AWS grows, and Custom pricing [33]. In Pay as you go style, customers pay as they use resources without being committed to any period of time short or long. Pay less when you reserve style is designed for certain AWS services where customers can reserve some extra instances and get a discount up to 60% [33]. By using Pay even less per unit style, customers save more as they can grow bigger in storage, and pricing is tiered for data transfer and compute services so the customers will use more storage for example and pay less for each gigabyte. Also, customers will get 10% discount on compute when they reserve more [33]. In Pay even less as AWS grows style; the focus will be to reduce business costs such as hardware costs, reducing the consumption of power, and gain better efficiency in operation. However, if none of the above pricing models works, the solution will be in applying what is called Custom pricing style it is applied for customers with unique requirements [33].
The minimum billing cycle for AWS is the hour [32]. AWS has a price details and classes for each service and may depend on the region such as Amazon S3 service [34].
Amazon EC2 service has its purchasing options: On-Demand, Reserved, Spot Instances and Dedicated Hosts [35]. On-Demand option is similar to Pay as you go style. Reserved option is similar to Pay less when you reserve style. Spot Instances option allows the customers to purchase computing instances using hourly rates and it is usually lower than the On-Demand rate and includes specifying the maximum hourly price that customer can pay. Dedicated Hosts is a physical EC2 server for the customer use [35].
AWS provides two pricing calculators: AWS Total Cost of Ownership (TCO) and AWS Monthly Cost Calculator. The TCO calculator is used to compare the cost of running customer's applications in an on-premise to AWS [36,37] and the AWS Monthly Cost Calculator is used to estimate the monthly cost [38].
Pricing Discussion: In terms of currencies, we think AWS is preferred over Azure since it allows customers to pay in their local currency even through Azure allows 24 different currencies; this gives more flexibility on pricing model. As for the purchasing ways, both (Azure and AWS) have many options but Azure has Azure Compute and Microsoft Azure Hybrid Use options which have effective purchasing options for the customers who already have existing Windows server license when compared with AWS. Also, Azure is preferred over AWS in terms of minimum billing cycle since the minimum billing cycle used is minute rather than hour in AWS. On the other hand and in terms of pricing calculator, AWS is preferred over Azure of pricing in providing AWS TCO calculator, where it provides the customers with wide aspects for the benefit to move to the cloud and helps them to have a feasibility study. Table 3 summarizes these differences.

Security
Cloud computing can offer enterprises great services, but unfortunately, it is not spread widely as expected. The main reason behind this obstacle is security. Organizations always are aware about their confidential information. Security demand in cloud computing comes from the needs to secure the data which is located on shared hosts that can be used and accessed by a lot of people, furthermore, the transmitted data should be secured as it is susceptible to hacking by unauthorized persons whom might sniff these confidential information.
Cloud security responsibility is an essential debate between organizations and providers, where each of them tries to relay on each other and put the responsibility on the side to avoid any commitment penalty. Cloud providers should assure customers about the security of the services that they provide and the data they host. Cloud providers should guarantee to customers at least three main issues about the data they host: Confidentiality, Secrecy, and Availability [14].
Availability: The term availability means the percentage of time the service is accessible. High availability (HA) is the case of availability when the service is accessible at least 99.999% of the time; the approximate downtime of HA permits only five minutes a year [20].
Availability in Azure: Microsoft Azure calculates uptime percentage for each service by the calculation of maximum available minutes and downtime, for example, virtual machines have 99.95% availability. The strategy of designing and deploying redundancy is left for user responsibility [28].
For storage service, the term "Error Rate" is defined as the total number of set of all storage transactions that are not completed (failed) divided by the total number of storage transactions during one hour; as currently set [39].
Availability in AWS: Similar to Microsoft Azure, AWS calculates uptime percentage for each service, but here the availability calculation is calculated by subtracting the percentage of unavailable minutes during the month from 100%, for example, EC2 service has 99.95% availability. Additionally, deploying redundancy strategy is user responsibility as Azure [20].
For Amazon S3 service, the term "Error Rate" is defined as the total of internal server errors divided by the total number of requests during five minutes [20].
Availability Discussion: Azure and AWS are very similar in availability factor, but we think the "Error Rate" calculation in Azure is better than that in AWS; this is due to the total number of storage transaction provided with one hour (in Azure) as compared to the five minutes (in AWS). We think the longer the time interval in Azure gives the more accurate ratios about number of errors.
Confidentiality: Confidentiality term means that the sensitive information must be concealed (unavailable) for unauthorized access [14].
Confidentiality in Azure There are many countermeasures to ensure confidentiality in Microsoft Azure. "Every request made against a storage service must be authenticated, unless the request is for a blob or container resource that has been made available for public or signed access." [40].
In Binary Large Objects (blob) storage, the owner can access the storage resources, set the Access Control List (ACL) for the container and permit anonymous read access to the container along with its blobs binary data. Furthermore, there is an ability to set container permissions programmatically using .NET [41].

Confidentiality in AWS:
The customers can enable an extra layer of protection by adding a second factor authentication (authentication code) after the traditional first factor authentication (username and password). This feature is called AWS Multi-Factor Authentication (MFA) [42].
Also, AWS provides AWS Identity and Access Management (IAM) service for securely controlling access to AWS services and resources, it is a free service that enables the customers to allow and deny their access to AWS resources [43].
For S3 service, the owner can set the permissions to others by writing an access policy that may be a resource-based policy such as access control lists (ACL), user policy or combination of the two [44].
Confidentiality Discussion: Each of the two cloud service providers has its own countermeasures to ensure the confidentiality; Azure requires authenticated request to access the storage service and uses ACL to identify the permissions for the container. On the other hand, AWS has MFA feature and IAM service for controlling access to AWS services and resources. In addition, AWS uses resource-based policy such as ACL, user policy or combination of these to identify the permissions for S3 service. Thus, we notice that Azure and AWS are very similar and hard to compare or favor one over the other using this factor. Secrecy: We present secrecy in Azure followed by secrecy in AWS; then we conclude the subsections by a discussion to our findings.
Secrecy in Azure: Data can be secured in transit using Client-Side Encryption, HTTPs, or SMB 3.0. In rest, Azure Storage uses Storage Service Encryption features to encrypt that data. All data is encrypted using 256-bit AES encryption [45].
Secrecy in AWS: Data can be secured in transit by using SSL or by using client-side encryption. In rest, AWS has two options to protect the data: Server-Side Encryption where Amazon S3 encrypt the objects and Client-Side Encryption where the encryption and managing keys are customers' responsibility [46]. "Amazon S3 server-side encryption uses one of the strongest block ciphers available, 256-bit Advanced Encryption Standard (AES-256), to encrypt your data." [47].
Secrecy Discussion: As mentioned above, Azure and AWS are very similar in the data secrecy in transit and in rest by using similar countermeasures and Advanced Encryption Standard (AES-256) to ensure the data secrecy. Thus, we cannot favor Azure or AWS with regard to secrecy; it is hard to tip any of them.

Tier account in azure and in AWS
Web Cloud tier account, which is the web cloud providers offer to the customer, is considered an important factor that enables users to get hands on experience with cloud services. In addition, it allows users to determine which cloud service provider they need to work with and determine the services that fit their needs without any kind of related commitment: financial or legal.
Cloud services providers can be differentiated by the tier period time and services they offer to users during the trial time.
Tier account in azure: The monthly money charge for a tier account for a period of 1 month that Microsoft Azure offers is 200$. This account contains virtual machine services provision up to 14, 40 SQL database and 8TB of storage for a month, with an ability to build web, mobile, and API apps that use Redis Cache, Search, or Content Delivery Network. It also exploits a big data with Machine Learning, Streaming Analytics, and Hadoop. Moreover, the free offered account allows users to create real-time Internet of Things (IoT) applications with monitoring and anomaly-detection [48].
In Azure, the user of the free tier account cannot use the services he/she used to work on if the granted free tier period expires [49] Tier account in AWS: In contrast to Azure, AWS offers tier account for 12 month. AWS does not automatically terminate the account when it is just expired at the end of the 12-month AWS Free Tier term; users can still retrieve their data anytime they need [50]. Table 4 and Table 5 summarize some of services that AWS and Azure provide to user during the tier period [48,51].
Tier account discussion: As we notice here, both infrastructures (Azure and AWS) provide significant amount of services to help users determine the suitable infrastructure that fits their solution.
However, AWS has superiority over Azure by giving users 12-month free trial instead of 1 month, which Azure provides. Another advantage for using AWS free tier is that users do not lose their data automatically whenever they choose to unsubscribe; it will be available for future re-opening.

Service level agreement (SLA)
SLA is a contract between the CSP and the Customer; it defines and guarantees the minimum level of the service to be offered to the customer.
SLA is commonly divided into several parts: Service guarantee, Service guarantee time period, Service guarantee granularity, Service guarantee exclusions, Service credit and Service violation measurement and reporting [52]. SLA in Azure: We will present how Azure handles SLA based on four major factors: Virtual Machines, Storage, Traffic Manager, and Content Delivery Network (CDN).
Virtual Machine in Azure: Virtual Machine (VM) SLA is a set of policies that are applied to control the manipulation between user and Azure while using VM instances. Azure guarantees external connectivity at least 99.95% of the time. Service credit is paid to the customer whenever the service is decreased to less that 99.95 by 10% of the total paid value and 25%, if the service is decreased to less than 99% [53].
Azure Storage: Azure Storage SLA is a set of policies that are applied to control read and write storage manipulation between users and Azure.
Azure storage guarantees at least 99.9% of the time while the customer reads data from Storage. Also, when writing data, it guarantees at least 99.9% (same as read percentage) of the write requests. If the service is decreased to less than the percentage mentioned above, the user will be able to take 10% of the Service credit. If the service is decreased to less than 99.0%, the customer gains 25% of the service credit [54].
Traffic Manager: (Azure DNS) Azure Traffic Manager SLA is a set of policies that are applied to control the treatment between user and Azure when using Azure DNS. It guarantees at least 99.99% of the time. If the service decreased less than 99.99%, the user will be able to take 10% of the Service credit, while the customer gains 25% of the service credit if the service decreased less than 99% [55].
Azure CDN: Azure CDN SLA is a set of policies that are applied to control the manipulation processes between the user and Azure while using the CDN. It guarantees at least 99.99% of the time. If the service is decreased to less than 99.99%, the user will be able to take 10% of the Service credit, while the customer gains 25% of the service credit if the service is decreased to less than 99.5% [56].

SLA in AWS:
We will present how AWS handles SLA based on four major factors: Elastic Computing Cloud (EC2), Simple Storage Service (S3), Rout 53, and Cloudfront.
EC2: EC2 SLA is a set of policies that are applied to control the manipulation processes between the user and Amazon while using EC2 instances. In this SLA, AWS guarantees the uptime percentage with 99.95% per month. On the other hand, if the service is decreased to the percentage range: 99.00% -99. 95%, the user will be able to take 10% of the Service credit. If the service, however, is decreased to less than 99.0%, the customer is eligible to gain 30% of the service credit. In AWS EC2, unavailability means that the instances that are used are not connected to the outside environment [57].
S3 S3SLA is a set of policies that are applied to control the manipulation processes between the user and Amazon while reading or writing on the AWS S3.
AWS guarantees at least 99.9% of the time while the customer is reading data from S3. Also, for writing data requests, AWS guarantees at least 99.9% when the process occurs on S3. If the service is decreased to the percentage range: 99.00% -99.99%, the user will be able to take 10% of the Service credit. If the service is decreased to less than 99.0%, however, the customer will gain 25% of the service credit [58].
AWS Rout 53 (Amazon DNS): Amazon Rout 53 SLA is a set of policies that are applied to control the manipulation processes between the user and Amazon while using the private Amazon DNS. AWS guarantees 100% of the time availability. If the service stopped for 5 to 30 minutes, AWS provided is charged a 1day service credit, if the service is stopped between 31 minutes and 4 hours, the charging is increased to 7 days service credit, if the stopping period is more than 4 hours, the charging is raised to 30 days service credit [59].
AWS Cloudfront: Amazon Cloudfront SLA is a set of policies that are applied to control the manipulation processes between the user and Amazon while using the Cloudfront service. For this SLA service, Amazon guarantees at least 99.99% of the time. If the service is decreased to become in the range: 99.00% to less than 99.9%, the customer will gain 10% service credit; otherwise (percentage is less than 99.00%), the customer will get 25% service credit [60].
SLA Discussion: In the above SLA details about Azure and AWS, we can conclude that both of AWS and Azure provide a 99.5% SLA for cloud services and virtual machines. Both AWS S3 and Azure Storage offer a 99.9% SLA. Amazon Route 53 comes with a 100% SLA, compared to a 99.99% SLA for Azure Traffic Manager. Both AWS's CloudFront and Azure CDN come with 99.9% SLA. So, it is hard to judge which infrastructure is preferred. Table 6 summarizes the SLA presented features for both Azure and AWS.

User Survey Study and Statistical Analysis
To validate our results, we conducted a survey (see Appendix A for the questionnaire). We collected answers from 52 participants after rejecting answers from 4 participants who did not complete the questionnaire. In order to get useful feedback, we carefully selected the participants to be working in the IT field and have different level of qualifications (10 PhD holders, 20 Master holders, and 22 Bachelor holders), different gender (35 male and 17 female), 11 different positions, 10 different majors and 18 classes of years of experience (ranges from 1 year to 30 years).
The questionnaire followed Likert style where 18 questions were distributed into 6 categories (see Fig.1 in section 3 above) and each question has 5 possible answers (Strongly Agree, Agree, No Opinion, Disagree, and Strongly Disagree); only one answer can be selected at a time. The weighted values for the answers are 5, 4, 3, 2, and 1; respectively. We employed SPSS Statistics 17.0 for Windows software [61] to analyze the results.
Before we conduct the study, we postulated the following three hypotheses: • Azure is better than AWS • AWS is better than Azure • It is difficult to favor Azure over AWS or vice versa.
The Analysis of Variance (ANOVA) test is conducted to give indications about Participants' Satisfaction Level (PSL) of the various comparisons parameters being studied, namely: Price, Availability, Confidentiality, Secrecy, Tier Account, and SLA, with regard to the above three hypotheses against any Participants' Factor (PF) of the five studied ones; namely: Gender, Qualification, Position, Major, and Years of Experience.
We set the significance level to 5%. If p < 0.05, it means that the PSL is affected by the indicated PF; while when p ≥ 0.05, the indicated PF doesn't have an effect on the PSL.
Also, since the average weight for all answers is 3 (calculated as the summation of all weights and divided by their count (5+4+3+2+1)/5), a value of 3 or above (when p is less than 0.05) indicates a PSL at the factor and any value below 3 indicates that participants are not satisfied with that factor. Again, a value of p ≥ 0.05 means that we cannot draw any conclusion from the collected results when the weighted average is 3 or above.
As we grouped the questionnaire questions into six categories (see Table 7), we applied the mean as a decision factor; not the median. We believe that the mean is a more realistic measure than the median when more than two questions are grouped together to get an overall actual PSL value; however, when the number of questions are two or less, there is no difference between mean or median.
In general, we noticed that the participants answered all questions with high level of satisfaction; Table 8 summarizes the overall mean for all PSL.
Notice that the mean for all PSL are close to 4; (the value 4 indicates Agree according to our scale). It can be seen, however, that Tier Account has the highest satisfaction value and that SLA has the lowest value. The values reflect the initial user's expectation from the cloud provider where always SLA is expected minimum and that the trial period is known ahead, however, these values can change (increase/decrease) over the course of deployment.  Even though our questionnaire aimed at studying participants' feedback regardless of their genders, qualifications, positions, majors, and years of experience, and then comparing it with our theoretical investigation covered in section 4 above, we noticed that there some trends in our analysis. For example, by looking at Table 9 we notice that the years of experience played a role in participants' answers; this is based on the significant level (p value) in the ANOVA test we conducted; we noticed that the years of experience p value is 0.043. This value indicates that the years of experience PF affects the pricing PSL.
In this study, there is no need to make any further analysis to see how the years of experience affects the price. By looking at other PFs (gender, qualification, position, and major), we see no effect of any of them on the pricing PSL as the p value for each of them is above 0.05.
Also, by looking at Table 8, we see that the mean value of the pricing is 3.981; a value close to 4 (Agree). This result agrees with the arguments we made in section 1.3 regarding pricing as we directed the first 4 questions of the questionnaire (Q1, Q2, Q3, and Q4) to get feedback about currencies, purchasing ways, minimum billing cycle, and pricing calculator, respectively. We concluded that participants agree on the arguments we made; i.e. AWS is preferred in terms of currencies and pricing calculator, Azure is preferred in terms of minimum billing cycle, and both are good at purchasing ways with minor favor to Azure.
As for the effect of all PFs on availability, we see no effect; notice Table 10. None of the p values is less than 0.05. regarding availability as we directed Q5 and Q6 of the questionnaire to get feedback about the percentage level of availability to become 100% and the interval about number of errors, respectively. We concluded that participants agree on the arguments we made; i.e. Azure and AWS are similar with respect to availability but "Error Rate" calculation is better in Azure.
As for the effect of all PFs on confidentiality, we see no effect; notice Table 11.
None of the p values is less than 0.05.
By looking at Table 8, we see that the mean value of the confidentiality is 4.077; a value slightly above (Agree). This result agrees with the arguments we made in section 2.2.3 regarding confidentiality as we directed Q7 and Q8 of the questionnaire to get feedback about enabling extra layer of protection and providing the ability to set resources permission programmatically, respectively. We concluded that participants agree on the arguments we made; i.e. Azure and AWS are similar and it is hard to compare or favor any of them with respect to confidentiality. When we look at Table 12 that is related to PF with respect to secrecy, we notice that the gender played a role in participants' answers; its p value is 0.011 (a values less than 0.05). Also, position played a role in participants' answers; its p value is 0.028 (a values less than 0.05). These two values indicate that the gender and position PF values affect the secrecy PSL. Again, there is no need to make any further analysis to see how these PF values affect secrecy.
Exploring Table 8 again, we notice that the mean value of the secrecy is 3.589; a value close to 4 (Agree). This result agrees with the arguments we made in section 2.3.3 regarding secrecy as we directed questions Q9, Q10, and Q11 of the questionnaire to get feedback about the encrypting key size in terms of number of bits, the tradeoff between data secrecy and efficiency, and details for data encryption methodology, respectively. We drew our conclusion that we cannot favor Azure or AWS with regard to secrecy as it is hard to tip any of them. By studying the effect of all PFs on Tier_Account, we see no effect; notice Table  13. All p values are less than 0.05.
As for the effect of all PFs on Tier_Account, we see no effect; notice Table 13.
None of the p values is less than 0.05.
With reference to Table 8, we see that the mean value of the Tier_Account is 4.160; a value slightly higher than 4 (Agree). This result agrees with the arguments we made in section 3.3 regarding Tier_Account as we directed Q12, Q13, and Q14 of the questionnaire to get feedback about large scale services in free tier account before subscribing, having the free tier period to be 12 months rather than just one month, and use the services and own the data even after subscription period expires, respectively. We concluded that participants agree on the arguments we made; i.e. both infrastructures (Azure and AWS) provide significant amount of services to help users, however, AWS has superiority over Azure for providing 12 months free trial period not just 1 month and that user do not lose their when the trial period expires; data will be available for future use.
Looking at the effect of all PFs on SLA, we see no effect; notice Table 14. None of the p values is less than 0.05.
With reference to Table 8, we see that the mean value of the SLA is 3.721; a value close to 4 (Agree). This result agrees with the arguments we made in section 4.3 regarding SLA as we directed Q15, Q16, Q17, and Q18 of the questionnaire to get feedback about taking into consideration the revenue percentage for the virtual machine if the services decreases to less than the proposed one, applying penalty when cloud storage is not as proposed, there is no difference between the AWS DNS that guarantees 100% service level and that for Azure that guarantees 99.99% service level, and that it is very important to include CDN is SLA to 99.9% and applies penalty if this level is not achieved, respectively. We concluded that participants agree on the arguments we made; i.e. it is hard to judge which infrastructure is preferred. Table 6 summarizes the SLA presented features for both Azure and AWS.

Comparison with Previous Approaches
The rise of the cloud phenomenon drew the interests of researchers in cloud computing, its services and its providers. Many researchers employed cloud service providers as case studies, implemented their methodologies and discussed their offered services and features.
Bermudez et al. [12] discussed some of the AWS infrastructure services issues and features, they used passive measurements to explore the EC2, S3 and CloudFront AWS services to uncover its infrastructure and to find out the polices of its traffic allocation. Narula et al. [13] discussed the Amazon Web Service (AWS) services and infrastructure from security point of view, they emphasized that cloud computing security must be a core operation.
Some researchers compared among various cloud service providers and go deeply in details for different comparison points. For instance, Tajadod et al. [14] compared between Microsoft Azure and Amazon Web Service (AWS) from data security point of view, they focused on both of providers' architecture and components to provide an effective data security. Also, Singh [15] compared between the two cloud service providers in terms of security in public cloud point, he discussed the security countermeasures for these providers and compared between them against various threats.
Rashidi et al. [16]  Islam and Rehman [17] compared among five major IaaS providers (GoGrid, Joyent, Rackspace, VMWare and Amazon EC2) and five PaaS providers (Google App Engine, Microsoft Windows Azure, Citrix, Salesforce.com and LunaCloud) available in market using seven main factors (Virtualization mechanism, Pricing model , Access interface , Security , Availability and reliability, Scalability and Support) and found that Microsoft Azure and Amazon Web Service (AWS) are the best for the ordinary users.
Rajeev et al. [18] compared between Microsoft Azure and Amazon Web Service (AWS) in storage services, relational database and Compute services, they set three use cases (ASP Application on cloud with DB on premise, ASP Application on cloud with DB on cloud and Java based MVC Application with MySql DB are in Cloud) and recommended a cloud service provider for each case.
Gandhi and Kumbharana [19] compared between Microsoft Azure and Amazon Web Service (AWS) briefly in pricing, administration and major specifications, they list the advantages points for each provider (EC2 is cheaper at least to start with, EC2 is familiar which the biggest strength, Azure may be cheaper than EC2 on the long run, Scalability with Windows Azure is considered seamless, Azure is completely integrated with Visual Studio and Azure does more for you than EC2 does for the same price).
Nabi et al. [20] set indicated that availability in cloud computing is the base for comparing cloud providers' perspectives. Microsoft Azure, Google App Engine and Rackspace were compared in terms of availability and in the context of Service Level Agreement (SLA).
Gui et al. [21] proposed a cloud service classification model for categorizing and filtering cloud services, the proposed model came with 6 classification factors and 32 sub classification factors. This proposed model was used by Ghaffar and Vu [22] to compare among three cloud service providers: Azure, AWS and CloudSigma to evaluate these providers for satellite image processing service.
Bari et al. [23] compared among AWS, Azure and RackSpace based on cost and performance; they found that AWS has a hand over the other two platforms based on the price of small and medium scale computing models where Azure proved to be better in case of large scale computing models. In addition, AWS is better than Azure and RackSpace when the number of datacenters and services level grow up.
Dordevic et al. [24] compared between Microsoft Azure and AWS in terms of performance and service; they used similar virtual environments for both platforms. They found that although Azure has powerful user interface for virtual resources management but it does not have the ability to make adjustment for a specific virtual machine. On the other hand, AWS has more powerful options for Linux virtual machines management and more ability to tune the system. The tests results showed that Azure and AWS are very similar but with slight advantage to Azure when there are CPU and disk intensive operations, but when memory is considered, AWS performs better than Azure.

Conclusion and Future Work
Cloud computing is now being used in many fields; including mobile teaching resource push [62], to becoming a development environment in teaching [63], and as a new multiple criteria for decision making [64]. Microsoft Azure and Amazon Web Service (AWS) are two important leaders in providing cloud-computing services. The close similarity between the services functions for these infrastructures and the deeply services' details leads to complex comparison process and hard preference decision.
The study revealed that both platforms have some similarities and differences that make it difficult to favor one over the other based on some factors. The study showed that Azure is more appropriate than AWS in terms of pricing as the minimum billing cycle used is minutes rather than hours as used in AWS. In addition, the way the purchasing option is computed in Azure is very suitable for organizations that already have on-premises Windows server license to save costs and get discount up to 60%. Similarly, Azure Hybrid purchasing options are suitable for the customers that have existing Windows server license with Software Assurance to move to cloud and pay only for the base computing rate and deploy hybrid cloud with cost-effective price. We also believe that the "Error Rate" calculation in Azure is better than that in AWS at the availability factor. This is due to the fact that the time interval in Azure (one hour) during which transactions are stored is longer than which is used in AWS (5 minutes). Furthermore, the longer the time interval will give more accurate ratio about number of (potential) errors. However, with regard to the free tier factor, it seems that AWS is better that Azure. AWS provides 12-month free trial period whereas Azure provides one month. Furthermore, AWS preserves the users' data even if the uses do not plan to subscribe with its subscription. Both platforms are similar regarding SLA and the security factors.
As for the future, we plan to explore the actual effects of years of experience on pricing, and gender and position on secrecy.