IaaS, SaaS, PaaS, and XaaS & Public cloud, private cloud, hybrid cloud – Explanations

Hybrid Cloud

Private cloud

When the term cloud computing was first introduced, vendors of conventional enterprise software were quick to invent the term private cloud so they could claim that they can do cloud computing, too. Of course, the first cloud providers immediately protested that this term doesn’t make sense. Nowadays, the IT community agrees that private clouds exist. As long as the five characteristics of my last post can be applied, it is justified to talk about cloud computing. It doesn’t really matter if the consumers are only from one organization and the cloud therefore is private.

Public cloud

Of course, if there is a private cloud there must also be a public cloud—a cloud that is not restricted to a particular group of consumers. If someone asks you which was first (private cloud or public cloud), you have to ask back whether he is talking about “public cloud” and “private cloud” or private cloud and public cloud. Yeah, sometimes concepts only come into existence after the things they denote, even if those things were invented by humans.

Hybrid cloud

The term hybrid cloud is often misunderstood. A typical example can be found at SearchCloudComputing. The idea is that if an organization uses the services of a public cloud provider in addition to its private cloud, say for particular services, then this organization has a hybrid cloud. This is like putting a donkey and a horse in a stall and then claiming that you just created a mule. The key of a hybrid cloud is that the private and public clouds interact with each other. For instance, a solution that automatically moves virtual machines from the private cloud to the public cloud at peak times could be considered a hybrid cloud. Likewise, if the horse and the donkey interact and have some fun, you might get a mule eleven to twelve months later.

Vertical cloud

Vertical clouds are tailored to a particular industry, such as healthcare or finance. Some authors also use the term community cloud. I don’t like this expression because it sounds as if the consumers of the cloud have to interact in some way. Some analysts believe that vertical clouds are the next big thing. I think this remains to be seen. Just as retailers that are specialized on a certain product type now have a hard time competing with “everything stores” like Amazon, so will vertical cloud providers find it difficult to keep up with Amazon’s versatile “everything cloud.”

Horizontal cloud

Of course, if there is a vertical cloud there must also be a horizontal cloud, which is a general cloud that doesn’t specialize in any industry. You won’t hear this term often, simply because horizontal cloud providers don’t feel the need to distinguish themselves from vertical clouds. I think it is likely that vertical clouds will grow within horizontal clouds. The Amazon cloud ecosystem is growing at a remarkable pace, and many providers are already offering special cloud services by utilizing Amazon’s cloud infrastructure. Just as specialized online shops are using Amazon’s marketplace instead of their own website to offer their products, so will vertical cloud providers use Amazon’s cloud infrastructure and ecosystem to build their vertical clouds.

Software as a Service (SaaS)

The NIST defines Software as a Service (SaaS) like this: “The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure.” In my opinion, this explanation causes confusion. I think such explanations are the reason why many IT pros reject cloud computing as something new.

The term SaaS was first mentioned in a paper from the Software & Information Industry Association (SIIA) in 2001, which makes no reference to cloud computing. In fact, SaaS is perfectly possible without any cloud infrastructure involved. For instance, if a service provider requires human interaction before a software service can be provisioned, then, according to the NIST’s own definition of cloud computing, the provider’s SaaS doesn’t run on cloud infrastructure.

Software as a Service

Software as a Service

There are only two requirements for SaaS: the software runs on the provider’s own infrastructure and the software is rented by the consumer. The location of the service doesn’t have to be virtualized, you don’t need resource pooling and rapid elasticity, and the service doesn’t even have to be measured. Of course, SaaS and the cloud harmonize well, but so do many other new and old information technologies and concepts.

The main confusion stems from the fact that many equate “cloud computing” with “online services,” which is, of course, nonsense. If that were the case, then we really don’t need the term “cloud computing” at all.

Infrastructure as a Service (IaaS)

The same can be said about Infrastructure as a Service (IaaS). Some cloud providers offer IaaS, but cloud infrastructure is not a requirement for IaaS. An organization can rent a whole data center from a service provider without using cloud technology. The point about IaaS is that hardware resources such as CPU power, storage, and networks are rented, but consumers run and manage the operating system either on the rented infrastructure or on their own infrastructure.

For instance, a server virtualization solution offered as a service counts as IaaS. In this case, the consumer installs the operating system on the rented infrastructure. Storage as a Service (STaaS) is another typical IaaS example. Like in the first example, the consumer must manage the operating system, albeit, in this case, the operating system runs on-premises and the API of the infrastructure provider is used to access the storage.

According to this definition, classical hosting providers also offer IaaS.

Platform as a Service (PaaS)

If IaaS is essentially about renting hardware resources and SaaS is about renting software, then Platform as a Service (PaaS) must be about renting a platform. Thus, there suddenly appears to be a third fundamental IT category beside software and hardware. Can that be? Not really. In my opinion, PaaS is a sub category of SaaS. A platform such as ASP.NET is, of course, software. The difference between PaaS and other SaaS forms is that, with PaaS, consumers run their own software on top of the software that is provided as a service.

SaaS, PaaS, and IaaS compared

Actually, IaaS always also involves the renting of software, such as server virtualization software. However, I think my IaaS characterization above is correct because hardware is always delivered together with software. For example, even if you buy a server without an operating system, the server always comes with BIOS, which is also software. The point about IaaS is that computation capabilities are provided without an operating system and this implies that you can run any (platform independent) software to utilize these resources.

From my point of view, it would be better in most cases to avoid the term SaaS and talk about Application as a Service (AaaS) instead of SaaS to avoid confusion.

Other aaSes

Because analysts and journalists love to juggle as many technical terms as possible, many new “aaSes” have been added to the cloud concept jungle lately. Here are just a few, with a short description.

Desktop as a Service (DaaS)

Desktop virtualization provided as a service is called Desktop as a Service (DaaS). There was quite a buzz on the web a couple of days ago when Amazon announced Workspaces. In my view, this won’t change the fact that Virtual Desktop Infrastructure (VDI) will stay a relatively unimportant transition technology.

Process as a Service (PraaS)

Process as a Service (PraaS) is another sub category of SaaS. A service provider not only offers independent software solutions as a service but integrates all applications in a way that portrays the business process of the consumer.

Communication as a Service (CaaS)

I added Communication as a Service (CaaS) to the list to demonstrate that there is still much room for more aaSes. Of course, you can provide any kind of application type as a service, and so it also works with Voice over IP (VoIP), instant messaging (IM), or video conferencing, which fall under CaaS.

Cloud as a Service (CaaS)

Cloud as a Service (CaaS) is a good example of how carelessly concepts in computer science are often defined compared to other scientific disciplines. CaaS not only stands for Communication as Service but also for Cloud as a Service. The latter means that a service provider offers a whole cloud infrastructure as a service. Sometimes CaaS can also mean Cluster as a Service, but I am too tired to add an extra paragraph for it.

Anything as a Service (XaaS)

This is my favorite. It stands for the fact that anything can be provided as a service. Typical examples are PaaS (Pizza as a Service), LaaS (Love as a Service), or NaaS (Nonsense as a Service). The biggest NaaS infrastructure provider I know is Facebook.


General Backup and Recovery Terminology

General Backup and Recovery Terminology

Throughout this series I am going to be repeating some of the same terminology, and so it will help to become familiar with it if you are not already.

Backup Types

  • Full Backup – a complete copy of the data being backed up.  In the context of Exchange Server 2010 this also truncates the transaction logs for databases.
  • Incremental Backup – a partial copy of the data being backed up.  Contains all of the changes to the data since the last Full or Incremental backup.  When Full + Incremental backups are used a restore operation requires the last Full backup plus each of the subsequent Incremental backups.
  • Differential Backup – a partial copy of the data being backed up. Contains all of the changes to the data since the last Full or Incremental backup, however unlike the other backup types does not mark the data as having being backed up.  This means that a restore operation only requires the last Full plus the last Differential backup.

Each of the backup types makes a trade off between backup and recovery speed.  Full backups are the easiest and fastest to restore from but take the longest to backup, whereas Incremental backups are usually the fastest to backup but require more effort and time to restore from.

Backup Storage

  • Tape – magnetic tape backup storage comes in many different formats. It used to be the most cost effective and portable media for storing backups but these days disk can be more practical in some scenarios.
  • Disk – large capacity hard disk storage is more affordable and portable these days than in years past and has many advantages over traditional tape backups.
  • Cloud – this refers to an off-site, externally hosted backup service that is used for remote backup storage.  The cloud storage may be a mix of tape and disk depending on the service that is being used.
  • Online – backup storage that is immediately accessible, such as a disk array connected to the backup server.
  • Offline – backup storage that is on-premises but is not immediately accessible without human interaction, for example tapes that have been removed from the tape drive.
  • Offsite – backup storage that is stored offsite, either at an alternate physical location for the business (eg, a school with two separate campuses) or that has been taken away by an offsite storage company.

Again each storage type makes a trade off between convenience and protection.  Online disk storage is the easiest for backup and restore but carries the highest risk of data loss if there was a disaster in the data center itself such as fire or flood.  Offsite backup storage is safe from such disasters but adds to the restore time because the media must first be transported from offsite.

Backup Planning and Management

  • RPO – the Recovery Point Objective is the point in time at which you are aiming to recover data.  The RPO basically defines how much data loss the business is willing to tolerate, and so this plays an important part in designing a backup solution, particularly the scheduling of backups to meet the RPO requirements.
  • RTO – the Recovery Time Objective is the amount of time in which a recovery must take place after a disaster has occurred.  Again this plays an important part in designing backup solutions to ensure that the correct infrastructure is in place to facilitate that speed.
  • Backup Window – this is the time each day in which backup operations are able to be run.  For most businesses this is overnight, outside of their core business hours.  However depending on the RPO it may be necessary to run backups during business hours as well.

Other Terminology

  • Bare-Metal – this refers to a type of backup that makes it possible to recover the server and its data in their entirety from a single backup.
  • System State – this refers to a collection of data on a Windows Server that includes various services and configuration information that relate to its particular role, such as the Registry, boot files, Active Directory database (for Domain Controllers), cluster service information, IIS metabase, and other system files.

Exchange Server Backup and Recovery Concepts

Exchange Server 2010 itself has some specific backup and recovery concepts that Exchange Server administrators need to understand.

  • VSS – the Volume Shadow-copy Service is a backup API included with Windows Server operating systems and server products such as Exchange Server 2010.  This is the only supported backup technology for Exchange Server 2010, unlike previous versions that also supported a streaming backup API.
  • Active/Passive Databases – Exchange Server 2010 introduced a new high availability concept called Database Availability Groups (DAGs).  A DAG consists of multiple database copies across 2-16 Mailbox servers.  Only one copy of each database is “active” at any one time, the remainder are considered “passive”.
  • Recovery Databases – this is a special database that can be used as a target for a mailbox database restore operation, allowing the administrator to mount the restored database and extract the required data from it into an active database or a PST file.
  • Database Portability – the ability for Exchange Server 2010 to mount databases that have been copied or restored from other Mailbox servers.  This simplifies restore scenarios in which the original server is not available.
  • Dial Tone Portability – the ability for Exchange Server 2010 to mount a temporary database with empty mailboxes for end users to continue to send and receive email while restore operations are taking place in the background.
  • Log Truncation – all database operations are logged to transaction logs on the Mailbox server.  The logs can be used to recover information written since the last backup was taken if there is a database failure. When a database has been backed up all of the transaction logs that are no longer required for recovery are removed (truncated) from the server.
  • Circular Logging – when this is enabled the database transaction logs are automatically truncated by the server once the database operations are written from memory to the database itself.  When circular logging is enabled the transaction logs are no longer useful for restoring data in the event of a database failure.

Adding Domain user to local group on multiple computers

Want to add a user to a local group in multiple computers ? Try below steps.
Step 1. Copy Psexec.exe on your server. You can download it from here.
Step 2: Create Servers.txt in the same location where Psexex.exe resides and store the multiple computers IP.
Step 3 : Open Command prompt with Admin Privileges and change directory to where Psexec.exe resides.
Step 4: Execute below command now
Psexec.exe @servers.txt NET.exe LocalGroup Administrators domain\username /add 
Above example is for adding the user to Administrators group. If you need to add it to another group like Remote Desktop Users, enclose it within quotes.

Psexec.exe @servers.txt NET.exe LocalGroup “Remote Desktop Users” domain\username /add

Computer Administration Tools

Application Data Folder
Home Directory Drive
Home Directory
Shared Home Directory
Temporary Folder
Windows Root Drive
Windows Root Directory

Essential Network Troubleshooting Commands

arp -a  Shows gateway MAC address.
 gpresult  Starts the Operating System Group Policy Result tool
 ipconfig /all  Displays the full TCP/IP configuration for all adapters
 ipconfig /flushdns  Flushes the DNS resolver cache. Helpful when troubleshooting DNS name resolution problems
 nbtstat -a  Obtains info from WINS or LMHOST (discovers who is logged on)
 nbtstst -A  Gets info from WINS or LMHOST (discovers who is logged on)
 nbtstat -R  Purges and reloads the remote cache name table
 nbtstat -n  Lists local NetBIOS names.
 nbtstat -r  Useful for detecting errors when browsing WINS or NetBIOS
 netstat -ab  The b switch links each used port with its application
 netstat -an  Shows open ports
 netstat -an 1 | find “15868”  Locates only lines with the number 15868 and redisplays every one second
 netstat -an | find”LISTENING”      Shows open ports with LISTENING status
 net use   Retrieves a list of network connections
 net use file://  Sees if the machine can poll IP
 net user  Shows user account for the computer
 net user /domain  Displays user accounts for the domain
 net user /domain <UserName>  Shows account details for specific user
 net group /domain  Shows group accounts for the domain
 net view  Displays domains in the network
 net view /domain  Specifies computers available in a specific domain
 net view /domain: <DomainName> | more  Shows user accounts from specific domain
 net view /cache   Shows workstation names
 nslookup  Looks up IP/hostnames and displays information helpful in diagnosing DNS issues
 ping -a  Resolves IP to Hostname
 ping -t  Pings host until stopped
 set U  Shows which user is logged on
 set L  Shows the logon server
 telnet <IP> <port>  Confirms whether the port is open

net use %LOGONSERVER%       Use this command to hit the Domain Controller resulting in DC Agent                                                              picking up the user name you logged onto the server with.

Howto Create Scheduled Task on Remote Computer

To create Scheduled Task on Remote Windows PC.
You can use the following command.
[Note: You must belong to Administrators group to perform this action.]

schtasks /create /s computer_name /tn "Weekly Backup" /tr c:\Backup_folder\backup.bat /sc weekly  /D FRI /st 13:00:00 /sd 02/28/2012 /ru "domain\admin_user" /rp "admin_password"

The above command will create an scheduled task which will run on every Friday at 1:00pm and it will execute backup.bat  file.

You can copy backup.bat to remote pc using \\computer_name\c$ and paste it where ever you like.
backup.bat can contain any action like taking backup. For example

C:\windows\system32\xcopy.exe c:\Backup_folder\*.* d:\Autobackup /S /D /C /Y

The above command will copy all data from c:\Backup_folder to d:\Autobackup. Next time when this file will be executed it will run as incremental backup, means only files that have been changed or added will be copied to destination folder.
We used this method to copy user data file to remote File Serve


To view Tasks on Local PC.


you will see running tasks and there PID
As shown in the image below
. . .

To kill any task on Local PC.

taskkill /F /IM notepad.exe

To kill multiple task on Local PC.

taskkill /F /IM notepad.exe /IM mspaint.exe

To kill task by PID on Local PC. First find out PID of your program by running

then note down the PID, its the numeric number written just after application name, for example
notepad.exe                 5768 Console                 0      3,644 K
so 5768 is the PID number, to kill it by PID number, use the following

taskkill /F /PID 4556

%d bloggers like this: