3. #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
4. #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
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 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
8. #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
9. #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
10. #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
12. #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
13. #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
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 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
16. #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