Upload
lekhanh
View
216
Download
1
Embed Size (px)
Citation preview
GET YOUR JAVA EE APPSREADY FOR THE CLOUD WITHRED HAT JBOSS EAP 7 ANDOPENSHIFTOctober, 2016
Thomas QvarnströmJBoss Technology Evangelist, Red Hat
AGENDA
● Application development is evolving● Java in the cloud● OpenShift by Red Hat● JBoss EAP on OpenShift● Demo● Wrap up
APPLICATION DEVELOPMENT IS EVOLVING
APIasynchronous event-driven anti-fragile
scalable polyglot
agile velocitymicro-services
reactiveserverless
4
4
THE NEW DIGITAL ARCHITECTURE
IT EVOLUTION
5
DEVOPS
6
DEVELOPERS OPERATIONS
• Culture
• Technologies• Process
• People
MONOLITHIC ARCHITECTURE
7
Business Logic
Data handling
UI
• Single package• Not distributed• Straightforward to develop
• Often becomes large and complex• Required to deploy as single
package – even for small updates• Difficult to push updates out fast
DB
MONOLITHIC ARCHITECTURE
8
• Application becomes independant services
• Fast to update, replace, deploy, scale
• Requires mature CI/CD pipeline (DevOps)
• Complex coordination, management
• New skills needed
Microservice
UI
Microservice Microservice
Microservice
WHY JAVA IN THE CLOUD?
WHY JAVA?
● Standardized, open platform built by collaboration
● Large existing skill sets
● Choice (Hardware, OS and vendor)
● Ease of development
● Maturity
WHY JAVA AND THE CLOUD?
● Extend Java knowledge and expertise to the cloud
● Modernize for web-scale, highly transactional apps
● Scaling, provisioning, standardized environment
● Containers & orchestration
● Deliver faster, with automation
OPENSHIFT BY RED HAT
OpenShift is Red Hat’s Container Application Platform
● Built for both traditional and cloud-native applications.
● An integrated hybrid cloud application platform for application development and deployment
● Develop, build, and manage container based applications
● Easily turn source code into running applications with source-to-image capabilities
Value of OpenShift
JBOSS EAP 7 AND OPENSHIFT. A GREAT COMBINATION
JBOSS MIDDLEWARE ON OPENSHIFT
JBoss Enterprise Application Platform
JBoss Web Server (Tomcat)
JBoss Data Grid
JBoss Developer Studio
Fuse
A-MQ
Data Virtualization *
Business Process Management *
Business Rules Management System
Red Hat Mobile / FeedHenry
Application Container Services
IntegrationServices
BusinessProcess Services
MobileServices
* Coming Soon
OPENSHIFT ENTERPRISE
RHEL RHEL RHEL
Container ContainerJBossEAP
JBossData Grid
JBossFuse
Container JBossA-MQ
ContainerJBossBRMS
ORCHESTRATION
JBOSS ENTERPRISE APPLICATION PLATFORM
JBoss Enterprise Application Platform
JBoss Web Server / Tomcat
JBoss Data Grid
JBoss Developer Studio
Application Container Services
● The most popular open source Java EE application server
● Lightweight dynamic architecture ● Choice of programming models -
Java EE, Spring● Supports full spectrum of Java
workloads● Optimized for modern IT
infrastructure
DEMO
Type of workload EAP 7 EAP 7 on OpenShift
12-factor
Stateless web application YES YES YES
Stateless web application with HA and Scaling YES YES YES
Stateful web application with HA and Scaling YES YES NO
Applications using JMS YES YES NO
Applications using Enterprise Java Beans YES YES NO
Batch Applications (JSR-352) YES YES NO
Application Clients using RMI YES NO NO
Application Clients using CORBA YES NO NO
Application that require native libraries other than RHEL YES NO NO
APPLICATION SUITABLE FOR OPENSHIFT
RED HAT INTERNAL ONLY
“Most teams we work with favor bundling an embedded http server within your web application. There are plenty of options available: Jetty, SimpleWeb, Webbit and Owin Self-Host amongst others. Easier automation, easier deployment and a reduction in the amount of infrastructure you have to manage lead us to recommend embedded servers over application servers for future projects”
ThoughtWorks Technology Radar, May 2015
• Just enough Java EE for building and deploying RESTful microservices
• Lightweight• Embeddable (fat-jar)• Modular and extensible• Built from Wildfly
http://www.jamesward.com/2015/06/08/comparing-application-deployment-2005-vs-2015
Comparing Application Deployment: 2005 vs. 2015June 8, 2015 by James Ward
CI/CD Pipelines
DEPLOYMENT PIPELINE
sourcerepository
CI/CDengine
dev container targetenvironment
DEPLOYMENT PIPELINE
sourcerepository
CI/CDengine
dev container Q&A
container dev
container production
● Reducing downtime and risk associated with release
● Two identical environments in containing two different releases (Blue and Green)
● After validating new release, can switch all traffic to new version
● Quickly roll application back if you find issues
BLUE-GREEN DEPLOYMENT
router
THANK YOUplus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHatNews