SlideShare ist ein Scribd-Unternehmen logo
1 von 89
Downloaden Sie, um offline zu lesen
Organisé par IBM France Lab
Optimization on Cloud
with Bluemix
14 octobre 2015
Organisateur : Yves Le Cléach, @ylecleach
Meetup #11
Hébergé par La Pépinière 27, startup incubator
1
#bluemix
 Introduction à l’optimisation des applications – Domaines
d’application
 par Amélie Hocquette, IBM Decision Optimization on Cloud and Center - Program
Manager, IBM France Lab
 Design Thinking, concevoir une solution sur le Cloud
 par Sophie de Bonis, UX Designer pour Decision Optimization on cloud, IBM
France Lab
 Ecosystème social pour la communauté des développeurs
utilisateurs de Docloud
 Par Catherine Chat, Chef de projet DOcloud Communauté & API, Technical Team
Leader, IBM France Lab
 Présentation d'un service d'optimisation pour Bluemix
 parJulian Payne, STSM - Solutions Architect and Chief Architect, Optimization
Offerings
2
Agenda
Pour créer un compte Bluemix,
c’est simple et gratuit 30 jours sans CB!
1. Entrer cette URL : http://ibm.biz/Meetup_Paris
2. Compléter les informations (email, password)
3. Valider votre compte (consulter votre boîte mail)
4. Se Connecter sur bluemix.net (email+password)
3
#bluemix
 Articles, Slides, Formation, et des Resources
 Site WordPress déployé dans Bluemix !
http://meetup-paris.mybluemix.net/
Site Web du Bluemix Paris Meetup
#bluemix
 Introduction à l’optimisation des applications – Domaines
d’application
 par Amélie Hocquette, IBM Decision Optimization on Cloud and Center - Program
Manager, IBM France Lab
 Design Thinking, concevoir une solution sur le Cloud
 par Sophie de Bonis, UX Designer pour Decision Optimization on cloud, IBM
France Lab
 Ecosystème social pour la communauté des développeurs
utilisateurs de Docloud
 Par Catherine Chat, Chef de projet DOcloud Communauté & API, Technical Team
Leader, IBM France Lab
 Présentation d'un service d'optimisation pour Bluemix
 parJulian Payne, STSM - Solutions Architect and Chief Architect, Optimization
Offerings
5
Agenda
What is Optimization?
Amelie Hocquette
Let’s play a game!
Build the most expensive but healthy and tasty burger !
• At least one, and no more than 5 items
• Use only whole ingredients (no half cheese!)
• Must contains :
o Less then 3000 mg of sodium
o Less than 150 grams of fat
o Less than 3000 calories
• Keep :
o Lettuce and ketchup the same
o Pickles and tomatoes the same
Solving a Business Problem via Modeling & Optimization
Business Problem
Mathematical Model
Solving Engine
Supply Chain Optimisation Programme
RASA Benefit Realisation Weekly Summary
-35
-25
-15
-5
5
15
25
35
2008Jan*
Feb*
Mar*
Apr*
w19
w20
w21
w22
w23
w24
w25
w26
w27
w28
w29
w30
w31
w32
w33
w34
w35
w36
w37
w38
w39
w40
w41
w42
w43
w44
w45
w46
w47
w48
w49
w50
w51
w52
ContributionRelativetoApr08QS61Baseline(£k)
Realised Benefit Missed Opportunity Actual ≠ QS61 or Optimal
Business Results
min cTx
s.t. Ax  b
x integer
x1 = 3, x2 = 0, ...
Solution to
Mathematical Model
OR Specialist
Business
Expert
Evaluation
 What are the key decisions?
 What are the constraints?
 What are the goals?
Modeling
is not data
driven
Linear programming
Mixed Integer Programming
Constraint programming
Making Essential Decisions Better & Faster
How to best allocateaircrafts and crews?
Inventory cost vs.customer
satisfaction?
Risk vs.potential reward?
Cost vs.carbon emission?
What to build,whereand when?
IBM Decision Optimization helps businesses
• Solve combinatorial problems that cannot
be solved efficiently otherwise.
• Create the best possible plans.
• Explore alternatives and understand
trade-off.
• Respond to changes in business operations.
• Get very high ROI.
Decision Optimization by Industry
Platform (DOC)
Optimization
Application Development Tools
Data
Server
Optim.
Server
CPLEX Concert API
Optimization Engines
Technologies (COS)
OPL
CPLEX
Optim.
CP
Optim.
Decision Optimization
on Cloud
What?
• Solve on cloud
• New : Self-
serve
• New : PAYG
How?
• Bluemix +
Softlayer
• Smart Cloud
Exchange
• DevOps
• 80%
homemade
Decision Optimization Portfolio
Future contribution to revenue.
#bluemix
 Introduction à l’optimisation des applications – Domaines
d’application
 par Amélie Hocquette, IBM Decision Optimization on Cloud and Center - Program
Manager, IBM France Lab
 Design Thinking, concevoir une solution sur le Cloud
 par Sophie de Bonis, UX Designer pour Decision Optimization on cloud, IBM
France Lab
 Ecosystème social pour la communauté des développeurs
utilisateurs de Docloud
 Par Catherine Chat, Chef de projet DOcloud Communauté & API, Technical Team
Leader, IBM France Lab
 Présentation d'un service d'optimisation pour Bluemix
 parJulian Payne, STSM - Solutions Architect and Chief Architect, Optimization
Offerings
1
Agenda
IBM Design Thinking
for Decision Optimization on Cloud
by Sophie de Bonis, UX Designer, IBM France Lab
Experience?
©
“Good design is good business.”
Thomas Watson, IBM Chief Executive Officer, 1973
IBM Design Thinking is a framework
for delivering great experiences for our users.
Codified by IDEO
cofounders David
Kelley and Bill
Moggridge
Offers a new way to
think about problems
and their solutions
Grounded in empathy,
prototyping and radical
collaboration
The Stanford d.school is
the intellectual home of
design thinking
“Designers […] don’t have to search for a solution until
they have determined the real problem, and even then,
instead of solving that problem, they stop to consider
a wide range of potential solutions.
Only then will they finally converge upon their proposal.
This process is called “Design Thinking”.
Don Norman
“Rethinking Design Thinking” Core 77, 19 March 2013
“Designers […] don’t have to search for a solution until
they have determined the real problem, and even then,
instead of solving that problem, they stop to consider
a wide range of potential solutions.
Only then will they finally converge upon their proposal.
This process is called “Design Thinking”.
Don Norman
“Rethinking Design Thinking” Core 77, 19 March 2013
“Designers […] don’t have to search for a solution until
they have determined the real problem, and even then,
instead of solving that problem, they stop to consider
a wide range of potential solutions.
Only then will they finally converge upon their proposal.
This process is called “Design Thinking”.
Don Norman
“Rethinking Design Thinking” Core 77, 19 March 2013
During 3 days, Decision optimization Design camp
enabled the cross functional product team envision the
user experience and define 3 hills
Experience map
Empathy map
Hills definitionMockups
• Oscar works in the Operations Research
department
• Oscar develops OPL model that improves
delivery times, while reducing costs and
emissions
• Denise works in the IT department.
• She needs to integrate Oscar’s model
in an application using DOcloud
services
• She needs to develop a quick
prototype and then move the solution
to the Cloud
Oscar
Operations Research Expert
Denise
Application Developer
Decision Optimization on cloud Personas
In one day Denise can extend her application to
invoke a solve service using an existing model,
in her chosen programming language, without
installing optim sw.
Hill
Playback with mockups help to share the vision with the all
team members and deliver the experience not just the
design
Creating epics (1 per hill) then stories and tasks…, using
personas systematically and including stories for the UI design.
Design ahead coding with UX designer discussing mockup with the
dev UI on feasibility and design choices.
Holding sprint reviews every 2 weeks with playback.
Design and development flow for DOcloud
25
The experience-based approach aims to make each stage an offering that is
testable and has significant impact in the market, not just a bundle of
features.
On cloud first impression is particularly important.
Each delivery must be a complete experience
Sponsor users involvement during the
development is a key point in the design
thinking
Home page
Explore
Doc/Java/Java
API example
Java library IDE Java example
API key &
base URL
Get Started(Register)
Docloud
Onboarding
Get started
Get API kay &
base URL
IDE
Get Started Java example
Get API key &
base URL
IDE
Sample project
/ trucking
sample
IDE
Home page Get Started
OPL model
input and
output
API key &
base URL
Java Client
API
Java example
REST API
/REST
example
Create the job
Curl
commands
Create the jobGet resultsJob Status
REST API
References
doc
Dev center
homepage
Try it for Free (Register) DropSOlve
(Get API key
& base url)
Dev center
homepage
(Account 404)
Dev Center
homepage
Sample
project
IDE
User testing with the “thinking aloud” method is
a nice way to highlight usability issue and provide relevant
feedback for a cloud solution
How users get started with
DOcloud API ?
User1 User2
Design is never done
and the good news is that the cloud allows
continuous delivery
The cloud, a specific way to address the user
On cloud, users need ways to
contact the service,
Discuss questions,
be informed,
evaluate the service, …
It’s an important part of the
experience.
IBM Design Thinking approach
explained in 6 mn
https://www.youtube.com/watch?v=pXtN4y3O35M
Want to learn more?
The IBM Design web site
http://www.ibm.com/design/
Including the IBM design Language !
Credits / slide 2 : Photo Gilles d’Andrea / slide 12 : Illustrations inspired from Ariadna Font Llitjos
#bluemix
 Introduction à l’optimisation des applications – Domaines
d’application
 par Amélie Hocquette, IBM Decision Optimization on Cloud and Center - Program
Manager, IBM France Lab
 Design Thinking, concevoir une solution sur le Cloud
 par Sophie de Bonis, UX Designer pour Decision Optimization on cloud, IBM
France Lab
 Ecosystème social pour la communauté des développeurs
utilisateurs de Docloud
 Par Catherine Chat, Chef de projet DOcloud Communauté & API, Technical Team
Leader, IBM France Lab
 Présentation d'un service d'optimisation pour Bluemix
 parJulian Payne, STSM - Solutions Architect and Chief Architect, Optimization
Offerings
3
Agenda
DOcloud
Developer Community
UN ÉCOSYSTÈME COLLABORATIF POUR DENISE
Catherine Chat, Project Manager DOcloud API & Community
Denise
Application Developer
In one day Denise can extend her application
to invoke a solve service using an existing
model, in her chosen programming language,
without installing optim sw.
Un point d’entrée unique
• Par où commencer pour
avoir une clé pour jouer
avec l’API
• Explorer et tester l’API en
REST, Java et Python
• Obtenir du support et
réponses à mes questions
• Et plus encore…DOcloud Developer
Community
http://developer.ibm.com/
docloud/
Par où commencer ?
Explorer & Tester
Support & Réponses
Pour en savoir plus…
DOcloud News
http://developer.ibm.com/docloud/blog/
Blog des développeurs DOcloud !
DOcloud Developer Community
http://developer.ibm.com/docloud/
Point d’entrée des développeurs DOcloud !
#bluemix
 Introduction à l’optimisation des applications – Domaines
d’application
 par Amélie Hocquette, IBM Decision Optimization on Cloud and Center - Program
Manager, IBM France Lab
 Design Thinking, concevoir une solution sur le Cloud
 par Sophie de Bonis, UX Designer pour Decision Optimization on cloud, IBM
France Lab
 Ecosystème social pour la communauté des développeurs
utilisateurs de Docloud
 Par Catherine Chat, Chef de projet DOcloud Communauté & API, Technical Team
Leader, IBM France Lab
 Présentation d'un service d'optimisation pour Bluemix
 parJulian Payne, STSM - Solutions Architect and Chief Architect, Optimization
Offerings
5
Agenda
IBM Decision Optimization on Cloud
Using Decision Optimization in Bluemix
Julian Payne Architect IBM Optimization Products
Agenda
1. Introduction to the Decision Optimization Service
2. Creating an Optimization Model
3. Using the Decision Optimization REST API in a Bluemix Application
4. Overview of the Decision Optimization Service Architecture
Decision Optimization on Cloud
Paid Subscriptions (Decision Optimization on Cloud)
Solving Optimizations jobs by drag and drop
Agenda
1. Introduction to the Decision Optimization Service
2. Creating an Optimization Model
3. Using the Decision Optimization REST API in a Bluemix Application
4. Overview of the Decision Optimization Service Architecture
Creating Optimization Models (COS Community Edition)
Creating Optimization Models (Python IDE)
Creating Optimization Models (Python Notebook)
Agenda
1. Introduction to the Decision Optimization Service
2. Creating an Optimization Model
3. Using the Decision Optimization REST API in a Bluemix Application
4. Overview of the Decision Optimization Service Architecture
Learning about DOcloud in the Developer Center
Getting your API Key and Base URL
Simple REST API
.java
.js
…
.py
.cpp
• The REST API is simple
• HTTP URL to access resources (jobs, attachments)
• JSON data to control the service
• Input attachments (model, data) are streamed to DOcloud
• Output attachments (solution) are streamed back to the client
• The REST API is polyglot
• Can be directly used in many languages and platforms
• Predefined clients for Java and Python
DOcloud Servers
REST API (JSON)
Understanding the Integration Principles
DOcloud Servers
Benefits:
 Automate the execution of your optimization problems without deploying and
maintaining any of the optimization libraries
 Free up application resources and get solutions asynchronously
 Solve more demanding problems by using large configurations
Application,
models and data
Create a job, send the
model and data
Submit and monitor
the job
Get the results and
the logs
API
Discovering the REST API using the interactive Documentation
Using the JSON Format for Input Data
tuple spoke {
key string name;
int minDepTime; // Earliest departure time at spoke
int maxArrTime; // Latest arrival time at spoke
};
{spoke} Spokes = ...;
{string} SpokeIds = {s.name | s in Spokes};
spoke Spoke[SpokeIds] = [s.name : s | s in Spokes];
Truck.mod
{
"Parameters": {
"maxTrucks": 100,
"maxVolume": 5000
},
"Hubs": [
{ "name": "G" },
{ "name": "H" }
],
"Spokes": [
{ "name": "A",
"minDepTime": 360,
"maxArrTime": 1080 },
{ "name": "B",
"minDepTime": 400,
"maxArrTime": 1150 },
….
}
Input data in JSON
• JSON format replaces .dat for integration
• Easier to generate and parse
• Object property mapped to a tuple value
• Collection property mapped to a tuple sets
• Support of tuple values and tuple sets only
• Values (numbers, strings) must be added to tuple/tuple sets
• OPL arrays can be built by transforming tuple sets
• Easier to specify and exchange with SQL or NoSQL data
sources
Using the JSON Format for Output Data
….
// Number of trucks assigned to each route, for each truck type
tuple nbTrucksOnRouteRes {
key string spoke;
key string hub;
key string truckType;
int nbTruck;
}
{nbTrucksOnRouteRes} NbTrucksOnRouteRes =
{<r.spoke, r.hub, t, TruckOnRoute[r][t]> |
r in Routes, t in TruckTypeIds : TruckOnRoute[r][t] > 0};
Truck.mod
{
"NbTrucksOnRouteRes" : [ {
"spoke" : "A",
"hub" : "H",
"truckType" : "BigTruck",
"nbTruck" : 2
}, {
"spoke" : "B",
"hub" : "H",
"truckType" : "SmallTruck",
"nbTruck" : 1
}, ….
}
output data in JSON
•Post processing of tuple values and tuple sets must
be defined
•Tuple values and tuple sets are mapped to objects
and collections in the output JSON format
Trying the Java API for the First Time
// create the client
JobClient jobClient = JobClientFactory.createDefault(BASE_URL, APIKEY_CLIENTID);
// get the model and data
URL modFile = Application.class.getClassLoader().getResource(“truck.mod");
URL jsonFile = Application.class.getClassLoader().getResource(“data.json");
// build the job request
JobRequest request = jobClient.newRequest()
.input(“truck.mod", modFile)
.input(“data.json", jsonFile)
.output(new File("solution.json"))
.livelog(System.out)
.parameter(JobParameters.TIME_LIMIT, 3*60*1000)
.deleteOnCompletion(true)
.build();
// execute the request
JobExecutor executor = JobExecutorFactory.createDefault();
JobResponse response = executor.execute(request).get();
Green Truck Application Sample
https://github.com/IBMDecisionOptimization/DOcloud-GreenTruck-sample
Decision Optimization on Cloud as a user-defined service
•<plugin>
<groupId>org.cloudfoundry</groupId>
<artifactId>cf-maven-plugin</artifactId>
<executions>
<configuration>
<services>
<service>
<name>docloud</name>
<label>user-provided</label>
<userProvidedCredentials>
<url>${docloud.baseurl}</url>
<client_id>${docloud.apikey.clientid}</client_id>
</userProvidedCredentials>
</service>
. . .
•VCAP_SERVICES:
•{
• "user-provided": [
• {
• "name": "docloud",
• "label": "user-provided",
• "credentials": {
• "client_id": "api_df8e07fb-fbf2-4366-b593-xxxxxxxxxxxx",
• "url": "https://api-oaas.docloud.ibmcloud.com/job_manager/rest/v1/"
• }
• }
• ]
•}
Note: Decision Optimization is not yet in the Bluemix Service Catalog
Green Truck Application Sample
MongoDB
IBM Liberty
Server
DOcloud Servers
Cloud Application
Web Clients
1 Access the Input
Data 3 Create a job, send
the model and data
from MongoDB
4 Notify the server of
the job completion
using a Webhook
5 Get the solution and
store it in MongoDB
6 Notify the client with
WebSocket and
display the solution
•Architecture:
•MongoDB to store input data and solution as JSON documents
•Server based on lightweight IBM Liberty JEE server
•IBM Bluemix to deploy the server on the Cloud
•Webhook + WebSocket to notify the clients
•IBM Rave to display the solution diagrams
2 Push a button to
optimize
Deploying to the Cloud using IBM Bluemix
Deployable using supplied build file: mvn clean deploy
Agenda
1. Introduction to the Decision Optimization Service
2. Creating an Optimization Model
3. Using the Decision Optimization REST API in a Bluemix Application
4. Overview of the Decision Optimization Service Architecture
Job Workflow High Level Overview
Job Management
Subscription
Database
&
Object Storage
Authentication
Subscription(s)
Drop Solve
Oscar Model + Data
Results
Model + Data
Message
Queue
Job Processors
Results + logs
Scaling the (stateless) Applications
•You can specify in Bluemix how many instances of the application to run:
•Bluemix will provide the router and dispatch calls across the instances, in addition
instances are monitored by Bluemix and started if they crash
•The application should be stateless, persistent users session can be shared across
instances using the IBM Session Cache service:
Auto-scaling applications (Bluemix Service)
• Can scale instances up or down based on workload or
custom metrics:
Other Bluemix Services
Job Processors
Job Processors Job Processors Job Processors Job Processors
...VM
6c/28GB
VM
Trial
VM
10c/60GB
BM
14c/252GB
Deployment – continuous build – continuous delivery
Thank you
Useful links
•IBM Decision Optimization on Cloud
http://www.ibm.com/software/analytics/docloud
•IBM Decision Optimization Developer Community
https://developer.ibm.com/docloud/
•IBM CPLEX Studio Community Edition
http://www.ibm.com/software/websphere/products/optimization/cplex-studio-
community-edition
•IBM Decision Optimization Samples
https://ibmdecisionoptimization.github.io
•IBM Decision Optimization Github
https://github.com/IBMDecisionOptimization
•Data Scientist Workbench
https://datascientistworkbench.com
•The CPO file format
http://ibm.biz/cpofile
•The Twelve-Factor App
http://12factor.net
#bluemix
 Formez-vous avec le MOOC Bluemix
 Nouveautés sur l’offre Etudiants/Professeurs
8
Clôture du meetup
#bluemixhttp://oc.cm/1OvJxwT
#bluemix
Ecrire à : Cloud_Ecosystem@fr.ibm.com, en précisant votre nom, prénom
et adresse email.
 Enseignant/personnel encadrant : code promo 12 mois (renouv.)
 Etudiant : un code promo 6 mois (renouvelable)
Comment s'inscrire à Bluemix et utiliser son code promo ?
 créer un compte Bluemix (30 jours de gratuité) :
https://ibm.biz/Meetup_Paris
 Saisir le code avant la fin des 30 jours afin de prolonger la période de
12 mois (professeurs) ou 6 mois (étudiants)
Aide pour la saisie du code promo :
 Dans Bluemix, cliquez sur le nombre de jours gratuits restant dans le coin supérieur droit et
cliquez ensuite sur Promo Code.
 Copiez/collez le code et cliquez sur Apply. Rafraichissez la page afin de mettre àjour l'affichage
du nouveau nombre de jours gratuits.
Nouveautés sur l’offre Etudiants/Professeurs
Nouveau : sont également concernés par cette offre
• Club Informatiques
• Coding Schools
Et bien sur…
Essayez DOcloud pendant 30 jours gratuitement !
http://ibm.biz/trydocloud
Merci !
8989

Weitere ähnliche Inhalte

Was ist angesagt?

Learnings from founding a Computer Vision startup: Chapter 8 Software Enginee...
Learnings from founding a Computer Vision startup: Chapter 8 Software Enginee...Learnings from founding a Computer Vision startup: Chapter 8 Software Enginee...
Learnings from founding a Computer Vision startup: Chapter 8 Software Enginee...
Till Quack
 

Was ist angesagt? (10)

How to Achieve Product-Market Fit with Rapid Prototyping and User Testing by ...
How to Achieve Product-Market Fit with Rapid Prototyping and User Testing by ...How to Achieve Product-Market Fit with Rapid Prototyping and User Testing by ...
How to Achieve Product-Market Fit with Rapid Prototyping and User Testing by ...
 
Boaz Rossano - New UX Portfolio samples-24-07-16
Boaz Rossano - New UX Portfolio samples-24-07-16Boaz Rossano - New UX Portfolio samples-24-07-16
Boaz Rossano - New UX Portfolio samples-24-07-16
 
iAxil Lunch Talk - Lean UX
iAxil Lunch Talk - Lean UXiAxil Lunch Talk - Lean UX
iAxil Lunch Talk - Lean UX
 
Learnings from founding a Computer Vision startup: Chapter 8 Software Enginee...
Learnings from founding a Computer Vision startup: Chapter 8 Software Enginee...Learnings from founding a Computer Vision startup: Chapter 8 Software Enginee...
Learnings from founding a Computer Vision startup: Chapter 8 Software Enginee...
 
Designing Connected Products - Web Directions 2015 Sydney
Designing Connected Products - Web Directions 2015 SydneyDesigning Connected Products - Web Directions 2015 Sydney
Designing Connected Products - Web Directions 2015 Sydney
 
IoT Meetup Stockholm - Designing Connected Products
IoT Meetup Stockholm - Designing Connected ProductsIoT Meetup Stockholm - Designing Connected Products
IoT Meetup Stockholm - Designing Connected Products
 
Prototyping Experiences for Connected Products
Prototyping Experiences for Connected ProductsPrototyping Experiences for Connected Products
Prototyping Experiences for Connected Products
 
How to Build Great Products by Dan Olsen
How to Build Great Products by Dan OlsenHow to Build Great Products by Dan Olsen
How to Build Great Products by Dan Olsen
 
Ipad seminar 20110608
Ipad seminar 20110608Ipad seminar 20110608
Ipad seminar 20110608
 
Sandeep-portfolio-2016
Sandeep-portfolio-2016Sandeep-portfolio-2016
Sandeep-portfolio-2016
 

Ähnlich wie Bluemix Paris Meetup - Optimization on Cloud (DOcloud) - 14 octobre 2015

Innovation Enablers: Culture, Community & Code
Innovation Enablers: Culture, Community & Code Innovation Enablers: Culture, Community & Code
Innovation Enablers: Culture, Community & Code
Angel Diaz
 
Aamiaisseminaari sosiaalisen median palveluista
Aamiaisseminaari sosiaalisen median palveluistaAamiaisseminaari sosiaalisen median palveluista
Aamiaisseminaari sosiaalisen median palveluista
Exove
 
OpenNTF Updates 03/05/13
OpenNTF Updates 03/05/13OpenNTF Updates 03/05/13
OpenNTF Updates 03/05/13
Niklas Heidloff
 

Ähnlich wie Bluemix Paris Meetup - Optimization on Cloud (DOcloud) - 14 octobre 2015 (20)

Serverless projects at Myplanet
Serverless projects at MyplanetServerless projects at Myplanet
Serverless projects at Myplanet
 
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa ClaraAdobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
 
Going open source with small teams
Going open source with small teamsGoing open source with small teams
Going open source with small teams
 
Tamk - ohjelmistokehitys-seminaari 9.10
Tamk - ohjelmistokehitys-seminaari 9.10Tamk - ohjelmistokehitys-seminaari 9.10
Tamk - ohjelmistokehitys-seminaari 9.10
 
Design Thinking, Agile, DevOps - fuel the innovation delivery
Design Thinking, Agile, DevOps  - fuel the innovation deliveryDesign Thinking, Agile, DevOps  - fuel the innovation delivery
Design Thinking, Agile, DevOps - fuel the innovation delivery
 
How Azure helps to build better business processes and customer experiences w...
How Azure helps to build better business processes and customer experiences w...How Azure helps to build better business processes and customer experiences w...
How Azure helps to build better business processes and customer experiences w...
 
Developer Experience
Developer ExperienceDeveloper Experience
Developer Experience
 
Innovation Enablers: Culture, Community & Code
Innovation Enablers: Culture, Community & Code Innovation Enablers: Culture, Community & Code
Innovation Enablers: Culture, Community & Code
 
What can DesignOps do for you? by Carol Smith at TLMUX in Montreal
What can DesignOps do for you? by Carol Smith at TLMUX in MontrealWhat can DesignOps do for you? by Carol Smith at TLMUX in Montreal
What can DesignOps do for you? by Carol Smith at TLMUX in Montreal
 
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
 
Prototyping Approaches and Outcomes
Prototyping Approaches and OutcomesPrototyping Approaches and Outcomes
Prototyping Approaches and Outcomes
 
IxDA October Event: Prototyping Approaches and Outcomes
IxDA October Event: Prototyping Approaches and OutcomesIxDA October Event: Prototyping Approaches and Outcomes
IxDA October Event: Prototyping Approaches and Outcomes
 
The Need for Speed
The Need for SpeedThe Need for Speed
The Need for Speed
 
The Language of Application Architecture
The Language of Application ArchitectureThe Language of Application Architecture
The Language of Application Architecture
 
Bluemix and watson overview - Rencontres IBM et l'Ecole Polytechnique - 3 nov...
Bluemix and watson overview - Rencontres IBM et l'Ecole Polytechnique - 3 nov...Bluemix and watson overview - Rencontres IBM et l'Ecole Polytechnique - 3 nov...
Bluemix and watson overview - Rencontres IBM et l'Ecole Polytechnique - 3 nov...
 
Building Generative AI-infused apps: what's possible and how to start
Building Generative AI-infused apps: what's possible and how to startBuilding Generative AI-infused apps: what's possible and how to start
Building Generative AI-infused apps: what's possible and how to start
 
IoT Product Design and Prototyping
IoT Product Design and PrototypingIoT Product Design and Prototyping
IoT Product Design and Prototyping
 
Aamiaisseminaari sosiaalisen median palveluista
Aamiaisseminaari sosiaalisen median palveluistaAamiaisseminaari sosiaalisen median palveluista
Aamiaisseminaari sosiaalisen median palveluista
 
Microsoft Teams and Planner Global Azure Bootcamp
Microsoft Teams and Planner Global Azure BootcampMicrosoft Teams and Planner Global Azure Bootcamp
Microsoft Teams and Planner Global Azure Bootcamp
 
OpenNTF Updates 03/05/13
OpenNTF Updates 03/05/13OpenNTF Updates 03/05/13
OpenNTF Updates 03/05/13
 

Mehr von IBM France Lab

20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
IBM France Lab
 
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
IBM France Lab
 
IBM Cloud Bordeaux Meetup - 20190325 - Software Factory
IBM Cloud Bordeaux Meetup - 20190325 - Software FactoryIBM Cloud Bordeaux Meetup - 20190325 - Software Factory
IBM Cloud Bordeaux Meetup - 20190325 - Software Factory
IBM France Lab
 

Mehr von IBM France Lab (20)

20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes
20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes
20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes
 
20200114 - IBM Cloud Paris Meetup - DevOps
20200114 - IBM Cloud Paris Meetup - DevOps20200114 - IBM Cloud Paris Meetup - DevOps
20200114 - IBM Cloud Paris Meetup - DevOps
 
20200128 - Meetup Nice Côte d'Azur - Agile Mindset
20200128 - Meetup Nice Côte d'Azur - Agile Mindset20200128 - Meetup Nice Côte d'Azur - Agile Mindset
20200128 - Meetup Nice Côte d'Azur - Agile Mindset
 
Défis de l'IA : droits, devoirs, enjeux économiques et éthiques
Défis de l'IA : droits, devoirs, enjeux économiques et éthiquesDéfis de l'IA : droits, devoirs, enjeux économiques et éthiques
Défis de l'IA : droits, devoirs, enjeux économiques et éthiques
 
Meetup ibm abakus banque postale
Meetup ibm abakus banque postaleMeetup ibm abakus banque postale
Meetup ibm abakus banque postale
 
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
 
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
 
IBM Watson IOT - Acoustic or Visual Insights
IBM Watson IOT - Acoustic or Visual InsightsIBM Watson IOT - Acoustic or Visual Insights
IBM Watson IOT - Acoustic or Visual Insights
 
Retour expérience Track & Trace - IBM using Sigfox.
Retour expérience Track & Trace - IBM using Sigfox.Retour expérience Track & Trace - IBM using Sigfox.
Retour expérience Track & Trace - IBM using Sigfox.
 
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
 
IBM Cloud Paris Meetup - 20190520 - IA & Power
IBM Cloud Paris Meetup - 20190520 - IA & PowerIBM Cloud Paris Meetup - 20190520 - IA & Power
IBM Cloud Paris Meetup - 20190520 - IA & Power
 
IBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM Cloud Côte d'Azur Meetup - 20190328 - OptimisationIBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
 
IBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM Cloud Côte d'Azur Meetup - 20190328 - OptimisationIBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
 
IBM Cloud Bordeaux Meetup - 20190325 - Software Factory
IBM Cloud Bordeaux Meetup - 20190325 - Software FactoryIBM Cloud Bordeaux Meetup - 20190325 - Software Factory
IBM Cloud Bordeaux Meetup - 20190325 - Software Factory
 
IBM Cloud Paris Meetup - 20190129 - Assima
IBM Cloud Paris Meetup - 20190129 - AssimaIBM Cloud Paris Meetup - 20190129 - Assima
IBM Cloud Paris Meetup - 20190129 - Assima
 
IBM Cloud Paris Meetup - 20190129 - Myrtea
IBM Cloud Paris Meetup - 20190129 - MyrteaIBM Cloud Paris Meetup - 20190129 - Myrtea
IBM Cloud Paris Meetup - 20190129 - Myrtea
 
IBM Cloud Paris Meetup - 20181016 - L'agilité à l'échelle
IBM Cloud Paris Meetup - 20181016 - L'agilité à l'échelleIBM Cloud Paris Meetup - 20181016 - L'agilité à l'échelle
IBM Cloud Paris Meetup - 20181016 - L'agilité à l'échelle
 
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes & Rule-based Sm...
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes &  Rule-based Sm...IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes &  Rule-based Sm...
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes & Rule-based Sm...
 
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger WorkshopIBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
 
IBM Cloud Paris Meetup - 20180911 - Common Ledger for Public Administration
IBM Cloud Paris Meetup - 20180911 - Common Ledger for Public AdministrationIBM Cloud Paris Meetup - 20180911 - Common Ledger for Public Administration
IBM Cloud Paris Meetup - 20180911 - Common Ledger for Public Administration
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Bluemix Paris Meetup - Optimization on Cloud (DOcloud) - 14 octobre 2015

  • 1. Organisé par IBM France Lab Optimization on Cloud with Bluemix 14 octobre 2015 Organisateur : Yves Le Cléach, @ylecleach Meetup #11 Hébergé par La Pépinière 27, startup incubator 1
  • 2. #bluemix  Introduction à l’optimisation des applications – Domaines d’application  par Amélie Hocquette, IBM Decision Optimization on Cloud and Center - Program Manager, IBM France Lab  Design Thinking, concevoir une solution sur le Cloud  par Sophie de Bonis, UX Designer pour Decision Optimization on cloud, IBM France Lab  Ecosystème social pour la communauté des développeurs utilisateurs de Docloud  Par Catherine Chat, Chef de projet DOcloud Communauté & API, Technical Team Leader, IBM France Lab  Présentation d'un service d'optimisation pour Bluemix  parJulian Payne, STSM - Solutions Architect and Chief Architect, Optimization Offerings 2 Agenda
  • 3. Pour créer un compte Bluemix, c’est simple et gratuit 30 jours sans CB! 1. Entrer cette URL : http://ibm.biz/Meetup_Paris 2. Compléter les informations (email, password) 3. Valider votre compte (consulter votre boîte mail) 4. Se Connecter sur bluemix.net (email+password) 3
  • 4. #bluemix  Articles, Slides, Formation, et des Resources  Site WordPress déployé dans Bluemix ! http://meetup-paris.mybluemix.net/ Site Web du Bluemix Paris Meetup
  • 5. #bluemix  Introduction à l’optimisation des applications – Domaines d’application  par Amélie Hocquette, IBM Decision Optimization on Cloud and Center - Program Manager, IBM France Lab  Design Thinking, concevoir une solution sur le Cloud  par Sophie de Bonis, UX Designer pour Decision Optimization on cloud, IBM France Lab  Ecosystème social pour la communauté des développeurs utilisateurs de Docloud  Par Catherine Chat, Chef de projet DOcloud Communauté & API, Technical Team Leader, IBM France Lab  Présentation d'un service d'optimisation pour Bluemix  parJulian Payne, STSM - Solutions Architect and Chief Architect, Optimization Offerings 5 Agenda
  • 7. Let’s play a game! Build the most expensive but healthy and tasty burger ! • At least one, and no more than 5 items • Use only whole ingredients (no half cheese!) • Must contains : o Less then 3000 mg of sodium o Less than 150 grams of fat o Less than 3000 calories • Keep : o Lettuce and ketchup the same o Pickles and tomatoes the same
  • 8. Solving a Business Problem via Modeling & Optimization Business Problem Mathematical Model Solving Engine Supply Chain Optimisation Programme RASA Benefit Realisation Weekly Summary -35 -25 -15 -5 5 15 25 35 2008Jan* Feb* Mar* Apr* w19 w20 w21 w22 w23 w24 w25 w26 w27 w28 w29 w30 w31 w32 w33 w34 w35 w36 w37 w38 w39 w40 w41 w42 w43 w44 w45 w46 w47 w48 w49 w50 w51 w52 ContributionRelativetoApr08QS61Baseline(£k) Realised Benefit Missed Opportunity Actual ≠ QS61 or Optimal Business Results min cTx s.t. Ax  b x integer x1 = 3, x2 = 0, ... Solution to Mathematical Model OR Specialist Business Expert Evaluation  What are the key decisions?  What are the constraints?  What are the goals? Modeling is not data driven Linear programming Mixed Integer Programming Constraint programming
  • 9. Making Essential Decisions Better & Faster How to best allocateaircrafts and crews? Inventory cost vs.customer satisfaction? Risk vs.potential reward? Cost vs.carbon emission? What to build,whereand when? IBM Decision Optimization helps businesses • Solve combinatorial problems that cannot be solved efficiently otherwise. • Create the best possible plans. • Explore alternatives and understand trade-off. • Respond to changes in business operations. • Get very high ROI.
  • 11. Platform (DOC) Optimization Application Development Tools Data Server Optim. Server CPLEX Concert API Optimization Engines Technologies (COS) OPL CPLEX Optim. CP Optim. Decision Optimization on Cloud What? • Solve on cloud • New : Self- serve • New : PAYG How? • Bluemix + Softlayer • Smart Cloud Exchange • DevOps • 80% homemade Decision Optimization Portfolio Future contribution to revenue.
  • 12. #bluemix  Introduction à l’optimisation des applications – Domaines d’application  par Amélie Hocquette, IBM Decision Optimization on Cloud and Center - Program Manager, IBM France Lab  Design Thinking, concevoir une solution sur le Cloud  par Sophie de Bonis, UX Designer pour Decision Optimization on cloud, IBM France Lab  Ecosystème social pour la communauté des développeurs utilisateurs de Docloud  Par Catherine Chat, Chef de projet DOcloud Communauté & API, Technical Team Leader, IBM France Lab  Présentation d'un service d'optimisation pour Bluemix  parJulian Payne, STSM - Solutions Architect and Chief Architect, Optimization Offerings 1 Agenda
  • 13. IBM Design Thinking for Decision Optimization on Cloud by Sophie de Bonis, UX Designer, IBM France Lab
  • 15. “Good design is good business.” Thomas Watson, IBM Chief Executive Officer, 1973
  • 16. IBM Design Thinking is a framework for delivering great experiences for our users. Codified by IDEO cofounders David Kelley and Bill Moggridge Offers a new way to think about problems and their solutions Grounded in empathy, prototyping and radical collaboration The Stanford d.school is the intellectual home of design thinking
  • 17. “Designers […] don’t have to search for a solution until they have determined the real problem, and even then, instead of solving that problem, they stop to consider a wide range of potential solutions. Only then will they finally converge upon their proposal. This process is called “Design Thinking”. Don Norman “Rethinking Design Thinking” Core 77, 19 March 2013
  • 18. “Designers […] don’t have to search for a solution until they have determined the real problem, and even then, instead of solving that problem, they stop to consider a wide range of potential solutions. Only then will they finally converge upon their proposal. This process is called “Design Thinking”. Don Norman “Rethinking Design Thinking” Core 77, 19 March 2013
  • 19. “Designers […] don’t have to search for a solution until they have determined the real problem, and even then, instead of solving that problem, they stop to consider a wide range of potential solutions. Only then will they finally converge upon their proposal. This process is called “Design Thinking”. Don Norman “Rethinking Design Thinking” Core 77, 19 March 2013
  • 20. During 3 days, Decision optimization Design camp enabled the cross functional product team envision the user experience and define 3 hills Experience map Empathy map Hills definitionMockups
  • 21. • Oscar works in the Operations Research department • Oscar develops OPL model that improves delivery times, while reducing costs and emissions • Denise works in the IT department. • She needs to integrate Oscar’s model in an application using DOcloud services • She needs to develop a quick prototype and then move the solution to the Cloud Oscar Operations Research Expert Denise Application Developer Decision Optimization on cloud Personas
  • 22. In one day Denise can extend her application to invoke a solve service using an existing model, in her chosen programming language, without installing optim sw. Hill
  • 23. Playback with mockups help to share the vision with the all team members and deliver the experience not just the design
  • 24. Creating epics (1 per hill) then stories and tasks…, using personas systematically and including stories for the UI design. Design ahead coding with UX designer discussing mockup with the dev UI on feasibility and design choices. Holding sprint reviews every 2 weeks with playback. Design and development flow for DOcloud
  • 25. 25 The experience-based approach aims to make each stage an offering that is testable and has significant impact in the market, not just a bundle of features. On cloud first impression is particularly important. Each delivery must be a complete experience
  • 26. Sponsor users involvement during the development is a key point in the design thinking Home page Explore Doc/Java/Java API example Java library IDE Java example API key & base URL Get Started(Register) Docloud Onboarding Get started Get API kay & base URL IDE Get Started Java example Get API key & base URL IDE Sample project / trucking sample IDE Home page Get Started OPL model input and output API key & base URL Java Client API Java example REST API /REST example Create the job Curl commands Create the jobGet resultsJob Status REST API References doc Dev center homepage Try it for Free (Register) DropSOlve (Get API key & base url) Dev center homepage (Account 404) Dev Center homepage Sample project IDE User testing with the “thinking aloud” method is a nice way to highlight usability issue and provide relevant feedback for a cloud solution How users get started with DOcloud API ? User1 User2
  • 27. Design is never done and the good news is that the cloud allows continuous delivery
  • 28. The cloud, a specific way to address the user On cloud, users need ways to contact the service, Discuss questions, be informed, evaluate the service, … It’s an important part of the experience.
  • 29. IBM Design Thinking approach explained in 6 mn https://www.youtube.com/watch?v=pXtN4y3O35M Want to learn more? The IBM Design web site http://www.ibm.com/design/ Including the IBM design Language ! Credits / slide 2 : Photo Gilles d’Andrea / slide 12 : Illustrations inspired from Ariadna Font Llitjos
  • 30. #bluemix  Introduction à l’optimisation des applications – Domaines d’application  par Amélie Hocquette, IBM Decision Optimization on Cloud and Center - Program Manager, IBM France Lab  Design Thinking, concevoir une solution sur le Cloud  par Sophie de Bonis, UX Designer pour Decision Optimization on cloud, IBM France Lab  Ecosystème social pour la communauté des développeurs utilisateurs de Docloud  Par Catherine Chat, Chef de projet DOcloud Communauté & API, Technical Team Leader, IBM France Lab  Présentation d'un service d'optimisation pour Bluemix  parJulian Payne, STSM - Solutions Architect and Chief Architect, Optimization Offerings 3 Agenda
  • 31. DOcloud Developer Community UN ÉCOSYSTÈME COLLABORATIF POUR DENISE Catherine Chat, Project Manager DOcloud API & Community
  • 32. Denise Application Developer In one day Denise can extend her application to invoke a solve service using an existing model, in her chosen programming language, without installing optim sw.
  • 33. Un point d’entrée unique • Par où commencer pour avoir une clé pour jouer avec l’API • Explorer et tester l’API en REST, Java et Python • Obtenir du support et réponses à mes questions • Et plus encore…DOcloud Developer Community http://developer.ibm.com/ docloud/
  • 35.
  • 36.
  • 37.
  • 38.
  • 40.
  • 41.
  • 42.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52. Pour en savoir plus… DOcloud News http://developer.ibm.com/docloud/blog/ Blog des développeurs DOcloud ! DOcloud Developer Community http://developer.ibm.com/docloud/ Point d’entrée des développeurs DOcloud !
  • 53. #bluemix  Introduction à l’optimisation des applications – Domaines d’application  par Amélie Hocquette, IBM Decision Optimization on Cloud and Center - Program Manager, IBM France Lab  Design Thinking, concevoir une solution sur le Cloud  par Sophie de Bonis, UX Designer pour Decision Optimization on cloud, IBM France Lab  Ecosystème social pour la communauté des développeurs utilisateurs de Docloud  Par Catherine Chat, Chef de projet DOcloud Communauté & API, Technical Team Leader, IBM France Lab  Présentation d'un service d'optimisation pour Bluemix  parJulian Payne, STSM - Solutions Architect and Chief Architect, Optimization Offerings 5 Agenda
  • 54. IBM Decision Optimization on Cloud Using Decision Optimization in Bluemix Julian Payne Architect IBM Optimization Products
  • 55. Agenda 1. Introduction to the Decision Optimization Service 2. Creating an Optimization Model 3. Using the Decision Optimization REST API in a Bluemix Application 4. Overview of the Decision Optimization Service Architecture
  • 57. Paid Subscriptions (Decision Optimization on Cloud)
  • 58. Solving Optimizations jobs by drag and drop
  • 59. Agenda 1. Introduction to the Decision Optimization Service 2. Creating an Optimization Model 3. Using the Decision Optimization REST API in a Bluemix Application 4. Overview of the Decision Optimization Service Architecture
  • 60. Creating Optimization Models (COS Community Edition)
  • 62. Creating Optimization Models (Python Notebook)
  • 63. Agenda 1. Introduction to the Decision Optimization Service 2. Creating an Optimization Model 3. Using the Decision Optimization REST API in a Bluemix Application 4. Overview of the Decision Optimization Service Architecture
  • 64. Learning about DOcloud in the Developer Center
  • 65. Getting your API Key and Base URL
  • 66. Simple REST API .java .js … .py .cpp • The REST API is simple • HTTP URL to access resources (jobs, attachments) • JSON data to control the service • Input attachments (model, data) are streamed to DOcloud • Output attachments (solution) are streamed back to the client • The REST API is polyglot • Can be directly used in many languages and platforms • Predefined clients for Java and Python DOcloud Servers REST API (JSON)
  • 67. Understanding the Integration Principles DOcloud Servers Benefits:  Automate the execution of your optimization problems without deploying and maintaining any of the optimization libraries  Free up application resources and get solutions asynchronously  Solve more demanding problems by using large configurations Application, models and data Create a job, send the model and data Submit and monitor the job Get the results and the logs API
  • 68. Discovering the REST API using the interactive Documentation
  • 69. Using the JSON Format for Input Data tuple spoke { key string name; int minDepTime; // Earliest departure time at spoke int maxArrTime; // Latest arrival time at spoke }; {spoke} Spokes = ...; {string} SpokeIds = {s.name | s in Spokes}; spoke Spoke[SpokeIds] = [s.name : s | s in Spokes]; Truck.mod { "Parameters": { "maxTrucks": 100, "maxVolume": 5000 }, "Hubs": [ { "name": "G" }, { "name": "H" } ], "Spokes": [ { "name": "A", "minDepTime": 360, "maxArrTime": 1080 }, { "name": "B", "minDepTime": 400, "maxArrTime": 1150 }, …. } Input data in JSON • JSON format replaces .dat for integration • Easier to generate and parse • Object property mapped to a tuple value • Collection property mapped to a tuple sets • Support of tuple values and tuple sets only • Values (numbers, strings) must be added to tuple/tuple sets • OPL arrays can be built by transforming tuple sets • Easier to specify and exchange with SQL or NoSQL data sources
  • 70. Using the JSON Format for Output Data …. // Number of trucks assigned to each route, for each truck type tuple nbTrucksOnRouteRes { key string spoke; key string hub; key string truckType; int nbTruck; } {nbTrucksOnRouteRes} NbTrucksOnRouteRes = {<r.spoke, r.hub, t, TruckOnRoute[r][t]> | r in Routes, t in TruckTypeIds : TruckOnRoute[r][t] > 0}; Truck.mod { "NbTrucksOnRouteRes" : [ { "spoke" : "A", "hub" : "H", "truckType" : "BigTruck", "nbTruck" : 2 }, { "spoke" : "B", "hub" : "H", "truckType" : "SmallTruck", "nbTruck" : 1 }, …. } output data in JSON •Post processing of tuple values and tuple sets must be defined •Tuple values and tuple sets are mapped to objects and collections in the output JSON format
  • 71. Trying the Java API for the First Time // create the client JobClient jobClient = JobClientFactory.createDefault(BASE_URL, APIKEY_CLIENTID); // get the model and data URL modFile = Application.class.getClassLoader().getResource(“truck.mod"); URL jsonFile = Application.class.getClassLoader().getResource(“data.json"); // build the job request JobRequest request = jobClient.newRequest() .input(“truck.mod", modFile) .input(“data.json", jsonFile) .output(new File("solution.json")) .livelog(System.out) .parameter(JobParameters.TIME_LIMIT, 3*60*1000) .deleteOnCompletion(true) .build(); // execute the request JobExecutor executor = JobExecutorFactory.createDefault(); JobResponse response = executor.execute(request).get();
  • 72. Green Truck Application Sample https://github.com/IBMDecisionOptimization/DOcloud-GreenTruck-sample
  • 73. Decision Optimization on Cloud as a user-defined service •<plugin> <groupId>org.cloudfoundry</groupId> <artifactId>cf-maven-plugin</artifactId> <executions> <configuration> <services> <service> <name>docloud</name> <label>user-provided</label> <userProvidedCredentials> <url>${docloud.baseurl}</url> <client_id>${docloud.apikey.clientid}</client_id> </userProvidedCredentials> </service> . . . •VCAP_SERVICES: •{ • "user-provided": [ • { • "name": "docloud", • "label": "user-provided", • "credentials": { • "client_id": "api_df8e07fb-fbf2-4366-b593-xxxxxxxxxxxx", • "url": "https://api-oaas.docloud.ibmcloud.com/job_manager/rest/v1/" • } • } • ] •} Note: Decision Optimization is not yet in the Bluemix Service Catalog
  • 74. Green Truck Application Sample MongoDB IBM Liberty Server DOcloud Servers Cloud Application Web Clients 1 Access the Input Data 3 Create a job, send the model and data from MongoDB 4 Notify the server of the job completion using a Webhook 5 Get the solution and store it in MongoDB 6 Notify the client with WebSocket and display the solution •Architecture: •MongoDB to store input data and solution as JSON documents •Server based on lightweight IBM Liberty JEE server •IBM Bluemix to deploy the server on the Cloud •Webhook + WebSocket to notify the clients •IBM Rave to display the solution diagrams 2 Push a button to optimize
  • 75. Deploying to the Cloud using IBM Bluemix Deployable using supplied build file: mvn clean deploy
  • 76. Agenda 1. Introduction to the Decision Optimization Service 2. Creating an Optimization Model 3. Using the Decision Optimization REST API in a Bluemix Application 4. Overview of the Decision Optimization Service Architecture
  • 77. Job Workflow High Level Overview Job Management Subscription Database & Object Storage Authentication Subscription(s) Drop Solve Oscar Model + Data Results Model + Data Message Queue Job Processors Results + logs
  • 78. Scaling the (stateless) Applications •You can specify in Bluemix how many instances of the application to run: •Bluemix will provide the router and dispatch calls across the instances, in addition instances are monitored by Bluemix and started if they crash •The application should be stateless, persistent users session can be shared across instances using the IBM Session Cache service:
  • 79. Auto-scaling applications (Bluemix Service) • Can scale instances up or down based on workload or custom metrics:
  • 81. Job Processors Job Processors Job Processors Job Processors Job Processors ...VM 6c/28GB VM Trial VM 10c/60GB BM 14c/252GB
  • 82. Deployment – continuous build – continuous delivery
  • 84. Useful links •IBM Decision Optimization on Cloud http://www.ibm.com/software/analytics/docloud •IBM Decision Optimization Developer Community https://developer.ibm.com/docloud/ •IBM CPLEX Studio Community Edition http://www.ibm.com/software/websphere/products/optimization/cplex-studio- community-edition •IBM Decision Optimization Samples https://ibmdecisionoptimization.github.io •IBM Decision Optimization Github https://github.com/IBMDecisionOptimization •Data Scientist Workbench https://datascientistworkbench.com •The CPO file format http://ibm.biz/cpofile •The Twelve-Factor App http://12factor.net
  • 85. #bluemix  Formez-vous avec le MOOC Bluemix  Nouveautés sur l’offre Etudiants/Professeurs 8 Clôture du meetup
  • 87. #bluemix Ecrire à : Cloud_Ecosystem@fr.ibm.com, en précisant votre nom, prénom et adresse email.  Enseignant/personnel encadrant : code promo 12 mois (renouv.)  Etudiant : un code promo 6 mois (renouvelable) Comment s'inscrire à Bluemix et utiliser son code promo ?  créer un compte Bluemix (30 jours de gratuité) : https://ibm.biz/Meetup_Paris  Saisir le code avant la fin des 30 jours afin de prolonger la période de 12 mois (professeurs) ou 6 mois (étudiants) Aide pour la saisie du code promo :  Dans Bluemix, cliquez sur le nombre de jours gratuits restant dans le coin supérieur droit et cliquez ensuite sur Promo Code.  Copiez/collez le code et cliquez sur Apply. Rafraichissez la page afin de mettre àjour l'affichage du nouveau nombre de jours gratuits. Nouveautés sur l’offre Etudiants/Professeurs Nouveau : sont également concernés par cette offre • Club Informatiques • Coding Schools
  • 88. Et bien sur… Essayez DOcloud pendant 30 jours gratuitement ! http://ibm.biz/trydocloud