Upload
jbossarchitectforum
View
913
Download
0
Tags:
Embed Size (px)
DESCRIPTION
• State of the Container: From Tomcat to JEE and beyond • In-Memory Computing: How can a Data Grid accelerate your applications? • PaaS: Learn how Red Hat's OpenShift has helped PayPal increase developer productivity
Citation preview
JBoss Architect Forum
October 2013
3
A Short History● 1995 – Jetty (originally IssueTracker/MBServler)
● 1997 – Java Servlet Spec
● 1998 – Weblogic and Websphere Java Application Servers
● 1999 – Tomcat Servlet Container
● 1999 – JEE Spec (then J2EE 1.2), JBoss AS (now called Wildfly)
● 2004 – Spring Framework 1.0
● 2009 – JEE 6 Released (EJB fixed)
● 2013 – JEE 7 (HTML5, Websockets etc.)
4
Meanwhile...● PHP - Zend
● Ruby on Rails
● Python – Django
● Scala – Akka/Play Framework
● Node.js – game changer - non-blocking I/O and a single-threaded event loop
● Vert.x – polyglot, JVM based, non-blocking I/O, aschronous programming model, distributed event bus
● In Memory Computing
● Platform as a Service - PaaS
5
Thoughts● The JEE Container has been commoditised!
● JEE is here to stay, continue to evolve and support “new stuff”
● Event Driven/In Memory Computing – I Need to consider new programming models – are they relevant or a better solution for my use case
● Polyglot/Multi-container is proliferating – Can I leverage this?
● What is my PaaS strategy?
JBoss Architect Forum
In-Memory Computing
Steve GainesOctober 2013
2
3
4
Cost of memory since 1957
copyright 2001, 2013, John C. McCallum
5
Problem: How to fix the response time problem?
Design for more...
● Pile on complex code, servers, databases, DBAs
● Cost-prohibitive
● Quick fix until you need to scale again
Start from scratch...
● Completely re-architect
● Sharding? Denormalization?
● Complicated
● Time- and resource-intensive
● Risky
6
“By 2014, at least 40%of large organizationswill have deployed oneor more in-memorydata grids.”
SOURCE: Predicts 2012 – Cloud and In Memory Drive Innovations in Application PlatformsGartner 2012
7
Solution: Introduce a Data Grid
● Insert a Grid between the App and the overloaded DB
● Small application changes esp. With e.g.
● Memcached
● Hibernate OGM
● Orders of magnitude response time speed up
8
Resources
Datasheet: Red Hat JBoss Data Grid: Perfect solution for big data and application performance
Whitepaper: Comparison of JDG and Oracle Coherencehttps://engage.redhat.com/forms/data-grid-v-coherence-grid
JBoss Data Grid documentation: https://access.redhat.com/knowledge/docs/JBoss_Data_Grid/
Video: Monitor JBoss Data Grid using JBoss Operations Network: Monitoring Red Hat JBoss Data Grid with JBoss Operations Network video http://www.redhat.com/resourcelibrary/videos/monitoring-data-grid-with-jon
JBoss Architect Forum
OpenShift
Helping increase developer productivity
Ed Seymour [email protected]
October 2013
2
What is PaaS?
STORAGE
HARDWARE
VIRTUALISATION
OPERATING SYSTEM
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
Why do we need a PaaS?
4
Traditional Application Development
Businessexposed
●Lengthy process●Multi-disciplined●High risk●Large budget●Unfocused
From idea to realisation
5
Streamline with PaaS
Exposurecontained
●Efficient process●Single discipline●Low risk●Small budget●Focused
PaaS
business
6
Driving PaaS adoption
Photo credit: William Warby, http://www.flickr.com/photos/wwarby
Faster to marketFaster to market
Lowerinnovation
barriers
Lowerinnovation
barriers
Enable developers and get out of the wayEnable developers and get out of the way
Avoidlock-in
Security&
Compliance
7
OpenShift ideally suited
SecureSecure
No
lock-in
Portable
Open Source
On premise
and runs on
Photo credit: Mitch Barrie, http://www.flickr.com/photos/simonov/
8
OpenShift, a production line for your apps
CodeCode DeployDeploy EnjoyEnjoy
Photo credit: Steve Jurvetson, http://www.flickr.com/photos/jurvetson
9
Let’s take a look…
10
OpenShift is a PaaS on top of… Infrastructure
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
11
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
12
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
13
Unique SELinux Approach Enables Security and Multi-tenancy
RHEL RHEL
SELinux Policies securely subdividethe Node instances.
Broker Node Node Node
RHEL
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
14
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
15
DeveloperWorkflow
RHEL RHEL
A Developer creates a new application OpenShift creates a GEAR
Web ConsoleEclipse IDECmd Line
Broker Node Node Node
RHEL
OpenShiftGear
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
16
OpenShift AutomatesGear Configurationvia Cartridges
RHEL RHEL
CARTRIDGES are how OpenShift installs Languages & Middleware
Web ConsoleEclipse IDECmd Line
Broker Node Node Node
RHEL
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
JBoss MySQL
17
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 DefaultCartridges
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
18
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
GitRepo MySQL
19
OpenShift AutomatesBuild, 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
GitRepo
MySQL
20
OpenShift AutomatesApplication Scaling!
Broker Node Node Node
RHEL
HA-Proxy MySQLJava
Code
Java
Code
Java
Code
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
21
OpenShift Automates the
IT Assembly Line
POWERED BY
OPENSHIFT
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
22
Why OpenShift?
• It’s Trusted. OpenShift is built on proven Red Hat technologies.
• It’s 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
• Automatically Scaling: Eliminates the worry of handling load
It’s Open. OpenShift’s open source software stack ensures application portability and No Lock-In.
23
How Can I Consume OpenShift?
STORAGE
HARDWARE
VIRTUALISATION
OPERATING SYSTEM
(RHEL)
APPLICATION PLATFORM
(JBOSS, PHP, RUBY, ETC)
APPLICATION
Public Cloud
Service(in Developer
Preview)
On-Premise or
Private Cloud
Software
Developer
Controls
Developer
Controls
Operated
by Red
Hat at
Scale for
18
Months IT Ops
Provides
OpenShift
Automates
IT Ops
Controls
24
Demo
25
Thank You.
Questions?