COMPARING DESIGN OF VARIOUS CLOUD COMPUTING PLATFORMS

Shivani Metangale
19 min readJan 8, 2022

COMPARING DESIGN OF VARIOUS CLOUD COMPUTING PLATFORMS

Cloud computing is changing the world, it operates in today’s world. At a growth level of almost 18%-20% every year on year new as well as old organizations are moving their operations on cloud based working for better efficiency and cost effectiveness in business revenues. Many different models are used in the market for cloud computing where big organizations are hosting servers for users to use. Known names in the market are AWS or azure. These names define how cloud computing is changing the way to access data and gather information through one touch from any location. Edge computing is moving out in terms of technology since cloud computing is making a bigger stance and an efficient impact.

Infrastructure as a Service

IAAS is a cloud computing platform where business firms lease servers for computation and storage purposes in the cloud. It helps users run any application/OS on the rented servers thereby getting rid of the maintenance and operating costs of those servers. IaaS provides guaranteed service-level agreement (SLA) in terms of uptime and better performance both and eliminates the urge of manual management of the physical servers in data centers.

Testing and management of new applications can be done with an IaaS provider instead of acquiring the infrastructure for testing by an enterprise. Those servers can be accessed by customers through APIs and dashboard directly.

Users find IaaS beneficial and enjoy many of its advantages such as getting access to the same infrastructure technology services of a traditional data center without investing as many resources. Thus, it’s a flexible cloud computing model that allows for automated deployment of servers, storage, processing power and networking.

IaaS provider provides the following services -

Examples of IaaS vendors/providers -

1. Amazon Web Services (Amazon EC2) -

Amazon Elastic Compute Cloud (Amazon EC2) provides high scalable computing capacity in the Amazon Web Services (AWS) Cloud. Investing separately for hardware up front is eliminated with use of Amazon EC2, thus we can develop and deploy applications easily and faster. Amazon EC2 enables you to launch as many or as few virtual servers according to your needs, configure security and networking, and manage storage.

Following are some of the prominent features and components of Amazon EC2 design architecture −

Auto Scaling- The way in which AWS(EC2) cloud architecture and the traditional application hosting model differs is that AWS can dynamically scale the web application fleet on demand to handle changes in online traffic. AWS Auto Scaling can easily create capacity groups of servers that can grow or shrink based on requirements.

Load Balancing — It means hardware or software over web servers that improves the efficiency of both the server as well as the application. AWS provides the Elastic Load Balancing service that distributes the traffic to EC2 instances across multiple available sources along with dynamic addition and removal of Amazon EC2 hosts from the load-balancing rotation.

Elastic Load Balancing provides flexibility i.e it can dynamically grow and shrink the load-balancing capacity to adjust to online traffic demands and also support sticky sessions to address more advanced routing requirements.

Amazon Cloud-front — It is responsible for content delivery upon user’s request can be dynamic, static, and streaming content using a global network of edge locations to numerous websites. Amazon Cloud-front is designed to work with other Amazon Web Services like Amazon S3 for storage and Amazon EC2. It also works with any of the non-AWS origin servers and stores the original files in a similar manner.

Security Management — Amazon EC2 provides a feature called security groups similar to an inbound network firewall in which we have to specify the protocols, ports and source IP ranges that are allowed to reach user’s EC2 instances. Every EC2 instance can be assigned one or maybe more security groups, each of which routes the appropriate traffic to each instance. Security groups can be configured using specific IP addresses which allow limited access to EC2 instances.

Amazon RDS — Amazon RDS (Relational Database Service) allows users to install management systems like MySQL, Oracle, or Microsoft SQL Server database engine etc. and provides similar access. It helps in automatically backing up and managing data as per the user’s commands. Users pay only for the resources they use (no direct investment required).

Hosting RDMS on EC2 Instances — Amazon EC2 uses Amazon EBS (Elastic Block Storage) and all data/logs running on EC2 instances should be placed on Amazon EBS volumes, which will be available even upon database host failure. Using Amazon RDS, the service provider can control and manage the storage and priority is managing the data.

Storage & Backups — The Amazon S3 i.e Simple Storage Service in AWS cloud provides a simpler web-services interface that helps in accessing, storing and backing up web data as objects within resources called buckets in order to retrieve any amount of data, any time from anywhere on the web.

2. Azure Virtual Machines (VM) are one of several forms of scalable, on-demand computing resources offered by Azure. VMs are typically used when you require greater control over your computing environment than the other options provide. An Azure VM gives you flexibility of virtualization without the need to purchase and maintain the physical hardware that runs it. You must still maintain the VM by configuring, patching, and installing the software that runs on it.

Azure virtual machines can be used in various ways:

Development and test — Azure Virtual Machines (VMs) provide a quick and simple solution to generate a computer with the particular parameters needed to code and test an application.

Applications in the cloud — Because your application’s demand may change, it may be more cost-effective to host it on an Azure VM. You pay for more virtual machines when you need them and turn them off when you don’t.

Extended data center — An Azure virtual network’s virtual machines may be simply joined to your organization’s network.

Some of the prominent features and components of Microsoft Azure design architecture

Improved Backup and Disaster Recovery — Flexibility, powerful site recovery, and built-in integration are the features offered by Microsoft Azure. Azure is fundamentally adaptable due to its cloud-based structure, allowing you to back up your data in nearly any programming language, operating system, or location. Azure also lets you define backup schedules for daily, weekly, monthly, or any other interval you like.

Develop and Host Web and Mobile Apps — Azure is a great place to build, host, and administer online and mobile apps because it has capabilities like automatic patch management, Auto Scale, and integration for on-premise systems that make them self-contained and adaptable.

Automatic patch management on your virtual machines saves you time managing your infrastructure and allows you to focus on expanding your app’s primary features. Meanwhile, Auto Scale, an Azure Web Apps feature, lowers your resource threshold automatically based on user activity, saving you money outside of peak hours. Finally, Azure connects your online apps to on-premise apps, giving your stakeholders access to resources behind your firewall.

Integration with Active Directory — Microsoft Azure can work with your Active Directory to extend your access and identity management capabilities. It also improves the security, global reach, and centralized management of your DNS.

Azure’s ability to expand your Active Directory environment’s reach internationally while preserving direct control is one of its distinguishing features. No other cloud platform

can extend the scope of your domain controller and bring Active Directory management under one roof.

Platform as a Service

PaaS provides a runtime environment. It makes it simple for programmers to build, test, execute, and deploy web applications. Backend scalability is controlled by the cloud service provider in PaaS; thus, end users don’t have to bother about infrastructure management To support the web application life cycle, PaaS contains infrastructure (servers, storage, and networking) and platform (middleware, development tools, database management systems, business intelligence, and more).

  1. AWS elastic beanstalk -

It’s an easy-to-use service for deploying and scaling web applications and services developed using various technologies like Java, .NET, PHP, Node.js, Python, Ruby, Go, and Docker on familiar servers such as Apache, Nginx, Passenger, and IIS. AWS Elastic Beanstalk handles the deployment automatically as soon as the user uploads their code, from capacity provisioning, load balancing, auto-scaling to monitoring the health of the application. It lets users retain full control over the AWS resources enhancing their application and provides access to those resources anytime. AWS Elastic Beanstalk doesn’t demand any additional costs apart from the AWS resources needed to store and run your web applications and services.

Elastic beanstalk architecture and workflow -

● When any application is deployed using elastic beanstalk to a web server environment, the environment will typically create an architecture structure consisting of the Elastic Beanstalk Environment, Elastic Load Balancer, Auto Scaling Group, EC2 Instances, Host Manager and Security Groups.

● The Elastic Beanstalk environment contains the application and provides an URL entry point for users to access that application. Meanwhile, the elastic load balancer sends http requests to the EC2 instances that have been provisioned within the environment.

● The Auto Scaling Group will be scaling in and scaling out the number of EC2 instances that exist within the environment based on load of the traffic. Users can specify the number of EC2 instances they will allow and wish to start with, in the settings of the elastic beanstalk environment.

● The EC2 instances are the compute images that run the workloads and their sizes can be increased or decreased based on CPU capacity and reserved memory to provide acceptable application performance to the users. The host manager monitors and reports the performance of your application, and sends logs to your cloudwatch dashboard.

● Upon creation of a new elastic beanstalk environment, a new security group is assigned which allows http access to your application.

  1. Azure app service and cloud services

Microsoft Azure offers a variety of options for deploying your applications to the cloud. The two most popular and simple ways to deploy your applications are Azure App Services and Cloud Services. Both web applications and background service applications are supported.

App Service

Microsoft Azure App Services are a PaaS (platform as a service) offering. Depending on your App Service Plan, Azure runs App Services on a fully managed set of virtual machines in either a dedicated or shared mode. There are 4 types of App Services:

● Web App — used for hosting websites and web applications

● API App — used for hosting the RESTful APIs

● Logic App — used for business process automation, system integration and sharing data across clouds

● Mobile App — used for hosting mobile app back ends

Cloud Service

They enable web apps (web roles) and background services (worker roles) to be deployed on Azure virtual machines. Azure manages the server’s startup, deployment, and Windows Updates, among other things.

Web applications are hosted by Web Roles. Worker Roles, like Windows Services, are used to host background services.

App Services and Cloud Services both have a lot of useful features and are a quick and easy way to get your apps onto the Microsoft Azure cloud. They are unquestionably easier to use than creating your own virtual machines! The main distinction is that Cloud Services has access to the underlying Azure VMs, but App Services does not.

Software as a Service:

SaaS is the most common type of cloud computing for most individuals. SaaS, which is at the summit of the pyramid, is a fully built software solution that can be purchased and used on a subscription basis over the internet. The software as a service provider handles the infrastructure, operating systems, middleware, and data required to deliver the programmer, ensuring that it is available whenever and wherever consumers require it. Many SaaS services run immediately in web browsers, thus there are no downloads or installations required. With hybrid and multi-cloud deployments, this dramatically minimizes software administration concerns for internal IT staff and allows businesses to streamline their operations.

SaaS applications enable businesses to swiftly get up and running as well as scale their operations. There’s no need to buy or install the hardware and software that their commercial services rely on. Even complex enterprise-level systems, such as customer relationship management (CRM) or enterprise resource planning (ERP) solutions, are accessible to even the smallest firms, giving them tools to help them grow their enterprises more successfully than ever before.

Examples : Microsoft Office 365, Salesforce, Cisco WebEx, Google Apps.

Microsoft Office 365

SharePoint Online, Exchange Online, Lync Online, and Office Professional Plus are all part of Microsoft Office 365, which is a subscription-based service. The majority of these online services only have a subset of the functionalities that their on-premises counterparts have. Microsoft Online Services are subscription-based on-demand applications and hosted services that provide a uniform experience across different devices for your enterprise.

Services by Microsoft Office 365 as SaaS are mentioned below:

Office Web Apps: Use a web browser to create and edit Word, Excel, PowerPoint, and OneNote documents.

Office Mobile Apps: Access, edit and view Word, Excel and PowerPoint documents on smartphones. On most devices, use the OneNote, Lync Mobile, and SharePoint Newsfeed apps.

Hosted email: Business-class email3, shared calendars, 25 GB of storage per user, and the opportunity to utilize your own domain name are just a few of the features available.

Active Directory integration: User credentials and permissions can be managed. Single sign-on and Active Directory synchronization

Simple file sharing: Each user gets 7 GB of personal storage that they may access from anywhere and syncs with their PC with SkyDrive Pro. Control who sees and modifies files and distribute them easily both inside and externally.

Web conferencing: Use HD video conferencing, screen sharing, and instant messaging to have meetings over the internet.

Public website: Promote your firm with an easy-to-create website that uses your company’s domain name.

Intranet Team Sites: SharePoint sites give individual teams within an enterprise workspaces with customized security settings.

Site Mailboxes: Use project-specific mailboxes to store and share email and documents, making team collaboration easier.

e-Discovery Center: Tools to support compliance. Search SharePoint sites and Exchange mails at the same time.

Advanced Voice: Support for hosted voicemail with auto attendant features.

Business Intelligence: Create and manage interactive dashboards with multiple data sources.

Salesforce SaaS:

Pardot is a cloud-based Software as a Service (SaaS) marketing automation platform that offers sophisticated B2B sales and marketing solutions. The platform is extremely user-friendly and includes tools for processing marketing campaigns and obtaining practical results. It automates the creation of digital marketing campaigns, enables lead and customer management, tracks website and social marketing, provides personalised marketing and reach reporting, and provides rich analytics functionality for better productivity and business outcomes when used in conjunction with Salesforce CRM.

FaaS:

Customers can use FaaS to execute code in real time without needing to pre-allocate processing resources. The infrastructure is handled by the cloud provider, allowing the customer to concentrate solely on deploying application code. Functions naturally scale, making them a good fit for dynamic workloads with varying resource consumption. FaaS is the purest form of “pay-as-you-go” cloud computing because customers only pay for the resources they utilize.

The majority of FaaS applications are straightforward and can be deployed fast. The only thing the cloud customer needs to do is upload the compiled function code and tell the platform how to allocate resources when it runs. New instances of the function can be created on demand, and the function consumes no resources when it is idle. The main disadvantage of FaaS is the execution time. If the programmer demands a lot of processing power or executes during peak usage hours, there may be modest performance gaps since functions must provision resources each time they run. Applications must also be stateless, which means they cannot save data locally. The majority of FaaS services are only available through large cloud providers like Amazon Web Services and Microsoft Azure.

Example: AWS Lambdas, Azure Functions.

AWS Lambda:

AWS Lambda is an Amazon Web Services FaaS service. It runs your code on a high-availability compute infrastructure and handles all compute resource administration, such as server and operating system maintenance, capacity provisioning and automatic scaling, code monitoring, and logging. AWS Lambda costs you in 100ms increments for the time your code runs. The Lambda function has no cost associated with it when stored in AWS.

Lambda is an Amazon Web Services computing platform that runs code in response to events. It is serverless and can manage computational resources required by event-driven code automatically. In a nutshell, it’s a function-based high-scale computing platform.

Events that cause Lambda to act aren’t restricted to those that happen on AWS; they can also come from third-party support services. It’s now easier to create event-driven and reactive systems thanks to Lambda. Lambda is so efficient that when many events occur at the same time, it simply performs the functions in parallel. Lambda dynamically scales computing resources in response to particular events. As a result, no server or container is left unattended.

Public Cloud

The public cloud is an IT architecture in which a third-party supplier manages on-demand computing services and infrastructure that is shared across different enterprises via the public Internet. Public cloud service providers may charge consumers a monthly or per-use fee for cloud-based services such as infrastructure as a service (IaaS), platform as a service (PaaS), or software as a service (Saas), removing the need for users to host these services on-site in their own data centre.

The public cloud makes computing resources available for purchase by anybody. A public cloud is often shared by multiple users. Private cloud, on the other hand, refers to cloud-based services that are housed on an organization’s own private servers.

All the major cloud providers/vendors like Google Cloud Platform, Amazon’s AWS, Microsoft Azure, etc. are examples of Public cloud platform

Pros & Cons of Public Cloud Services

The cloud option, unlike a local data centre, does not necessitate such a large financial investment. Information about the network is kept on a separate server. This option is ideal for startups and other businesses who wish to keep their operations lean without having to invest in equipment or physical space. The service is hired on an as-needed basis. You gain scalability and the capacity to expand this way. If traffic increases or the data center’s capacity is exceeded, just upgrade to a more comprehensive plan. It’s also a less expensive option than purchasing mainframes and routers.

Cloud computing products are updated on a regular basis, both in terms of servers and security measures. Nonetheless, the hazards of intrusion and potential service instabilities weigh heavily against the cloud model.

They can, however, be as secure as a private cloud system if correctly implemented. Make sure you’re using the right security tools, such as Intrusion Detection and Prevention (IDP) systems.

Private Cloud

Private clouds are often located behind a firewall and used by a single company. For enterprises with strict regulatory requirements, a totally on-premises cloud may be the best option, while private clouds established through a colocation provider are gaining favour. Authorized users can access, use, and store data in the private cloud from any location, just like they can in the public cloud. The distinction is that no one else can use or access those computing resources.

Pros & Cons of Private Cloud Services

If you need to keep an eye on the environment while also adhering to stringent security laws due to your sector, private cloud solutions provide both security and control. A private cloud provides additional control, making it easier to restrict access to key assets and ensuring that a corporation may transfer its data and apps wherever it wants, whenever it wants. Furthermore, because the private cloud isn’t managed by a third party, there’s no risk of unexpected changes causing the company’s entire infrastructure to be disrupted. A private cloud solution is also unaffected by system outages at a public cloud provider. You do, however, get your partner’s technical assistance as well as their disaster recovery.

However, the advantages of a private cloud come at a price. Because the cloud owner is responsible for both software and infrastructure, this is a less cost-effective strategy than the public cloud. Furthermore, private clouds do not have the same flexibility as public clouds. They can only be expanded by adding more hardware and storage capacity, making it difficult to scale operations fast and cost-effectively if the business requires it.

NIMBUS:

Nimbus is a September 2005 release of another open source IaaS deployment framework. • Nimbus enables a client to lease remote resources by establishing virtual machines (VMs) on them and configuring them to represent the user’s desired environment. • Although it was previously known as the “Virtual Workspace Service” (VWS), the “workspace service” is actually merely one of the software collection’s components. • Nimbus was created with the intention of transforming clusters into clouds, mostly for scientific purposes.

System Architecture and Design:

Nimbus’ design, which is made up of several components and is built on web service technology:

1. Workspace Service • Provides two interfaces for customers to manage and administer VMs: 1. One is based on the web service resource framework (WSRF), and the other is based on EC2 WSDL.

2. Workspace Resource Manager • Creates and manages virtual machine instances on a site.

3. Workspace Pilot • Provides virtualization with major site configuration modifications.

4. Workspace Management • Manages virtual machine instances, including start, stop, and pause. It also manages images and configures networks, as well as assigning IP addresses.

5. Context Broker • Allows clients to automatically and repeatedly coordinate massive virtual cluster launches.

6. Workspace Client • A sophisticated client that gives you complete access to the workspace service’s features.

7. Cloud Client • A more basic client that gives you access to a subset of the workspace service’s features.

8. Storage Service • Cumulus is a web service that interacts with Grid FTP to provide customers with storage possibilities for pictures.

Open Nebula:

Open Nebula is a key cloud technology that is the result of a long-term European Union research and development project in virtual machine efficiency, scalability, and management on a vast scale distributed infrastructure. The platform is a cloud service that is open source.

Open Nebula is a modular open-source cloud computing technology that allows for easy integration with various environments and hypervisors, as well as managing the heterogeneity and complexity of dispersed massive infrastructure.

The Open Nebula is a scalable, open virtual infrastructure method that allows network, storage, and virtualization techniques to be synchronized. Users will be able to dynamically deploy services on distributed infrastructure based on data center and remote cloud resource provisioning methodologies. Additionally, Open Nebula aids cloud evolution by allowing users to integrate and leverage existing IT infrastructure to provide a flexible, comprehensive, open, and extensible management layer capable of orchestrating and automating enterprise cloud operations, as well as deployment solutions for storage, virtualization, networking, user management, and monitoring.

There are three primary components to the platform.

  1. Drivers, Capacity Manager, and the Core Virtual Infrastructure Manager The Core Virtual Infrastructure Manager manages the virtual machine’s lifetime by ensuring that fundamental tasks like as migration, monitoring, and deployment perform smoothly.
  2. The second component, the Capacity Manager (scheduler) module, is in charge of administering all Open Nebula fundamental features, such as balancing workloads in virtual machines.
  3. The third component (“drivers”) supports all platforms because it contains all necessary drivers for regulating data transport and managing virtual machines on any host, regardless of hypervisor.

Community cloud:

Members of a community cloud are organizations that have common business requirements. These requirements are usually driven by the necessity for shared data, shared services, or shared industry regulations. this suggests they’re typically organizations within the same industry or departments of an equivalent organizational body. In other words, a community cloud is an integrated setup that mixes the features and benefits of multiple clouds to deal with the requirements of a selected industry.

The COVID-19 pandemic has pushed the planet to embrace a foreign work setup across industry verticals. it’s left sectors like education and healthcare scrambling to maneuver completely online, which they weren’t ready for. This accelerated cloud adoption, with Gartner predicting that worldwide public cloud adoption will increase by 18% in 2021. High costs mean that a personal cloud is, more often than not, out of reach for several small organizations, while industry regulations make public cloud unfeasible for several others. this is often where community cloud comes into the image . this technique may be a modified sort of private cloud, where the requirements of various organizations and verticals are weighed during architecture ideation. A community cloud system is owned, managed, and operated by members of the community, third-party vendors, or both.

Community clouds are costlier than public clouds but also safer. Each member of the cloud is allocated a hard and fast amount of knowledge storage and bandwidth, making scalability somewhat harder than with private and public clouds. Public clouds are perfect for fledgling companies, while private clouds are an honest fit large enterprise. Community clouds are an excellent solution for growing organizations within the health, financial, legal, and academic sectors. this is often because these industries are the foremost bound by various regulations. The implementation of a community cloud is more complicated than other sorts of clouds. this is often due to the number of players involved.

Hybrid cloud

Hybrid cloud refers to a mixed computing, storage, and services environment made from on-premises infrastructure, private cloud services, and a public cloud — such as Amazon Web Services (AWS) or Microsoft Azure — with orchestration among the varied platforms. employing a combination of public clouds, on-premises computing, and personal clouds in your data center

means you’ve got a hybrid cloud infrastructure.

Although cloud services can drive cost savings, their main value lies in supporting a fast-moving digital business transformation. Every technology management organization runs under two agendas: the IT agenda and therefore the business transformation agenda. Typically, the IT agenda has been focused on saving money. However, digital business transformation agendas are focused on investments to form money.The primary advantage of a hybrid cloud is agility. the necessity to adapt and alter direction quickly may be a core principle of a digital business. Your enterprise might want (or need) to mix public clouds, private clouds, and on-premises resources to realize the agility it needs for a competitive advantage.

A hybrid cloud architecture includes these characteristics:

Your on-premises data center, private and public cloud resources, and workloads are tied together under common data management while staying distinct.

You can connect existing systems running on traditional architectures that run business-critical applications or contain sensitive data which may not be fitted to the general public cloud.

--

--