What is Cloud Foundry?

Cloud computing is widely used by organizations to deploy applications and services and make them available across geographies in a few minutes. Scaling in the cloud allows infrastructure to be available on demand as application popularity grows so as its traffic. Cloud ecosystem enables us to focus on application capabilities building rather then worrying about underlying infrastructure required to host and run the application seamlessly. 

In today’s topic we will learn about Cloud Foundry a PaaS service, how cloud foundry works? its key characteristics. 

Cloud Foundry 

Cloud Foundry is an open-source PaaS service to deploy and scale applications at a faster pace. The Cloud Foundry foundation is a not-for-profit organization which offers open source cloud Foundry platform for cloud computing across the globe. Cloud Foundry offering includes:

Features of Cloud Foundry  

  • Open Source Code – The cloud Foundry is open and extensible to prevent users from being vendor-locking for a set of applications and services.
  • Automation Deployment – Using their existing tools and without any modification to their code developers can deploy their applications on cloud Foundry
  • Infrastructure Flexibility – Cloud Foundry can be deployed to run applications in your own computing infrastructure or deployment on IaaS such as vSphere, GCP, OpenStack etc.
  • Commercial Options – PaaS deployment with commercial Cloud Foundry is also available
  • Community Support – Wide range of community support is available on cloud Foundry

Cloud Foundry Architecture 

Cloud Foundry buildpack mechanism based open-source architecture to add frameworks as well as cloud provider and application services interfaces. 

It provides integration with development tools which are already in use and require zero modification in your existing code. The main components of cloud Foundry platform are:

  • Self-service execution engine for applications
  • Automated engine for application deployment and management of its life cycle
  • Command line interface which is scriptable 

A code centric platform which is also known as cloud foundry application runtime. This interface allows code execution, application lifecycle management, and application monitoring. BOSH is used to configure, deploy, manage, and upgrade cloud Foundry on any IaaS provider which is an open-source tool used in engineering releases, deployment of applications, and their lifecycle management. It ensures continuous monitoring for distributed systems.

Most Cloud Foundry deployments use BOSH. All tasks and runtime processes management are done using Diageo which is a self-healing management system. It keeps the correct number of Cloud foundry instances into Diageo cells to ensure prevention of possible network failures and crash scenarios.

Cloud Foundry Working 

Cloud Foundry provides a flexible way of deploying and scaling applications. Let’s look at cloud critical subsystems working in Cloud Foundry. 

  • Load Balancing – VMs on the physical layer are deployed by BOSH sub component and cloud Foundry on top of it. Application management, load balancing and app Lifecycle is taken care of by Cloud controller which runs applications and other services on cloud VMs. Incoming network traffic is routed to VMs by Gorouter which works with customer provided load balancer. 
  • Running Applications – Component VMs make up the underlying infrastructure and App VMs run applications to the outside world. The distribution of hosted application workload over all host VMs is taken care of by Diego.
  • Application Distribution – multiple host VMs run duplicate instances of applications which are the same to make it more portable. Distribution of application code to VMs, its compilation and running them locally is taken care by cloud foundry. Stack is the operating system on which the application runs and Buildpack has all libraries, packages and services used by the application.
  • User and Workspace Management – access control is supported with OAuth2 services and external users use LDAP or SAML. 
  • Cloud Foundry Communication – internal messages are sent via HTTP or HTTPS protocols. NATS messages are used for direct communication. BOSH-director is used to co-locate a BOSH DNS server to each VM. To enable self-discovery between all VMs in foundation, DNS information of all others will be available to each other. During VMs IP address changes still BOSH DNS supports communication. 
  • Monitoring and Analysing – Cloud Foundry components generate system components and hosted application logs. Rsyslog agents stream component logs and cloud operators can configure them to stream out to syslog dram. Component metrics and application logs in structured and usable tabular format – Firehose using Loggregator. All output of Firehose can be used for monitoring internal system components. Alert generation and user behaviour analysis. 

Leave a Comment

fourteen − nine =

Select your currency
USD United States (US) dollar