IBM Bluemix™ Architecture & Deep Dive

47
Meetup.com/Bluemix Meetup.com/CloudFoundry IBM Bluemix - Architecture and Deep Dive Animesh Singh @animeshsingh Register now! bluemix.net

description

Bluemix Architecture and deep dive

Transcript of IBM Bluemix™ Architecture & Deep Dive

Page 1: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

IBM Bluemix - Architecture and Deep Dive!Animesh Singh @animeshsingh

Register now! bluemix.net !

Page 2: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Meetup.com/Bluemix Meetup.com/CloudFoundry!July 23rd, IBM North San Jose , Room # 1066 6:30 PM!Live streaming URL: https://www.youtube.com/watch?v=dzOrFeqHeuY !!

BlueMix Sessions!§  IBM Bluemix – Architecture and Deep Dive (Including DevOps) !§  3rd Party Services in Bluemix ( e.g. Twilio)!§  Mobile Services in Bluemix (e.g. PUSH Notification etc)!§  Developing in a team based environment using Jazz Hub and Bluemix!!Questions and Answers session!!

Cloud Foundry Sessions !(Examples of work IBM is driving in the community) §  Performance Acceptance Tests (PAT)!§  Cloud Foundry Internationalization work (i18n)!!!!!

Bluemix and Cloud Foundry Meetup - Agenda

Page 3: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

The app revolution Apps are everywhere The quantity and usefulness of web and mobile apps has led to an “app revolution” among consumers and businesses alike.

Experience matters Customers and employees now expect a delightful and seamless experience across all interactions with a business.

Cloud makes it possible Apps today can be stitched together quickly with pre-built assets. Cloud makes the API economy possible.

Fundamentally changing the way we interact with technology.

Page 4: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

It starts with a line of code.!

Page 5: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Product of IBM Design

Page 6: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

OAuth  

OSLC! Infrastructure!as a Service!

Platform!as a Service!

Software!as a Service!

API !economy!

Cloud!operating!

environment!

Software-!defined!

environment!

TOSCA

http://www.ibm.com/developerworks/cloud/library/cl-open-architecture/

Cloud and Open Source technologies are driving the App revolution

At all tiers, IBM is committed to building its cloud on an open cloud architecture

Page 7: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

§  IBM initiative to develop a Platform as a Services offering !

§  IBM and partner cloud services!

§  Integrated DevOps with both Browser and Eclipse-based tools!

Services  

Lifecycle    Management  (JazzHub)  

Applica:on  Run:me  

Run:mes  &  Frameworks    

Middleware   Applica:on   Opera:onal   Mobile   External  Data  

node   java   ruby   Worklight  WebSphere  Liberty  

Web  IDE  (Eclipse  Orion)   Eclipse  IDE  

Applica:on  Composi:on  Environment  

Create  &  Manage  Services  

Test/Run   Test/Run  

Explore  Services  

Explore  Services  

IBM  Bluemix ™  Check  In  Code   Check  In  Code  

IBM Bluemix

Page 8: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Meets Developer’s Needs!Focus on app development, not provisioning VMs, databases,

messaging servers, etc!Agile development model!

Deploy and scale in seconds!!

Open Cloud Platform!There is an increasing appetite for cloud-

based mobile, social and analytics applications from line-of-business

executives - drives the need for a more open cloud development platform!

Compelling Community !Cloud Foundry has a compelling community

and emerging ecosystem as well as a mature set of capabilities and robustness!

Platinum Founding Sponsors 1,165 739k LINES OF CODE!TOTAL CONTRIBUTORS!

Powered by Cloud Foundry

Page 9: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Run Your Apps!The developer can chose any language runtime or bring their own. Just upload your code and go.!

Application Platform

Liberty for Java ! Ruby!Node.js! “Bring Your Own

runtime”!

Runtimes!

Page 10: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Eclipse  IDE  

CLI  

Browser  

cf  push  

hQp  

Page 11: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Eclipse  IDE  

CLI  

Browser  

cf  push  

hQp  

Cloud  Controller  (API)    

Router  

Page 12: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Eclipse  IDE  

CLI  

Browser  

cf  push  

hQp  

Cloud  Controller  (API)    

Router  

DEA  Pool      DEA  Pool      VM  Pool      

Apps  

Apps  

Apps  

Apps  

Page 13: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Eclipse  IDE  

CLI  

Browser  

cf  push  

hQp  

Cloud  Controller  (API)    

Router  

DEA  Pool      DEA  Pool      Droplet  Execu:on    

Agent  (DEA)  Pool      

Health  Manager  

NATS  (Message  bus)  

Page 14: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Run Your Apps!The developer can chose any language runtime or bring their own. Just upload your code and go.!APIs and Services!A catalog of open source, IBM and third party APIs services allow a developer to stitch together an application in minutes.!

Services Platform

Page 15: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Dev Ops!

Liberty for Java ! Ruby!Node.js! “Bring Your Own

Buildpack”!

SQL Database! JSON

Database! Mongo DB! PostgreSQL !

Mobile "Data!

Data Management Services!

MQTT!CloudCode" Mobile App Mgmt !

Mobile Services!

Mobile Quality Assurance"

BLU Data Warehouse !MySQL !

Twilio!

Data Cache! Session Cache ! Elastic MQ!

Web & App Application !

Decision! SSO! Redis!

MapReduce!

RabbitMQ! Log Analysis!

Historian!Internet Of Things !

Push !

Runtimes!

Monitoring and Analytics! Git "

Hosting ! Deployment"Automation! Web IDE! Agile "

Development!

Page 16: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Eclipse  IDE  

CLI  

Browser  

cf  create-­‐service  

Page 17: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Eclipse  IDE  

CLI  

Browser  

Cloud  Controller  (API)    

                       S  E  R  V  I  C  E    B  R  O  K  E  R    

DEA  Pool                          Service  Backend  

Service  instance  

Service  instance  

cf  create-­‐service  

cf  bind-­‐service  

Provision Instance (PUT /v2/service

instances/:id)

Create Binding (PUT /v2/

service_instances/:id

DEA  Pool                  DEA  Pool    

 App  

App  

Service  instance  

 App  

Fetch Catalog (GET /v2/catalog

Page 18: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Run Your Apps!The developer can chose any language runtime or bring their own. Just upload your code and go.!APIs and Services!A catalog of open source, IBM and third party APIs services allow a developer to stitch together an application in minutes.!DevOps!Development, monitoring, deployment and logging tools allow the developer to run the entire application!

DevOps Platform

Page 19: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Git hosting"Store and manage the code for your application in the hosted Git repo.

Integrated Development Environment "

Agile planning & tracking, team collaboration"

Performance monitoring"Identify the early occurrence and root cause of performance issues, not just the symptoms, throughout the application lifecycle. Conduct code level diagnostics to identify bottlenecks and optimize application performance.

Easily share work and collaborate with team members. "

Use built-in Web IDE, Eclipse, Visual Studio or leverage your tool of choice.

Deployment automation"Instantly deploy your applications.

Continuous Integration"Continuously build, scan, and test code to improve quality and increase speed of delivery.

Open, integrated rapid development experience!

IBM DevOps Services (JazzHub) for Apps on Cloud

Page 20: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Browser  based  Code  editor  (Eclipse  Orion)    

JAZZ  Build  Engine  (Jenkins)  

 Eclipse  IDE  

Hosted  Repository  (GIT/SCM)  

 Push  code  

         

 App  

Push  cod

e  

Code  changed  

Automated  Build  

JAZZ    Deployment  

Engine  )    

 App  Automated  Deploy  

Page 21: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Run Your Apps!The developer can chose any language runtime or bring their own. Just upload your code and go.!APIs and Services!A catalog of open source, IBM and third party APIs services allow a developer to stitch together an application in minutes.!

Cloud Integration!Build hybrid environments. Connect to on-premises systems of record plus other public and private clouds. Expose your own APIs to your developers.!Extend SaaS Apps!Drop in SaaS App SDKs and extend to new use cases (e.g,. Mobile, Analytics, Web)!

DevOps!Development, monitoring, deployment and logging tools allow the developer to run the entire application!

And many more capabilities …

Page 22: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Bluemix Third Party Services!!Kalonji Bankole

Page 23: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Bluemix Services

•  BlueMix currently has ~40 services that can be deployed with an application!

Page 24: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

•  Service providing interface for scheduling of autonomous calls / texts!

•  REST based!

•  Currently being utilized by Uber, PaybyPhone, Philadelphia PD, Duke University, Airbnb, smarterkey, eBay...!

Page 25: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

§ Notifications!§ School Updates!§ Emergencies (Amber alerts, Natural disasters)!

§ Reminders!§ Doctor’s Appointment!§ Bill Payment!

Twilio Use Cases

Page 26: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Leveraging Bluemix in Mobile Application Development!!Vahid Hashemian

Page 27: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Bluemix Mobile Cloud Boilerplate

Page 28: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Scenario l  ACME Electronics is a large electronics retailer. l  It has a mobile application where users can browse through products and add them to their shopping cart. The

mobile application does not offer online purchases. l  When customers purchase products from any store ACME Electronics sends them follow-up emails and offers them

discounts on products related to what they purchased. l  ACME Electronics would like to expand its mobile application and use push notification instead of emails for

discount offers. l  They would also like to let user purchase products right from their mobile devices. Solution l  Bluemix Mobile Cloud: quickly enables mobile push notifications l  PayPal Mobile SDK: quickly enables online mobile payments

Storyline

Page 29: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Flow of Events

Page 30: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

l  Build an Android app using the MobileData cloud service http://www.ibm.com/developerworks/library/mo-android-mobiledata-app/index.html

l  Extend an Android app using the Push cloud service http://www.ibm.com/developerworks/library/mo-android-push-app

l  PayPal Android SDK https://github.com/paypal/PayPal-Android-SDK/blob/master/README.md

References

Page 31: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Team Based Development with BlueMix DevOps!Andrew Bodine @bodine_andrew

Page 32: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Magoos Sporting Goods Inc.!❖  Magoos specializes in the best quality sporting goods at unbeatable prices, with expert

advice!!❖  Early phases of building it’s online shopping portal!❖  Magoo decides to contract out some developers to help him realize his goal quicker!

Page 33: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

DevOps Team Development: To the Rescue

❖  All developers are remote!!❖  Magoo needs a way to communicate his

‘wants’ to developers and track progress effectively.!

!❖  Lot’s of work to do. Let’s see an example!!

Page 34: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Register now! bluemix.net !

Page 35: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

IBM and Cloud Foundry!(examples of work is IBM is driving in community)!!

Page 36: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Performance Acceptance Tests (PATs)!for Cloud Foundry!!Simon Leung, Jonathan Berkhahn, Daniel Lavine

Page 37: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

•  How fast can we deploy applications?

•  How do we know if a change to deploy applications faster actually worked?

•  How much http traffic can we handle before we start seeing CF performance degradation?

What problem are we facing with Cloud Foundry

Page 38: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

•  Load generator that automates interaction with Cloud Foundry (CF), recording performance data

•  PATs allows CF administrators to test realistic use cases on actual CF deployments in a highly scriptable fashion

•  PATs can be used to test for performance degradation due to changes in your deployment

What is PATs

Page 39: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Demo

Page 40: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

•  Incorporate all CLI and API calls •  Provide suite of standard tests •  Usage of arbitrary applications with PAT •  Integration with automated testing process

Planned features and Roadmap

http://github.com/cloudfoundry-incubator/pat!

Page 41: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Going global with CloudFoundry!!dr.max @maximilien

Page 42: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Scenario ●  CloudFoundry is a global PaaS. ●  Increasingly developers all over the world are using CF-based systems to deploy and manage their applications. ●  Primary approach to interacting with CF system is via CLI—which is powerful, conversational, and interactive. ●  Allowing the CLI to be i18n-enabled would allow the CLI to “speak” the same language as the developers. ●  Enabling the CLI for i18n goes a long way to opening CF to the world. Solution ●  IBM spiked on converting one of the CLI command for i18n. ●  Worked with Pivotal to convert the enable the whole CLI for i18n. ●  Wrote Golang tooling to perform all the steps (extract, merge, modify, rewrite) strings in CLI. ●  Complete i18n-enablement of 17,000+ strings and 60+ commands in 2 months (with French translation). ●  Also worked on i18n-enabling the CC error messages.

Storyline

Page 43: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Live demo of French translation

demo

Page 44: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

●  CF CLI with i18n support https://github.com/cloudfoundry/cli

●  i18n4go tool https://github.com/maximilien/i18n4go

References

Page 45: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Companies using Bluemix today!

45

Retail Reduction of operations costs by 30% - focusing on apps and code, not infrastructure.

Hospitality MQA service reduced defect resolution time by up to 300%. Mobile push service allowed customer to avoid writing custom code.

Transportation From zero to implementing a mobile app from a database on premise in 15 days.

Healthcare Increases time to market for new customer delivery by 35%.

Value realized in days, not months.

Technology Deployment of new customer from 2 days to 30 seconds.

Retail Selected IBM as a strategic partner for building engaging apps.

Page 46: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Sign up in minutes. Pay for what you use.!

46

Cloud based pricing models to serve developer needs.

•  30 day trial - designed to allow testing of an entire application on the platform

Friction free adoption

•  Free tier for every service - encourages experimentation of new services for applications already running on Bluemix

•  Pay as you go - optimized for flexibility, no term commitment

Multiple Commitment Models

•  Subscription - term based optimized for cost, discounted from pay as you go rates

•  Zero to coding in less than 5 minutes Self Service

•  Credit card over the web in many countries – or through your IBM rep

Page 47: IBM Bluemix™ Architecture & Deep Dive

Meetup.com/Bluemix Meetup.com/CloudFoundry

Bluemix works. Start a free trial today.