DevRelCon San Francisco 2016 is a wrap!

DevRelCon San Francisco 2016 is a wrap!

DevRelCon

This event was started as a one day single track conference for technical evangelists, developer advocates and anyone interested in developer relations in London by @matthewrevell. @mewzherder and I partnered with him to bring the event to the United States.

The inaugural event had 15 speakers, 15 sponsors, 100+ attendees from 10 different countries (from the United States of America and around the world to Japan).

The craft of #DevRel has become mainstream in the past few years. You can call us as a technology evangelist, developer advocate, API evangelist, platform evangelist, or any other name. And yes we can passionately debate about what is the right name. But essentially we help other users, whether they are developers, customers, architects, partners, or any body else, be an effective user of our technology/stack/product. We have our tools, tricks, metrics, highs and lows, common issues and connect at multiple levels. But still there is no event that talks about us a community.

This effort is to provide #DevRel community a platform to come together and discuss the topics that matter to us.

What makes this conference unique?

  • This event is by #DevRel, for #DevRel, and to #DevRel
  • Learn from the leading practitioners in the craft of #DevRel
  • You learn best practices, horror stories, and lessons learned from the trenches
  • You meet similar minded people – whether you are a one person startup or leading/participating in a team of 100s of #DevRel. Everybody learns!
  • No selling products, services, and surveys. Sponsors surely play an important role but as organizers, we are leaving and breathing #DevRel every day. This is our passion and purpose!

Twitterverse was quite active through out the conference! ~1500 tweets were well scattered through out the day with the highest frequency during @codepo8‘s session:

DevRelCon Tweets

Generated using TalkWalker social media search.

Here are some tweets that capture the feedback from #DevRelCon …

We are pleased with the results for a community-driven, volunteer-based first shot at this conference in the US!

Content and the speakers are the backbone of any conference. A very warm thanks to @beardigsit, @adamd, @timfalls, @DevRelChap, @gracefr, @codepo8, @kestelyn, @joshmarinacci, @grepory, @jbaruch, @rhatr, @dn0t, @qiqing, @bwest for taking time out for our inaugural event and showing that #DevRel matters!

Many thanks to all the great sponsors – @twilio, @mparticles, @intuitdev, @developer_media, @bemyapp, @awscloud, @hitchhq, @devrelco, @atlassian, @sendgrid, @microsoft, @oreillymedia, @sv_code_camp, @heavybit and @womenwhocode. We are glad that they believed in our first time event and showed their enthusiasm and support. This allowed us to not put our personal $$ 😉

A special thanks to @MSFTReactor for their generosity with time, $$ and space. @TobiahZarlez stayed on site all day for streamlined operations at the facility.

It takes a village to run a conference! And this event was certainly not possible without the support of fantastic and very helpful volunteers. In particular, @nlycskn, @yenerm, @c_r_w, @jbaruch and @gwendalpointeau were very instrumental in making sure the attendees were well fed, speakers were micd, sessions were recorded, and they were finishing on time. And there were plenty of students from the University of San Francisco (@usfca) to help out as well.

And of course, this was not possible without countless hours put in together along with @mewzherder and @matthewrevell.

Over all, a very satisfying, humbling and an extreme learning experience!

Check out the complete photo album.

All sessions were recorded and will be released in the coming weeks.

Where do you find further information?

  • Follow @devrel_net for latest updates
  • Follow @vdevrelcon for an upcoming virtual DevRelCon
  • Join Virtual DevRelCon meetup
  • If you are in/around Bay Area, join meetup.com/bayteg/ and meetup.com/DeveloperAdvocates/

Stay tuned!

Couchbase Weekly, Apr 11, 2016

Learn what’s latest in the Couchbase Community.
Couchbase Developer Community

Let us know if we missed anything at @couchbasedev, @couchbase or #Couchbase.

Couchbase Weekly

  • No events this week

Couchbase Weekly

News

Media Mentions

  • SiliconANGLE (blog): Survey sees big growth for next-generation databases
  • Computing UK: MongoDB, Amazon RDS and Aurora, Cassandra are the top next-gen databases being considered by enterprises
  • SmartDataCollective: Dealing with Disruptive Data: Advancing BI Connectors and Integrating SQL and NoSQL Databases

Blogs

  • Monitoring Docker Containers – docker stats, cAdvisor, Universal Control Plane — Arun Gupta
  • Couchbase Support with Tesora Database as a Service Platform on OpenStack Trove
  • Couchbase.NET SDK v2.2.7 w/Developer Preview of Index Management now available! — Jeff Morris
  • Get to Know Our Couchbase Community – Vojta Jakubec — Laura Czajkowski

Couchbase Weekly 3

Upcoming Events

  • April 20 – 22: Devoxx, Paris
  • April 24 – 28: Xamarin Evolve, Orlando
  • April 27: Mobile Web Dev Conference, San Francisco (Speaking)
  • April 28: Great Indian Developer Summit, Bangalore (Speaking)

Couchbase Meetups

  • April 21: Couchbase Silicon Valley User Group – Building a Memory-Centric Data Pipeline with Apache Spark
  • April 28: Couchbase LA Meet User- Spark with Couchbase to Electrify Your Data Processing

Webinars

  • March 18 – April 20: Building a full stack application with NoSQL, Go, and Angular 2
    US Registration
    EMEA Registration

    • 201 – Bootstrapping an application using Couchbase and Go
    • 202 – Application logic, data model, and validation
    • 203 – Build a responsive front end with Angular 2.0 & Bootstrap
    • 204 – Built-in URL permalinking & minification
    • 205 – Mobile-first development with Nativescript
  • April 14: Build Better Mobile Apps with NoSQL
    • US Registration
    • EMEA Registration

twitter-logo

  • Learn the differences and similarities between relational and document oriented databases in 2 minutes: http://ow.ly/10k7aI
  • Enterprises are adopting modern databases like #Couchbase “citing grow flexibility as the top benefit” Learn more: http://ow.ly/10k7Xx
  • High performance distributed caching: #Couchbase scales your #mobile #web #IoT apps. Learn how: http://ow.ly/Wob8V
  • Get professional advice from the #Couchbase services team on everything from #JSON modeling to using #SQL for #NoSQL ow.ly/YZxzo
  • Tweet This: Leverage #Couchbase’s Spark connector and get started with Apache Zeppelin to dive into interactive data analytics: http://ow.ly/10fxrl

Source: http://blog.couchbase.com/2016/april/couchbase-weekly-apr11-2016

Monitoring Docker Containers – docker stats, cAdvisor, Universal Control Plane

There are multiple ways to monitor Docker containers. This blog will explain a few simple and easy to use options:

  1. docker stats command
  2. Docker Remote API
  3. cAdvisor
    1. Prometheus
    2. InfluxDB
  4. Docker Universal Control Plane

Lets take a look at each one of them.

We’ll use a Couchbase server to gather the monitoring data.

Lets start the server as:

arungupta/couchbase image is explained at github.com/arun-gupta/docker-images/tree/master/couchbase. It performs:

  • Sets up memory for Index and Data service
  • Configures the Couchbase server for Index, Data, and Query service
  • Sets up username and password credentials

Now lets gather monitoring data.

docker stats

docker stats display a live stream of the following container(s) resource usage statistics:

  • CPU % usage
  • Memory usage, limit, % usage
  • Network i/o
  • Disk i/o

The stats are updated every second.

Here is a sample output:

By default, this command display statistics for all the running containers. A list of container names or ids can be specified, separated by a space, to restrict the stream to a subset of running containers.

For example, stats for only the Couchbase container can be seen as:

where couchbase is the container name.

And the output looks like:

--no-stream option can be specified where only the first snapshot is displayed and results are not streamed.

The Docker Logentries Container can be used to collect this data.

Docker Remote API

Docker daemon provides a Remote REST API. This API is used by the Client to communicate with the engine. This API can be also be invoked by by other tools, such as curl or Chrome Postman REST Client. If you are creating Docker daemons using Docker Machine on OSX Mavericks, then getting this API to work is a bit tricky.

If you are on Mac, follow the instructions in Enable Docker Remote API to ensure curl can invoke this REST API.

The API that provide stats about the container is /containers/{id}/stats or /containers/{name}/stats.

Then more stats about the container can be obtained as:

The following result (formatted) is shown:

There is lot more details on memory, disk, and network. A new set of metrics are pushed every second.

cAdvisor

cAdvisor or Container Advisor provide host and container metrics. It is a running daemon that collects, aggregates, processes, and exports information about running containers.

Let’s start the cAdvisor container:

cAdvisor dashboard shows data for the last 60 seconds only. However multiple backends, such as Prometheus and InfluxDB, are supported that allows long term storage, retrieval and analysis.

Use Couchbase Query Tool to connect with the Couchbase Server:

Invoke a N1QL query:
cAdvisor only store one minute of data and here is a capture of the dashboard:

cadvisor-cpu-usage

And memory usage:cadvisor-total-memory-usage

There are plenty of tools that can use the data generated by cAdvisor and show them in a nice dashboard.

More details are available at github.com/google/cadvisor/tree/master/docs.

Docker Universal Control Plane

Docker Universal Control Plane (DUCP) allows to manage and deploy Dockerized distributed applications, all from within the firewall. It integrates with key systems like LDAP/AD to manage users and provides and interface for IT operations teams to deploy and manage. RBAC, SSO integration with Docker Trusted Registry, simple and easy to use web UI are some of the key features. Read product overview for complete set of features.

Docker Universal Control Plan with Docker Machine is the easiest way to experience this on your local machine. The instructions are very detailed and work out of the box. Here are some images after deploying a Couchbase image.

DUCP installation consists of an DUCP controller and one or more hosts. These are configured in a Docker Swarm cluster. And then containers are started on these clusters:

Docker Universal Control Plane Image

 

Port mapping is easily defined:

Docker Universal Control Port Mapping

Once the container is running, monitoring stats can be seen:Docker Universal Control Monitoring Stats

And finally the pretty looking dashboard:

Docker Universal Control Plane Dashboard

A client bundle is provided that shows the information about the Docker Swarm cluster as:

There are plenty of tools that provide monitoring data:

  • Sysdig Cloud
  • Docker-Scout
  • Data Dog
  • Ruxit
  • NewRelic
  • Logentries

docker stats and Docker Remote API are certainly the easiest one to give you first snapshot of your monitoring data. And it only becomes interesting from there!

Couchbase Mobile at Xamarin Evolve

Couchbase Mobile Xamarin Evolve 2016

Couchbase Mobile will be at Xamarin Evolve 2016!

Couchbase Mobile comes with three components:

  • Couchbase Lite – A fully functional, on-device, lightweight, native, embedded NoSQL database.
  • Sync Gateway – Everything you need to securely sync on-device Couchbase Lite with Couchbase Server in the cloud.
  • Couchbase Server – A high performance, scalable, always-on NoSQL database in the cloud.

Couchbase Mobile can be installed on iOS, Android, Xamarin and a variety of other platforms.

Zack Gramana is Couchbase Mobile Product Manager. In this brief interview, he talks about why Couchbase Mobile is the right choice as a mobile database on Xamarin:

Here are the specific questions that are discussed:

  • Quick introduction to Couchbase Mobile
  • Why Xamarin developers should care about Couchbase Mobile?
  • How can Xamarin developers get started with Couchbase Mobile?
  • What are other mobile databases typically run on Xamarin? How is Couchbase different?
  • What talk are you giving at Xamarin Evolve? Why should developers attend that talk?
  • What are you showing at the booth?

Want to get started? Follow to developer.couchbase.com/mobile.

Make sure to stop by the Couchbase booth at Xamarin Evolve!

Source: http://blog.couchbase.com/2016/april/couchbase-mobile-xamarin-evolve

Couchbase Weekly, Mar 28, 2016

Learn what’s latest in the Couchbase Community.
Couchbase Developer Community

Let us know if we missed anything at @couchbasedev, @couchbase or #Couchbase.

Couchbase Weekly

Highlights

Events

  • March 31: Couchbase Day Minneapolis

Announcements

  • Couchbase is participating in the 10th annual Future of Open Source Survey sponsored by North Bridge and Black Duck. Please make sure to participate in the survey: https://www.surveymonkey.com/r/2016FoOSCouchbase

Couchbase Weekly

News

Media Mentions

  • Benzinga: LeadFerret Builds Directory of NoSQL Experts
  • Business 2 Community: 5 Ways the Internet of Things Will Change Big Data
  • Datanami: Rethinking Operational Anaytics on Relational DBs
  • ComputerWork UK: How Couchbase wants to power the digital economy, from startups like Seenit to the enterprise
  • I Programmer: Next Generation Databases: NoSQL NewSQL, and Big Data

Blogs

  • NetBeans Plugin for Couchbase Part 7 – Coffee on Couchbase — Arun Gupta
  • Couchase ASP.NET Integration Beta 3 released! — Jeff Morris
  • Official YUM and APT Repos for Couchbase Now Available — Anil Kumar
  • Couchbase Weekly, Mar 22, 2016 — Arun Gupta

Couchbase Weekly 3

Upcoming Events

  • March 31: Couchbase Day Minneapolis
  • April 20 – 22: Devoxx, Paris
  • April 24 – 28: Xamarin Evolve, Orlando
  • April 27: Mobile Web Dev Conference, San Francisco (Speaking)
  • April 28: Great Indian Developer Summit, Bangalore (Speaking)
  • April 26: Virtual JUG

Webinars

  • March 18 – April 20: Building a full stack application with NoSQL, Go, and Angular 2
    US Registration
    EMEA Registration

    • 201 – Bootstrapping an application using Couchbase and Go
    • 202 – Application logic, data model, and validation
    • 203 – Build a responsive front end with Angular 2.0 & Bootstrap
    • 204 – Built-in URL permalinking & minification
    • 205 – Mobile-first development with Nativescript
  • March 31: Data Modeling, Data Querying, and NoSQL: A Deep Dive
  • April 5: NoSQL — No (Security) Problem
  • April 14: Build Better Mobile Apps with NoSQL
    • US Registration
    • EMEA Registration

twitter-logo

  • Tweet This: Want to build a #NetBeans plugin for #Couchbase? Learn how with this multi-part webinar: http://ow.ly/100qqE
  • Learn how #Couchbase powers new startups entering the #DigitalEconomy: http://ow.ly/100pyh via @computerworlduk
  • $30M raised for #NoSQL #Database Leader #Couchbase bit.ly/1TTEpaI
  • Passionate about #opensource? Help shape the next 10 years by taking the 2016 #FutureOSS survey here: http://ow.ly/100okW
  • DEVELOP with AGILITY and OPERATE at any SCALE. Get started with #Couchbase! ow.ly/XSBsQ #NoSQL #Database

Source: http://blog.couchbase.com/2016/march/couchbase-weekly-mar28-2016

NetBeans Plugin for Couchbase Part 7 – Coffee on Couchbase

coffee-on-couchbase

This is part 7of Coffee on Couchbase series where we are building a NetBeans plugin for Couchbase. This multi-part webinar series is a discussion with Geertjan Wielenga (@GeertjanW) and Eben Haber (@ebenhaber).

As part of this series, you’ll also learn how to build a NetBeans plugin from scratch and learn the awesomeness behind NetBeans platform.

During this episode, two useful links about NetBeans platform were shared:

  • NetBeans API List
  •  NetBeans Platform Sample Code

Here is what we’ve covered so far:

  • Part 1
    • GitHub repository for the plugin
    • Started a new NetBeans plugin – discussed Ant vs Maven approach for starting a plugin
    • Couchbase node configured in NetBeans
  • Part 2
    • Show NetBeans users how to install Couchbase and configure it with a sample bucket
    • Run a simple Java EE application that queries the documents stored in Couchbase sample bucket
    • Migrating the NetBeans plugin from Ant to Maven
    • Show a message in popup help menu
    • Double clicking on the Couchbase node connects to Couchbase server and displays a message in status window
  • Part 3
    • Login to Couchbase server
    • See Bucket list
    • See Documents in Bucket
    • Query data from buckets (basic queries, N1QL queries coming later)
    • Compare Documents (NetBeans Diff Viewer)
    • Open Documents (in JSON editor, not savable back to Couchbase)
    • Multiple Couchbase hosts can be configured
  • Part 4
    • Entry point of a NetBeans plugin
    • Learn about NetBeans platform node hierarchy
    • Property sheet for each node
    • Keeping code organized for the plugin
    • Creating menus for different nodes
  • Part 5
    • Showcase features that have been created in the plugin so far
    • Show different icons for indexed and non-indexed buckets in Couchbase
  • Part 6
    • Add a new menu “Create Primary Index” for non-indexed buckets
    • Started work on refreshing the name and description of a bucket after indexing
    • Started work on optimizing the number of documents retrieved for a bucket

The recording from part 7 is now available:

This episode covers:

  • Discussion around modal window vs status bar when creating bucket
  • Icons for newly created buckets are shown correctly as non-indexed
  • Change the menu name from “Set Primary Index” to “Create Primary Index”
  • Discussion around properties panel vs menu items design pattern
  • “Explore from here” for nodes and buckets
  • Default error handling (by NetBeans platform) while editing JSON document
  • Rename buckets (only in NetBeans view, not in database)
  • Discussion around REST endpoint code generator using a bucket
  • Displayed a dialog when JSON document is edited/saved

All the code is evolving at: github.com/arun-gupta/couchbase-netbeans-plugin.

Let us know by filing bugs on features that you’d like to see in this plugin.

We’d love to see your tweets containing snapshots of your document in NetBeans. Use  #NetBeans #Couchbase to let us know :)

NetBeans Couchbase Part 7

Enjoy!

Source: http://blog.couchbase.com/2016/march/netbeans-plugin-couchbase-part7-coffee-on-couchbase

Couchbase Weekly, Mar 22, 2016

Learn what’s latest in the Couchbase Community.
Couchbase Developer Community

Let us know if we missed anything at @couchbasedev, @couchbase or #Couchbase.

Couchbase Weekly

  • March 25: Breizh Camp, Rennes
  • March 22: Couchbase Denver (Meetup)

Couchbase Weekly

News

Couchbase Press Releases

  • Press Release: Couchbase, the Database Company for the Digital Economy, Secures $30 Million in Funding Led by Sorenson Capital
  • Press Release: Sorenson Capital Leads $30 Million Series F Funding Round in NoSQL Database Leader Couchbase

Media Mentions

  • Wall Street Journal: Couchbase Takes $30 Million in Down Round Despite Customer Gains
  • The Register (UK): F-me! Couchbase yoinks $30m in yet another fundraising round
  • Silicon Angle: Couchbase gets $30M from VCs to expand the adoption of its document store
  • PE HUB Network: Sorenson Capital leads $30 mln round for Couchbase
  • Growth Business (UK): Couchbase secures $30m in its last round before IPO
  • DBTA: Couchbase Secures $30 Million in Funding Led by Sorenson Capital
  • TechRockies: Sorenson Capital Leads $30M Investment in Couchbase
  • Red Herring: Skyport Systems Secures $30m Series C
  • Re/Code: Capital Gains: Knock, Knock. Who’s There? Smart Doorbells.
  • CIO: Target CIO adds custom apps, fresh talent to fortify supply chain
  • Wall Street Journal: The Morning Download: Oracle Cloud Revenue Rises Amid Corporate Migration
  • Fortune: Term Sheet — Tuesday, March 15

Blogs

  • Get to Know Our Couchbase Community – Vlado Atanasov — Laura Czajkowski
  • Making the most of your Arrays… with Array Indexing — Prasad Varakur
  • Visual Studio Code, the Integrated SQL Editor and N1QL Query Execution— Cihan Biyikoglu
  • Getting Started with Couchbase and Spark on Apache Zeppelin — Laurent Doguin
  • Get to Know Our Couchbase Community – Meet Joel Ruisi — Laura Czajkowski
  • Getting Started with Docker Cloud — Arun Gupta
  • Couchbase Weekly, Mar 14, 2015 — Arun Gupta

New Customer Stories

  • CenterEdge Software
  • Cox Enterprises
  • Gannett
  • KDDI
  • Marriott
  • Nielsen
  • DIRECTV
  • GE
  • SGN

Couchbase Weekly 3

Upcoming Events

  • March 22: Couchbase Denver
  • March 25: Breizh Camp, Rennes
  • March 31: Couchbase Day Minneapolis

Webinars

  • March 18 – April 20: Building a full stack application with NoSQL, Go, and Angular 2
    US Registration
    EMEA Registration

    • 201 – Bootstrapping an application using Couchbase and Go
    • 202 – Application logic, data model, and validation
    • 203 – Build a responsive front end with Angular 2.0 & Bootstrap
    • 204 – Built-in URL permalinking & minification
    • 205 – Mobile-first development with Nativescript
  • March 24: How to leverage NoSQL to deliver great eCommerce customer experiences (EMEA)
  • March 24: How to leverage NoSQL to deliver great eCommerce customer experiences (US)

twitter-logo

  • Learn how DirecTV leverages #Couchbase – delivering reliability for 38 million customers on 3,000 channels: http://ow.ly/ZLEsd
  • Watch #Couchbase & @Vormetric discuss common #security issues w/ #bigdata & how to avoid them w/ #NoSQL on 4/5. Reg: http://ow.ly/Z30cp
  • Learn how to build a full stack application using #Couchbase. Register for the webinar on 3/23 at 2:00 pm (GMT): ow.ly/ZGSOQ
  • Does your company contribute to open source projects? Tell us why in the #FutureOSS survey: svy.mk/1UCWoR2 #Couchbase
  • Looking for an alternative to #oracle and #mysql? Modernize your infrastructure with #NoSQL. Learn more: ow.ly/YTvlW #Couchbase

Source: http://blog.couchbase.com/2016/march/couchbase-weekly-mar-22-2016

NetBeans Plugin for Couchbase Part 6 – Coffee on Couchbase

coffee-on-couchbase

This is part 6 (part 5, part 4, part 3, part 2, part 1) of Coffee on Couchbase series where we are building a NetBeans plugin for Couchbase. This multi-part webinar series is a discussion with Geertjan Wielenga (@GeertjanW) and Eben Haber (@ebenhaber).

As part of this series, you’ll also learn how to build a NetBeans plugin from scratch and learn the awesomeness behind NetBeans platform.

The recording from part 6 is now available:

In this episode, you’ll learn:

  • Add a new menu “Create Primary Index” for non-indexed buckets
  • Started work on refreshing the name and description of a bucket after indexing
  • Started work on optimizing the number of documents retrieved for a bucket

All the code is evolving at: github.com/arun-gupta/couchbase-netbeans-plugin.

You can use the NetBeans plugin module file (NBM) from episode 5.

Let us know by filing bugs on features that you’d like to see in this plugin.

We’d love to see your tweets containing snapshots of your document in NetBeans. Use  #NetBeans #Couchbase to let us know :)

Enjoy!

Source: http://blog.couchbase.com/2016/march/netbeans-plugin-couchbase-part6-coffee-on-couchbase

Getting Started with Docker Cloud

Deploying Docker to Amazon using Tutum explained how to deploy a Docker image to Docker Tutum. Tutum is now Docker Cloud.

Read Announcing Docker Cloud for more details.

Docker Cloud Logo

The key features of Docker Cloud are:

  • Authentication using Docker ID
  • Integration with Docker Hub
  • Support for Docker official repositories
  • Commercially supported Docker Engine
  • Ability to deploy and scale your applications using GUI, API and CLI

This blog will show:

  • Key concepts of Docker Cloud
  • How to create a new Docker Cloud Node
  • How to install Docker Cloud CLI
  • How to create a new Docker Cloud Service
  • Access Couchbase Server in Docker Cloud
  • How to terminate the Docker Cloud Service and Node

And finally it’ll leave with some references for Docker Cloud docs.

The blog will use Couchbase Server – an open source, highly scalable,  JSON document database for the Docker image.

Docker Cloud TL;DR

Here are the quick commands to run a Docker image using Docker Cloud in Amazon:

More details below.

Key Concepts of Docker Cloud

Let’s understand the core concepts of Docker Cloud:

  • Nodes are individual Linux hosts/VMs used to deploy and run your applications. New nodes can be provisioned to increase the capacity. Docker Cloud does not provide hosting services. Nodes are provisioned using physical servers, virtual machine or cloud providers.
  • Node Clusters are logical groups of nodes of the same type. Node Clusters allow to scale the infrastructure easily by provisioning more nodes.
  • Services are logical groups of containers from the same image. Services make it simple to scale your application across different nodes.

Docker Cloud can be managed with Web, CLI or REST API. This blog will use the Docker Cloud CLI to perform all the commands.

Install Docker Cloud CLI

Install Docker Cloud CLI:

Complete installation instructions are at Installing CLI.

Check version:

Complete set of commands are:

Save the login credentials:

Create new Docker Cloud Node

Register your cloud provider credentials with Docker Cloud Web UI as explained in Link to a Cloud Service Provider. Amazon, Digital Ocean, Azure, and other cloud providers are supported.

Create a new node cluster with a single node:

This node cluster has a single node (-t 1) and uses the tag “couchbase” (--tag couchbase). Last four parameters are nodecluster name (couchbase-node, provider (aws, region (us-west-1 and nodetype (m3.large).

Each node in this node cluster will be given the assigned tag. This will be used later to assign services to a specific node or node cluster.

Status of this node cluster can be checked:

The dashboard at cloud.docker.com is updated to show:

Docker Cloud Node Created Dashboard

More information about each node can be seen as well:

Docker Cloud Created Node

Create a new Docker Cloud Service

Create a Docker Cloud Service:

If multiple node clusters exists, then --tag is used to assign a service to a node cluster.

docker-cli#10 is filed to ensure multiple ports can be exposed using -p 8091-8093:8091-8093 format. This will be aligned with the docker CLI.

Docker image used here is arungupta/couchbase. This image is based on the official couchbase image at Docker Hub and pre-configures it for different services.

Start the Docker Cloud Service:

The updated dashboard looks like:

Docker Cloud Service StartedGet the Docker Cloud Service logs:

The log shows output from the Couchbase REST API invoked to configure the Couchbase server.

Access Couchbase Server in Docker Cloud

Inspect the Docker Cloud service for the exposed container ports:

To be more specific, exact URI for the Couchbase Web Console can be obtained as:

Access the Couchbase Web Console at http://couchbase-b9132b42.936dbe58.svc.dockerapp.io:8091/ to see the Couchbase Web Console login screen. Enter the password credentials of Administrator and password.

Docker Cloud Couchbase Login Page

And the Couchbase Web Console looks like:

Docker Cloud Couchbase Web Console

Terminate the Docker Cloud Service and Node

Check the list of Docker Cloud services running:

Terminate the service:

Check the list of nodes:

Terminate the node as:

Docker Cloud References

  • Getting Started with Docker Cloud
  • Docker Cloud Tutorials
  • Docker Cloud API
  • Questions on Docker Forums

In this blog, you learned:

  • Key concepts of Docker Cloud
  • How to create a new Docker Cloud Node
  • How to install Docker Cloud CLI
  • How to create a new Docker Cloud Service
  • Access Couchbase Server in Docker Cloud
  • How to terminate the Docker Cloud Service and Node

Enjoy!

Source: http://blog.couchbase.com/2016/march/getting-started-docker-cloud

 

Couchbase Weekly, Mar 14, 2016

Learn what’s latest in the Couchbase Community.
Couchbase Developer Community

Let us know if we missed anything at @couchbasedev, @couchbase or #Couchbase.

Couchbase Weekly

  • March 15: Couchbase Day Waltham
  • March 16: Couchbase Day London (First Non-US Couchbase Day in EMEA)
  • March 17 – 18: SF Droidcon, San Francisco

Couchbase Weekly

Media Mentions

  • Information Management: Open Source Software: Riding the Innovation Wave
  • MySanAntonio: Better Buy: IBM vs. Oracle
  • IT ProPortal: How to choose a database for your mobile apps
  • InfoQ: All Things Containers From Solaris Zones to Docker
  • DZone: Communicating With Couchbase via a Dockerfile Script and Docker
  • MySanAntonio: How Risky Is Oracle Corporation Stock?
  • IProgrammer: Scalable Big Data Architecture
  • ComputerWorld UK: How LateRooms.com used APIS to stop sending faxes
  • SiliconANGLE: Hortonworks bids for Spark leadership

Blogs

  • Docker Tooling in Eclipse Video — Arun Gupta
  • Developer Preview of new Sub-document API included w/2.2.6 release of Couchbase .NET SDK — Jeff Morris
  • NetBeans Plugin for Couchbase Part 5 – Coffee on Couchbase — Arun Gupta
  • Couchbase is Going to Droidcon San Francisco 2016 — Nic Raboy
  • Excel and Couchbase Server v4 with N1QL – No ODBC Required! — Cihan Biyikoglu
  • Get to Know Our Couchbase Community – Meet Brant Burnett — Laura Czajkowski
  • Couchbase Mobile at O’Reilly Fluent Conference 2016 — Nic Raboy
  • Kubernetes Namespaces, Resource Quota, and Limits for QoS in Cluster — Arun Gupta
  • NetBeans Plugin for Couchbase Part 4 – Coffee on Couchbase — Arun Gupta
  • Kubernetes Cluster on Google Cloud and Expose Couchbase Service — Arun Gupta
  • Communicating with Couchbase via a Dockerfile Script and Docker — Nic Raboy
  • Kubernetes Cluster on Amazon and Expose Couchbase Service — Arun Gupta
  • Fluent 2016: Learn Crucial Mobile Tools for the Web — William Hoang
  • Getting Leaner with SubDocument and the Java SDK — Simon Baslé
  • Getting Started with Beacons and Couchbase Lite Android — Laurent Doguin
  • Couchbase Weekly Feb 29, 2016 — Arun Gupta

Couchbase Weekly 3

Upcoming Events

  • March 15: Couchbase Day Waltham
  • March 16: Couchbase Day London
  • March 17 – 18: SF Droidcon, San Francisco
  • March 18 – 19: Codemotion, Rome
  • March 22: Couchbase Denver
  • March 29: Couchbase Paris — Coming Soon
  • March 31: Couchbase Day Minneapolis

Webinars

  • March 18 – April 20: Building a full stack application with NoSQL, Go, and Angular 2
    US Registration
    EMEA Registration

    • 201 – Bootstrapping an application using Couchbase and Go
    • 202 – Application logic, data model, and validation
    • 203 – Build a responsive front end with Angular 2.0 & Bootstrap
    • 204 – Built-in URL permalinking & minification
    • 205 – Mobile-first development with Nativescript
  • March 24: How to leverage NoSQL to deliver great eCommerce customer experiences (EMEA)
  • March 24: How to leverage NoSQL to deliver great eCommerce customer experiences (US)

twitter-logo

  • Build a full stack application using #Couchbase! Register for the step-by-step webinar on 3/18 to get started (US): http://ow.ly/YZJRH
  • #Couchbase Server 4.5 Developer Preview is ready! Built-in query editor & schema browser, full-text search, and more http://ow.ly/YTsz4
  • Interested in running #Couchbase in the #Cloud? Explore the different configurations such as #AWS #Docker plus more ow.ly/Xg1YL
  • Enterprises like Nielsen are picking #Couchbase the “more mature” database over #MongoDB for document store: ow.ly/YUaGQ #NoSQL
  • #Couchbase Mobile reduces admin headaches & accelerates implementation time with new mgmt controls bit.ly/1VIHqaE #NoSQL #database

Source: http://blog.couchbase.com/2015/march/couchbase-weekly-mar-14-2016

Docker Tooling in Eclipse Video

Eclipse Mars provides integrated tooling for Docker. What can you do?

  • Pull/Push/Build Docker images
  • Run/Start/Stop/Kill Docker containers
  • Customize views

The video below shows how to get started with and try out some of the features:

Couchbase Docker Container is used to showcase different features.

Here are some snapshots from Eclipse to give you a quick feel.

Docker Tooling PerspectiveDocker Eclipse Mars Docker Perspective

Docker Explorer, Images and ContainersDocker Eclipse Mars Docker Explorer Default View

Run, Start, Stop, Kill Containers

Docker Eclipse Mars Container Properties

Complete instructions are available at https://wiki.eclipse.org/Linux_Tools_Project/Docker_Tooling/User_Guide

If you have suggestions or find bugs, please open these in the Linux Tools project in Eclipse under Docker.

Source: http://blog.couchbase.com/2016/march/docker-tooling-eclipse-video

NetBeans Plugin for Couchbase Part 5 – Coffee on Couchbase

coffee-on-couchbase

This is part 5 (part 4, part 3, part 2, part 1) of Coffee on Couchbase series where we are building a NetBeans plugin for Couchbase. This multi-part webinar series is a discussion with Geertjan Wielenga (@GeertjanW) and Eben Haber (@ebenhaber).

As part of this series, you’ll also learn how to build a NetBeans plugin from scratch and learn the awesomeness behind NetBeans platform.

The recording from part 5 is now available:

In this episode, you’ll learn:

  • Showcase features that have been created in the plugin so far
  • Show different icons for indexed and non-indexed buckets in Couchbase

All the code is evolving at: github.com/arun-gupta/couchbase-netbeans-plugin.

You can use the NetBeans plugin module file (NBM) from episode 5.

Let us know by filing bugs on features that you’d like to see in this plugin.

We’d love to see your tweets containing snapshots of your document in NetBeans. Use  #NetBeans #Couchbase to let us know :)

Here is mine:

NetBeans Couchbase Indexed Buckets

Enjoy!

Source: http://blog.couchbase.com/2016/march/netbeans-plugin-couchbase-part5-coffee-on-couchbase

Kubernetes Namespaces, Resource Quota, and Limits for QoS in Cluster

Kubernetes Logo

By default, all resources in Kubernetes cluster are created in a default namespace. A pod will run with unbounded CPU and memory requests/limits.

A Kubernetes namespace allows to partition created resources into a logically named group. Each namespace provides:

  • a unique scope for resources to avoid name collisions
  • policiesto ensure appropriate authority to trusted users
  • ability to specify constraints for resource consumption

This allows a Kubernetes cluster to share resources by multiple groups and provide different levels of QoS each group.

Resources created in one namespace are hidden from other namespaces. Multiple namespaces can be created, each potentially with different constraints.

Default Kubernetes Namespace

By default, each resource created by user in Kubernetes cluster runs in a default namespace, called default.

Any pod, service or replication controller will be created in this namespace. kube-system namespace is reserved for resources created by the Kubernetes cluster.

More details about the namespace can be seen:

This description shows resource quota (if present), as well as resource limit ranges.

So let’s create a Couchbase replication controller as:

Check the existing replication controller:

By default, only resources in user namespace are shown. Resources in all namespaces can be shown using --all-namespaces option:

As you can see, the arungupta/couchbase image runs in the default namespace. All other resources run in the kube-system namespace.

Lets check the context of this replication controller:

Look for contexts.context.name attribute to see the existing context. This will be manipulated later.

Create a Resource in New Kubernetes Namespace

Lets create a new namespace first. This can be done using the following configuration file:

Namespace is created as:

Then querying for all the namespaces gives:

A new replication controller can be created in this new namespace by using --namespace option:

List of resources in all namespaces looks like:

As seen, there are two replication controllers with arungupta/couchbase image – one in default namespace and another in development namespace.

Set Kubernetes Namespace For an Existing Resource

If a resource is already created then it can be assigned a namespace.

On a previously created resource, new context can be set in the namespace:

Viewing the context now shows:

The second attribute in contexts.context array shows that a new context has been created. It also shows that the current context is still couchbase-on-kubernetes_kubernetes. Since no namespace is specified in that context, it belongs to the default namespace.

Change the context:

See the list of replication controllers:

Obviously, no replication controllers are running in this context. Lets create a new replication controller in this new namespace:

And see the list of replication controllers in all namespaces:

Now you can see two arungupta/couchbase replication controllers running in two difference namespaces.

Delete a Kubernetes Resource in Namespace

A resource can be deleted by fully-qualifying the resource name:

Similarly the other replication controller can be deleted as:

Finally, see the list of all replication controllers in all namespaces:

This confirms that all user created replication controllers are deleted.

Resource Quota and Limit using Kubernetes Namespace

Each namespace can be assigned resource quota.

By default, a pod will run with unbounded CPU and memory requests/limits. Specifying quota allows to restrict how much of cluster resources can be consumed across all pods in a namespace.

Resource quota can be specified using a configuration file:

The following resources are supported by the quota system:

Resource Description
cpu Total requested cpu usage
memory Total requested memory usage
pods Total number of active pods where phase is pending or active.
services Total number of services
replicationcontrollers Total number of replication controllers
resourcequotas Total number of resource quotas
secrets Total number of secrets
persistentvolumeclaims Total number of persistent volume claims

This resource quota can be created in a namespace:

The created quota can be seen as:

Now, if you try to create the replication controller that works:

But describing the quota again shows:

We expected a new pod to be created as part of this replication controller but it’s not there. So lets describe our replication controller:

By default, pod consumes all the cpu and memory available. With resource quotas applied, an explicit value must be specified. Alternatively a default value for the pod can be specified using the following configuration file:

This restricts the CPU and memory that can be consumed by a pod. Lets apply these limits as:

Now when you describe the replication controller again, it shows:

This shows successful creation of the pod.

And now when you describe the quota, it shows correct values as well:

Resource Quota provide more details about how to set/update these values.

Creating another quota gives the following error:

Specifying Limits During Pod Creation

Limits can be specified during pod creation as well:

If memory limit for each pod is restricted to 1g, then a valid pod definition would be:

This is because the pod request 0.5G of memory only. And an invalid pod definition would be:

This is because the pod requests 2G of memory. Creating such a pod gives the following error:

Hope you can apply namespaces, resource quotas, and limits for sharing your clusters across different environments.

Source: http://blog.couchbase.com/2016/march/kubernetes-namespaces-resource-quota-limits-qos-cluster

NetBeans Plugin for Couchbase Part 4 – Coffee on Couchbase

coffee-on-couchbase

This is part 4 (part 3, part 2, part 1) of Coffee on Couchbase series where we are building a NetBeans plugin for Couchbase. This multi-part webinar series is a discussion with Geertjan Wielenga (@GeertjanW) and Eben Haber (@ebenhaber).

As part of this series, you’ll also learn how to build a NetBeans plugin from scratch and learn the awesomeness behind NetBeans platform.

The recording from part 4 is now available:

In this episode, you’ll learn:

  • Entry point of a NetBeans plugin
  • Learn about NetBeans platform node hierarchy
  • Property sheet for each node
  • Keeping code organized for the plugin
  • Creating menus for different nodes

All the code is evolving at: github.com/arun-gupta/couchbase-netbeans-plugin.

You can use the NetBeans plugin module file (NBM) from previous episode.

Let us know by filing bugs on features that you’d like to see in this plugin.

We’d love to see your tweets containing snapshots of your document in NetBeans. Use  #NetBeans #Couchbase to let us know :)

Enjoy!

Source: http://blog.couchbase.com/2016/march/netbeans-plugin-couchbase-part-4-coffee-on-couchbase

Devoxx4Kids at Red Hat Summit and Dev Nation 2016

RedHat Summit LogoDevNation Logo Devoxx4Kids

Once again, Red Hat and Devoxx4Kids are partnering to foster the next generation of technologists. If you are speaking or attending Red Hat Summit or DevNation, then this is your opportunity to help them!

You can be an instructor for the workshop or volunteer with an instructor.

Are you interested in teaching 6-16 years old kids about STEM? Do you have any existing workshop that would be useful? Pick one of existing Devoxx4Kids workshop and deliver it? Do you want to create a new workshop?

We’d love to have you submit workshops!

Date: June 26, 2016
Venue: San Francisco, CA
Teach: Submit your workshops
Volunteer: Sign up as volunteer

Check out some pictures from last year:

Read Devoxx4Kids at Red Hat Summit 2015 report for more details.