Installation Requirements to Setup PCF on a Local Server - cloud-foundry

Do you have recommendations to where can I read a good reference on what are the hardware and software requirements, as well as installation procedures of Pivotal Cloud Foundry(not the PCF dev) on a local server?

Links below will get you started.
For PCF on vSphere
http://docs.pivotal.io/pivotalcf/1-8/customizing/vsphere.html
For PCF on Azure
http://docs.pivotal.io/pivotalcf/1-8/customizing/azure.html
For PCF on AWS
http://docs.pivotal.io/pivotalcf/1-8/customizing/cloudform.html
For PCF on GCP
http://docs.pivotal.io/pivotalcf/1-8/customizing/gcp.html
Installing PCF depends on lot of factors. But this is good for an out of the box installation.

PCF is a distributed system, and not designed to be run on a single server. Why do you want to do this? It will not be covered by whatever support agreement you have in place.
PCF Dev is the solution for experimenting with PCF - you can use it as an answer to the question "what is the minimum I need to run PCF", with regards to minimal components and tech specs.

Related

What is the differnce between a Cloud Foundry and A Web Server

So being an SAP consultant , I am trying to understand the SAP cloud foundry .
As per understanding till now , Cloud Foundry is a runtime engine provider (on the cloud ) .
There are many Cloud Foundry like SUSE , IBM , SAP Cloud Foundry .
Doubt:-
I develop an application for Android ,
I deploy the application in a Web Server ,
Now everybody can download it from Google Play and use it .
I deploy the same application in one of the Cloud Foundry .
Now everybody can download it from Google Play and use it .
Is there any difference between a Cloud Foundry and A Web Server ? Or both are same
EDIT :- Question Clarification
What is the difference between products like SUSE , IBM , SAP Cloud Foundry and Cloud services like AWS , Google Cloud , AZURE
So being an SAP consultant , I am trying to understand the SAP cloud foundry .
I can't talk to anything specific that SAP is doing, but to be called Cloud Foundry you need to be certified which tests compatibility and interoperability (and prohibits lock-in). SAP is certified so there's a base set of functionalty that is common with it and any other provider. I'll only be referencing that here.
There are many Cloud Foundry like SUSE , IBM , SAP Cloud Foundry .
Correct, just a minor terminology note. Each vendor with a certified Cloud Foundry offering is called a provider. Cloud Foundry is the service, the company offering it is the provider.
Oh, you can also run your own, if you or your company prefers that route.
Doubt:- I develop an application for Android , I deploy the application in a Web Server , Now everybody can download it from Google Play and use it .
I deploy the same application in one of the Cloud Foundry . Now everybody can download it from Google Play and use it .
Is there any difference between a Cloud Foundry and A Web Server ? Or both are same
Let's say that you have an Android app. It talks to some services.
For example:
Android Phones 1..X (possibly millions) talking to Servers 1..Y (hopefully not millions).
Each Android phone runs a client, the client talks to the server to perform work
The server provides some functionality, like storing data or performing expensive calculations you wouldn't/can't do on the phone
There's no difference when it comes to the Android app. You're building that. It's running on someone's phone. It's talking over HTTP (or some other protocol) to a service. It's installed through the Play Store (not from your servers).
The main difference is with the services to which your Android app communicates. Specifically, between how you deploy your app on a server/VM directly or on Cloud Foundry and the amount of work required to do so.
For a server you might:
need to request hardware or request a VM from IT, if you're lucky you can provision this on-demand
you need to install an OS, if you're doing this right you have a tool to install this for you, but that tool might need some configuration/tuning
you need to install any software required to run your app (JVM, Dotnet, Python, etc...), including servers like Nginx, Tomcat, Apache Web Server, etc...
you need to configure software and servers (again if you're doing it right you have a tool that helps you manage this, which may require some configuration)
then you build your app (or perhaps take bits from a CI server)
last you set up your app to run, including some sort of watcher/service management software to make sure that when your app crashes it is automatically restarted
There could be more (network/firewall/service work) or less (like if you deploy to a public cloud IaaS) tasks here depending on what it takes to deploy an app in your environment.
This also doesn't touch on the fact that you need to maintain all this. Ensure that you're updating software and the OS in a timely fashion.
For Cloud Foundry:
You do a cf push which takes your code and automatically adds and configures the software needed to run your app (through buildpacks).
Your app is then run on Cloud Foundry.
You're back to writing code.
Other benefits:
It's watched automatically, so if it crashes it restarts. No intervention required.
Logs are captured and made easily available to you, the developer
Network access & TLS are already set up and managed by your provider.
There's a catalog of on-demand and easy to consume services available to your app.
Software is automatically updated whenever you push code.
You can scale up/down easily with load, no new servers to provision and set up.
There's even an autoscaler to automatically scale up/down based on provided rules to save resources/money.
tl;dr - it is an easy button for developers. You just write code and push. All the other stuff you don't want to worry about is done for you.

how to migrate virtual machine scale set in windows azure (asp.net)

I'm working on web app and i want to migrate this web app to virtual machine scale set in windows azure cloud,i'm new to cloud computing ,till i didn't got any proper tutorial about virtual machine scale set,please someone help with this
A few things to consider..
You could build a custom VM which contains the complete app, or you could use VM extensions to deploy the app on a platform image each time a new VM in the scale set is deployed. See: https://msftstack.wordpress.com/2016/04/20/deploying-applications-in-azure-vm-scale-sets/ for some thoughts on this. Ultimately it might depend on how much you need to install over a base image, and how fast you want scaling to be.
Do you need autoscale based on resource usage or do you plan to manually increase/decrease the number of VMs in the set? See https://azure.microsoft.com/en-us/documentation/articles/virtual-machine-scale-sets-windows-autoscale/
A good way to get started with scale sets is to deploy an existing template directly from Azure Quick start templates. Look at https://github.com/Azure/azure-quickstart-templates and search for vmss. These templates will give you an idea of some of the options you have.
To learn the basics about VM Scale Sets, start with the documentation page: https://azure.microsoft.com/documentation/services/virtual-machine-scale-sets/ and the GA announcement: https://azure.microsoft.com/en-us/blog/azure-virtual-machine-scale-sets-ga/
Also look at higher level services like the Azure Web App service if you haven't already, the advantage of a higher level service is that some of the basic web app operations get taken care of for you: https://azure.microsoft.com/en-us/services/app-service/web/

What is the difference between Bitnami and Click to deploy on GCE?

Just trying to understand what's the difference between bitnami apps and google 'click-to-deploy' options on Google Cloud Engine?
For example: There is a 'Cassandra' click-to-deploy and there is a Bitnami version of 'Cassandra'
Can anyone tell me how do they compare and what are the differences?
- is one restrictive compared to the other?
- does bitnami version lock you in somehow?
- is there any performance difference (other than obvious performance difference that the hardware change would bring)
Thanks.
Bitnami makes application stacks that run on several cloud platforms including Google Cloud Platform, AWS, Azure and a few others. The Bitnami images you see on Google Cloud Launcher are created by employees of Bitnami and are mostly standard across cloud.
Click to Deploy images are usually created by Google Cloud Platform employees working in conjunction with application vendors.
There are differences in versions here and there related to maintenance, but there isn't any difference in the way they are intended to be used. Some Click to Deploy images will incur higher use charges due to licensing (ie. the Click to Deploy image contains the "Pro" version of a vendor's software), but these are called out during the selection process.
Neither version is intended to lock you into a particular platform, Google or Bitnami, it's just that there is duplication among the applications provided.

Usage of Cloud Foundry Spaces in the development chain

I am currently evaluating the possibility of introducing a private Java PAAS cloud. So far I am quite excited about the whole solution, especially combining the foundry with openstack.
What I am wondering though, is how this can be combined with development. I obviously want the developer to run the developed code on the cloud and no longer on his unmanaged workstation.
Is it possible to do the following:
Developer develops his application code on the local host OS. A virtual machine is used to build and run the application. I have seen this in vagrant and liked this alot. Ideally the local vagrant box is a cloud foundry space.
If the developer is OK with his code, he should push his application out of the local vm to a developer specific acceptance space run by cloud foundry on the network. Here the application is a more production like environment and automated acceptance / disaster recovery tests can be executed.
If the developer decides this is OK and merges his changes to the trunk (SVN/GIT) a CI tool should deploy the application to the "global" test, acceptance and production spaces.
I assume the last point is no problem. I just cannot find a way, how the first steps can be achieved.
Any ideas?
are you actually looking for a complete cf deployment on top of openstack?
That can be achieved using BOSH cloud foundry deployment for openstack.
http://docs.cloudfoundry.com/docs/running/deploying-cf/openstack/
you can have different spaces in the cf deployment: test , production etc. and can move application from one space to another after testing is done.

Develping with Django, Git, and Cloud Server

I'm currently working with a team in my University to put together a new webapp. Nothing too fancy, just run of the mill MySQL + Django. We are also hoping to use Git for source control. We were wondering what hosting options were available to us. We're all very competent with Unix, so a ssh connection would be preferable. We also looked into the Amazon Cloud, but are not sure if that's right for us. What does Stackoverflow suggest for a provider to host both a Git repo for us and our webapp. The simpler, the better. It should also run a Linux environment.
I have had great success using the Rackspace Cloud servers. You get root SSH into the server, so you can set up your Git repo and your web app there. They have a lot of options for which flavor of Linux you want to use as well.
I'm doing Django/Postgres on an Ubuntu server and haven't had any problems at all. As a bonus, it includes very easy web and API integration with their CDN if you're interested in that.
I looked into a variety of cloud providers and RS had the best options for me, although CDN integration was a big deal for my site so that factor weighed heavier than it might for you.
I use the cheapo 256MB RAM/10GB HD install and pay around ~$12/month after bandwidth costs are figured into it.
Here's the pricing: http://www.rackspace.com/cloud/cloud_hosting_products/servers/pricing/
Why not AWS? It has a free tier that is able to run basic Django apps well. You can run it using a Django AMI directly or a service like BitNami Cloud Hosting (Disclaimer: I am a BitNami developer, I am actually in charge of many of the Python-based stacks). Both options allow you to run a micro instance of an Amazon Machine for free (680Mb Ram, 10Gb disk).
On BitNami Cloud Hosting, we recently added support for Python and Django (Python 2.6.5 and Django 1.3) and we already included Git. When you select to create a new server you will have access to all those components on top of Ubuntu 10.04.
Also if you are interested in using Redmine (as dgel suggests) you can select to install it when you create your server in the same machine. Since it is an university project, you may also want to consider hosting the Git part on github.com for free.
I would highly recommend sourcerepo.com for git and redmine hosting. $6.95 per month for unlimited projects including redmine instances with git hooks. You don't need to worry about setting up or maintaining the git repos or redmine instances yourself.
Then for your project's public hosting you can't beat linode.com for $19.95 per month.