Posts Tagged ‘cloud computing basics’

IaaS, PaaS, SaaS, and Other Cloud Computing Buzz Words For Dummies

IaaS, PaaS, SaaS, and Other Cloud Computing Buzz Words For Dummies

As you contemplate using cloud computing architecture this year, there are certain lingo you need to know. As with any new and innovative technology, buzzwords abound and cloud computing is no different. Most folks have heard about it but few know they are actually using it every day. Even fewer know there is much more to the cloud than Google Docs or Gmail. It’s easy to get lost in all the hype and misinformation going around so here is a list of buzzwords explained about cloud computing to help you sort out what is all the rage these days.

Infrastructure as a Service (IaaS)

IaaS is what started it all. IT departments were looking for ways to lower their data center costs because every time they needed to add more processing power for their applications, it was very expensive and time-consuming to implement. Third-party vendors were aware of these issues and began to offer computing infrastructures for rent. This way, IT shops would not have to hassle with physical machines, data center floor space, cooling requirements and physical security. They would simply rent what they needed from someone else.

IaaS has evolved significantly since its inception with players such as Amazon, Rackspace, Microsoft, GoGrid and others. Each offers something unique but in the end the core services are storage, operating systems, network components such as firewalls and load balancers, and the capability to provision and monitor these resources.

Platform as a Service (PaaS)

PaaS was born out of the need to provide a consistent and inexpensive platform with which to develop enterprise applications upon. It combines IaaS with software and tools so developers can have the freedom to build innovative web applications and services offered entirely over the Internet.

By using PaaS, IT shops no longer struggle with all the environments required to develop applications, such as testing and quality assurance infrastructures. They simply provision these resources via cloud management tools and deploy their applications to them. If a mistake is made, environments can be deleted and the developer can start over easily, all with little downtime.

Software as a Service (SaaS)

Often used interchangeably with PaaS, SaaS is actually a subset of PaaS, providing an on-demand delivery model for applications that are accessed over the Internet using a web browser. Typical applications include customer relationship management (CRM), content management and collaboration apps found in most medium to large enterprises.

Other familiar SaaS applications the general public uses everyday are Gmail, Google Docs, Amazon, WordPress, The Weather Channel, etc. All of these apps use the cloud to store data and expose services that developers can use to integrate features and functions into their own applications, resulting in innovative apps at a much lower cost than if they were built from scratch.

Multi-tenent

This term is used to describe a whole slew of cloud computing buzzwords such as architecture, hosting and services. It simply means that there is a single application running on a server and multiple clients, or tenants) are able to use the app as if they were the only one using it.

This is a giant leap forward from the days where a vendor would use many instances of the same application and each client would have their own instance. A multi-tenant application drastically reduces computing resources and makes upgrades and ongoing maintenance much easier on everyone.

Public Cloud

A public cloud is a set of resources offered by a vendor that provides data storage and applications to the public over the Internet. Some resources are free such as Google Docs while others charge by how much you use them. Information is not really public per se, just publically available to subscribers and is usually accessed with a username and password.

Private Cloud

A private cloud is a set of resources that are typically behind a firewall, such as in a corporation. These resources are available in a limited fashion because of information sensitivity or corporate security policy. An example of a private computing cloud is a Human Resource application that might provision some server computing power on-demand (IaaS), use some software components (SaaS) and a proprietary database that only the HR app is allowed to use.

Web Services

A web service is a component of software that provides a standards-based interface to a function exposed by an application. In other words, it lets a user have access to part of an application that normally would never be available to use. For example, if you want to display the current temperature in your city on your website, you can use a web service from a weather provider to get the temperature. This way, you do not have to provide a weather station in the area you want the temperature for.

Even More Buzzwords

There are many more cloud computing architecture buzzwords and new ones seem to be invented every day. This list covers the major ones that should allow you to hang with cloud computing crowd. Consider yourself armed and dangerous now and your boss will be impressed with your new-found wisdom.

Cloud Computing Basics - What Every User Needs To Know About Their Cloud App

Cloud Computing Basics - What Every User Needs To Know About Their Cloud App

As more and more applications begin to leverage the cloud as a major part of their architecture, it makes sense to take a step back and understand just what is going on in terms of cloud computing basics. Much of the cloud is abstracted away from both the app developer and especially the end user. But it is a good idea to explore exactly which services the cloud is providing and how. Here is what every user needs to know about their cloud app.

Building Your App Is Much Easier

When you use cloud services, your app automatically becomes easier to build and maintain. Why? Because pre-built services mean you have less code to not only write but also less code to test. Cloud services tend to be mature and robust offering good documentation as well as error handling and a standardized interface. These are the things in life developers tend to struggle with or don’t enjoy doing.

Having the ability to pick and choose best of breed cloud services, your app becomes less of a monolith and more flexible, giving you the ability to change things around without having to re-work or write new code. You can get more accomplished in a shorter period of time, something IT managers will praise you for.

Testing Your Application Is Faster

With the ability to spin up a virtual testing infrastructure in the cloud literally in minutes, you gain a tremendous advantage in testing speed. Moving code through the various testing environments is no longer a tedious and burdensome task that requires three or four people to validate. You simply create (provision) what you need from pre-configured templates using cloud infrastructure management tools and voila, instant infrastructure and near-instant testing.

Once your testing infrastructure is set up and you have your testing process honed in, future testing becomes almost a joy since all the baggage that comes along with a traditional environment is gone. You can get something into the end user’s hands quickly and be able to validate requirements, functions and features more efficiently.

Your App Becomes Location Aware

One of the benefits of using cloud infrastructure is that the app’s static files like images, JavaScript files and CSS files can be served to the end user from the closest server location to the end user. This is called a Content Delivery Network (CDN) service where the location of the user is computed and provided to the CDN service. The service then finds a server closest to the user’s location and serves the file from there.

Why is this important? The Internet has no set route that data is transferred by. It does its best to route traffic in the most efficient manner possible but sometimes it’s not the fastest route. Using a CDN ensures that the best opportunity for data to travel the least distance and therefore arrive faster is achieved. Your app appears faster and more responsive to your end users.

Your App Requires Careful Attention to Security

By moving to the cloud, it is imperative that you know exactly how the cloud provider handles security, both physically and with data. Using storage services is one thing, but knowing how the data is stored and what steps are taken to ensure ongoing access integrity is paramount. If your app stores and retrieves sensitive data using cloud services, then your app must take additional measures to secure transporting and storage of the data.

Your App Relies Heavily on an Internet Connection

Building an application that consumes cloud resources over the Internet means your app is dead in the water without an Internet connection. This may seem obvious but many apps don’t degrade gracefully when a connection becomes unavailable. The app simply times out without allowing the user to do anything else.

If your app is mission critical, it should allow for reduced functionality when a connection is unavailable and sync back up with the cloud when the connectivity is restored. This way, your users can still be productive and you don’t look like a buffoon even though it’s not your fault.

But Wait. There’s More.

Now that you know cloud computing basics, you know that cloud computing is just a fancy term for using someone else’s computing resources. With the future evolution of the Internet is leaning heavily on cloud computing, you must take a step back and take in just what this means. The way apps are built is changing rapidly and forever. The more you know about how your future as an app developer will change, the better you can be at meeting ever-changing business demands.