Introduction to as a Service Architecture
I made this Prezi last year for the Newtown Webtech meetup I organize. In this presentation, the most popular types of as a Service Architecture is explored, covering Infrastructure as a Service, Platform as a Service, Software as a Service, and Backend as a Service.
As virtualization becomes more cost effective, the industry has seen a major shift towards offloading infrastructure requirements to third party cloud environments. What used to take significant investment, building server warehouses, maintaining climate control systems and offsite fail-over systems, has moved to managing virtual locations from a desktop.
Companies can now deploy and scale tremendous resources at the click of a button, and a fraction of the cost. This is especially useful for exploring new products and applications. Minimum Viable Products can now be created without the expense of physical hardware, and because of this, many IT control systems can be fast tracked because there is no new procurement necessary.
Infrastructure as a Service
In the most basic cloud-service model, providers of IaaS offer computers – physical or (more often) virtual machines – and other resources To deploy their applications, cloud users install operating-system images and their application software on the cloud infrastructure. In this model, the cloud user patches and maintains the operating systems and the application software. Cloud providers typically bill IaaS services on a utility computing basis: cost reflects the amount of resources allocated and consumed.
Platform as a Service
In the PaaS models, cloud providers deliver a computing platform, typically including operating system, programming language execution environment, database, and web server. Application developers can develop and run their software solutions on a cloud platform without the cost and complexity of buying and managing the underlying hardware and software layers. With some PaaS offers like Microsoft Azure and Google App Engine, the underlying computer and storage resources scale automatically to match application demand so that the cloud user does not have to allocate resources manually. The latter has also been proposed by an architecture aiming to facilitate real-time in cloud environments
Software as a Service
In the business model using software as a service (SaaS), users are provided access to application software and databases. Cloud providers manage the infrastructure and platforms that run the applications. SaaS is sometimes referred to as “on-demand software” and is usually priced on a pay-per-use basis. SaaS providers generally price applications using a subscription fee.
In the SaaS model, cloud providers install and operate application software in the cloud and cloud users access the software from cloud clients. Cloud users do not manage the cloud infrastructure and platform where the application runs. This eliminates the need to install and run the application on the cloud user’s own computers, which simplifies maintenance and support.
Backend as a Service
BaaS is a model for providing web and mobile app developers with a way to link their applications to backend cloud storage and APIs exposed by back end applications while also providing features such as user management, push notifications, and integration with social networking services. These services are provided via the use of custom software development kits (SDKs) and application programming interfaces (APIs). BaaS is a relatively recent development in cloud computing, with most BaaS startups dating from 2011 or later. Although a fairly nascent industry, trends indicate that these services are gaining mainstream traction with enterprise consumers. The global BaaS market had an estimated value of $216.5 million in 2012 and projected to grow to $7.7 billion by 2017.
Gotcha – Be forewarned!
While SOA (Service Oriented Architecture) takes a great deal of resource management off your shoulders, there is a trade off. As you relinquish control, you lose the ability to both react when something goes wrong, as well as modify the underlying systems if your needs aren’t met. Just something to keep in mind when you explore your options!
Let us help you into the cloud
Contact us today and lets get started on your project!