Pivotal Cloud Foundry is based on container or VM - cloud-foundry

I am starting to learn PCF . Please help me understand if PCF falls under the concept of containerization or virtualization.
Kindly help me with this.

PCF (a.k.a. PAS, a.k.a. TAS) apps are deployed on containers, typically using Garden as the container runtime and Diego as the container orchestration engine. The components of the PCF runtime may be deployed as virtual machines, managed by BOSH, or as containers.

Pivotal Cloud Foundry (PCF) is a Platform as a Service (PaaS). It helps the developer to write the modern microservice based application and consume services from the marketplace. Typically, we should deploy and install PCF on the cloud platforms such as AWS Cloud and Azure Cloud. The deployment is a big process like it requires 20+ VMs and it should be highly available.
Now coming to your question, PCF doesn't fall specifically under containerization nor virtualization. PCF provides PaaS service like Elastic Bean Stalk in AWS Cloud. Of course, we can use Docker container technology for the application runtime on PCF Cloud.

what is PCF: Pivotal Cloud Foundry is a commercial version of Cloud Foundry that is produced by Pivotal. It has commercial features that are added over and above what is available in the open source version of Cloud Foundry. It's PaaS platform i.e. a platform upon which developers can build and deploy applications. It provides you runtime to your applications. You give PCF an application, and the platform does the rest. It does everything from understanding application dependencies to container building and scaling and wiring up networking and routing.
Beauty of PCF is that you need not to worry about the underlying infrastructure and it can be deployed on-premises and on many cloud providers to give enterprises a hybrid and multi-cloud platform. It gives you flexibility and offers a lot of options to develop and run cloud native apps inside any cloud platform.
Category: PCF is one example of an “application” PaaS, also called the Cloud Foundry Application Runtime, and Kubernetes is a “container” PaaS (sometimes called CaaS). PCF is higher level abstraction and Kubernetes is lower level of abstraction in the PaaS world. In simple terms Cloud Foundry can be classified as a tool in the "Platform as a Service" category.
Applications run on PCF are deployed, scaled and maintained by BOSH (PCF’s infrastructure management component). It deploys versioned software and the VM for it to run on and then monitors the application after deployment. It can't be seen purely under containerization or virtualization.
Learning: Pivotal used to provide PWS (Pivotal Web Services) which is a kind of platform available over the internet that you could have explored to learn for free but somehow PWS took its final bow and left the stage back in Jan'21. May be look to go to one of certified providers: https://www.cloudfoundry.org/certified-platforms/

Related

What is the purpose of using Spring cloud? What is the difference between AWS and Springcloud?

Why we need Spring cloud? What is the difference between AWS and Spring Cloud?
It might help to think of a division between infrastructure, applications and platform. Think of infrastructure as hardware - servers, disk, compute, network routing etc. that you can use. Let's call 'application' the executables that you build from your code in order to implement business logic and satisfy your end users. Then platform is a connecting layer - tools and standards to help your applications make use of infrastructure.
AWS is most famous for providing cloud infrastructure but it also provides a lot of services that could fall under platform. For example, it provides an API gateway service and container orchestration services with ECS or EKS (kubernetes) - these are more platform-level services as they are services that help your applications to scale and to talk to each other in the cloud.
Spring Cloud is a set of tools that help you address common problems faced by cloud applications. Concerns like how to get applications to talk reliably to each other in the cloud (eureka, hystrix and ribbon for http, streams for messaging) how to provide a single entry-point for consumers to access a set of microservices (zuul and spring cloud gateway) and how to manage configuration across microservices (spring cloud config). Mostly I would put these concerns under 'platform' but there are grey areas. You normally add the spring cloud libraries to components you build, which is a bit more 'application'-like. Some of the same concerns are addressed by certain services available in AWS (especially ECS and EKS(kubernetes)).
So the core areas of concern are very different for AWS (primarily infrastructure) and spring cloud (platform or platform-application bridge). But there can be some overlap at the platform level because AWS and spring cloud both offer so many options. It is tricky to find any direct comparisons because there are so many options but if you focus on EKS(kubernetes) in particular a good article comparing it with spring cloud is https://dzone.com/articles/deploying-microservices-spring-cloud-vs-kubernetes
Spring Cloud is a programming API that is used to develop an application by following a microservices design.
Spring Cloud speaks about development. Cloud Platforms like AWS are used to deploy the application.
Spring Cloud is just a set of tools (software) commonly used in the cloud, AWS is one of many cloud options, a place where you can deploy your apps.

How PCF (Pivotal Cloud Foundry) is different from AWS (Amazon Web Services) [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
Pivotal gives you option to deploy your application with help of Cloud Foundry inside AWS Cloud. I am little confused how PCF and AWS are differ. I know that PCF gives solution using which host (client) can make their own cloud on-premises.
AWS do not provide anything like that. And has lot of other services for elasticity, agility and scalability.
But these two are huge in terms of offerings. Please help in differentiating these two.
PCF is a commercial cloud platform (product) built by Pivotal on top of open source Cloud Foundry. PCF can be deployed on AWS, GCP, OpenStack, VMware vSphere, and some other IaaS platforms.
You should consider using PCF if you want to run your own cloud platform and you don't want to start from scratch.
When using PCF, you can deploy, configure and operate other products provided by Pivotal and their partners, or build your own ones based on your needs.
A typical use case for PCF is when companies want to deploy their applications on-premises for any reason (cost efficiency, flexibility, legal regulations, control over infrastructure, etc.). In this case they decide to use PCF as a leverage to build and operate their own (private) cloud offering. Another use case is when companies don't want to depend on the underlaying IaaS infrastructure. In this scenario, they rely on the fact PCF is IaaS agnostic to give them the ability to migrate if they need to.
These can help you in finding the real difference between PCF and AWS.
https://aws.amazon.com/types-of-cloud-computing/
https://cloudacademy.com/blog/cloud-foundry-benefits/
In two line:
PCF - can be used as PaaS -[Platform as a Service]
AWS - can be used as IaaS -[Infrastructure as a Service]
The most distinct difference between IaaS and PaaS is that IaaS offers administrators more direct control over operating systems, but PaaS offers users greater flexibility and ease of operation.
SaaS examples: BigCommerce, Google Apps, Salesforce, Dropbox, MailChimp, ZenDesk, DocuSign, Slack, Hubspot.
PaaS examples: AWS Elastic Beanstalk, Heroku, Windows Azure (mostly used as PaaS), Force.com, OpenShift, Apache Stratos, Magento Commerce Cloud.
IaaS examples: AWS EC2, Rackspace, Google Compute Engine (GCE), Digital Ocean, Magento 1 Enterprise Edition*.
referece: bigcommerce
So, technically Pivotal Cloud Foundry is a cloud abstraction framework. It's intention is to wrap preexisting commercial cloud offerings to allow adopters to be protected (to a degree) from solution lock-in (here meaning that, the PCF Cloud API is a mapping and abstraction layer over other cloud delivery systems. It's core advantage is that you can always choose the cheapest provider without needing to rebuild your delivery / deployment infrastructure.
It's basically a re-imaging of the HAL concept (if your familiar with that) but instead of enabling the choice of hardware with a single software solution, it enables choice of cloud.
Main reason for using PCF is to enable a person to advantage from competition. Cloud solution providers want to specifically seek to couple you to their particular flavor of system so it takes alot of effort to change away from them so that they can easily adjust their costs (e.g. increase prices) because customers are sufficiently dependent on their particular service and there is a cost for the customer to switch.
Pivotal may offer a cloud of their own, but the idea of the open source cloud foundry is to not force that choice on the business or consumer.

Difference between Cloud Foundry & Pivotal Web Services

I read on wikipedia that cloud foundry open source software is available to anyone whereas the Pivotal Web Services is a commercial product from Pivotal.
I kinda searched a lot on internet but did not find any cloud foundry open source software implementation example. Everything is for Pivotal product which provides a 2 months free trial service.
So can anyone tell me what is the cloud foundry open source software?
And what exactly is the difference between cloud foundry OSS & Pivotal CF?
Cloud Foundry is open source software, but if you are looking to tinker with it for the first time, using the OSS is a bit involved. You will need to have a provisioned cloud environment, you will install it yourself using MicroBosh, and everything will be done through the command line.
Pivotal Cloud Foundry is a commercial implementation that makes it easier to get up and running as you are learning the project. It provides a hosted environment in Pivotal Web Services so that you don't have to install it yourself, a web interface that makes managing the environment easier, and a number of pre-provisioned services including relational databases and messaging queues. This is the best starting point if you are just learning the technology.
To add to the above answer, Pivotal Cloud Foundry offers a public cloud offering called Pivotal Web Services where you can signup and deploy your apps on the cloud which is hosted by Pivotal.
On the other hand they also allow enterprises to host private cloud environment by installing components of the cloud infrastructure on VMWare VSphere, AWS, OpenStack Check this(http://docs.pivotal.io/pivotalcf/installing/pcf-docs.html) link out.

What are the deployment tools used in hybrid cloud

I want to setup hybrid cloud and choose OpenStack as private cloud and AWS,RackSpace OpenStack as public clouds. what tools I need to choose for the automatic provisioning and configuration of cloud resources.
thanks
There are several tools that could help you with provisioning, management, deployment and post deployment support such as Rightscale, Scalr and Xervmon. Xervmon is one tool you should give it a try. It supports multi cloud provisioning, management, deployment and monitoring of these wide array of assets. XOPS - Xervmon Operation Center is an integrated tool that leverages puppet classes to provision and automate routine tasks across multi cloud providers.
Xervmon takes an integrated approach to the whole gamut of cloud management, monitoring across hybrid infrastructure. Xervmon

Cloud Foundry Development Workflow

I'm trying to figure out how to use Micro CloudFoundry for development as described when I read things like the following from the Cloud Foundry blog:
"Rather than installing a web server (Tomcat, etc.), runtimes (Java, Ruby, etc.), and services (Postgres, MongoDB, etc.), you can do a single download of Micro Cloud Foundry, boot it up, and deploy your applications using ‘vmc push’."
When I'm developing (Node, Grails or Java web apps), I'm used to just refreshing and seeing my changes (well, always for client-side code, sometimes for server-side); it makes for very rapid and efficient development.
Constantly invoking 'vmc push' during development is pretty much a non-starter for me. It's far too slow of a feedback cycle to be practical. Is there a better way? Does anyone actually do this?
What does your Cloud Foundry development workflow look like and where does Micro Cloud Foundry fit in?
All issues with the delays involved in pushing an application to Cloud Foundry aside, I often use Micro Cloud Foundry for provisioning services (MySQL, MongoDB, Redis etc) and then use a local tunnel to connect to them via the vmc tunnel command.