What is Cloud Computing?
We have entered the amazing world of cloud computing. What does cloud computing do?
- It provides online data storage.
- It enables configuration and accessing of online applications.
- It provides a variety of software usage.
- And also it provides computing platform and computing infrastructure.
My smartphone receives an email with a Microsoft (MS) Power Point attachment file, however, MS Power Point and Windows OS is not installed on my smartphone! How to use my smartphone to look at this Power Point attachment file?
Google Drive service including Google Docs , Sheets and Slides are inside the Google cloud. So I can use these software packages to open up the attachment file and look at it, even though my smartphone does not have MS Windows OS and MS Office suite. Because I am connected to the Google Drive service's mainframe, then I can use the platform and software inside to look at these attachment files.
Above is a typical example about cloud computing. You can use the resources that you may not have on your device, but because you are connected to the cloud that has these capabilities of platform, software, and infrastructure. So therefore, I just need connectivity, and it will do all the things that I need it to do. Except for smartphones, in addition for new technology like internet of things, these devices may not be fully equipped with all the software platform and infrastructure hardware that is needed. The cloud computing can provide magical power to it. That is wy we need to study, invest and develop cloud computing.
What is a Cloud?
Cloud can provide services through a public or private network or the internet, where the service hosting system is at a remote locaiton. Cloud can support various applications: Email, Web Conferencing, Games, Database Management, CRM (Customer Relationship Management), etc.
The cloud models include:
- Public cloud: Enables public systems and service access. It is an open architecture, such as Email. This cloud could be less secure due to openness.
- Private cloud: Enables service access within an organization. This cloud is more secure due to its private nature.
- Community cloud: A cloud accessible by a group of organizations.
- Hybrid cloud: A combination of a public cloud and a private cloud. The private cloud part would support critical activities. The public cloud will support non-critical activities, and since the public cloud part is more open, therefore it would be much easier for non-critical activities to be accessed by various users flexibly.
Cloud Service Models
Here are the 3 basic cloud service models:
- IaaS: Infrastructure as a Service, e.g. Virtual Machines, Server, Storage and Network.
- PaaS: Platform as a Service, e.g. Database, Web Server Deployment Tools
- SaaS: Software as a Service, e.g. Email, Games, Virtual Desktop
The one at the bottom is IaaS , then PaaS and SaaS .
IaaS => PaaS => SaaS
The lower service model supports the management, computing power, security of its upper service model. This means that
- IaaS supports PaaS and SaaS.
- Next, PaaS supports SaaS.
- And, from SaaS, it is supported by both PaaS and IaaS.
These are the combination representative cloud models. A cloud client would use a web browser, mobile app, or some types of other client access feature to access one of these, or a combination of a couple of these.
More details about these 3 service models
Here are some more details about the three basic service models
- Software as a Service (SaaS) provides a variety software applications as a service to end users.
- Platform as a Service (PaaS) provides a programe executable platform for applications, development tools, etc.
- Infrastructure as a Service (IaaS) provides the fundamental computing and security resources for the entire cloud. For example: Backup storage, computing power , virtual machines are the IaaS.
Other Cloud Service Models
There are many other service models:
Xaas = Anything as a Service
If you look at other papers, you will find many other type of combinations, for example:
- NaaS -> N for Network as a service
- DaaS -> D for Database as a service
- BaaS -> B for Business as a service
Here are the benefits for cloud computing:
- High efficiency, reliability and flexibly.
- Applications as utilities over the Internet.
- You can manipulate and configure apps online
- Cost Effective
- No Software Required
- Online development and deployment tools
- On-demand self service
- Resources available on network.
In term of the characteristics, the essential characteristics is on On-demand self service.
The common characteristics include:
- Broad Network Access
- Rapid Elasticity
- Resource Pooling
- Measured Service
- Massive Scale
- Resilient Computing
- Geographic Distribution
- Service Orientation
- Low cost software
- Advanced security
References & Resources
- Dependency injection
- Directives and Pipes
- Data binding
- HTTP Get vs. Post
- Node.js is everywhere
- MongoDB root user
- Prefer Async Script Loading
- Components, Bootstrap and DOM
- What is HEAD in git?
- Show the changes in Git.
- What is AngularJS 2?
- Confidence Interval for a Population Mean
- Accuracy vs. Precision
- Sampling Distribution
- Working with the Normal Distribution
- Standardized score - Z score
- Evaluating the Normal Distribution
- What is Nodejs? Advantages and disadvantage?
- How do I debug Nodejs applications?
- Sync directory search using fs.readdirSync