Monthly Archives: April 2016

Setup Docker on Windows Server 2016

This multi-part blog series will show how to configure, build, and run Docker containers on Windows.

The first part showed how to setup Windows Server 2016 on Virtual Box for Docker Containers. This part will install the operating system images and configure Docker.

Instructions are available at msdn.microsoft.com/virtualization/windowscontainers/deployment/deployment.

Install Windows Server 2016 Container Feature

Start PowerShell:
windows-2016-docker-1

Install the container feature:
windows-2016-docker-2

Restart the Virtual Machine:
windows-2016-docker-3

Install Windows Server 2016 Base Docker Image

Base operating system can be installed using ContainerImage PowerShell module. Install the module as:windows-2016-docker-4

See the list of operating system images that are available:
windows-2016-docker-5

Install the Windows Server Core base OS image:
windows-2016-docker-6windows-2016-docker-7

Install Docker on Windows Server 2016

Download the script to install Docker:windows-2016-docker-8

Run the script:
windows-2106-docker-9

Check Docker version:windows-2016-docker-11

Check the list of images and tag the base OS image to latest:windows-2106-docker-10

Check docker --help command:
windows-2016-docker-12

Subsequent blogs will show how other fun things with Docker on Windows Server 2016!

Some further topics to read …

  • Windows Server Containers – Quick Start
  • Windows Server 2016 Technology Preview 5
  • Docker Documentation
  • Getting Started with Docker for Java developers

Source: blog.couchbase.com/2016/april/setup-docker-windows-server-2016

Windows Server 2016 using VirtualBox for Docker Containers

Windows Server 2016 is adding support for Docker containers. Technology Preview 5 was recently released and provides basic support for Docker. This multi-part blog series will show how to configure, build, and run Docker containers on Windows.

The first part shows how to install Windows Server 2016 using VirtualBox. A couple of tweaks are required in order to make sure Docker containers can be started later on, so read on!

Download Windows Server 2016

Download Windows Server 2016 Technology Preview 5 from microsoft.com/en-us/evalcenter/evaluate-windows-server-technical-preview.

Download the ISO and install it using VirtualBox.

Windows Server 2016 Virtual Box Configuration

Switch to Expert Mode as some of the default configuration settings need to be updated.

Here are the screenshots of configuration.

Change memory to ~8GB.
windows-2016-install-1

Change disk space to 40GB. Default of 20 GB will not work for installing containers later.windows-2016-install-2

Create a new virtual drive from the downloaded ISO:
windows-2016-install-3

Windows Server 2016 Configuration

Select the defaults:
windows-2016-install-4

Click on “Install Now” to start the install:
windows-2016-install-5

Enter the product key as specified in “Preinstall Information” section at microsoft.com/en-us/evalcenter/evaluate-windows-server-technical-previewwindows-2016-install-6

Select the Desktop version, otherwise just a command shell is started:windows-2016-install-7

Accept the license:
windows-2016-install-8

Choose “Custom” installation. “Upgrade” was getting stuck in an infinite loop:windows-2016-install-9

Take defaults:
windows-2016-install-10

Click on “Next” to start installation:
windows-2016-install-11

Create an administrator account:windows-2016-install-12

Click on Finish to come to the welcome screen:
windows-2016-install-13

Windows Server 2016 Login/Welcome

Use VirtualBox Input -> Keyboard menu to send Ctrl+Alt+Del to Windows to get the login screen:
windows-2016-install-14

Enter your password to see the opening screen:
windows-2016-install-15

As of this writing, it is in Technology Preview 5 and so the functionality and experience will evolve.

Stay tuned for subsequent blogs to actually configure, build and run Docker containers.

Source: blog.couchbase.com/2016/april/windows-server-2016-virtualbox-docker

Couchbase Weekly, Apr 18, 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

  • April 20 – 22: Devoxx, Paris
  • April 24 – 28: Xamarin Evolve, Orlando

Meetups

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

Couchbase Weekly

News

Media Mentions

  • InfoWorld: NoSQL chips away at Oracle, IBM, and Microsoft dominance
  • CMS Wire: DataStax Gets Multimodel Database Powers
  • CTO Vision: Hortonworks DataFlow 1.2 Released

Blogs

  • Couchbase as a First Class Citizen of Spring Boot 1.4 — Simon Basle
  • Embed Couchbase in an IoT Project for Data Synchronization — Nic Raboy
  • Couchbase Weekly, Apr 11, 2016 — Arun Gupta
  • Moving from MySQL to Couchbase — Nic Raboy

Whitepapers

  • Couchbase Server: An Architectural Overview

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: Couchbase Day — Denver

Couchbase Meetups

  • April 21: Couchbase Silicon Valley User Group – Building a Memory-Centric Data Pipeline with Apache Spark
  • April 26: Virtual JUG
  • 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

twitter-logo

  • Transitioning from #MySQL to #NoSQL? Learn the key differences between #RDBMS and #Couchbase: http://ow.ly/10AilQ
  • Using #BigData tools in your #NoSQL project? Learn how to load CSV data using #Spark and #Couchbase. http://ow.ly/10AiOb via @DZone
  • Key drivers for use of #opensource – revealed in #FutureOSS results webinar 4/27 @ 2PM ET. Join us: bit.ly/23hL7MI
  • See why companies like IBM, Tableau and Intel are partnering with #Couchbase. Find or become a partner today: http://ow.ly/10n5FB
  • Learn everything you need to know about #NoSQL for free with a new NoSQL Database Podcast: http://ow.ly/10kdIB hosted by #Couchbase

Source: blog.couchbase.com/2016/april/couchbase-weekly-apr18-2016

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