APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS



Similar documents
JAVA IN THE CLOUD PAAS PLATFORM IN COMPARISON

Drive new Revenue With PaaS/IaaS. Ruslan Synytsky CTO, Jelastic

PaaS - Platform as a Service Google App Engine

OpenShift Enterprise PaaS by Red Hat. Andrey Markelov RHCA Red Hat, Presales Solution Architect

Cloud Hosting. QCLUG presentation - Aaron Johnson. Amazon AWS Heroku OpenShift

Cloud Computing: Making the right choices

Razvoj Java aplikacija u Amazon AWS Cloud: Praktična demonstracija

Cloud Computing. Technologies and Types

OpenShift on OpenStack

ur skills.com

Assignment # 1 (Cloud Computing Security)

Last time. Today. IaaS Providers. Amazon Web Services, overview

OpenShift. OpenShift platform features. Benefits Document. openshift. Feature Benefit OpenShift. Enterprise

Overview. The Cloud. Characteristics and usage of the cloud Realities and risks of the cloud

Cloud Computing. Chapter 1 Introducing Cloud Computing

Enterprise PaaS Evaluation Guide

Networks and Services

AIST Data Symposium. Ed Lenta. Managing Director, ANZ Amazon Web Services

Cloud Courses Description

Cloud Computing and Big Data What Technical Writers Need to Know

Executive Point of View: Transforming Your Business with Platform as a Service (PaaS)

Last time. Today. IaaS Providers. Amazon Web Services, overview

Cloud Computing. Adam Barker

CloudFTP: A free Storage Cloud

NCTA Cloud Operations

Modeling Public Pensions with Mathematica and Python II

Datamation. 3 Ways to Move Application Development to the Cloud. Executive Brief. In This Paper

Cloud Computing. Chapter 1 Introducing Cloud Computing

Research Paper Available online at: A COMPARATIVE STUDY OF CLOUD COMPUTING SERVICE PROVIDERS

OpenShift is FanPaaStic For Java EE. By Shekhar Gulati Promo Code JUDCON.IN

Last time. Today. IaaS Providers. Amazon Web Services, overview

ArcGIS for Server: In the Cloud

Using Cloud Services for Test Environments A case study of the use of Amazon EC2

OpenShift 3.0 in the Sogeti Services Factory

Apache Stratos Building a PaaS using OSGi and Equinox. Paul Fremantle CTO and Co- Founder, WSO2 CommiCer, Apache Stratos

Scalable Architecture on Amazon AWS Cloud

PLATFORM-AS-A-SERVICE: ADOPTION, STRATEGY, PLANNING AND IMPLEMENTATION

Where We Are. References. Cloud Computing. Levels of Service. Cloud Computing History. Introduction to Data Management CSE 344

Jfokus PaaS Hands-On Lab

PaaS solutions evaluation

Open Source Technologies on Microsoft Azure

OpenShift on you own cloud. Troy Dawson OpenShift Engineer, Red Hat November 1, 2013

Certified Cloud Computing Professional VS-1067

Code in the cloud for the cloud jfokus.mybluemix.net

Background on Elastic Compute Cloud (EC2) AMI s to choose from including servers hosted on different Linux distros

GigaSpaces Real-Time Analytics for Big Data

Extending your VMware Cloud Infrastructure with a Private Platform-as-a-Service

Build A private PaaS.

WINDOWS AZURE EXECUTION MODELS

Cloud Platform Warfare in 2013 and Beyond

Platform as a Service (PaaS) Demystified

Open Source Cloud Technology for Enterprise Computing

Users VM A A A. Application. Compute/Storage/Network. VM Virtual Machine. On-Premises Data Center

Stackato PaaS Architecture: How it works and why.

Cloud Computing. Chapter 1 Introducing Cloud Computing

Leverage the Cloud for your Python & Perl Applications. Stackato Offers a Fast, Simple Way to Deploy Webs Apps to the Cloud

Platform Agnostic Mobile App Development

Intel IT s Cloud Journey. Speaker: [speaker name], Intel IT

Web 2.0 Technology Overview. Lecture 8 GSL Peru 2014

Java, PHP & Ruby - Cloud Hosting

Java PaaS Enabling CI, CD, and DevOps

Private Clouds with Open Source

Cloud Courses Description

3 Ways to build a SaaS Product. Asteor Software Inc Ram Kumar - Director Product Management

CLOUD COMPUTING An Overview

Introduction to DevOps on AWS

Microsoft Azure: Opção de Nuvem para Todo o Desenvolvedor. Danilo Bordini & Osvaldo Daibert

Cloud Computing. Chapter 3 Platform as a Service (PaaS)

Mike Boyarski Jaspersoft Product Marketing Business Intelligence in the Cloud

AppStack Technology Overview Model-Driven Application Management for the Cloud

Amazon AWS in.net. Presented by: Scott Reed

PAAS: Demystified. General Terms

NEXT-GENERATION, CLOUD-BASED SERVER MONITORING AND SYSTEMS MANAGEMENT

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series

A Web Base Information System Using Cloud Computing

How To Talk About Data Intensive Computing On The Cloud

RED HAT CLOUD SUITE FOR APPLICATIONS

PLATFORM-AS-A-SERVICE, DEVOPS, AND APPLICATION INTEGRATION. An introduction to delivering applications faster

Platforms in the Cloud

Public Cloud Offerings and Private Cloud Options. Week 2 Lecture 4. M. Ali Babar

Automatic Deployment to PaaS Cloud

How To Understand The History Of Cloud Computing

Logentries Insights: The State of Log Management & Analytics for AWS

Bringing Open Choice & Application

Change the Game with HP Helion

Database Usage in the Public and Private Cloud: Choices and Preferences

Session 3. the Cloud Stack, SaaS, PaaS, IaaS

Chapter 9 PUBLIC CLOUD LABORATORY. Sucha Smanchat, PhD. Faculty of Information Technology. King Mongkut s University of Technology North Bangkok

OpenShift and Cloud Foundry PaaS: High-level Overview of Features and Architectures

Oracle Database Cloud Service Rick Greenwald, Director, Product Management, Database Cloud

Application Development: In the Cloud, It's Not The Same. An InformationWeek & Dr. Dobb s Webcast Sponsored by

2) Xen Hypervisor 3) UEC

Migration Scenario: Migrating Batch Processes to the AWS Cloud

CloudCenter Full Lifecycle Management. An application-defined approach to deploying and managing applications in any datacenter or cloud environment

Private PaaS 101: What It Is and Why You Need It. Insulate Your Cloud with the Stackato Secure Middleware Layer

Cloud Service Models. Seminar Cloud Computing and Web Services. Eeva Savolainen

RED HAT: UNLOCKING THE VALUE OF THE CLOUD

Cloud computing - Architecting in the cloud

Deploying Migrated IBM Notes Applications to the Cloud

Transcription:

APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS This article looks into the benefits of using the Platform as a Service paradigm to develop applications on the cloud. It also compares a few top PaaS providers in the market today. For a typical software engineer or developer, a platform might be a simple utility, which is used to develop some applications. However, in the cloud, this view may not necessarily hold true. The concept of PaaS or Platform as a Service has come a long way from just providing simple middleware to users.

It now provides a full-fledged, automated application deployment service that can move your code through the different stages of developing software such as development, quality control, testing, production, etc. Here s a simple definition of PaaS: PaaS is a cloud computing service model that provides scalable application infrastructure and platforms such as application servers, Web and database services, messaging and integration services, etc, on a pay per use basis, without the overhead of buying and managing the underlying software and hardware. Why PaaS makes sense for application development There are many benefits of developing applications on the cloud using PaaS, and a few of them are summarised below. Time and cost savings: Setting up platform-level software is a complex and time consuming activity. PaaS abstracts a lot of the complexities of managing low level infrastructure and application dependencies so that the software developers simply have to upload their code and start running it without having to worry about procuring and configuring additional servers, software licenses, etc. No upfront payments or contracts are required by a PaaS provider. You simply use the platform and pay for what you use. Scalability and availability: A PaaS platform also provides on-demand scalability and high availability for your applications. If there is an increased workload on your application, then the PaaS platform automatically can add more servers and sync load balancers to maintain the optimal efficiency of

your running application. Once the load or requests on your application reduce, the additional servers are de-provisioned automatically. Easy upgrades: A typical application deployment may rely on a number of components that individually need to be tracked, maintained, upgraded and re-integrated over time. The PaaS provider abstracts the management, timely security and patch upgrades of the PaaS platform so that the users do not waste time and incur risks by doing these tasks themselves. A vast ecosystem: A PaaS platform provides a rich set of tools, frameworks and UIs for managing and building your applications on the cloud. A developer has the freedom to choose from a variety of development languages such as Java,.NET, Node.js, PHP, Python, Ruby, etc, all preinstalled, pre-configured and ready for use. No vendor lock-in: A PaaS platform provides the freedom of choice to developers to move to different PaaS platforms without being locked in to any vendor. PaaS providers There are a variety of PaaS providers in the market today, each providing their own set of tools and frameworks to develop applications. Here s a look at some of the market leaders in this space. Windows Azure: Windows Azure is a PaaS platform developed by Microsoft to directly compete with other IaaS and PaaS providers such as Amazon Web Services (AWS) and Google App Engine (GAE). Windows Azure provides a rich set of tools and frameworks, which are specific to both

Microsoft and third parties, that can help developers build their applications on the cloud. Additionally, it also provides media encoding services, multi-tier applications, and automated deployment services using Git and Eclipse. Windows Azure also provides SQL Database as a service in another offering called SQL Azure Database. This can help developers integrate their applications with a scalable database that supports Microsoft s Active Directory components, Microsoft System Center, Hadoop Processing Framework, etc. Azure provides the Blob store and table-like structures to store your application data. It has a REST, XML and http-based API that can be used by developers to extend their application s functionality with the Azure framework. The pricing is simple and also offers billing on a pay-as-you-go model as well as pre-paid plans. Amazon Elastic Beanstalk: Amazon Elastic Beanstalk is a PaaS-like service from Amazon Web Services (AWS), a major IaaS provider. Beanstalk provides users the ability to quickly deploy their applications and manage them on the AWS Cloud. It provides an easy to use Web UI with which developers can upload their code as a WAR file, tune in a couple of necessary parameters, and finally launch their application on AWS. Beanstalk will

automatically provision the virtual machine instances, monitor the workloads of your application and balance load across the instances effectively. Beanstalk provides users complete control over their AWS resources that power the application. Users have the ability to browse through the application log files, monitor the application health and even pass the necessary run time values to their applications. Users also have the freedom to directly publish their code on Elastic Beanstalk using tools such as Visual Studio, Eclipse IDE and Git. Since AWS offers loosely coupled services, Elastic Beanstalk can be integrated with other AWS services such as Simple Notification Service

(Amazon SNS), Simple Storage Service (Amazon S3), Auto-Scaling, Elastic Load Balancer (ELB), etc. Elastic Beanstalk currently can deploy applications written in.net, Java, Node.js, Ruby, Python and PHP. There is no additional charge for using Amazon Elastic Beanstalk. Users just have to pay for the underlying AWS resources that they consume, such as EC2, S3, ELB, etc. Google App Engine: Google App Engine (GAE) is a PaaS offering that enables users to host their Web applications on Google s infrastructure, i.e., Google s globally present data centres in a Sandbox like environment. GAE offers auto-scaling of resources, and load balancing that enables your Web application to scale automatically when the workloads increase.

Currently, only Java and Python are supported as the programming languages; however, GAE does provide an experimental API called Go, which enables users to program using additional languages such as Groovy, Scala and PHP. Similar to Windows Azure, GAE also provides additional means for storing your data using three main services: App Engine Datastore: A NoSQL object store that comes bundled with a query engine. Google Cloud SQL: A highly scalable relational SQL database service that is very similar to MySQL. Google Cloud Storage: A simple storage container that can store files and objects pertaining to your application. GAE is priced similar to Amazon s Elastic Beanstalk. It is a free utility. You only have to pay for the resources that you consume. Cloudify: Cloudify is another example of an open source PaaS platform. It relies on a recipe-based model to deploy applications on any cloud-based platform without having to undergo changes in the application code. The recipe can be thought of as a template or blueprint for installing, configuring and monitoring the entire application stack. These recipes are designed to be cloud-agnostic and, hence, can be executed on multiple cloud platforms without any major changes made to them.

Cloudify currently supports and provides recipes for a variety of application servers such as Tomcat, JBoss and Oracle Web Logic; for scalable databases such as Cassandra and MongoDB, and even for a host of private and public clouds including Amazon Web Services, Openstack, Cloudstack, etc. Like most PaaS providers, Cloudify also provides automated auto-scaling and dynamic load balancing of resources. Open Shift: Open Shift is a PaaS offering from Red Hat and it primarily comes in two variants an enterprise PaaS that is meant to be deployed on private clouds, and the Web-based Open Shift that allows you to launch your applications on a Red Hat provided cloud. There is an open source version available on GitHub as well, called Open Shift Origin. Getting started with Open Shift is fairly easy. Developers can create an application using Open Shift s command line console or an IDE, code the application and then push it on to Open Shift. Once published, Open Shift will take care of the application s underlying services and even scale the application automatically in case the workloads increase. Open Shift supports a variety of development languages such as Java, Ruby, PHP, Python, Perl, Node.js as well as databases such as MySQL, PostgreSQL and MongoDB. The Open Shift platform also provides a facility for continuous integration of code and its release management, using Jenkins. Once the application code is submitted, Jenkins automatically builds it, performs testing on the code and

publishes it, depending on the test results. This enables you to develop applications in a more automated and streamlined fashion. There are many more leading PaaS providers in the market today Salesforce.com, Heroku, AppFrog, AppScale, etc each one providing a different set of services and tools for developers to build and host their applications on. Their growing popularity proves that PaaS is a faster, cheaper, more reliable and secure way to develop applications, and is here to stay.