Was liberty in deployments

45
© 2015 IBM Corporation AAI-1305 Choosing Liberty for Deployments Dr Ian Robinson Dr Alex Mulholland WAS Architecture

Transcript of Was liberty in deployments

Page 1: Was liberty in deployments

© 2015 IBM Corporation

AAI-1305 Choosing Liberty for Deployments Dr Ian Robinson Dr Alex Mulholland WAS Architecture

Page 2: Was liberty in deployments

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

Page 3: Was liberty in deployments

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

Page 4: Was liberty in deployments

Application support in Liberty

Page 5: Was liberty in deployments

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

Page 6: Was liberty in deployments

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

Page 7: Was liberty in deployments

•  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

Page 8: Was liberty in deployments

Application Evaluation Report •  Indicates which edition and profile are the best fit for the

application •  Initial assessment and planning

7

Page 9: Was liberty in deployments

I need more details •  For deeper analysis and code changes

8

Page 10: Was liberty in deployments

Show me the code •  Select detailed WAMT rules to run in eclipse •  Each issue is identified in the source

9

Page 11: Was liberty in deployments

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

Page 12: Was liberty in deployments

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

Page 13: Was liberty in deployments

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

Page 14: Was liberty in deployments

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

Page 15: Was liberty in deployments

WCMT in eclipse

•  Lists resources, allows edit of properties •  Preview and save liberty server.xml content

14

Page 16: Was liberty in deployments

Migration tools in Liberty Repository

http://wasdev.net/repo

15

Page 17: Was liberty in deployments

Ready for Prime Time?

Page 18: Was liberty in deployments

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

Page 19: Was liberty in deployments

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

Page 20: Was liberty in deployments

Deployment Options

Page 21: Was liberty in deployments

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

Page 22: Was liberty in deployments

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

Page 23: Was liberty in deployments

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

Page 24: Was liberty in deployments

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

Page 25: Was liberty in deployments

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

Page 26: Was liberty in deployments

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

Page 27: Was liberty in deployments

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

Page 28: Was liberty in deployments

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

Page 29: Was liberty in deployments

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

Page 30: Was liberty in deployments

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

Page 31: Was liberty in deployments

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

Page 32: Was liberty in deployments

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

Page 33: Was liberty in deployments

Pros and Cons

Page 34: Was liberty in deployments

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

Page 35: Was liberty in deployments

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

Page 36: Was liberty in deployments

Performance comparisons

•  Liberty is lighter-weight: •  server start time •  app deploy time •  memory footprint •  disk footprint

35

Page 37: Was liberty in deployments

Request throughput similar, except on z/OS

36

z/OS

Page 38: Was liberty in deployments

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

Page 39: Was liberty in deployments

Questions?

Page 40: Was liberty in deployments

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

Page 41: Was liberty in deployments

Thank You

Page 42: Was liberty in deployments

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

Page 43: Was liberty in deployments

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

Page 44: Was liberty in deployments

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

Page 45: Was liberty in deployments

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.