Category

Blog on All Things Cloud Foundry

Are Diego and Docker Really Good Friends?

Lev Berman

cloud-foundry-docker

Support for Docker is one of the main advantages of Cloud Foundry Diego, but how far does this compatibility go? Is it possible to push an arbitrary image from the Docker Hub to Diego and, if not, what are the constraints? What’s going to change in the future? Finally, why should anyone want to use Diego with Docker at all?

In this post, I’ll answer all of these questions, as well as show how to customize and push the official Redis image and demonstrate how to turn it into a simple service to be consumed by other apps.

(more…)

24 Comments

How to Add BOSH Support to a Custom Cloud (Part 1): BOSH Components

Alexander Lomov

Part 1 | Part 2

how-to-add-bosh-support-to-a-custom-cloud-smallThe Cloud Foundry PaaS was designed to provide cross-cloud portability and compatibility. BOSH is the official orchestration and deployment tool for CF that makes these features possible. Currently, there is a set of cloud platforms that are able to work with BOSH, but it can be extended to work with clouds that are not on this list.

In this blog series, we’ll go through all the steps necessary to add BOSH support for a new cloud: from CPI implementation to generating a stemcell.
 
(more…)

4 Comments

Cloud Foundry Internals: How to Create Custom BOSH CLI Plugins

Alexander Lomov

cf-bosh-cli-custom-pluginAn ability to easily extend core functionality is a key for any system’s evolution. Every popular config management or cloud orchestration tool offers a handy and effective way to do so. For instance, knife plugins in Chef, custom functions in Puppet, and terraform plugins. Being a complex tool, BOSH also provides out-of-the-box utilities for the purpose. The best option for extending BOSH functionality are plugins for a command-line interface (CLI). In fact, major part of the BOSH command-line utilities are implemented as BOSH plugins: the standard BOSH commands, MicroBOSH, BOSH AWS plugin, etc.

Unfortunately, there is no official documentation available on how to create a custom BOSH plugin by yourself, so I decided to compile such a tutorial. In this blog post, I provide guidelines on how to create a custom plugin for BOSH CLI to push the boundaries of the BOSH functionality and significantly boost resolution of application tasks.

(more…)

2 Comments

Cloud Foundry Monitoring with Admin UI: Technical Overview

Alexander Lomov

14_12_24_admin_ui_techncial_overview_2In this blog post, you’ll find a technical overview of Admin UI, a Web service that allows to gather metrics from the Cloud Foundry components. I’ve shed some light on its core layers, featured functionality, integration with CF APIs, etc. You’ll also discover what issues you may face while logging in, scaling, and debugging—as well as how to address them.

(more…)

7 Comments

Creating a BOSH Release for Admin UI, a Monitoring Tool for Cloud Foundry

Alexander Lomov

Some Cloud Foundry components must be available, even if Router fails. Admin UI, a monitoring tool from the Cloud Foundry incubator, is a good example of a utility that you want to have access to no matter what. Getting updates directly from the NATS messaging bus, it gives admins access to CF components, their logs, statistics on DEAs and applications deployed to them, user rights, and other things not available in the Cloud Foundry CLI.

BOSH releases help to achieve high availability by installing important components outside the main CF deployment. By doing so, you can avoid exposing them with Router or deploying them as apps. In addition, they provide the easiest way to bind Cloud Foundry components and custom services.

In this post, I share my experience with creating a BOSH release (not yet available at the time this was published) for a new version of Admin UI. I also provide a temporary workaround for those who need to deploy Admin UI now and cannot wait for the next BOSH release.

(more…)

23 Comments

HP Helion Development Platform Launch and Crowd Chat (Recap)

Renat Khasanshyn

On Oct 23, HP launched Helion Development Platform—HP’s PaaS based on Cloud Foundry and integrated with HP Helion OpenStack. Below is a brief recap of the event.
(more…)

1 Comment

.NET on Cloud Foundry, Part 3: Deploying a MapReduce Application with Mono

Alex Makarenko

Part 1 | Part 2 | Part 3

In the previous posts, we created a MapReduce application and successfully deployed it to CF using Iron Foundry. This time, we will try to push it to the original Cloud Foundry using a buildpack based on Mono, an open-source framework that helps to create cross-platform .NET applications.

(more…)

No Comments

Building a Custom BOSH CPI for the Cloud Foundry PaaS: A GCE Example

Alexander Lomov

Portability and cross-platform compatibility are the fundamental principles and also key advantages of the Cloud Foundry PaaS. Despite that, until now, its architecture supported a limited number of cloud platforms: OpenStack, AWS, vSphere, vCloud, and Warden. However, thanks to the efforts of the community some new names have been added to the list of available IaaS vendors. At the end of May, Pivotal released its Google Compute Engine CF-BOSH CPI. Developers are currently discussing ways to create a CPI for Microsoft Azure in the BOSH Developers Google group. Finally, the BOSH team have released an experimental version of the external CPI that can serve as a new way for creating CPIs.

In this post, I will share my experience with developing a custom CPI for Cloud Foundry using the standard CPI mechanism. Read on to learn about the issues I have encountered and get some tips on how to address them. (more…)

1 Comment

Deploying Cloud Foundry in a Single Click with Juju Charms

Aliaksandr Prysmakou

Up until recently, BOSH has been pretty much the only tool chain for deployment of Cloud Foundry. We love BOSH for its visionary approach towards managing life cycle of clustered systems, flexibility and a distro-agnostic approach to Linux. Yet, it could be quite difficult to deploy BOSH/with BOSH. Yes, despite all its beauty, BOSH has a learning curve, and you certainly need to know its key concepts and internals to be productive. Bottom line, it takes quite a few manual steps to bring all Cloud Foundry components into a single working deployment using BOSH.

To grow the Cloud Foundry community, Altoros, Canonical, and Pivotal joined their efforts to deliver an alternative deployment tool, which would reduce complexity of Cloud Foundry deployment and decrease the number of steps. This solution is based on Juju, a service orchestration tool by Canonical.

In this article, I am going to show you how to deploy the Cloud Foundry PaaS using Juju Charms for Cloud Foundry, a joint project of Altoros, Canonical, and Pivotal.
 
(more…)

2 Comments

.NET on Cloud Foundry, Part 2: Prototyping with Iron Foundry

Alex Makarenko

Part 1 | Part 2 | Part 3

Building a MapReduce PoC

Most customers prefer to validate a concept before investing into a production system. In our case, an ultimate solution should allow for long-running computations, have a web interface for setting tasks, and support MapReduce or other data processing methods. So, an ideal prototype would be a platform that provides a simple method for deploying, scaling, and monitoring apps. That is what Iron Foundry does.

In this post, I’ll describe how to create a prototype with Iron Foundry on Cloud Foundry. My test application will use MapReduce to find the most popular words in a text. The picture below demonstrates the data processing workflow.

As you can see, text is transferred from a client to a web component for processing. At this stage, the job is divided between available Mappers. Mappers send the results to a Reducer, which performs final computations and returns the output back to the client via a Notifier. Below, I will describe how to create each of the components, establish communication between them, and deploy an application with Iron Foundry.

(more…)

No Comments

Benchmarks and Research

Subscribe to new posts

Get new posts right in your inbox!