Saturday, September 6, 2014

Waston and BlueMix


Watson, IBM’s artificial intelligence computing platform, is changing the way we compute. From its roots as a robotic contestant on Jeopardy, the machine-learning marvel is now being positioned as a tool for doctors, business people, and scientists worldwide--one that can answer any question posed to it in natural English.

Watson represents the first wave of a new era of computing in which cognitive systems think, improve by learning and turn massive amounts of data into insights to help businesses make better decisions.

What I learn Waston is serveral year ago ,IBM's Watson supercomputer destroys all humans in Jeopardy.You can see the cool video about that competition.



IBM Watson Engagement Advisor is a solution to transform the way people and organizations interact over the lifetime of their relationships
So what can I do waston on BlueMix?
There is an article about the Waston bluemix solution on the developerworks.
http://www.ibm.com/developerworks/cloud/library/cl-watson-films-bluemix-app/index.html

You can see the demo on the youtube here.





Thursday, September 4, 2014

Advanced Features for the Applications in Bluemix

Today I listen to a session about "Advanced Features for the Applications in Bluemix" from product team,some new features are added on the BlueMix.I will share some new features here.

RMU(Runtime Management Utility )
The below scenario I think most developer will meet on BlueMix.
As the application operator,  I hope to generate dump files for running application in bluemix.
As the application operator, I hope to update the logger level dynamically to the running application in bluemix.

The RMU will provide the above feature to easy for you to debug the issue on the BlueMix.Let us see how it work.

a)Suppose you use  "Liberty for Java" to create a Java application.When you click the Liberty for java,you can see the instance details.


b)You can choose "trace" or "dump" feature.

c.You can set the log level for the trace.



d0Also you can create dump file and download it.

Auto Scaling 

Auto-Scaling, as indicated by the name, helps you to manage your application capacity automatically on target environment.You can see below artichure,


Metrics
CPU
Memory
Heap memory

Policy
Trigger (Threshold, statistic window)
minimum instance number
maxmum instance number
Scaling adjustment
Scaling adjustment type(percentage or number)

Let;s see how it work on the BlueMix.

You can bind this add-on to your application.
2.Click the DashBoard on the BlueMix.You can see which application used sceal add on.
3.Click the edit button,you can change the default policy for this application.You can define the rules to increase the instance based on the real needs.

4.You can also check the metric like CPU,memory used for this application.It will better help you to make the decision for the auto-scale.





Friday, August 29, 2014

BlueMix projects on GitHub

A quick way to learn BlueMix ,you can leran some demo projects.GitHub a good place to share your project,code ,blog etc to public.Today I will introduce ten BlueMix projects from GitHub.Hope it will help you learn more about BlueMix.

1.Twitter Influencer Analyzer

https://github.com/ibmjstart/bluemix-sample-tia-node

Twitter Influencer Analyzer is a web application which collects data from Twitter, Klout and Google Maps to display influence relationships between twitter users.

This is a Node.js app that uses the following cloud services:
Cloudant NoSQL DB

2.How to Run and Deploy the Node MySQL Upload App

https://github.com/ibmjstart/bluemix-node-mysql-uploader

This is a NodeJS app that uses the following cloud services:
MySQL Database
This app demonstrates how to connect to a MySQL database on codename: BlueMix from a NodeJS app. Simply upload a line-separated file of text (e.g. tweets), and it will add each line to MySQL.

3.bluemix-wordpress
https://github.com/ibmjstart/bluemix-php-frameworks/tree/master/wordpress

Wordpress work on the IBM BlueMix Platform.A step by step guide how to deploy wordpress to BlueMix

4.Building a real-time polls application with Node.js, AngularJS and MongoDB

https://github.com/joelennon/bluemixpolls

This application allows you to create polls - and enables users to vote on polls, with the results updating in real-time. The app accompanies the IBM developerWorks article Building a real-time application with Node.js, AngularJS and MongoDB.

The app uses the following libraries and frameworks:

Node.js
Express
Jade templates
Mongoose
AngularJS
Bootstrap 3
Socket.io
Demo

You can see the app running live at http://bluemixpolls.mybluemix.net/.


5.How to Run and Deploy the Twitter Influence Analyzer

https://github.com/ibmjstart/bluemix-java-sample-twitter-influence-app

his is a Java app that uses the following cloud services:
  • Cloudant
6. Blog application on BlueMix
https://github.com/glynnbird/bluemix_blog
This is a demo application to test out Node.js, Cloudant and BlueMix.

It is a simple blogging application with the data being stored in a Cloudant database. When a blog post is published, it is:

* stored in Clouding
* sent to the MQlight message queue
* each server picks up the item from the message queue and broadcasts it to all connected clients via Websockets

7.How to Run and Deploy the Picture Finder App
https://github.com/ibmjstart/bluemix-picturefinder
Use the IBM Bluemix Location services and Instagram to find pictures near an address. It's written in Node.js and uses the following Bluemix services:

Pitney Bowes Geocoding service

8.BlueMix Job candicate search
https://github.com/IBM-Bluemix/bluemix-hr-outreach

A node.js project to use Linked API to find candicate on the Linkedin

9.BlueMix Cloud Photo Album
https://github.com/dittyQu/CloudPhotoAlbum

A java application to show how to upload photo on the BlueMix

10.db2welcome-bluemix
https://github.com/data-henrik/db2welcome-bluemix
The code shows how to combine DB2 and Python on IBM Bluemix (http://bluemix.net). It requires either a free trial or a regular account and the creation of a SQL DB (DB2) service. The tables (schema.sql) are created using the administration interface, then the data loaded.

Thursday, August 28, 2014

Play fisherman game on BlueMix

I think most of people played a game named fishermen on Andriod or IOS device.I think we can do a html version on BlueMix.I have deployed it on the http://fisherman.mybluemix.net/,you can play it online.

Actually it is a very simple html js project ,I think you can do it yourself.

1.First download the game source code,you can get it from http://pan.baidu.com/s/1i3IHkK9
2.Unzip the code to your disk for example c:\finsherman
3.use cf command to deploy the code.Use cf command to login.

C:\Users\IBM_ADMIN>cf login
API endpoint: https://api.ng.bluemix.net

Username>XXXXs@gmail.com

Password>
Authenticating...
OK
 4.Since the site is static sites,we will use nginx-buildpack to deploy our application.


C:\fishman>cf push -b https://github.com/cloudfoundry-community/nginx-buildpack
fisherman

After deployed,you can launch the http://fisherman.mybluemix.net to play this game.Just enjoy it!

Sunday, August 24, 2014

Cloud computing in China VS BlueMix



The list of 2013, China's cloud computing trend, platform.

The serial number The name of the company The main products The official weibo impression
1. Ali yun Open cloud servers, storage, etc @阿里云 Independent research and development, system integrity cloud platform
2. tencent 云服务器,云数据库等The cloud, cloud database, etc @腾讯 Base + CDN, monitoring and other value-added service
3. baidu BAE、 @百度 Mobile site + integrated development, testing, etc
4. sina SAE、MAE等 @新浪 PaaS cloud computing platform
5. Century interconnection AzureData center/Azure
@世纪互联 n
AzureAzure landing partner in China
6. jd Jingdong open service @京东 series of its cloud application platform
7. Shanda Shanda cloud @盛大云  Support and cool six, independent research and development a cloud platform
8. 360Qihoo 360 Cloud + CDN @奇虎360 Security, electricity, mobile phone, games and other platforms
9. China telecom E surfing,Cloud hosting, physical cloud @中国电信 Basic resources, platform, application and solution
10.. China mobile, Big cloud @中国移动 On the open source software developed cloud platform


Actually I don;t use all these cloud service in China. But I can share my thoughts of using some of these.

1.JAE (http://jae.jd.com/_) is based on the CloudFoundry,it is still of free charge.It support java,python,nodejs,php etc language.Support MySQL、MariaDB、Mongo DB.
2.BAE  (http://developer.baidu.com/cloud/rt)It supports the Node.js,PHP,Python,Java,Static etc language or framework.The latested version is BAE3. It is charged by the usage.
3.Ali Cloud,It is not based on the Cloudy plartform.,More like combine the PASS and IAAS.
One was in July 2013, Alibaba completed a three year plan of “de-IOE”, in other words, not using IBM minicomputers, Oracle Database and EMC storage. Alibaba used computer cluster of low cost PC to build supercomputer, which was the first Chinese internet enterprise to fulfill “de-IOE”. In October 2013, Alibaba finished its 5K plan independently, with a single cluster servers of 5000 computers to complete 100 TB sorting in merely 30 mins. It beat Yahoo’s record in July 2013 of 71 mins. Ali Cloud became the first enterprise to offer 5K cloud computing service.

In future I think Ali Cloud will be a strong cloud competitor in Chinese market since it aims  more domestic  company.

BlueMix based on the cloud foundry  has made major advancements since being announced .
BlueMix Helps Build and Integrate Apps Quickly IBM's new BlueMix services are designed to help businesses rapidly transform using Big Data, mobile and social technologies in the cloud. Some of the new BlueMix services include:
Cloud Integration services to securely connect and integrate an organization's applications and information in the cloud. Developers can use pre-defined connectors for accelerated integration, or develop custom APIs as needed to easily and securely tie back into systems of record behind their firewall. Integrated API management capabilities provide an easy mechanism to publish self-service APIs, that can be shared with the broader API economy. This allows developers to mix cloud-based PaaS, third party cloud applications, and on-premises systems behind security gateways, moving between cloud and on-premises systems in a hybrid, integrated environment. 
Internet of Things services allowing developers to register and connect networked devices such as microprocessors and embedded machine to machine sensors to the cloud, easily aggregating and reacting to data and events in real time. Organizations can build applications which efficiently manage, analyze, visualize, and interact with the massive quantities of temporal and spatial data generated by vehicles, wearables, mobile phones, cameras, computers, sensors and other intelligent devices.
Data and Analytics services for developers to deliver data-centric mobile, web-scale applications. With these new services, including geospatial, time series, predictive scoring, and reporting, developers can easily create sophisticated applications that provide real-time actionable insight so that organizations can predict outcomes and make better business decisions. For example, a developer could create an application that integrates sensor data, location data, weather data and usage trends from a network of equipment to identify and avoid emerging maintenance issues. In addition, new data masking, discovery and audit capabilities help developers create applications with built-in data privacy and security.
DevOps services enabling developers, IT departments and business teams with an open, integrated rapid development environment that scales from individual developers to enterprise teams. The DevOps Continuous Integration service will provide end-to-end "build" capabilities to speed changes through the development process, DevOps Mobile Quality Assurance (MQA) will help analyze user sentiment to spot problems before they go viral, and the Monitoring and Analytics service will identify application problems during development - leveraging analytics to help applications achieve availability and performance goals. In addition, DevOps will include a new RapidApp service that requires no coding, using visual tools to expand the scope of web and business applications developers can create

Friday, August 22, 2014

Git,JazzHub,BlueMix

What is the relationship among of them? Today I will take about this.

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. GitHub is online project hosting using Git. Includes source-code browser, in-line editing, wikis, and ticketing.Pls don;t confuse these two concept of these two words.

You have 2 ways to work with your JazzHub project sourced in Git
Git command tool from git:            http://git-scm.com/downloads
EGit Eclipse client eclipse.org:       http://www.eclipse.org/downloads/

Notes:When you install git command tools for windows ,you need to choose to use git from window command promot mode.
After you install the git,you need to do some command after  installation
git config --global user.name "XXXX"
git config --global user.email XXXX@gmail.com
git config --global core.editor notepad.exe

You can use git config --list to list all the configuration of git.

 IBM DevOps Services(Old Name JazzHub) is a place where you can collaborate with others to develop, track, plan and deploy software.Lets see how we fork  a jazzHub project and get project use git.

First I will fork  one project in  JazzHub,
https://hub.jazz.net/project/arzetry/nodeJS-bluemix/overview
Click the  edit code button and it will go to the web edit mode,I click the fork link to one of my project.

You can use get the git url when you click the Git URL link for this project.
We can use the git client tool to get the code on your local side.
Since  manifest.yml recored the bluemix deployment info,we need to change the previous domain and host.The changes like below.
Use the below  command to submit the changes
git commit -m "change deploy conf"
Push the changes to the jazzhub.
c:\nodeJS>git push origin master
Username for 'https://hub.jazz.net':XXXXX@XXX.com
Password for 'https://XXXX@XXX@hub.jazz.net':
Counting objects: 6, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 318 bytes | 0 bytes/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2)
remote: Processing changes: refs: 1, done
To https://hub.jazz.net/git/blackwhites/nodeJS
   d47f709..14800f3  master -> master
Open the  manifest.yml again in the jazzhub,you can see the content is already changed.

 After you change the code in WEB-UI,you need to commit the changes on the git.


If you don;t have git client tools you can directly edit the file on the jazzhub web UI.Everytimes when you finish the changes,you need to request a deploy, after that you can see the deployment status.


I go  the bluemix category site,I can directly see the application has already been deployed and also been integrated with GIT.Lets see the application how it look like.
Congulation, you have a basic learn how git,jazzhub,bluemix work together to build a strong collaboration platform to deploy your application.