Cloud Foundry Internals: How to Create Custom BOSH CLI Plugins

Blog on All Things Cloud Foundry

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

NoSQL Tech Comparison 2014: Cassandra (DataStax), MongoDB, and Couchbase

Alex Khizhniak

Introducing a NoSQL scoring framework

Even if you have years of experience with data-intensive apps, selecting a NoSQL data store for a particular case out of dozens of options may be a daunting task. The variety of databases goes way beyond sheer numbers, so you have to carefully compare and benchmark several options before you can choose the most appropriate solution.

To help companies select the best database based on particular use cases, workloads, or requirements, we decided to come up with a handy template for evaluating NoSQL solutions. While many other comparisons focus only on one or two dimensions, we compiled a scoring framework that approaches the databases from 20+ angles (including performance, scalability, availability, ease of installation, maintenance, data consistency, fault tolerance, replication, recovery, etc.).

As a real-life example of such an evaluation benchmark, today we present “The NoSQL Technical Comparison Report,” which provides an in-depth analysis of the leading NoSQL systems: Cassandra (DataStax), MongoDB, and Couchbase Server. Each of the databases was scored on a scale from 1 to 10 across 21 criteria.

With 29 charts and 30 tables, this paper features a scoring template for evaluating and comparing NoSQL data stores for your particular use case—depending on the weight of each criterion. We also give recommendations on the best ways to configure, install, and use NoSQL databases depending on their specific features.

 

Want details? Watch a webinar!

(more…)

No Comments

.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

.NET on Cloud Foundry, Part 1: Installation on Windows and Using Iron Foundry

Alex Makarenko

Part 1 | Part 2 | Part 3

Creating .NET apps with Iron Foundry

PaaS has revolutionized the way applications are developed and deployed. With reduced delivery cycles and full automation, PaaS users can reach the market faster, significantly improving ROI and time-to-revenue. Cloud Foundry is one of the most popular open-source solutions for enterprises.

Until recently, .NET developers—who constitute a large part of software delivery folks—had rather limited access to Cloud Foundry’s services. The Iron Foundry project has corrected this imbalance by providing support for .NET on Cloud Foundry. It is not merely an extension, but an entire collection of tools and services .NET developers are used to working with, e.g. MS SQL and Message Bus-as-a-Service. Services can be bound to applications, so you do not have to worry about infrastructure and maintenance.

This post starts a series that will explore the capabilities of Iron Foundry. To show you how this platform works and try its services in action, I am going to create a validation prototype using a mixture of .NET and Node.js. I will rely on the Cloud-First approach in my investigation on how application interaction, management, and deployment are implemented in this platform. By the end of the series, you will have learned everything you need to know about creating .NET apps on Iron Foundry.

 
(more…)

No Comments

Hadoop Distributions: Comparison and Top 5 Trends

Kirill Grigorchuk

Ever wondered how Hadoop distros differ from each other? In a recent article for NetworkWorld, I overview how Hadoop became what it is today and explore the differences between the standard edition vs. Hortonworks, Cloudera, and MapR. I also provided insights into 5 major trends that are shaping their evolution—in terms of features, ecosystem, enterprise adoption, etc.

Read the article to learn about:

– The top 5 trends currently affecting the evolution of Hadoop distributions
– Why enterprises need Hadoop distros and how they differ
– How YARN has solved the issues present in Hadoop 1.0
– What will become of Hadoop in the foreseeable future

Continue to the article at NetworkWorld: “Comparing the Top Hadoop Distributions.”

No Comments

Benchmarks and Research

Subscribe to new posts

Get new posts right in your inbox!