Race to the Finish!
Accelerate Your Skills
Erik Hochstedt, Software Developer
Jonathan West, Software Developer, @JonathanGWest
#HybridCloudTour
#HybridCloudTour
Introduction
2
#HybridCloudTour
Code Rally in a Nutshell
• Code Rally is an IDE and server, that allows the user to write AIs written
in Java (on WebSphere) or JavaScript (on Node.js), and then used in a
variety of interesting ways
• A user-friendly development environment that allows the writing of
simple AI code, which then becomes:
• Multi-player (race with other AIs simultaneously)
• Competitive (race replays, streaming, and leaderboard)
• Graphical (see races streamed in real-time)
3
#HybridCloudTour
Code Rally Tech and Architecture
• Everything we are showing is freely available right now
• Bluemix – the cloud technology behind Code Rally
• WASdev – home of WebSphere Liberty, which Code Rally is based
• Code Rally on developerWorks
• Open By Design
• Sneak a peak to see how it is implemented
• All the Code Rally code is open source in IBM DevOps Services (IDS)
4
#HybridCloudTour
Let’s Get Started!
5
#HybridCloudTour
Behind the Scenes: How to Build
a Hybrid Cloud-Based Application
Erik Hochstedt, Software Developer
Jonathan West, Software Developer, @JonathanGWest
#HybridCloudTour
#HybridCloudTour
The Technology Behind the Tracks
• WebSphere Liberty
• Node.js
• Cloud Foundry on IBM Bluemix
• Docker containers on IBM Bluemix
• Cloudant NoSQL backend on Bluemix / DashDB SQL backend
on Bluemix
• Development environment is WebSphere Developer Tools (Eclipse)
7
#HybridCloudTour
WebSphere Liberty: Bluemix Cloud and Local
• The dynamic Java EE 7 platform that enables your applications and
drives developer productivity and rock-solid production support
• Fast startup, low memory footprint, easy to configure, includes all the
latest Java 8 and Java EE 7 tech, plus fully supported by IBM with
many additional tools/resources/samples/docs/support
• Write once, deploy everywhere: Docker (local/private/Bluemix),
Cloud Foundry Bluemix (Public/Local/Hybrid), Cluster, etc.
8
#HybridCloudTour
Code Rally on Bluemix Cloud Foundry
w/ Cloudant
Twitter Microservice
• Written in Node.js, users may tweet at @CodeRally to
enter races on the server, implemented as microservice.
WebSphere Liberty Instant Runtime
• Code Rally Server bundled as a WAR application,
deployed to Cloud Foundry Liberty runtime.
• Java EE 7: JSP 2.3, WebSockets 1.1, JAX-RS 2.0,
Servlets 2.3, SSL/TLS 1.2
CloudAnt NoSQL Database
• Cloudant is a NoSQL database, based on CouchDB,
and hosted as a Bluemix Cloud Foundry service.
WebSphere Liberty Local Server
• Java Code Rally Race Client
• Java EE 7
• WebSockets 1.1
• Servlets 2.3
Node.js Local Server
• JavaScript Code Rally Race Client
HTTP
Requests and
WebSockets
9
#HybridCloudTour
Code Rally on Bluemix Containers
w/ DashDB
10
Twitter Microservice
• Written in Node.js, users may tweet at @CodeRally to
enter races on the server, implemented as microservice.
WebSphere Liberty Instant Runtime
• Code Rally Server bundled as a WAR application,
deployed to Cloud Foundry Liberty runtime.
• Java EE 7: JSP 2.3, WebSockets 1.1, JAX-RS 2.0,
Servlets 2.3, SSL/TLS 1.2
CloudAnt NoSQL Database
• DashDB is a Relational SQL cloud database,
focused on analytics and hosted in Bluemix.
WebSphere Liberty Local Server
• Java Code Rally Race Client
• Java EE 7
• WebSockets 1.1
• Servlets 2.3
Node.js Local Server
• JavaScript Code Rally Race Client
HTTP
Requests and
WebSockets
#HybridCloudTour
Demo
11
#HybridCloudTour
Web Technologies like Restful Web Services
and WebSockets Enables Polyglot Programming
• Communication with the Code Rally Server through standard Web
APIs, using HTTP requests, WebSockets and JSON.
• This central API is exposed and implemented by the WebSphere
Application Server application, with racers connecting through this
API to enter and compete in a race
12
#HybridCloudTour
Cloud Foundry and Docker on Bluemix
• Cloud Foundry is an Open Source PaaS offering, which underlies
IBM Bluemix's Cloud Foundry platform
• Rather than configuring and deploying a machine (IaaS), developers
target a runtime (WebSphere Liberty/Node.js/Asp.net/etc.), which
abstracts out the application infrastructure
• This lets developers focus on code
• Docker Containers allows the developer to package and deploy an
application and its dependencies across heterogeneous environments
• This allows developers greater control over the environment, and
is the basis for IBM Bluemix Containers
13
#HybridCloudTour
IBM DevOps Services — Delivery Pipeline
• The DevOps “glue” that ties together the Code Rally build, deployment,
and testing processes
• Automatically begins application deployment when a developer
commits a change set to Git
• Deploys builds to IBM Bluemix (both Cloud Foundry and Docker)
• But only if the automated test succeeds : )
14
#HybridCloudTour
Backend: Cloudant and DashDB
• Code Rally supports both local and cloud-based backend databases
• Cloudant is a NoSQL cloud database based on the open source
CouchDB, and DashDB is an analytics focused cloud database,
based on IBM DB2
• Provision a new 20GB cloud database with only a single command:
• CLI: cf create-service cloudantNoSQLDB Shared my_db
15
#HybridCloudTour
Learn More
• WebSphere Liberty trial download
• http://ibm.biz/Bd45Nn
• IBM Bluemix
• https://www.bluemix.net/
• Code Rally on developerWorks
• https://www.ibm.com/developerworks/community/blogs/code-
rally/entry/landing?lang=en
16
#HybridCloudTour
Session Break

Develop - Race to the Finish! Accelerate Your Skills

  • 1.
    Race to theFinish! Accelerate Your Skills Erik Hochstedt, Software Developer Jonathan West, Software Developer, @JonathanGWest #HybridCloudTour
  • 2.
  • 3.
    #HybridCloudTour Code Rally ina Nutshell • Code Rally is an IDE and server, that allows the user to write AIs written in Java (on WebSphere) or JavaScript (on Node.js), and then used in a variety of interesting ways • A user-friendly development environment that allows the writing of simple AI code, which then becomes: • Multi-player (race with other AIs simultaneously) • Competitive (race replays, streaming, and leaderboard) • Graphical (see races streamed in real-time) 3
  • 4.
    #HybridCloudTour Code Rally Techand Architecture • Everything we are showing is freely available right now • Bluemix – the cloud technology behind Code Rally • WASdev – home of WebSphere Liberty, which Code Rally is based • Code Rally on developerWorks • Open By Design • Sneak a peak to see how it is implemented • All the Code Rally code is open source in IBM DevOps Services (IDS) 4
  • 5.
  • 6.
    #HybridCloudTour Behind the Scenes:How to Build a Hybrid Cloud-Based Application Erik Hochstedt, Software Developer Jonathan West, Software Developer, @JonathanGWest #HybridCloudTour
  • 7.
    #HybridCloudTour The Technology Behindthe Tracks • WebSphere Liberty • Node.js • Cloud Foundry on IBM Bluemix • Docker containers on IBM Bluemix • Cloudant NoSQL backend on Bluemix / DashDB SQL backend on Bluemix • Development environment is WebSphere Developer Tools (Eclipse) 7
  • 8.
    #HybridCloudTour WebSphere Liberty: BluemixCloud and Local • The dynamic Java EE 7 platform that enables your applications and drives developer productivity and rock-solid production support • Fast startup, low memory footprint, easy to configure, includes all the latest Java 8 and Java EE 7 tech, plus fully supported by IBM with many additional tools/resources/samples/docs/support • Write once, deploy everywhere: Docker (local/private/Bluemix), Cloud Foundry Bluemix (Public/Local/Hybrid), Cluster, etc. 8
  • 9.
    #HybridCloudTour Code Rally onBluemix Cloud Foundry w/ Cloudant Twitter Microservice • Written in Node.js, users may tweet at @CodeRally to enter races on the server, implemented as microservice. WebSphere Liberty Instant Runtime • Code Rally Server bundled as a WAR application, deployed to Cloud Foundry Liberty runtime. • Java EE 7: JSP 2.3, WebSockets 1.1, JAX-RS 2.0, Servlets 2.3, SSL/TLS 1.2 CloudAnt NoSQL Database • Cloudant is a NoSQL database, based on CouchDB, and hosted as a Bluemix Cloud Foundry service. WebSphere Liberty Local Server • Java Code Rally Race Client • Java EE 7 • WebSockets 1.1 • Servlets 2.3 Node.js Local Server • JavaScript Code Rally Race Client HTTP Requests and WebSockets 9
  • 10.
    #HybridCloudTour Code Rally onBluemix Containers w/ DashDB 10 Twitter Microservice • Written in Node.js, users may tweet at @CodeRally to enter races on the server, implemented as microservice. WebSphere Liberty Instant Runtime • Code Rally Server bundled as a WAR application, deployed to Cloud Foundry Liberty runtime. • Java EE 7: JSP 2.3, WebSockets 1.1, JAX-RS 2.0, Servlets 2.3, SSL/TLS 1.2 CloudAnt NoSQL Database • DashDB is a Relational SQL cloud database, focused on analytics and hosted in Bluemix. WebSphere Liberty Local Server • Java Code Rally Race Client • Java EE 7 • WebSockets 1.1 • Servlets 2.3 Node.js Local Server • JavaScript Code Rally Race Client HTTP Requests and WebSockets
  • 11.
  • 12.
    #HybridCloudTour Web Technologies likeRestful Web Services and WebSockets Enables Polyglot Programming • Communication with the Code Rally Server through standard Web APIs, using HTTP requests, WebSockets and JSON. • This central API is exposed and implemented by the WebSphere Application Server application, with racers connecting through this API to enter and compete in a race 12
  • 13.
    #HybridCloudTour Cloud Foundry andDocker on Bluemix • Cloud Foundry is an Open Source PaaS offering, which underlies IBM Bluemix's Cloud Foundry platform • Rather than configuring and deploying a machine (IaaS), developers target a runtime (WebSphere Liberty/Node.js/Asp.net/etc.), which abstracts out the application infrastructure • This lets developers focus on code • Docker Containers allows the developer to package and deploy an application and its dependencies across heterogeneous environments • This allows developers greater control over the environment, and is the basis for IBM Bluemix Containers 13
  • 14.
    #HybridCloudTour IBM DevOps Services— Delivery Pipeline • The DevOps “glue” that ties together the Code Rally build, deployment, and testing processes • Automatically begins application deployment when a developer commits a change set to Git • Deploys builds to IBM Bluemix (both Cloud Foundry and Docker) • But only if the automated test succeeds : ) 14
  • 15.
    #HybridCloudTour Backend: Cloudant andDashDB • Code Rally supports both local and cloud-based backend databases • Cloudant is a NoSQL cloud database based on the open source CouchDB, and DashDB is an analytics focused cloud database, based on IBM DB2 • Provision a new 20GB cloud database with only a single command: • CLI: cf create-service cloudantNoSQLDB Shared my_db 15
  • 16.
    #HybridCloudTour Learn More • WebSphereLiberty trial download • http://ibm.biz/Bd45Nn • IBM Bluemix • https://www.bluemix.net/ • Code Rally on developerWorks • https://www.ibm.com/developerworks/community/blogs/code- rally/entry/landing?lang=en 16
  • 17.