Report
Cloud Computing Sevice Providers
Tham Chuan Yew1, Lai Yee Jen1, Muhammad Zaki Mufthi1
1 Introduction
Cloud computing is a model which allows users to access shared resources such as servers and applications from anywhere, anytime. Cloud computing allows businesses to cut cost by not needing to build their own hardwares and databases. In addition, Businneses also do not need to employ IT personnels because cloud servers and data centers are managed by the service provider. With the advancement of technology, many companies have jump on board and have their share in the cloud computing sector. The more prominent cloud computing service providers include Google Cloud, Microsoft Azure and Amazon Elastic Compute Cloud (EC2). Although cloud computing sounds like complex technology, it has been around for quite some time. Google Cloud was launched in 2008, Microsoft Azure in 2010 and Amazon EC2 being the earliest of these three, was laucnhed in 2006.
2 Comparison
As mentioned in the introduction, there are plenty of cloud computing service providers available. A research has been done to compare these three major cloud computing service providers. The points taken into consideration include their service models, virtual machine (VM) inststance types offered, storage, operating system (OS) environments offered, security, performance and scalability, pricing model, elasticity as well as monitoring tools provided.
2.1 Google Cloud
Google Cloud Platform provides Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS).
Google Cloud covers multiple machine types for VM instances. Examples of machine types include general-purpose machine, compute-optimized machine, memory-optimized machine, accelerator-optimized machine as well as custom machine.
In terms of storage, the maximum size limit for individual objects stored on Google Cloud is 5TB.
The operating systems supported by Google Cloud include Linux such as CentOS, Container-Optimized OS (COS), Debian, Fedora OS, Red Hat Enterprise Linux (RHEL), SQL Server, SUSE Linux Enterprise Server (SLES) and Ubuntu LTS. Google Cloud also supports Windows client and Windows server.
Google Cloud Platform provides two security solutions to solve majority of the security problems. Security analytics and operations store and analyze petabytes of security telemetry at a fixed continuously using Chronicle. Secondly, Web App and API Protection (WAAP) protects against new or existing threats to web applications and APIs.
With Google Cloud, clients are able to build scalable, efficient apps. Compute Engine virtual machines and Google Kubernetes Engine (GKE) clusters integrate with autoscalers that help to grow or shrink resource consumption based on metrics that are defined. Google Cloud's serverless platform provides managed compute, database, and other services that scale quickly from zero to high request volumes. Database products like BigQuery, Cloud Spanner, and Cloud Bigtable can deliver consistent performance across massive data sizes.
Pricing for Google Cloud differs according to instance type. For general purpose instance, it costs $0.214 per hour, and $0.1626 per hour for compute optimized instance. For memory optimized and GPU instances, the costs per hour are $0.2696 and $2.4, respectively.
Google Cloud has a feature known as managed instance groups (MIGs) which offers autoscaling capabilities. Developers can automatically add or delete VMs instances from MIG depending on increased or decreased load. This way, increased traffic is handled gracefully, and costs can be cut down when the need for resources is lower.
Google Cloud Platform provides four kinds of monitoring. Black-box monitoring allows user to probe the service in the same way that a user would use it, by requesting a web page, connecting to a TCP port, or making a REST API call. This type of monitoring provides no information about the internals of the service and treated as an opaque entity. White-box monitoring enables user to monitor aspects of the service that are important to him or her. The user can instrument the service to write time-stamped data by using a library like OpenCensus or write custom time-series data by using the Cloud Monitoring API. Grey-box monitoring collects information about the state of the environment in which the services are running. This type of monitoring is provided by a combination of Google Cloud products and third-party partners of Cloud Monitoring, such as Blue Medora. Lastly, logs-based metrics are metrics collected from the content of logs written to Cloud Logging such as errors that the service detects, or the total number of log entries received. The user can also define customlogs-based metrics.
2.2 Microsoft Azure
Microsoft Azure covers a wide range of service model. Azure provides infrastructure as a service (IaaS), platform as a service (PaaS) and software as a service (SaaS).
Microsoft Azure offers different VM instances catering to different needs. These instances are A-Series (entry-level economical VMs), Bs-Series (economical burstable VMs), D-Series (general purpose compute), DC-Series (protect data in use), E-Series (optimized for in-memory hyper-threaded applications), F-Series (compute-optimized virtual machines), G-Series (memory and storage optimized VMs) and H-Series (high-performance computing VMs). Moreover, there are Ls-Series (storage-optimized VMs), M-Series (memory-optimized VMs), Mv2-Series (largest memory optimized VMs) and lastly N-Series (GPU-enabled VMs).
Microsoft Azure offers storage capacity of up to 500TB of data for a single account.
The operating systems environment offered by Microsoft Azure are Linux and Windows.
Microsoft Azure is a very secure platform. Azure was built based on the the Microsoft Security Development Lifecycle, a groundbreaking approach used to develop the most secure code and tested around the globe. In addition, clients can integrate user identity provider services and enhance the capability of web applications. For example, Azure Active Directory maintains user database, authenticated login and authorization.
Microsoft Azure allows clients to scale on demand. Microsoft Azure is able to handle bursts of traffic or transaction volume thanks to Azure Autoscale and Azure Frontdoor which reroutes traffic and perform load-balancing so users can have a seamless experience when visiting the web application.
The pricing for Microsft Azure varies according to factors such as instance type. For general purpose, it costs $0.166 per hour while compute optimized instance approximately costs $0.170 per hour. For memory-optimized and GPU instances, they cost $0.252 and $0.899 per hour respectively.
Microsoft Azure elasticity is a cloud service that enables automatically scaling of Azure hosted resources, matching the demand and configured parameters. Azure Elasticity adds VMs or database capacity as needed and prevents downtime by automatically scaling resources during peak system demand.
There are multiple monitoring tools provided by Microsoft Azure. For example, Microsoft Azure Monitor collects and analyzes performance metrics as well and activity logs from cloud environments to determine application availability and performance. Next, Azure Advisor is another tool that can scan resource configurations and provide actions to improve resources for high availability, security, performance and cost.
2.3 Amazon Elastic Compute Cloud (EC2)
Amazon EC2 service model is IaaS (Infrastructure as a Service). Amazon takes responsibility for the networking, server, storage, and virtualization. Whereas the user is responsible for managing the data, application, OS, runtime, and middleware.
There are 5 instance types for Amazon EC2. First is general purpose, which is a balance of compute, memory, and networking resource, can also be used for variety of workloads. Second is compute optimized, that is suited for compute bound applications that benefit from their high performance. Third is memory optimized, which as the name states, is suited for workloads that consist of large data sets in memory. Forth is accelerated computing, which is an instance that uses hardware accelerators to perform functions more efficiently. Fifth and last is storage optimized, are designed for workloads that consist of high data sets on local storage. Optimized to deliver tens of thousands IOPS to applications.
For storage, as mentioned before, there is an instance that is designed only for handling large amounts of data, which is the storage optimized instance. This instance can store up to 336 TB of HDD storage.
Currently Amazon EC2 works on amazon linux, CentOs, Debian, and windows. It also supports mac but only for the general-purpose instance.
Security of the cloud is the highest priority for Amazon EC2 employees. The client benefits from network architecture and data center that are built to ensure the security for the clients while using the cloud.
Amazon EC2 also offers high performance, with the only cloud being at 400 Gbps Ethernet networking. It also has the most powerful GPU instances for workloads that need a high GPU cap.
In terms of pricing, Amazon EC2 does not cost too much. For memory optimized and GPU instances, the pricing are $0.252 and $0.75 per hour, respectively, costing lower than its competitors. For general purpose instance, it costs $0.192 per hour, and $0.170 per hour for compute optimized instance.
Amazon EC2 Auto Scaling allows clients to automatically add or remove EC2 instances according to the conditions defined. Amazon EC2 Auto Scaling can detect when an instance is faulty and replace it with a new one. In addition, Predictive Scaling ensures the application has the right amount of compute and proactively provisions capacity.
There are multiple monitoring tools available including Amazon CloudWatch Logs and CloudWatch agent. Amazon CloudWatch Logs monitor, store and access log files from Amazon EC2 instances while CloudWatch agent collects logs and system-level metrics from hosts and guests on clients’ EC2 instances.
3 Opinions
We have done extensive research on the three major cloud computing service providers, namely Google Cloud, Microsoft Azure and Amazon EC2. We have decided to select Microsoft Azure as cloud service provider for our software development. This is because Microsoft Azure provides the most variations of VM instance types. This is useful as we can choose different VMs instance to suit our needs and project types. Next, Microsoft Azure is built using Microsoft’s SDLC which is very secure. We do not have to risk losing our progress or data while developing our software. Furthermore, we realize that Azure Autoscale and Azure Frontdoor are really important features to help maintain smooth user experience especially when we are expecting high traffic. Furthermore, we found out that there are much more monitoring tools available for Microsoft Azure compared to the other cloud computing service providers. Monitoring tools are useful as it promotes convenience and we as developers can automate tasks and monitor network performance as well as detect any problems with the instances. Therefore, we consider Microsoft Azure to be one of the best cloud computing service provider.
References
1. https://cloud.google.com/marketplace/docs/partners/integrated-saas
2. https://en.wikipedia.org/wiki/Google_Cloud_Platform#
3. https://cloud.google.com/compute/docs/machine-types
4. https://cloud.google.com/storage/quotas
5. https://cloud.google.com/products/storage
6. https://en.wikipedia.org/wiki/Google_Storage
7. https://cloud.google.com/solutions/security/
8. https://cloud.google.com/compute/docs/images/os-details#vm-manager
9. https://cloud.google.com/compute/docs/autoscaler
10. https://www.c-sharpcorner.com/article/top-10-cloud-service-providers/
12. https://www.cloudhealthtech.com/blog/azure-virtual-machine-types
13. https://www.dremio.com/data-lake/adls/
14. https://azure.microsoft.com/en-us/pricing/details/virtual-machines/series/
15. https://azure.microsoft.com/en-us/services/app-service/#security
16. https://www.saasplaza.com/blog/what-are-benefits-microsoft-azure
17. https://www.simform.com/compute-pricing-comparison-aws-azure-googlecloud/
20. https://aws.amazon.com/ec2/pricing/
21. https://aws.amazon.com/ec2/features/
22. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security.html
24. https://aws.amazon.com/ec2/instance-types/
27. https://aws.amazon.com/ec2/autoscaling/
28.https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring_automated_manual.html
Report (Full Doc)
-
Download Group3_CloudComputingFundamentalsAssignment.docx
Group3_CloudComputingFundamentalsAssignment.docx Details
- Wednesday, 03 February 2021 [37.3KB]