was liberty in deployments
TRANSCRIPT
© 2015 IBM Corporation
AAI-1305 Choosing Liberty for Deployments Dr Ian Robinson Dr Alex Mulholland WAS Architecture
Purpose of this session
• Many use Liberty for development then deploy to full WAS • lightweight, simple, flexible, fast • increased development efficiency
• Liberty is also fully supported for production deployments • similar throughputs to full profile • centralized management through Collectives
• This session aims to help you understand the differences and benefits of each profile, and how to move your applications to Liberty
1
Agenda • Is Liberty ready for my applications?
• Programming models • WAMT to assess and move applications
• Is Liberty ready for prime time? • Quality, delivery, support • Large scale topologies • Operational capabilities
• Better together • Reasons to use both profiles • Hybrid management
• Pros and Cons
2
Application support in Liberty
Adds z/OS exploitation features
Programming models
Partial Java EE 6
Java EE 6 Web
Full Java EE 7
Partial Java EE 6
Java EE 7 Web
Java EE 6 Web
Full Java EE support being delivered by Continuous Delivery - see monthly beta drivers for previews
8.5.5.0 8.5.5.x
4
Deprecated J2EE APIs
Full WAS API
Common WAS API
Full Java EE
Java EE 6 Web
JAX-RPC, Entity Beans, JAXR
WAS Batch WS-AT, WS-BA, WS-RM JAXM 1.3 ApplicationProfile AsyncBeans, I18N Startup Beans SDO, XML J2EE Extensions
Common WAS API
Full Java EE (coming)
Remaining API gaps
Partial Java EE
Java EE Web
Liberty profile Full profile
{
5
• Command-line analysis of application binaries • High level evaluation report • Detailed analysis for migration to Liberty & Bluemix
I have many apps, what do they need?
• Scans application source to provide: • A high level evaluation report showing which Java EE technologies
your application uses • A line-by-line analysis of code changes required
• with detailed information • with quick fix code changes where possible
• Both run in eclipse against application source
WAS Application Migration Toolkit (WAMT)
https://developer.ibm.com/wasdev/downloads/#asset/tools-Migration_Toolkit_Liberty_Tech_Preview https://developer.ibm.com/wasdev/downloads/#asset/tools-Migration_Toolkit_for_Application_Binaries_Tech_Preview
new
soon now
• Download from wasdev.net/repo or Eclipse Marketplace
6
Application Evaluation Report • Indicates which edition and profile are the best fit for the
application • Initial assessment and planning
7
I need more details • For deeper analysis and code changes
8
Show me the code • Select detailed WAMT rules to run in eclipse • Each issue is identified in the source
9
What can I do about it? • Select detailed WAMT rules to run in eclipse • Each issue is identified in the source • Detailed information and advice is provided; code quick fixes where applicable
10
Tomcat
WebLogic
JBoss
Oracle AS WAS Full profile v7 +
Liberty Bluemix
Liberty Cloud
WAS Liberty profile
Migrate application code
WAMT
WAS Full profile v6.1 +
also converts Tomcat config to liberty server.xml
11
I need help with resource config migration
• Eclipse plugin, converts configuration for specific resources to • server.xml for liberty • wsadmin jython script for full profile
• Input for full profile source is WAS config properties file • wsadmin -lang jython -c "AdminTask.extractConfigProperties(['-
propertiesFileName my.props'])” • for application-related resources, not full topology migration
• Written by ISSW World-Wide WebSphere Competitive Migration team
• used (proven) in customer engagements
WebSphere Configuration Migration Toolkit (WCMT)
https://developer.ibm.com/wasdev/downloads/#asset/tools-WebSphere_Configuration_Migration_Tool http://www.ibm.com/developerworks/websphere/library/techarticles/1404_vines2/1404_vines2.html
new
12
WebLogic
JBoss WAS Full profile v8.5
Liberty Bluemix
Liberty Cloud
WAS Liberty profile
Migrate resource configurations
WAS Full profile v7+
WCMT
WCMT: WebSphere Configuration Migration Toolkit 13
WCMT in eclipse
• Lists resources, allows edit of properties • Preview and save liberty server.xml content
14
Migration tools in Liberty Repository
http://wasdev.net/repo
15
Ready for Prime Time?
Liberty is ready for prime time • Code reuse from full profile
• Majority of features reuse code from full profile • Code has been tested and fixed for up to 15 years • Provides common request-processing behavior – including performance profiles
• Massive test automation • Test-driven agile development process • Over 38,000 automated tests run in every continuous build – function, BVT, Unit, findbugs
• 150 SOEs run over 12,000 function tests (at least) weekly – SOE = os x processor x java-vendor x java-version x bitness
• Mature team • Same Dev, L3, L2 and field folks as WAS full profile • We understand how to support software that runs your business
17
Liberty is strategic to IBM
Bluemix public, dedicated
Cloud Services built on Liberty
BPM Workflow Watson DA Data Cache
…
Operating systems
linux windows
aix
solaris hp/ux
z/linux
z/os
ibm-i
mac/osx
Private IaaS Patterns Pure App Virtualized systems Containers
Containers
Embedding products >100
isa spss as
infosphere
worklight wamc
itsm
algo one
rsa
rad
z/os mf sterling b2b
mq appliance
i2 coplink
cics
ims
Public IaaS IBM Softlayer
MS Azure Amazon AWS
PaaS hybrid
private
public
OpenShift
Heroku
Cloud Foundry
18
Deployment Options
Deployment topologies to consider • Standalone server farms
• WAS ND Cell-based management and routing
• WAS ND Loosely-coupled server Collectives
In each case, app server tier behind an HTTP reverse-proxy tier. Load-balancing in all cases. WAS-provided, integrated central point of management for last 2 only
20
Standalone Server Farms
JMX Client
liberty liberty liberty
liberty liberty liberty
HTTP Server
Load balancing and session affinity/failover
Operations target individual servers
liberty
WAS base/core license
Web server plugin is a merge of the individual servers’ plugins. Session failover uses DB or session cache.
21
WAS ND Cells – 2 Options
• Cross-deploy apps to from Liberty to Full Profile • One-way programming model fidelity • 100% operational consistency
• Manage Liberty profiles as integral part of ND Cell • Built on Intelligent Management Middleware Server support – Available v8.5.5.1
• Basic console/scripting access to Liberty – config access (i.e. server.xml) – lifecycle (start/stop/status) – log access (messages.log, etc)
• Optional dynamic clusters for Liberty • This is “Liberty Assisted Lifecycle” support
22
WAS ND Liberty Assisted Lifecycle
• Liberty in the ND cell gives operations similar to WAS full profile.
• Perfect way to integrate operational practice across both profiles types.
dmgr nodes
ND Cell
DB HTTP proxy
node agent
app server
app server
node agent
app server
app server
liberty
liberty
We like reusing our existing operational
infrastructure
I like the lightweight development experience
23
WAS ND Liberty Assisted Lifecycle
dmgr nodes
ND Cell
DB HTTP proxy
node agent
app server
app server
node agent
app server
app server
liberty
liberty
We like reusing our existing operational
infrastructure
I like the lightweight development experience
Actually, I’d like a lightweight and
massively scalable cluster…
24
JMX Client
liberty liberty liberty
liberty
controllers liberty liberty liberty
HTTP Server
collective
collective members
Load balancing and session affinity/failover
Operations target individual servers
collective members
liberty
liberty
WAS base/core license
WAS ND license
WebSphere Liberty ND Collective
Like this…
25
Liberty ND Collective With Clusters Adds Intelligent Management and Analytics
JMX Client
liberty liberty liberty
liberty
controllers liberty liberty liberty
HTTP Server
collective
collective members
Load balancing and session affinity/failover
cluster members
Operations target individual servers or clusters
Clusters add: • Auto-scaling and dynamic routing
• No plugin regen required • Health Management • Log Analytics
Adds Intelligent Management and Analytics
liberty
liberty
WAS base/core license
WAS ND license
dynamic routing
26
server.xml <featureManager> <feature>collectiveController-1.0</feature> </featureManager>
server.xml <featureManager> <feature>collectiveMember-1.0</feature> [ <feature>clusterMember-1.0</feature> ] </featureManager>
Liberty Controller
WLP
Liberty Collective
WLP WLP
WLP WLP
Liberty Collective
1. wlp/bin/server create {controller} 2. wlp/bin/collective create {controller} ... 3. wlp/bin/server start {controller}
1. wlp/bin/server create {member} 2. wlp/bin/collective join {member} … re
peat
Liberty Collective: Lightweight Management At Scale
WLP=WebSphere Liberty Profile
27
server.xml <featureManager> <feature>collectiveMember-1.0</feature> <feature>clusterMember-1.0</feature> </featureManager> <clusterMember name=“MyAppCluster1”/>
Liberty Controller
WLP
Liberty Clusters
WLP
WLP WLP
Liberty Collective
WLP
Name the cluster:
Add cluster feature:
MyAppCluster1
Liberty Collective: Lightweight Management At Scale
WLP=WebSphere Liberty Profile
28
Operational capabilities
WAS ND Full Profile WAS ND Liberty Profile
HTTP Spray/Failover Plugin (& ODRLIB), ProxyServer, DataPower
Plugin (& ODRLIB), DataPower
HTTP Session replication DRS provided, WXS or DB WXS or DB
JMS Providers Internal, MQ, 3rd party Internal, MQ, 3rd party
Integrated Clustered JMS Provider Yes No (use WMQ)
Recoverable 2PC Transactions XA, OTS, WS-AT XA
Peer recovery Automated, Manual Manual
Central management scale Cell:100s of servers Collective: 10s of 1000s of servers
Central mgmt replicas & failover No Yes
Server config auto-sync Yes No
Web management GUI Complete Partial
Scripting support JACL, Jython library Any, jython samples
Dynamic clusters Yes Yes
Assisted lifecycle - Full profile Auto-scaling – Collectives
Health policies Yes Not yet
Application editions Yes No
29
Security services • Liberty has:
• Out of the box… – localhost only, minimal ports opened – no default userids or passwords – remote admin always secured
• Registries – Simple registry in server.xml to get started – Federated LDAPs or SAF for production – also Custom User Registry, TAI, JAAS Login
• Oauth, OpenID, OpenID Connect • SPNEGO
• Remaining gaps: • SAML • Enhanced Key and Certificate Management • Auditing • Local OS Registry (beyond z/OS SAF) • Complete User Registry Federation (beyond LDAP/SAF) • Fine-grained authorization • User and group management API
30
Disaster recovery with Liberty • In general, same considerations as Full profile
• Useful reference: https://ibm.biz/BdRgTt • Dual, independent collectives ideally in separate data centers • Back up all configuration files on each change • Restore server configurations to new hosts if necessary; rejoin
members to collective if hostnames are different • Transactions
• Server config/transaction logs can be restored on a different host
• Message store • File-based so can be backed-up/restored to same or new host • Configuration in server.xml can be copied to new host/server
and used with existing message store
31
Pros and Cons
Benefits of WAS Full profile
• It costs nothing to move (if you’re already there) • Still has more function than Liberty
• Full API, full admin console, security options • Some applications can’t move or would take too much effort
• Uses existing admin skills and assets • plus larger existing body of knowledge/information • more training courses available
• Integrated with more products for management/production • Common stack for key Portfolio products
• Portal server, BPM
33
Benefits of WAS Liberty profile • Smaller, simpler, faster to set up
• common dev and prod runtimes • More flexible to install, update, manage
• packaged server ‘master image’ deployments are popular • Composable, right-sized runtimes • More choice of deployment environments
• Bluemix, other PaaS, containers • Liberty z/OS higher throughput, lower resource use • Servers of any edition can be centrally managed (not clustered) • Greater management scale with collectives than cells • Earlier support of new technology through continuous delivery • Cheaper, faster VtoV migration once you are there
34
Performance comparisons
• Liberty is lighter-weight: • server start time • app deploy time • memory footprint • disk footprint
35
Request throughput similar, except on z/OS
36
z/OS
What do we advise? • Happy using WAS full profile?
• stay there, you don’t have to move • full profile remains fully supported and strategic
• Using open source servers for development? • switch to liberty to get higher efficiency and easier deployment to full
profile • Planning a new app / deployment?
• Consider Liberty for a flexible topology that can expand as needed • Thinking of moving to the cloud?
• IaaS: both full and liberty profiles behave well in an IaaS • PaaS: Liberty is the best choice here
• Have a mixed app server environment (WAS + tomcat, JBoss etc)? • Simplify to WAS using full and liberty profiles • Easy to move applications between servers as needs change • Use cells for full profile and lightweight collectives for Liberty • Use hybrid management for a single point of control
37
Questions?
We Value Your Feedback • Don�t forget to submit your Impact session and speaker
feedback! Your feedback is very important to us – we use it to continually improve the conference.
• Use the Conference Mobile App or the online Agenda Builder to quickly submit your survey
• Navigate to �Surveys� to see a view of surveys for sessions you�ve attended
39
Thank You
Legal Disclaimer
• © IBM Corporation 2014. All Rights Reserved. • The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in
this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM�s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software.
• References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM�s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.
• If the text contains performance statistics or references to benchmarks, insert the following language; otherwise delete: Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
• If the text includes any customer examples, please confirm we have prior written approval from such customer and insert the following language; otherwise delete: All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer.
• Please review text for proper trademark attribution of IBM products. At first use, each product name must be the full name and include appropriate trademark symbols (e.g., IBM Lotus® Sametime® Unyte™). Subsequent references can drop �IBM� but should include the proper branding (e.g., Lotus Sametime Gateway, or WebSphere Application Server). Please refer to http://www.ibm.com/legal/copytrade.shtml for guidance on which trademarks require the ® or ™ symbol. Do not use abbreviations for IBM product names in your presentation. All product names must be used as adjectives rather than nouns. Please list all of the trademarks that you use in your presentation as follows; delete any not included in your presentation. IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., in the United States, other countries, or both.
• If you reference Adobe® in the text, please mark the first use and include the following; otherwise delete: Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries.
• If you reference Java™ in the text, please mark the first use and include the following; otherwise delete: Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
• If you reference Microsoft® and/or Windows® in the text, please mark the first use and include the following, as applicable; otherwise delete: Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both.
• If you reference Intel® and/or any of the following Intel products in the text, please mark the first use and include those that you use as follows; otherwise delete: Intel, Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
• If you reference UNIX® in the text, please mark the first use and include the following; otherwise delete: UNIX is a registered trademark of The Open Group in the United States and other countries.
• If you reference Linux® in your presentation, please mark the first use and include the following; otherwise delete: Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others.
• If the text/graphics include screenshots, no actual IBM employee names may be used (even your own), if your screenshots include fictitious company names (e.g., Renovations, Zeta Bank, Acme) please update and insert the following; otherwise delete: All references to [insert fictitious company name] refer to a fictitious company and are used for illustration purposes only.
41
Notices and Disclaimers Copyright © 2015 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM.
U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM.
Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided.
Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice.
Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary.
References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business.
Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation.
It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law.
42
Notices and Disclaimers (con’t)
Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right.
• IBM, the IBM logo, ibm.com, Bluemix, Blueworks Live, CICS, Clearcase, DOORS®, Enterprise Document Management System™, Global Business Services ®, Global Technology Services ®, Information on Demand, ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, SoDA, SPSS, StoredIQ, Tivoli®, Trusteer®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
43
Thank You Your Feedback is
Important!
Access the InterConnect 2015 Conference CONNECT Attendee Portal to complete your session surveys from your smartphone,
laptop or conference kiosk.