Cloud Foundry: Platform as a Service (PaaS)

Page 1

Cloud Foundry: Platform as a Service (PaaS)

Author Name: Rajiv Kumar Email: rajiv.kr.147@gmail.com Date: 23rd May 2017

1


Cloud Foundry: Platform as a Service (PaaS) In the growing Platform-as-a-Service (PaaS) market, Cloud Foundry (CF) has become the industry standard. Cloud Foundry is an interesting choice for developers targeting the Cloud. As an Open PaaS, Cloud Foundry offers the flexibility to run it on a VM, Private Cloud or the Public Cloud. This makes it easy for the businesses to unify its development environment across the enterprise, third party hosting and Public Clouds. Apart from these core services, various language, platform and hosting partners extended Cloud Foundry to support additional languages, frameworks, services and deployment options.

Cloud Foundry Overview Cloud Foundry is an open source cloud-computing platform originally developed in-house at VMware. It is now owned by Pivotal Software, which is a joint venture made up of VMware, EMC, and General Electric. CF is an abstraction layer between your IaaS (servers, storage and networking) and your application, giving you portability to move your app among public and private clouds, but it is also much more: • •

DevOps-friendly workflows. Reduced chance of human error.

Multi-tenant computes efficiencies.

Fast application development and deployment. Highly scalable and available architecture.

2


Key benefits of Cloud Foundry: • • • • •

Application portability. Application auto-scaling. Centralized platform administration. Centralized logging. Dynamic routing.

Application health management. Integration with external logging components like Elasticsearch and Logstash. Role based access for deployed applications. Provision for vertical and horizontal scaling. Infrastructure security.

Support for various IaaS providers.

• • • •

Understanding the Cloud Computing Stack: IaaS, PaaS, SaaS Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. The Essential Characteristics of cloud computing: 1. On-demand self-service. 2. Broad network access. 3. Resource pooling. 4. Rapid elasticity. 5. Measured service (pay as you go). Cloud Computing Service Models: In the world of cloud computing, there are three different approaches to cloud-based services: IaaS (Infrastructure as a Service) is a form of cloud computing that provides virtualized computing resources over the Internet. The capability provided to the consumer is to

3


provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, and deployed applications; and possibly limited control of select networking components. Examples: Amazon EC2, Windows Azure, Rackspace, Google Compute Engine. PaaS (Platform as a Service), also know as application Platform as a Service (aPaaS) that provides a platform allowing customers to develop, run, and manage applications without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly configuration settings for the application-hosting environment. Examples: AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine, Apache Stratos, CloudBees, dotCloud or AppFog. SaaS (Software as a Service) model you are provided with access to application softwares often referred to as on-demand softwares. You don't have to worry about the installation, setup and running of the application; service provider will do that for you. You just have to pay and use it through some client. Examples: Microsoft Office 365, Google Apps, Google docs, Gmail, WHMCS billing software

4


In the following tabular format it will be explaining the clear difference between IaaS, PaaS & SaaS

Cloud Computing Deployment Models: Public Cloud: The cloud infrastructure in which the cloud services are delivered over a network that is open for public usage. The customers do not have any distinguishability and control over the location of the infrastructure. It may be owned, managed, and operated by a business, academic, or government organization, or some combination of them. It exists on the premises of the cloud provider. Private cloud: The platform for cloud computing is provisioned for exclusive use by a single organization comprising multiple consumers (e.g., business units). Also known as internal cloud. It may be owned, managed, and operated by the organization, a third party, or some combination of them, and it may exist on or off premises. Community cloud: The cloud infrastructure is provisioned for exclusive use by a specific community of consumers from organizations that have shared concerns (e.g., mission, security requirements, policy, and compliance considerations). This helps to further reduce costs as compared to a private cloud, as larger group shares it. It may be owned, managed,

5


and operated by one or more of the organizations in the community, a third party, or some combination of them, and it may exist on or off premises. i.e. banks and trading firms. Hybrid cloud: The cloud infrastructure is a composition of two or more distinct cloud infrastructures (private, community, or public) that remain unique entities, but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load balancing between clouds).

Cloud Foundry Architecture and Components According to the Cloud Foundry Foundation, the Cloud Foundry platform is made up of seven core groups of components:

6


• •

Routing. Directs traffic coming into the Cloud Foundry platform to the appropriate component. Authentication. Contains an OAuth2 server and login server for user identity management. Application Lifecycle. Provides application deployment and management services. It includes the Cloud Controller, a service that pushes or deploys an application to Cloud Foundry; pieces of Cloud Foundry's Diego architecture for the management of containerized applications; and nsync, which monitors the state of an application. Application Storage and Execution. Contains a Blobstore repository for large files, as well as Diego Cell, another component of the Diego architecture. Every virtual machine (VM) has a Diego Cell that manages when an application starts and stops, as well as the VM's containers. Service Brokers. Helps link applications to certain services, such as databases. Messaging. Provides the ability for VMs to communicate through HTTP or HTTPS protocols. It includes the Consul server, which stores long-term control data like component IP addresses, as well as the Bulletin Board System (BBS), which stores data that is updated more frequently, such as application status. Metrics and Logging. Provides Loggregator, which streams application logs to developers, and the Metrics Collector, which provides data to help organizations monitor their Cloud Foundry environment.

Cloud Foundry Pros & Cons PROS 1. Choice to choose the programming models, languages, operating systems and databases 2. Platform plumbing: Cloud Foundry provides sophisticated assistance in integrating services and subsystems into a larger system. It can aid a developer by supplying RabbitMQ messaging; data services, including MySQL-as-a-service; and Spring Boot, a deployment service that automatically includes a lightweight application server with the application so that it's ready to run. 3. Broad open source integration: This includes Apache Tomcat; Jenkins continuous integration, Chef, or Puppet configuration; Ansible cluster configuration and task deployment; and Redis or MongoDB NoSQL unstructured data management system.

7


4. Hardware Scalability 5. Improved development productivity 6. 7. 8. 9.

Lower Total Cost of Ownership Faster time to market Business Continuity Cost effective in hardware resource consumption and support infrastructure

CONS 1. Application Portability - workload to be migrated on cloud should be available on PaaS. 2. Adequate Performance 3. Applications running on Legacy operating systems 4. Application Migration Efforts 5. Current Investments (Existing data center investments)

References 1. 2. 3. 4. 5. 6. 7. 8.

http://cloudacademy.com https://yourstory.com https://docs.cloudfoundry.org https://www.paasmag.com https://www.quora.com https://support.rackspace.com https://www.ibm.com/developerworks http://www.informationweek.com

8


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.