OpenShift and next generation application development

3,827 views

Published on

OpenShift and next generation application development

Published in: Technology

OpenShift and next generation application development

  1. 1. 1 by Syed M Shaaf Solution Architect Red Hat sshaaf@redhat.com
  2. 2. 2 by Cloud Service Models STORAGE (RHS) HARDWARE (x86, Power, S/390) VIRTUALIZATION (RHEV) OPERATING SYSTEM (RHEL) APPLICATION PLATFORM (JBOSS, PHP, RUBY, ETC) APPLICATION Automated and Managed by the Public or Private Cloud Offering Managed and Controlled by Customer (IT, Dev, or User) IaaS PaaS SaaS Increased Control Increased Automation
  3. 3. 3 by PaaS = Platform as a Service A Cloud Application Platform Code Deploy Enjoy Save Time and Money Code your app Push-button Deploy, and your App is running in the Cloud!
  4. 4. 4 by
  5. 5. 5 by Today’s IT Challenge
  6. 6. 6 by OpenShift is PaaS by Red Hat Multi-language, Auto-Scaling, Self-service, Elastic, Cloud Application Platform
  7. 7. 7 by Developers Choose How To Work with OpenShift Developer IDE Integrations Web Browser Console Command Line Tooling REST APIs
  8. 8. 8 by OpenShift’s Intuitive and “Responsive” Web Console Runs on Any Device
  9. 9. 9 by Are You a Command-Line Fan? OpenShift’s RHC CLI Tools 1.Create App rhc app create -a javasample -t jbossas-7 2.Add MongoDB rhc app cartridge add -a javasample –c mongodb-2.0 3.Add add EAR file to your deployments directory cd javasample cp /path/to/ear/earfilename.ear ./deployments 1.Add the EAR file to git git add ./deployments/earfilename.ear 2.Push your code git push 3.Done
  10. 10. 10 by And, of Course, a Powerful JBoss Dev Studio IDE Integration
  11. 11. 11 by Developers Choose Languages, Frameworks and Middleware
  12. 12. 12 by
  13. 13. 13 by Why OpenShift? 1. Strength. OpenShift is built on proven Red Hat technologies. 2. Freedom. In OpenShift, work the way you want. • Choice of Interface: Web Console, Command-line, or IDE • Choice of Middleware: Java(EE6), Ruby, Node.js, PHP, Python, and Perl • Choice of Cloud: Public, Private, or Hybrid Cloud • Choice of Elasticity: Automatic application scaling when needed 1. Openness. OpenShift’s open source software stack ensures application portability and No Lock-In.
  14. 14. 14 by Let’s Take a Look…
  15. 15. 15 by How OpenShift Works POWERED BY OPENSHIFT
  16. 16. 16 by OpenShift is a PaaS on top of… Infrastructure AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
  17. 17. 17 by The Foundation of OpenShift is Red Hat Enterprise Linux RHEL RHEL RHEL OpenShift is Built on Instances of Red Hat Enterprise Linux (RHEL) RHEL AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
  18. 18. 18 by An OpenShift Broker Manages Multiple OpenShift Nodes Nodes are where User Applications live. Brokers keep OpenShift running. Brokers Node Node Node RHEL RHEL RHELRHEL AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
  19. 19. 19 by Unique SELinux Approach Enables Security and Multi-tenancy RHEL RHEL SELinux Policies securely subdivide the Node instances. Broker Node Node Node RHEL AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
  20. 20. 20 by OpenShift User Applications Run in OpenShift Gears RHEL RHEL OpenShift GEARS represent secure containers in RHEL Broker Node Node Node RHEL AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
  21. 21. 21 by RHEL RHEL Broker Node Node RHEL AWS / CloudForms / OpenStack / Any VIRT Hyper-visor! / Bare Metal
  22. 22. 22 by Developer Workflow RHEL RHEL A Developer creates a new application  OpenShift creates a GEAR Web Console Eclipse IDE Cmd Line Broker Node Node Node RHEL OpenShift Gear AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
  23. 23. 23 by OpenShift Automates Gear Configuration via Cartridges RHEL RHEL CARTRIDGES are how OpenShift installs Languages & Middleware Web Console Eclipse IDE Cmd Line Broker Node Node Node RHEL AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal JBoss MySQL
  24. 24. 24 by OpenShift Cartridge System Enables User-Built Cartridges Developers can add custom language, data-store, or middleware with with a custom Cartridge. CUSTOMEtc. Etc. Ruby Python PHP Java Postgres MySQL OpenShift Default Cartridges AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
  25. 25. 25 by Now, Code and Push RHEL RHEL Developer pushes application code via GIT source code management system Git Protocol / ssh Broker Node Node Node RHEL Push AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal JBoss Code Git Repo MySQL
  26. 26. 26 by OpenShift Automates Build, Test, Publish RHEL RHEL Broker Node Node Node RHEL AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal Jenkins (CI) Maven (Builds) Apache (HTTP) Code JBoss Git Repo MySQL
  27. 27. 27 by OpenShift Automates Application Scaling! Broker Node Node Node RHEL HA-Proxy MySQLJava Cod e Java Cod e Java Code AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
  28. 28. 28 by Real-world App Dev – Multi Environments, Single PaaS Brokers Nodes RHEL Dev DISTRICT Nodes QA DISTRICT Nodes Prod DISTRICT Dev QA Release Mgmt G it G it G it G it G it
  29. 29. 29 by Real-world App Dev – Multi Environments, multiple PaaSes Nodes Dev Dev QA Release Mgmt Nodes QA Nodes Prod G it G it G it G it G it
  30. 30. 30 by OpenShift Automates the IT Assembly Line POWERED BY OPENSHIFT AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
  31. 31. 31 by [stack@localhost openshift-origin-cartridge-nodejs]$ find -type f ./hooks/{ pre, post} ./env/OPENSHIFT_NODEJS_PID_DIR.erb ./env/OPENSHIFT_NODEJS_LOG_DIR.erb ./logs/.gitkeep ./openshift-origin-cartridge-nodejs.spec ./usr/template/index.html ./usr/template/server.js ./usr/template/.openshift/action_hooks/README.md ./usr/template/package.json ./usr/template/README.md ./usr/template/node_modules/.gitkeep ./usr/template/deplist.txt ./metadata/locked_files.yml ./metadata/manifest.yml ./metadata/jenkins_shell_command.erb ./versions/0.6/configuration/node.env ./versions/0.6/configuration/npm_global_module_list ./bin/setup ./bin/control ./bin/install Demystified: Cartridge structure: Can I make my own?
  32. 32. 32 by Choice of Public, Private, or Open Hybrid Clouds
  33. 33. 33 by Choice of Public, Private, or Open Hybrid Clouds
  34. 34. 34 by Choice of Public, Private, or Open Hybrid Clouds
  35. 35. 35 by References - http://www.openshift.com - http://www.redhat.com/products/cloud-computing/openshift-enterprise/ - https://www.openshift.com/developers/cartridge-authors-guide Contributions: Part of slide deck originally presented by Dan Juengst – Product Marketing, Red Hat
  36. 36. 36 by Thank You Questions?

×