Cloud Foundry Interview Questions and Answers

Cloud Foundry is an open source, multi cloud application platform as a service (PaaS) governed by the Cloud Foundry Foundation, a 501organization.The software was originally developed by VMware and then transferred to Pivotal Software, a joint venture by EMC, VMware and General Electric .Cloud platforms let anyone deploy network apps or services and make them available to the world in a few minutes. When an app becomes popular, the cloud easily scales it to handle more traffic, replacing with a few keystrokes the build-out and migration efforts that once took months. Cloud platforms represent the next step in the evolution of IT, enabling you to focus exclusively on your applications and data without worrying about underlying infrastructure. Cloud Foundry (CF) has become the industry standard. It is an open source platform that you can deploy to run your apps on your own computing infrastructure, or deploy on an IaaS like AWS, vSphere, or OpenStack. You can also use a PaaS deployed by a commercial CF cloud provider. A broad community contributes to and supports Cloud Foundry. The platform’s openness and extensibility prevent its users from being locked into a single framework, set of app services, or cloud. Cloud Foundry is ideal for anyone interested in removing the cost and complexity of configuring infrastructure for their apps. Developers can deploy their apps to Cloud Foundry using their existing tools and with zero modification to their code.

Originally conceived in 2009, Cloud Foundry was designed and developed by a small team at VMware led by Derek Collison and was originally called Project B29. At the time, a different PaaS project written in Java for Amazon EC2 used the name Cloud Foundry. It was founded by Chris Richardson in 2008 and acquired by SpringSource in 2009, the same year VMWare acquired SpringSource. The current project is unrelated to the project under SpringSource, but the name was adopted when the original Spring Source project ended.

Cloud Foundry is an open source cloud platform as a service (PaaS) on which developers can build, deploy, run and scale applications. VMware originally created Cloud Foundry, and it is now part of Pivotal Software, whose parent company is Dell Technologies. There are a number of public Cloud Foundry offerings available for hosting our site such as IBM BlueMix and Pivotal Web Services (PWS).

To flexibly serve and scale apps online, Cloud Foundry has subsystems that perform specialized functions. Here’s how some of these main subsystems work. . It simply serves and scale apps online without compiling a very complex code. Cloud Foundry handle more traffic without compromising with the app speed.

Router: The router maintains a dynamic route table for all applications deployed in a load balanced environment, so you don’t need to worry about updating routing information to reflect changes to a deployed application or the underlying DEAs (which we’ll discuss soon). You can also configure Router for high availability, defining the number of routers you’ll require to support a load balanced Cloud Foundry environment.

Authentication: It Contains an OAuth2 server and login server for user identity management.

Application Lifecycle: It 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: It 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.

Services: It helps link applications to certain services, such as databases Services like MongoDB, Redis etc.

Messaging: It 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: Loggregator; the Loggregator (log aggregator) system streams application logs to developers. Metrics Collector-The metrics collector gathers metrics and statistics from the components. Operators can use this information to monitor a Cloud Foundry deployment.

By simply posting the messages internally with the help of https protocols and http, components can communicate with each other. It is also possible that they can send NATS messages directly to each other.

In Cloud Foundry, There are certain tasks that can simply be performed with the help of API. It is possible to simply construct the apps and then integrating the cloud services with other structure. API also avoids the needs to write lengthy programs and thus save a lot of time. In addition to this, guidance on making the communication possible between different apps can also be assured through API. The API endpoint, or target URL, for your Cloud Foundry instance is the URL of the Cloud Controller. This topic explains how to find your API endpoint from the command line, along with your version of the Cloud Controller API. You can also consult your cloud operator to find out this information.

A deployment is something that turns a static release into runnable software on VMs. A Deployment Manifest defines the actual values of parameters needed by a deployment. During a deployment process, BOSH substitutes the parameters in the release and makes the software run on the configuration as planned.

BOSH is an open source tool for release engineering, deployment, lifecycle management, and monitoring of distributed systems. BOSH is a tool for deploying all the components we’ve discussed above in distributed nodes. BOSH orchestrates the deployment process of a distributed system. Detailed documentation on BOSH can be found here.

Handling the service level policies is the first thing that demands virtualization in Cloud Foundry. In addition to this, handling cloud operating system is also made easy with virtualization. The most important is virtualization is very useful when it comes to keeping the user level and the backend level concepts different from each other. Moreover, its helps in cutting down the errors that declare their presence time to time.

In Cloud Foundary, after creating the account and setting up the command line interface tool, applications can simply deploy. Generally, static files need a Web server such as Nginx or Apache. The platform undoubtedly takes care of configuration after this and applications can be hosted.

In Cloud Foundary, Cloud controller or manager can simply define orgs as well as workspaces within assign roles such as auditor, developer and admin to every user to organize user access to control resource use and to the cloud. The UAA server simply braces access control and can store the information of user either internally or externally through SAML and LDAP.

Infrastructure as a Service (IaaS): which provides only a base infrastructure, leaving the end user responsible for platform and environment configuration necessary to deploy applications. Amazon Web Services and Microsoft Azure are prime examples of IaaS.

Software as a Service (SaaS): It like Gmail or Salesforce.com.

Platform as a Service (PaaS): which helps to reduce the development overhead (environment configuration) by providing a ready-to-use platform. PaaS services can be hosted on top of infrastructure provided by an IaaS.

A Git system is there in Cloud foundry that is used on github for controlling simply the buldpacks, source code, important documentation as well as other resources. It is also possible that developers use github for custom configurations. Large binary files like droplets are stored in internal or external blobstore which is maintained by the Cloud Foundry. When it comes to sharing or storing the information which is temporary, Consul and MYSQL is being considered by Cloud Foundry.

In Cloud Foundary, System integrators are very useful in providing a game plan of complex process which is used to design a cloud platform. Integrator enables to build correct private and hybrid cloud network as they are equipped with all the information related to creating data center.

Scalability is an approach in Cloud Foundry with the help of which blooming workload can be handled by growing in magnitude the supply of resource capacity. On the other side, elasticity reflects the notion of assigning and eliminating of resource capacity on a large amount. Both Scalability and Elasticity are required to derive best results. Also, both these can be considered as the characteristics of Cloud Foundry.

Cloud Foundry assures several security aspects and common ones are Access Control: Users are provided permission to control the access of others who enter the cloud environmentIdentity Management: authorizing the application services is done by identity managementAuthorization and Authentication: To ensure security, cloud Foundry only allows the authenticated and authorized users to access applications, data or any information.

Cloud Foundry installation complete this tasks at three different levels

Cloud Foundry controller simply runs the applications and some other operations on the cloud virtual machines simply balancing the demand.

Bosch simply comes out with virtual machines on the head of a computing infrastructure. After this, it expands and run cloud foundry on the top of cloud. A manifest document is followed to simply configure this deployment process.

Router simply route the traffic to Virtual machines that runs the apps in such a way that it start working with a client-provided load balancer.

Traditional data centers were always having issues related to software or hardware and thus a lot of money is required. On the other side Cloud Foundry is a good approach. It doesn’t needs a lot of money to be invested for its maintenance as well as management. Also, in terms of scalability, cloud Foundry is an excellent approach as compare to the traditional data centers.

Pivotal Cloud Foundry is a cloud-native platform for deploying and operating modern applications adopted by many enterprises. PCF has many moving parts, including your own app code, which means identifying the causes of problems is complicated.