SlideShare a Scribd company logo
1 of 41
1© 2016 Rogue Wave Software, Inc. All Rights Reserved. 1
Top open source lessons
for every enterprise
Episode 4:
Top issues in the top enterprise
packages
2© 2016 Rogue Wave Software, Inc. All Rights Reserved. 2
Bill Crowell
Enterprise architect, OpenLogic support
Rogue Wave Software
Vince Cox
Enterprise architect, OpenLogic support
Rogue Wave Software
Presenters
3© 2016 Rogue Wave Software, Inc. All Rights Reserved. 3
Poll #1
What percentage of your mission critical software is open source?
A: 0 to 25%
B: 26 to 50%
C: 51 to 75%
D: 75%
4© 2016 Rogue Wave Software, Inc. All Rights Reserved. 4
1. Introduction
2. Setting the context
3. Top issues: middleware + runtimes
4. Top issues: databases
5. Top issues: security
6. Conclusion
7. Q&A
Agenda
5© 2016 Rogue Wave Software, Inc. All Rights Reserved. 5
Who wrote LevelDB and what version
of ActiveMQ did it debut in?
What percentage of web server market
share does Apache HTTP Server hold?
Pop quiz
6© 2016 Rogue Wave Software, Inc. All Rights Reserved. 6
Introduction
What problems do our clients commonly run into?
From our experience…
• ActiveMQ High Availability Shared Databases Using NFS
• PostgreSQL Database Performance
• Request Header Vulnerabilities
7© 2016 Rogue Wave Software, Inc. All Rights Reserved. 7
Poll #2
What type of ActiveMQ persistence store do you use?
A: KahaDB
B: LevelDB
C: Replicated LevelDB
D: We don’t use message persistence with ActiveMQ
E: We don’t use ActiveMQ
8© 2016 Rogue Wave Software, Inc. All Rights Reserved. 8
Top issues:
middleware + runtimes
9© 2016 Rogue Wave Software, Inc. All Rights Reserved. 9
Scenario #1
Observing crashing or unresponsive broker
Typical configuration/requirements
• Master/slave network broker setup with NFS mount
• NFSv4 (SoftNAS) cloud-based shared file system available with
Amazon Web Services EC2 or GlusterFS
• Often a high-throughput requirement (10k messages/second of 1-3kb
message size)
One of the following problems…
• Master dies resulting in “no master” scenario
• Slave prematurely claims lock resulting in 2
master brokers leading to message loss
• Continuous master/slave re-election
• Increasing CPUs/memory doesn’t help
• Non-existent prior to production
10© 2016 Rogue Wave Software, Inc. All Rights Reserved. 10
Scenario #1 solution
Use SAN, Replicated LevelDB, or Pluggable Storage Lockers
Three solutions
• Use block-level iSCSI driver with Storage Area Network (SAN)
• Master-slave for HA and Replicated LevelDB managed by Zookeeper
• Pluggable Storage Lockers
More points
• Inherent flaws in OS-level filesystem locking mechanism
• Exclusive file locks work great with a SAN but is most expensive
• Replicated LevelDB requires a more configuration and a quorum of
nodes (replicas / 2 + 1)
• Pluggable Storage Locker/Lease Database Locker
11© 2016 Rogue Wave Software, Inc. All Rights Reserved. 11
Scenario #1 solution
Lease Database Locker
Points
• Master must renew lease before lease expires
• The lease period can be configured
• If not renewed, then the slave takes ownership of the lease
becoming the new master
More points
• Leased locks can survive database replica failovers
• Can be used with any JDBC-compliant database
• Make sure to uniquely name your brokers
• Keep master/slave clocks synchronized with NTP service
• Uniquely name your brokers. Use connection pooling
12© 2016 Rogue Wave Software, Inc. All Rights Reserved. 12
Poll #3
Do you use PostgreSQL?
A: We don’t use PostgreSQL
B: We don’t use PostgreSQL but plan on using it in the future
C: We use PostgreSQL as a mission-critical application database
D: We use PostgreSQL as part of another open source project
E: We are migrating away from PostgreSQL
13© 2016 Rogue Wave Software, Inc. All Rights Reserved. 13
Top issues:
databases
14© 2016 Rogue Wave Software, Inc. All Rights Reserved. 14
Scenario #2
Database performance is poor
Symptoms
• Sorting and querying take a long time
• One particular query or web page is hanging the database
• “Sorry, too many clients already” or connection pool is full
Where do I start?
• Localize if possible: Data center, network,
database or application server?
• When did it start
• What changes took place?
15© 2016 Rogue Wave Software, Inc. All Rights Reserved. 15
Scenario #2 solution
Identify and analyze
Quick checks
• top with ‘c’ command shows process ID, CPU, and memory
utilization
• ”iostat –x –m 5” reveals disk IO wait times
• ELK = Elasticsearch + Logstash + Kibana
• “EXPLAIN ANALYZE <SQL>” shows execution time and table
scans
Tools
• psql: SELECT pid, datname, usename, query FROM pg_stat_activity;
pid datname usename query
42102 jboss jboss SELECT pid, datname, usename,
query FROM pg_stat_activity;
42103 jboss jboss SELECT video FROM news where...;
16© 2016 Rogue Wave Software, Inc. All Rights Reserved. 16
Scenario #2 solution
Identify and analyze
Tools
• pg_stat_statments
www.postgresql.org/docs/current/static/pgstatstatements.html
Note: pg_stat_statements requires more shared memory
postgresql.conf:
shared_preload_libraries = ‘pg_stat_statements’
Server restart is required after enabling the shared library
Reset statistics: select pg_stat_reset();
17© 2016 Rogue Wave Software, Inc. All Rights Reserved. 17
Scenario #2 solution
Identify and analyze
Tools
More on PostgreSQL performance:
www.craigkerstiens.com/2013/01/10/more-on-postgres-
performance/
SELECT
(total_time / 1000 / 60) as total_minutes,
(total_time/calls) as average_time,
query
FROM pg_stat_statements
ORDER BY 1 DESC
LIMIT 100;
The Query
Total Query Time (in minutes)
Average Time (in milliseconds)
18© 2016 Rogue Wave Software, Inc. All Rights Reserved. 18
Scenario #2 solution
Identify and analyze
Tools
• pbBadger: dalibo.github.io/pgbadger/
• Requires Perl
pgBadger: dalibo.github.io/pgbadger/
postgresql.conf
• log_min_duration_statement = 0
• log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d ’
• log_checkpoints = on
• log_connections = on
• log_disconnections = on
• log_lock_waits = on
• log_temp_files = 0
After making changes run: SELECT pg_reload_conf();
19© 2016 Rogue Wave Software, Inc. All Rights Reserved. 19
Scenario #2 solution
Implement and test (…and repeat...)
Supporting points
• What if I don’t find the offending SQL or table?
• Start looking at the database configuration.
• Did you benchmark and tune?
More points
• Most parameters are automatically adjusted.
• We find that many people make minimal changes to the default
configuration.
• As always, remember to test any configuration changes in a non-prod
environment first, and implement changes incrementally.
• Do not make numerous configuration changes all at once.
• Systematically measure your performance tests. Use a tool like pgbench.
20© 2016 Rogue Wave Software, Inc. All Rights Reserved. 20
Scenario #2 solution
Implement and test (…and repeat...)
Configuration Settings in postgresql.conf
• max_connections: Maximum simultaneous connections to the
database (default is 100).
• shared_buffers: database cache size (default is 128MB). 25% of
total RAM. Windows-based should be 64-512MB.
• effective_cache_size: Tells the query planner how much RAM
there is to execute. 50-75% of total RAM.
• work_mem: Used for complex sorts (default is 4MB). Check if it is
uncommented and what the value is.
• maintenance_work_mem: Amount of memory for background
processes for pgdump, pgrestore, vacuum, indexing, and bulk loads
(default is 64MB). 256MB-1GB for large databases.
• checkpoint_segments: Maxiumum # of log file segments between
WAL checkpoints (default is 3).
21© 2016 Rogue Wave Software, Inc. All Rights Reserved. 21
Scenario #2 solution
Implement and test (…and repeat...)
Configuration Settings in postgresql.conf
• wal_buffers: Write ahead log buffer used for writing a transaction to
disk.
What should I really set these values to?
• pgTune: pgtune.leopard.in.ua/
SELECT name, current_setting(name), SOURCE FROM pg_settings WHERE
SOURCE NOT IN ('default', 'override');
PostgreSQL 9.0 High Performance
www.amazon.com/PostgreSQL-High-Performance-Gregory-
Smith/dp/184951030X/163-3733534-8577963
22© 2016 Rogue Wave Software, Inc. All Rights Reserved. 22
Poll #4
Are you using SSLv3?
A: Yes
B: No
23© 2016 Rogue Wave Software, Inc. All Rights Reserved. 23
Top issues:
security
24© 2016 Rogue Wave Software, Inc. All Rights Reserved. 24
Scenario #3
Pen testing reveals the application server is vulnerable
Supporting points
• Cache-control, Pragma, Expires headers are not set
• X-Powered-By reveals the application server type
More points
• A proxy can inject an intermediate
page and compromise the site
• Certain versions of JBoss allow little to
no control of request header
manipulation
25© 2016 Rogue Wave Software, Inc. All Rights Reserved. 25
Scenario #3 solution
Request header manipulation strategies
Supporting points
• Proxy requests through Apache HTTP Server before sending
them to the application server
• Mod_expire could be used to explicitly set them. Does not
guarantee header will be set
• Set org.apache.catalina.connector.X_POWERED_BY to false
More points
• Using Apache HTTP Server’s mod_header module is easiest and preferred
option
• mod_headers module allows manipulation before and after the request
• If this is not an option, then a filter can do the same function
• There should never be a situation where an application server is internet
facing without the protection of a web server in the DMZ
26© 2016 Rogue Wave Software, Inc. All Rights Reserved. 26
Scenario #3 solution
Request header manipulation strategies
DMZ
• The front end should always be in the DMZ
• This should never be an application server
• Web servers are “far more” capable than application
servers in this role
Best practice
• Traditional 3-headed monster, Web/App/DB should always reside at
unique layers in the infrastructure
• There should be horizontal and/or vertical separation between them at
all times
• This provides greater opportunities for other security gear to potentially
sniff and sort out other possible vulnerabilities. Like HIDS/NIDS, etc.
27© 2016 Rogue Wave Software, Inc. All Rights Reserved. 27
Scenario #3 solution
Request header manipulation strategies
HTTPD Mod_expires
• Mod_expires can set the max_age and expirations
• ExpiresByType text/html M604800 (Expires a week after
modification)
HTTPD Mod_Header
• Much more flexible than mod_expires
• Header echo ^KC (copies all request headers starting with KS to
response headers
• Header set TESTHEADER “Hi, The request ran in %D uSEC’s”
• Env variables can be set as well. Much more capable than
mod_expires
28© 2016 Rogue Wave Software, Inc. All Rights Reserved. 28
Scenario #3 solution
Header manipulation examples
HTTPD Mod_header Example
• <ifModule mod)headers.c>
• Header set DateTimeHEader “%D %t”
• </ifModule>
Header merge Cache-Control no-cache
Header merge Cache-Control no-store
Yields
Cache-Control: no-cache, no-store
29© 2016 Rogue Wave Software, Inc. All Rights Reserved. 29
Scenario #3 solution
Header manipulation examples
HTTPD Mod_header Example
• Header set Set-Cookie testcookie “expr=-z %
{req:Cookie}”
• Header merge Cache-Control no-cache env=CGI
• Header merge Cache-Control no cache
end=NO_CACHE
• Head merge Cache-Control not-store env=NO_STORE
Non-exclusive conditions. If all are set: Cache-Control: no-
cache, no-store
Using append instead of merge would cause a duplicate
no-cache message
30© 2016 Rogue Wave Software, Inc. All Rights Reserved. 30
Scenario #3 solution
Header manipulation examples
HTTPD Mod_header (Powerful module)
• Add, Append, echo, edit, merge, set setifempty, unset
• Allows setting of environment variables to use are
triggers
• Expressions can be set as well for more additional
control
Examples prove that web servers are well suited for this
type of work.
31© 2016 Rogue Wave Software, Inc. All Rights Reserved. 31
Scenario #3 solution
Request header manipulation strategies
JBoss Wildfly : Header Manipulation
• You shouldn’t, but if you absolutely must
• You could modify system properties to override certain
values. Or set a filter.
• Newer versions of JBoss provide header modification
Example
• <system properties>
• <property
name=“org.apache.coyote.http11.Http11Protocol.SERVER
” value=“someserver”/>
• <system-properties>
• For each version of Jboss, you may need to use the CLI to determine if
the necessary keys are available in that version
32© 2016 Rogue Wave Software, Inc. All Rights Reserved. 32
Scenario #3 solution
Request header manipulation strategies
JBoss Wildfly : Header Manipulation
• You can, but apache httpd is still a good accomplice
• Remove the following the alter the headers
• <filter-ref name=“x-powered-by-header”/>
• Performed in the undertow segment of standalone.xml
Example
• As newer versions of Wildfly emerge there is a bit more control of
headers
• This does not remove the need to have a web server in front
• A reverse proxy is is vital piece of application server security
33© 2016 Rogue Wave Software, Inc. All Rights Reserved. 33
Scenario #3 solution
Request header manipulation strategies
JBoss Wildfly : Header Manipulation
• CLI command structure will provide a view of current header
manipulation capabilities Wildfly has
• More flexibility in each new release
• Wildfly’s capabilities are far behind that of apache’s
• Having this level of control at your reverse proxy just makes
the most sense
• These features have been requested for quite some time
from the user base.
• Not a replacement for a frontend DMZ based web server
34© 2016 Rogue Wave Software, Inc. All Rights Reserved. 34
Who wrote LevelDB and what version of
ActiveMQ did it debut in?
Written by Google:
Jeff Dean who also has contributed to MapReduce and Google Translate
Sanjay Ghemawat who also contributed to MapReduce and iCal which is a
popular calendar application in Unix/Linux.
LevelDB debuted in ActiveMQ 5.10.0 but was not production ready.
What percentage of web server market share
does Apache HTTP Server hold?
July 2016
Apache HTTP Server: 52%
nginx: 30.5%
Microsoft: 12%
Pop quiz answers
35© 2016 Rogue Wave Software, Inc. All Rights Reserved. 35
Conclusion
36© 2016 Rogue Wave Software, Inc. All Rights Reserved. 36
JBoss/Wildfly: Newer versions of Wildfly allow administrators to control
HTTP headers and older versions of JBoss can be augmented with a filter
or Apache HTTP Server's mod_header for equivalent functionality.
So much open source!
PostgreSQL: Use tools like pgBench and pgTune.
PostgreSQL: Troubleshooting tools like pg_stat_statements and
pgBadger can help narrow down database performance issues.
ActiveMQ: A Lease Database Locker is a viable alternative to
NFS where SAN is cost prohibitive. Consider Replicated
LevelDB with Apache Zookeeper for performance.
37© 2016 Rogue Wave Software, Inc. All Rights Reserved. 37
Our support
38© 2016 Rogue Wave Software, Inc. All Rights Reserved. 38
Q & A
39© 2016 Rogue Wave Software, Inc. All Rights Reserved. 39
Watch on demand
• Watch this webinar on demand
• Read the recap blog to see the results of the
polls and Q&A session
40© 2016 Rogue Wave Software, Inc. All Rights Reserved. 40
Follow up
For OpenLogic support customers:
OSS Radio
Get a free OSS support ticket to experience our expertise
roguewave.com/freeticket
Free open source newsletter:
roguewave.com/products/open-source-support/openupdate
41© 2016 Rogue Wave Software, Inc. All Rights Reserved. 41

More Related Content

What's hot

DC/OS 1.8 Container Networking
DC/OS 1.8 Container NetworkingDC/OS 1.8 Container Networking
DC/OS 1.8 Container NetworkingSargun Dhillon
 
Why Distributed Databases?
Why Distributed Databases?Why Distributed Databases?
Why Distributed Databases?Sargun Dhillon
 
Developing with the Go client for Apache Kafka
Developing with the Go client for Apache KafkaDeveloping with the Go client for Apache Kafka
Developing with the Go client for Apache KafkaJoe Stein
 
Application Performance Troubleshooting 1x1 - Part 2 - Noch mehr Schweine und...
Application Performance Troubleshooting 1x1 - Part 2 - Noch mehr Schweine und...Application Performance Troubleshooting 1x1 - Part 2 - Noch mehr Schweine und...
Application Performance Troubleshooting 1x1 - Part 2 - Noch mehr Schweine und...rschuppe
 
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB AtlasMongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB AtlasMongoDB
 
SpringOne2GX 2014 Splunk Presentation
SpringOne2GX 2014 Splunk PresentationSpringOne2GX 2014 Splunk Presentation
SpringOne2GX 2014 Splunk PresentationDamien Dallimore
 
101 mistakes FINN.no has made with Kafka (Baksida meetup)
101 mistakes FINN.no has made with Kafka (Baksida meetup)101 mistakes FINN.no has made with Kafka (Baksida meetup)
101 mistakes FINN.no has made with Kafka (Baksida meetup)Henning Spjelkavik
 
URP? Excuse You! The Three Kafka Metrics You Need to Know
URP? Excuse You! The Three Kafka Metrics You Need to KnowURP? Excuse You! The Three Kafka Metrics You Need to Know
URP? Excuse You! The Three Kafka Metrics You Need to KnowTodd Palino
 
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYCScalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYCCal Henderson
 
Running Oracle EBS in the cloud (DOAG TECH17 edition)
Running Oracle EBS in the cloud (DOAG TECH17 edition)Running Oracle EBS in the cloud (DOAG TECH17 edition)
Running Oracle EBS in the cloud (DOAG TECH17 edition)Andrejs Prokopjevs
 
Memory Heap Analysis with AppDynamics - AppSphere16
Memory Heap Analysis with AppDynamics - AppSphere16Memory Heap Analysis with AppDynamics - AppSphere16
Memory Heap Analysis with AppDynamics - AppSphere16AppDynamics
 
Halo Installfest Slides
Halo Installfest SlidesHalo Installfest Slides
Halo Installfest SlidesCloudPassage
 
Kafka Reliability - When it absolutely, positively has to be there
Kafka Reliability - When it absolutely, positively has to be thereKafka Reliability - When it absolutely, positively has to be there
Kafka Reliability - When it absolutely, positively has to be thereGwen (Chen) Shapira
 
Reliability Guarantees for Apache Kafka
Reliability Guarantees for Apache KafkaReliability Guarantees for Apache Kafka
Reliability Guarantees for Apache Kafkaconfluent
 
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...Lars Platzdasch
 
The Good, The Bad, and The Avro (Graham Stirling, Saxo Bank and David Navalho...
The Good, The Bad, and The Avro (Graham Stirling, Saxo Bank and David Navalho...The Good, The Bad, and The Avro (Graham Stirling, Saxo Bank and David Navalho...
The Good, The Bad, and The Avro (Graham Stirling, Saxo Bank and David Navalho...confluent
 

What's hot (20)

DC/OS 1.8 Container Networking
DC/OS 1.8 Container NetworkingDC/OS 1.8 Container Networking
DC/OS 1.8 Container Networking
 
Why Distributed Databases?
Why Distributed Databases?Why Distributed Databases?
Why Distributed Databases?
 
Intro to Databases
Intro to DatabasesIntro to Databases
Intro to Databases
 
Developing with the Go client for Apache Kafka
Developing with the Go client for Apache KafkaDeveloping with the Go client for Apache Kafka
Developing with the Go client for Apache Kafka
 
Application Performance Troubleshooting 1x1 - Part 2 - Noch mehr Schweine und...
Application Performance Troubleshooting 1x1 - Part 2 - Noch mehr Schweine und...Application Performance Troubleshooting 1x1 - Part 2 - Noch mehr Schweine und...
Application Performance Troubleshooting 1x1 - Part 2 - Noch mehr Schweine und...
 
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB AtlasMongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas
 
SpringOne2GX 2014 Splunk Presentation
SpringOne2GX 2014 Splunk PresentationSpringOne2GX 2014 Splunk Presentation
SpringOne2GX 2014 Splunk Presentation
 
101 mistakes FINN.no has made with Kafka (Baksida meetup)
101 mistakes FINN.no has made with Kafka (Baksida meetup)101 mistakes FINN.no has made with Kafka (Baksida meetup)
101 mistakes FINN.no has made with Kafka (Baksida meetup)
 
URP? Excuse You! The Three Kafka Metrics You Need to Know
URP? Excuse You! The Three Kafka Metrics You Need to KnowURP? Excuse You! The Three Kafka Metrics You Need to Know
URP? Excuse You! The Three Kafka Metrics You Need to Know
 
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYCScalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
 
Splunk Java Agent
Splunk Java AgentSplunk Java Agent
Splunk Java Agent
 
Running Oracle EBS in the cloud (DOAG TECH17 edition)
Running Oracle EBS in the cloud (DOAG TECH17 edition)Running Oracle EBS in the cloud (DOAG TECH17 edition)
Running Oracle EBS in the cloud (DOAG TECH17 edition)
 
Memory Heap Analysis with AppDynamics - AppSphere16
Memory Heap Analysis with AppDynamics - AppSphere16Memory Heap Analysis with AppDynamics - AppSphere16
Memory Heap Analysis with AppDynamics - AppSphere16
 
Halo Installfest Slides
Halo Installfest SlidesHalo Installfest Slides
Halo Installfest Slides
 
Ssd collab13
Ssd   collab13Ssd   collab13
Ssd collab13
 
Kafka reliability velocity 17
Kafka reliability   velocity 17Kafka reliability   velocity 17
Kafka reliability velocity 17
 
Kafka Reliability - When it absolutely, positively has to be there
Kafka Reliability - When it absolutely, positively has to be thereKafka Reliability - When it absolutely, positively has to be there
Kafka Reliability - When it absolutely, positively has to be there
 
Reliability Guarantees for Apache Kafka
Reliability Guarantees for Apache KafkaReliability Guarantees for Apache Kafka
Reliability Guarantees for Apache Kafka
 
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
 
The Good, The Bad, and The Avro (Graham Stirling, Saxo Bank and David Navalho...
The Good, The Bad, and The Avro (Graham Stirling, Saxo Bank and David Navalho...The Good, The Bad, and The Avro (Graham Stirling, Saxo Bank and David Navalho...
The Good, The Bad, and The Avro (Graham Stirling, Saxo Bank and David Navalho...
 

Viewers also liked

Enterprise messaging with jms
Enterprise messaging with jmsEnterprise messaging with jms
Enterprise messaging with jmsSridhar Reddy
 
(STG306) EFS: How to store 8 Exabytes & look good doing it
(STG306) EFS: How to store 8 Exabytes & look good doing it(STG306) EFS: How to store 8 Exabytes & look good doing it
(STG306) EFS: How to store 8 Exabytes & look good doing itAmazon Web Services
 
Camel Desing Patterns Learned Through Blood, Sweat, and Tears
Camel Desing Patterns Learned Through Blood, Sweat, and TearsCamel Desing Patterns Learned Through Blood, Sweat, and Tears
Camel Desing Patterns Learned Through Blood, Sweat, and TearsBilgin Ibryam
 
Managing your camels in the cloud with CI/CD
Managing your camels in the cloud with CI/CDManaging your camels in the cloud with CI/CD
Managing your camels in the cloud with CI/CDChristian Posta
 
ApacheCon EU 2016 - Apache Camel the integration library
ApacheCon EU 2016 - Apache Camel the integration libraryApacheCon EU 2016 - Apache Camel the integration library
ApacheCon EU 2016 - Apache Camel the integration libraryClaus Ibsen
 
Ten Reasons Why You Should Prefer PostgreSQL to MySQL
Ten Reasons Why You Should Prefer PostgreSQL to MySQLTen Reasons Why You Should Prefer PostgreSQL to MySQL
Ten Reasons Why You Should Prefer PostgreSQL to MySQLanandology
 
Postgresql on NFS - J.Battiato, pgday2016
Postgresql on NFS - J.Battiato, pgday2016Postgresql on NFS - J.Battiato, pgday2016
Postgresql on NFS - J.Battiato, pgday2016Jonathan Battiato
 

Viewers also liked (8)

Enterprise messaging with jms
Enterprise messaging with jmsEnterprise messaging with jms
Enterprise messaging with jms
 
(STG306) EFS: How to store 8 Exabytes & look good doing it
(STG306) EFS: How to store 8 Exabytes & look good doing it(STG306) EFS: How to store 8 Exabytes & look good doing it
(STG306) EFS: How to store 8 Exabytes & look good doing it
 
Shootout at the PAAS Corral
Shootout at the PAAS CorralShootout at the PAAS Corral
Shootout at the PAAS Corral
 
Camel Desing Patterns Learned Through Blood, Sweat, and Tears
Camel Desing Patterns Learned Through Blood, Sweat, and TearsCamel Desing Patterns Learned Through Blood, Sweat, and Tears
Camel Desing Patterns Learned Through Blood, Sweat, and Tears
 
Managing your camels in the cloud with CI/CD
Managing your camels in the cloud with CI/CDManaging your camels in the cloud with CI/CD
Managing your camels in the cloud with CI/CD
 
ApacheCon EU 2016 - Apache Camel the integration library
ApacheCon EU 2016 - Apache Camel the integration libraryApacheCon EU 2016 - Apache Camel the integration library
ApacheCon EU 2016 - Apache Camel the integration library
 
Ten Reasons Why You Should Prefer PostgreSQL to MySQL
Ten Reasons Why You Should Prefer PostgreSQL to MySQLTen Reasons Why You Should Prefer PostgreSQL to MySQL
Ten Reasons Why You Should Prefer PostgreSQL to MySQL
 
Postgresql on NFS - J.Battiato, pgday2016
Postgresql on NFS - J.Battiato, pgday2016Postgresql on NFS - J.Battiato, pgday2016
Postgresql on NFS - J.Battiato, pgday2016
 

Similar to Open source: Top issues in the top enterprise packages

Cognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksCognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksSenturus
 
Silicon Valley Code Camp 2015 - Advanced MongoDB - The Sequel
Silicon Valley Code Camp 2015 - Advanced MongoDB - The SequelSilicon Valley Code Camp 2015 - Advanced MongoDB - The Sequel
Silicon Valley Code Camp 2015 - Advanced MongoDB - The SequelDaniel Coupal
 
Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...
Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...
Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...Andreas Grabner
 
Web Speed And Scalability
Web Speed And ScalabilityWeb Speed And Scalability
Web Speed And ScalabilityJason Ragsdale
 
Become a Performance Diagnostics Hero
Become a Performance Diagnostics HeroBecome a Performance Diagnostics Hero
Become a Performance Diagnostics HeroTechWell
 
Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014Lari Hotari
 
Abusing bleeding edge web standards for appsec glory
Abusing bleeding edge web standards for appsec gloryAbusing bleeding edge web standards for appsec glory
Abusing bleeding edge web standards for appsec gloryPriyanka Aash
 
WebSphere Technical University: Introduction to the Java Diagnostic Tools
WebSphere Technical University: Introduction to the Java Diagnostic ToolsWebSphere Technical University: Introduction to the Java Diagnostic Tools
WebSphere Technical University: Introduction to the Java Diagnostic ToolsChris Bailey
 
System hardening - OS and Application
System hardening - OS and ApplicationSystem hardening - OS and Application
System hardening - OS and Applicationedavid2685
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...Amazon Web Services
 
Raising ux bar with offline first design
Raising ux bar with offline first designRaising ux bar with offline first design
Raising ux bar with offline first designKyrylo Reznykov
 
Performance Analysis of Idle Programs
Performance Analysis of Idle ProgramsPerformance Analysis of Idle Programs
Performance Analysis of Idle Programsgreenwop
 
MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014Ryusuke Kajiyama
 
Stop Feeding IBM i Performance Hogs - Robot
Stop Feeding IBM i Performance Hogs - RobotStop Feeding IBM i Performance Hogs - Robot
Stop Feeding IBM i Performance Hogs - RobotHelpSystems
 
Impact2014: Introduction to the IBM Java Tools
Impact2014: Introduction to the IBM Java ToolsImpact2014: Introduction to the IBM Java Tools
Impact2014: Introduction to the IBM Java ToolsChris Bailey
 
Ebs performance tuning session feb 13 2013---Presented by Oracle
Ebs performance tuning session  feb 13 2013---Presented by OracleEbs performance tuning session  feb 13 2013---Presented by Oracle
Ebs performance tuning session feb 13 2013---Presented by OracleAkash Pramanik
 
Adding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance TestAdding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance TestRodolfo Kohn
 
AOUG_11Nov2016_Challenges_with_EBS12_2
AOUG_11Nov2016_Challenges_with_EBS12_2AOUG_11Nov2016_Challenges_with_EBS12_2
AOUG_11Nov2016_Challenges_with_EBS12_2Sean Braymen
 

Similar to Open source: Top issues in the top enterprise packages (20)

Cognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksCognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & Tricks
 
Silicon Valley Code Camp 2015 - Advanced MongoDB - The Sequel
Silicon Valley Code Camp 2015 - Advanced MongoDB - The SequelSilicon Valley Code Camp 2015 - Advanced MongoDB - The Sequel
Silicon Valley Code Camp 2015 - Advanced MongoDB - The Sequel
 
Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...
Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...
Performance Metrics for your Build Pipeline - presented at Vienna WebPerf Oct...
 
Fastest Servlets in the West
Fastest Servlets in the WestFastest Servlets in the West
Fastest Servlets in the West
 
Web Speed And Scalability
Web Speed And ScalabilityWeb Speed And Scalability
Web Speed And Scalability
 
Become a Performance Diagnostics Hero
Become a Performance Diagnostics HeroBecome a Performance Diagnostics Hero
Become a Performance Diagnostics Hero
 
Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014
 
Abusing bleeding edge web standards for appsec glory
Abusing bleeding edge web standards for appsec gloryAbusing bleeding edge web standards for appsec glory
Abusing bleeding edge web standards for appsec glory
 
WebSphere Technical University: Introduction to the Java Diagnostic Tools
WebSphere Technical University: Introduction to the Java Diagnostic ToolsWebSphere Technical University: Introduction to the Java Diagnostic Tools
WebSphere Technical University: Introduction to the Java Diagnostic Tools
 
System hardening - OS and Application
System hardening - OS and ApplicationSystem hardening - OS and Application
System hardening - OS and Application
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
 
Raising ux bar with offline first design
Raising ux bar with offline first designRaising ux bar with offline first design
Raising ux bar with offline first design
 
Optimizing performance
Optimizing performanceOptimizing performance
Optimizing performance
 
Performance Analysis of Idle Programs
Performance Analysis of Idle ProgramsPerformance Analysis of Idle Programs
Performance Analysis of Idle Programs
 
MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014
 
Stop Feeding IBM i Performance Hogs - Robot
Stop Feeding IBM i Performance Hogs - RobotStop Feeding IBM i Performance Hogs - Robot
Stop Feeding IBM i Performance Hogs - Robot
 
Impact2014: Introduction to the IBM Java Tools
Impact2014: Introduction to the IBM Java ToolsImpact2014: Introduction to the IBM Java Tools
Impact2014: Introduction to the IBM Java Tools
 
Ebs performance tuning session feb 13 2013---Presented by Oracle
Ebs performance tuning session  feb 13 2013---Presented by OracleEbs performance tuning session  feb 13 2013---Presented by Oracle
Ebs performance tuning session feb 13 2013---Presented by Oracle
 
Adding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance TestAdding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance Test
 
AOUG_11Nov2016_Challenges_with_EBS12_2
AOUG_11Nov2016_Challenges_with_EBS12_2AOUG_11Nov2016_Challenges_with_EBS12_2
AOUG_11Nov2016_Challenges_with_EBS12_2
 

More from Rogue Wave Software

The Global Influence of Open Banking, API Security, and an Open Data Perspective
The Global Influence of Open Banking, API Security, and an Open Data PerspectiveThe Global Influence of Open Banking, API Security, and an Open Data Perspective
The Global Influence of Open Banking, API Security, and an Open Data PerspectiveRogue Wave Software
 
No liftoff, touchdown, or heartbeat shall miss because of a software failure
No liftoff, touchdown, or heartbeat shall miss because of a software failureNo liftoff, touchdown, or heartbeat shall miss because of a software failure
No liftoff, touchdown, or heartbeat shall miss because of a software failureRogue Wave Software
 
Disrupt or be disrupted – Using secure APIs to drive digital transformation
Disrupt or be disrupted – Using secure APIs to drive digital transformationDisrupt or be disrupted – Using secure APIs to drive digital transformation
Disrupt or be disrupted – Using secure APIs to drive digital transformationRogue Wave Software
 
Leveraging open banking specifications for rigorous API security – What’s in...
Leveraging open banking specifications for rigorous API security –  What’s in...Leveraging open banking specifications for rigorous API security –  What’s in...
Leveraging open banking specifications for rigorous API security – What’s in...Rogue Wave Software
 
Adding layers of security to an API in real-time
Adding layers of security to an API in real-timeAdding layers of security to an API in real-time
Adding layers of security to an API in real-timeRogue Wave Software
 
Getting the most from your API management platform: A case study
Getting the most from your API management platform: A case studyGetting the most from your API management platform: A case study
Getting the most from your API management platform: A case studyRogue Wave Software
 
Advanced technologies and techniques for debugging HPC applications
Advanced technologies and techniques for debugging HPC applicationsAdvanced technologies and techniques for debugging HPC applications
Advanced technologies and techniques for debugging HPC applicationsRogue Wave Software
 
The forgotten route: Making Apache Camel work for you
The forgotten route: Making Apache Camel work for youThe forgotten route: Making Apache Camel work for you
The forgotten route: Making Apache Camel work for youRogue Wave Software
 
Are open source and embedded software development on a collision course?
Are open source and embedded software development on a  collision course?Are open source and embedded software development on a  collision course?
Are open source and embedded software development on a collision course?Rogue Wave Software
 
Three big mistakes with APIs and microservices
Three big mistakes with APIs and microservices Three big mistakes with APIs and microservices
Three big mistakes with APIs and microservices Rogue Wave Software
 
5 strategies for enterprise cloud infrastructure success
5 strategies for enterprise cloud infrastructure success5 strategies for enterprise cloud infrastructure success
5 strategies for enterprise cloud infrastructure successRogue Wave Software
 
PSD2 & Open Banking: How to go from standards to implementation and compliance
PSD2 & Open Banking: How to go from standards to implementation and compliancePSD2 & Open Banking: How to go from standards to implementation and compliance
PSD2 & Open Banking: How to go from standards to implementation and complianceRogue Wave Software
 
Java 10 and beyond: Keeping up with the language and planning for the future
Java 10 and beyond: Keeping up with the language and planning for the futureJava 10 and beyond: Keeping up with the language and planning for the future
Java 10 and beyond: Keeping up with the language and planning for the futureRogue Wave Software
 
How to keep developers happy and lawyers calm (Presented at ESC Boston)
How to keep developers happy and lawyers calm (Presented at ESC Boston)How to keep developers happy and lawyers calm (Presented at ESC Boston)
How to keep developers happy and lawyers calm (Presented at ESC Boston)Rogue Wave Software
 
Open source applied - Real world use cases (Presented at Open Source 101)
Open source applied - Real world use cases (Presented at Open Source 101)Open source applied - Real world use cases (Presented at Open Source 101)
Open source applied - Real world use cases (Presented at Open Source 101)Rogue Wave Software
 
How to migrate SourcePro apps from Solaris to Linux
How to migrate SourcePro apps from Solaris to LinuxHow to migrate SourcePro apps from Solaris to Linux
How to migrate SourcePro apps from Solaris to LinuxRogue Wave Software
 
Approaches to debugging mixed-language HPC apps
Approaches to debugging mixed-language HPC appsApproaches to debugging mixed-language HPC apps
Approaches to debugging mixed-language HPC appsRogue Wave Software
 
Enterprise Linux: Justify your migration from Red Hat to CentOS
Enterprise Linux: Justify your migration from Red Hat to CentOSEnterprise Linux: Justify your migration from Red Hat to CentOS
Enterprise Linux: Justify your migration from Red Hat to CentOSRogue Wave Software
 
Walk through an enterprise Linux migration
Walk through an enterprise Linux migrationWalk through an enterprise Linux migration
Walk through an enterprise Linux migrationRogue Wave Software
 
How to keep developers happy and lawyers calm
How to keep developers happy and lawyers calmHow to keep developers happy and lawyers calm
How to keep developers happy and lawyers calmRogue Wave Software
 

More from Rogue Wave Software (20)

The Global Influence of Open Banking, API Security, and an Open Data Perspective
The Global Influence of Open Banking, API Security, and an Open Data PerspectiveThe Global Influence of Open Banking, API Security, and an Open Data Perspective
The Global Influence of Open Banking, API Security, and an Open Data Perspective
 
No liftoff, touchdown, or heartbeat shall miss because of a software failure
No liftoff, touchdown, or heartbeat shall miss because of a software failureNo liftoff, touchdown, or heartbeat shall miss because of a software failure
No liftoff, touchdown, or heartbeat shall miss because of a software failure
 
Disrupt or be disrupted – Using secure APIs to drive digital transformation
Disrupt or be disrupted – Using secure APIs to drive digital transformationDisrupt or be disrupted – Using secure APIs to drive digital transformation
Disrupt or be disrupted – Using secure APIs to drive digital transformation
 
Leveraging open banking specifications for rigorous API security – What’s in...
Leveraging open banking specifications for rigorous API security –  What’s in...Leveraging open banking specifications for rigorous API security –  What’s in...
Leveraging open banking specifications for rigorous API security – What’s in...
 
Adding layers of security to an API in real-time
Adding layers of security to an API in real-timeAdding layers of security to an API in real-time
Adding layers of security to an API in real-time
 
Getting the most from your API management platform: A case study
Getting the most from your API management platform: A case studyGetting the most from your API management platform: A case study
Getting the most from your API management platform: A case study
 
Advanced technologies and techniques for debugging HPC applications
Advanced technologies and techniques for debugging HPC applicationsAdvanced technologies and techniques for debugging HPC applications
Advanced technologies and techniques for debugging HPC applications
 
The forgotten route: Making Apache Camel work for you
The forgotten route: Making Apache Camel work for youThe forgotten route: Making Apache Camel work for you
The forgotten route: Making Apache Camel work for you
 
Are open source and embedded software development on a collision course?
Are open source and embedded software development on a  collision course?Are open source and embedded software development on a  collision course?
Are open source and embedded software development on a collision course?
 
Three big mistakes with APIs and microservices
Three big mistakes with APIs and microservices Three big mistakes with APIs and microservices
Three big mistakes with APIs and microservices
 
5 strategies for enterprise cloud infrastructure success
5 strategies for enterprise cloud infrastructure success5 strategies for enterprise cloud infrastructure success
5 strategies for enterprise cloud infrastructure success
 
PSD2 & Open Banking: How to go from standards to implementation and compliance
PSD2 & Open Banking: How to go from standards to implementation and compliancePSD2 & Open Banking: How to go from standards to implementation and compliance
PSD2 & Open Banking: How to go from standards to implementation and compliance
 
Java 10 and beyond: Keeping up with the language and planning for the future
Java 10 and beyond: Keeping up with the language and planning for the futureJava 10 and beyond: Keeping up with the language and planning for the future
Java 10 and beyond: Keeping up with the language and planning for the future
 
How to keep developers happy and lawyers calm (Presented at ESC Boston)
How to keep developers happy and lawyers calm (Presented at ESC Boston)How to keep developers happy and lawyers calm (Presented at ESC Boston)
How to keep developers happy and lawyers calm (Presented at ESC Boston)
 
Open source applied - Real world use cases (Presented at Open Source 101)
Open source applied - Real world use cases (Presented at Open Source 101)Open source applied - Real world use cases (Presented at Open Source 101)
Open source applied - Real world use cases (Presented at Open Source 101)
 
How to migrate SourcePro apps from Solaris to Linux
How to migrate SourcePro apps from Solaris to LinuxHow to migrate SourcePro apps from Solaris to Linux
How to migrate SourcePro apps from Solaris to Linux
 
Approaches to debugging mixed-language HPC apps
Approaches to debugging mixed-language HPC appsApproaches to debugging mixed-language HPC apps
Approaches to debugging mixed-language HPC apps
 
Enterprise Linux: Justify your migration from Red Hat to CentOS
Enterprise Linux: Justify your migration from Red Hat to CentOSEnterprise Linux: Justify your migration from Red Hat to CentOS
Enterprise Linux: Justify your migration from Red Hat to CentOS
 
Walk through an enterprise Linux migration
Walk through an enterprise Linux migrationWalk through an enterprise Linux migration
Walk through an enterprise Linux migration
 
How to keep developers happy and lawyers calm
How to keep developers happy and lawyers calmHow to keep developers happy and lawyers calm
How to keep developers happy and lawyers calm
 

Recently uploaded

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 

Open source: Top issues in the top enterprise packages

  • 1. 1© 2016 Rogue Wave Software, Inc. All Rights Reserved. 1 Top open source lessons for every enterprise Episode 4: Top issues in the top enterprise packages
  • 2. 2© 2016 Rogue Wave Software, Inc. All Rights Reserved. 2 Bill Crowell Enterprise architect, OpenLogic support Rogue Wave Software Vince Cox Enterprise architect, OpenLogic support Rogue Wave Software Presenters
  • 3. 3© 2016 Rogue Wave Software, Inc. All Rights Reserved. 3 Poll #1 What percentage of your mission critical software is open source? A: 0 to 25% B: 26 to 50% C: 51 to 75% D: 75%
  • 4. 4© 2016 Rogue Wave Software, Inc. All Rights Reserved. 4 1. Introduction 2. Setting the context 3. Top issues: middleware + runtimes 4. Top issues: databases 5. Top issues: security 6. Conclusion 7. Q&A Agenda
  • 5. 5© 2016 Rogue Wave Software, Inc. All Rights Reserved. 5 Who wrote LevelDB and what version of ActiveMQ did it debut in? What percentage of web server market share does Apache HTTP Server hold? Pop quiz
  • 6. 6© 2016 Rogue Wave Software, Inc. All Rights Reserved. 6 Introduction What problems do our clients commonly run into? From our experience… • ActiveMQ High Availability Shared Databases Using NFS • PostgreSQL Database Performance • Request Header Vulnerabilities
  • 7. 7© 2016 Rogue Wave Software, Inc. All Rights Reserved. 7 Poll #2 What type of ActiveMQ persistence store do you use? A: KahaDB B: LevelDB C: Replicated LevelDB D: We don’t use message persistence with ActiveMQ E: We don’t use ActiveMQ
  • 8. 8© 2016 Rogue Wave Software, Inc. All Rights Reserved. 8 Top issues: middleware + runtimes
  • 9. 9© 2016 Rogue Wave Software, Inc. All Rights Reserved. 9 Scenario #1 Observing crashing or unresponsive broker Typical configuration/requirements • Master/slave network broker setup with NFS mount • NFSv4 (SoftNAS) cloud-based shared file system available with Amazon Web Services EC2 or GlusterFS • Often a high-throughput requirement (10k messages/second of 1-3kb message size) One of the following problems… • Master dies resulting in “no master” scenario • Slave prematurely claims lock resulting in 2 master brokers leading to message loss • Continuous master/slave re-election • Increasing CPUs/memory doesn’t help • Non-existent prior to production
  • 10. 10© 2016 Rogue Wave Software, Inc. All Rights Reserved. 10 Scenario #1 solution Use SAN, Replicated LevelDB, or Pluggable Storage Lockers Three solutions • Use block-level iSCSI driver with Storage Area Network (SAN) • Master-slave for HA and Replicated LevelDB managed by Zookeeper • Pluggable Storage Lockers More points • Inherent flaws in OS-level filesystem locking mechanism • Exclusive file locks work great with a SAN but is most expensive • Replicated LevelDB requires a more configuration and a quorum of nodes (replicas / 2 + 1) • Pluggable Storage Locker/Lease Database Locker
  • 11. 11© 2016 Rogue Wave Software, Inc. All Rights Reserved. 11 Scenario #1 solution Lease Database Locker Points • Master must renew lease before lease expires • The lease period can be configured • If not renewed, then the slave takes ownership of the lease becoming the new master More points • Leased locks can survive database replica failovers • Can be used with any JDBC-compliant database • Make sure to uniquely name your brokers • Keep master/slave clocks synchronized with NTP service • Uniquely name your brokers. Use connection pooling
  • 12. 12© 2016 Rogue Wave Software, Inc. All Rights Reserved. 12 Poll #3 Do you use PostgreSQL? A: We don’t use PostgreSQL B: We don’t use PostgreSQL but plan on using it in the future C: We use PostgreSQL as a mission-critical application database D: We use PostgreSQL as part of another open source project E: We are migrating away from PostgreSQL
  • 13. 13© 2016 Rogue Wave Software, Inc. All Rights Reserved. 13 Top issues: databases
  • 14. 14© 2016 Rogue Wave Software, Inc. All Rights Reserved. 14 Scenario #2 Database performance is poor Symptoms • Sorting and querying take a long time • One particular query or web page is hanging the database • “Sorry, too many clients already” or connection pool is full Where do I start? • Localize if possible: Data center, network, database or application server? • When did it start • What changes took place?
  • 15. 15© 2016 Rogue Wave Software, Inc. All Rights Reserved. 15 Scenario #2 solution Identify and analyze Quick checks • top with ‘c’ command shows process ID, CPU, and memory utilization • ”iostat –x –m 5” reveals disk IO wait times • ELK = Elasticsearch + Logstash + Kibana • “EXPLAIN ANALYZE <SQL>” shows execution time and table scans Tools • psql: SELECT pid, datname, usename, query FROM pg_stat_activity; pid datname usename query 42102 jboss jboss SELECT pid, datname, usename, query FROM pg_stat_activity; 42103 jboss jboss SELECT video FROM news where...;
  • 16. 16© 2016 Rogue Wave Software, Inc. All Rights Reserved. 16 Scenario #2 solution Identify and analyze Tools • pg_stat_statments www.postgresql.org/docs/current/static/pgstatstatements.html Note: pg_stat_statements requires more shared memory postgresql.conf: shared_preload_libraries = ‘pg_stat_statements’ Server restart is required after enabling the shared library Reset statistics: select pg_stat_reset();
  • 17. 17© 2016 Rogue Wave Software, Inc. All Rights Reserved. 17 Scenario #2 solution Identify and analyze Tools More on PostgreSQL performance: www.craigkerstiens.com/2013/01/10/more-on-postgres- performance/ SELECT (total_time / 1000 / 60) as total_minutes, (total_time/calls) as average_time, query FROM pg_stat_statements ORDER BY 1 DESC LIMIT 100; The Query Total Query Time (in minutes) Average Time (in milliseconds)
  • 18. 18© 2016 Rogue Wave Software, Inc. All Rights Reserved. 18 Scenario #2 solution Identify and analyze Tools • pbBadger: dalibo.github.io/pgbadger/ • Requires Perl pgBadger: dalibo.github.io/pgbadger/ postgresql.conf • log_min_duration_statement = 0 • log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d ’ • log_checkpoints = on • log_connections = on • log_disconnections = on • log_lock_waits = on • log_temp_files = 0 After making changes run: SELECT pg_reload_conf();
  • 19. 19© 2016 Rogue Wave Software, Inc. All Rights Reserved. 19 Scenario #2 solution Implement and test (…and repeat...) Supporting points • What if I don’t find the offending SQL or table? • Start looking at the database configuration. • Did you benchmark and tune? More points • Most parameters are automatically adjusted. • We find that many people make minimal changes to the default configuration. • As always, remember to test any configuration changes in a non-prod environment first, and implement changes incrementally. • Do not make numerous configuration changes all at once. • Systematically measure your performance tests. Use a tool like pgbench.
  • 20. 20© 2016 Rogue Wave Software, Inc. All Rights Reserved. 20 Scenario #2 solution Implement and test (…and repeat...) Configuration Settings in postgresql.conf • max_connections: Maximum simultaneous connections to the database (default is 100). • shared_buffers: database cache size (default is 128MB). 25% of total RAM. Windows-based should be 64-512MB. • effective_cache_size: Tells the query planner how much RAM there is to execute. 50-75% of total RAM. • work_mem: Used for complex sorts (default is 4MB). Check if it is uncommented and what the value is. • maintenance_work_mem: Amount of memory for background processes for pgdump, pgrestore, vacuum, indexing, and bulk loads (default is 64MB). 256MB-1GB for large databases. • checkpoint_segments: Maxiumum # of log file segments between WAL checkpoints (default is 3).
  • 21. 21© 2016 Rogue Wave Software, Inc. All Rights Reserved. 21 Scenario #2 solution Implement and test (…and repeat...) Configuration Settings in postgresql.conf • wal_buffers: Write ahead log buffer used for writing a transaction to disk. What should I really set these values to? • pgTune: pgtune.leopard.in.ua/ SELECT name, current_setting(name), SOURCE FROM pg_settings WHERE SOURCE NOT IN ('default', 'override'); PostgreSQL 9.0 High Performance www.amazon.com/PostgreSQL-High-Performance-Gregory- Smith/dp/184951030X/163-3733534-8577963
  • 22. 22© 2016 Rogue Wave Software, Inc. All Rights Reserved. 22 Poll #4 Are you using SSLv3? A: Yes B: No
  • 23. 23© 2016 Rogue Wave Software, Inc. All Rights Reserved. 23 Top issues: security
  • 24. 24© 2016 Rogue Wave Software, Inc. All Rights Reserved. 24 Scenario #3 Pen testing reveals the application server is vulnerable Supporting points • Cache-control, Pragma, Expires headers are not set • X-Powered-By reveals the application server type More points • A proxy can inject an intermediate page and compromise the site • Certain versions of JBoss allow little to no control of request header manipulation
  • 25. 25© 2016 Rogue Wave Software, Inc. All Rights Reserved. 25 Scenario #3 solution Request header manipulation strategies Supporting points • Proxy requests through Apache HTTP Server before sending them to the application server • Mod_expire could be used to explicitly set them. Does not guarantee header will be set • Set org.apache.catalina.connector.X_POWERED_BY to false More points • Using Apache HTTP Server’s mod_header module is easiest and preferred option • mod_headers module allows manipulation before and after the request • If this is not an option, then a filter can do the same function • There should never be a situation where an application server is internet facing without the protection of a web server in the DMZ
  • 26. 26© 2016 Rogue Wave Software, Inc. All Rights Reserved. 26 Scenario #3 solution Request header manipulation strategies DMZ • The front end should always be in the DMZ • This should never be an application server • Web servers are “far more” capable than application servers in this role Best practice • Traditional 3-headed monster, Web/App/DB should always reside at unique layers in the infrastructure • There should be horizontal and/or vertical separation between them at all times • This provides greater opportunities for other security gear to potentially sniff and sort out other possible vulnerabilities. Like HIDS/NIDS, etc.
  • 27. 27© 2016 Rogue Wave Software, Inc. All Rights Reserved. 27 Scenario #3 solution Request header manipulation strategies HTTPD Mod_expires • Mod_expires can set the max_age and expirations • ExpiresByType text/html M604800 (Expires a week after modification) HTTPD Mod_Header • Much more flexible than mod_expires • Header echo ^KC (copies all request headers starting with KS to response headers • Header set TESTHEADER “Hi, The request ran in %D uSEC’s” • Env variables can be set as well. Much more capable than mod_expires
  • 28. 28© 2016 Rogue Wave Software, Inc. All Rights Reserved. 28 Scenario #3 solution Header manipulation examples HTTPD Mod_header Example • <ifModule mod)headers.c> • Header set DateTimeHEader “%D %t” • </ifModule> Header merge Cache-Control no-cache Header merge Cache-Control no-store Yields Cache-Control: no-cache, no-store
  • 29. 29© 2016 Rogue Wave Software, Inc. All Rights Reserved. 29 Scenario #3 solution Header manipulation examples HTTPD Mod_header Example • Header set Set-Cookie testcookie “expr=-z % {req:Cookie}” • Header merge Cache-Control no-cache env=CGI • Header merge Cache-Control no cache end=NO_CACHE • Head merge Cache-Control not-store env=NO_STORE Non-exclusive conditions. If all are set: Cache-Control: no- cache, no-store Using append instead of merge would cause a duplicate no-cache message
  • 30. 30© 2016 Rogue Wave Software, Inc. All Rights Reserved. 30 Scenario #3 solution Header manipulation examples HTTPD Mod_header (Powerful module) • Add, Append, echo, edit, merge, set setifempty, unset • Allows setting of environment variables to use are triggers • Expressions can be set as well for more additional control Examples prove that web servers are well suited for this type of work.
  • 31. 31© 2016 Rogue Wave Software, Inc. All Rights Reserved. 31 Scenario #3 solution Request header manipulation strategies JBoss Wildfly : Header Manipulation • You shouldn’t, but if you absolutely must • You could modify system properties to override certain values. Or set a filter. • Newer versions of JBoss provide header modification Example • <system properties> • <property name=“org.apache.coyote.http11.Http11Protocol.SERVER ” value=“someserver”/> • <system-properties> • For each version of Jboss, you may need to use the CLI to determine if the necessary keys are available in that version
  • 32. 32© 2016 Rogue Wave Software, Inc. All Rights Reserved. 32 Scenario #3 solution Request header manipulation strategies JBoss Wildfly : Header Manipulation • You can, but apache httpd is still a good accomplice • Remove the following the alter the headers • <filter-ref name=“x-powered-by-header”/> • Performed in the undertow segment of standalone.xml Example • As newer versions of Wildfly emerge there is a bit more control of headers • This does not remove the need to have a web server in front • A reverse proxy is is vital piece of application server security
  • 33. 33© 2016 Rogue Wave Software, Inc. All Rights Reserved. 33 Scenario #3 solution Request header manipulation strategies JBoss Wildfly : Header Manipulation • CLI command structure will provide a view of current header manipulation capabilities Wildfly has • More flexibility in each new release • Wildfly’s capabilities are far behind that of apache’s • Having this level of control at your reverse proxy just makes the most sense • These features have been requested for quite some time from the user base. • Not a replacement for a frontend DMZ based web server
  • 34. 34© 2016 Rogue Wave Software, Inc. All Rights Reserved. 34 Who wrote LevelDB and what version of ActiveMQ did it debut in? Written by Google: Jeff Dean who also has contributed to MapReduce and Google Translate Sanjay Ghemawat who also contributed to MapReduce and iCal which is a popular calendar application in Unix/Linux. LevelDB debuted in ActiveMQ 5.10.0 but was not production ready. What percentage of web server market share does Apache HTTP Server hold? July 2016 Apache HTTP Server: 52% nginx: 30.5% Microsoft: 12% Pop quiz answers
  • 35. 35© 2016 Rogue Wave Software, Inc. All Rights Reserved. 35 Conclusion
  • 36. 36© 2016 Rogue Wave Software, Inc. All Rights Reserved. 36 JBoss/Wildfly: Newer versions of Wildfly allow administrators to control HTTP headers and older versions of JBoss can be augmented with a filter or Apache HTTP Server's mod_header for equivalent functionality. So much open source! PostgreSQL: Use tools like pgBench and pgTune. PostgreSQL: Troubleshooting tools like pg_stat_statements and pgBadger can help narrow down database performance issues. ActiveMQ: A Lease Database Locker is a viable alternative to NFS where SAN is cost prohibitive. Consider Replicated LevelDB with Apache Zookeeper for performance.
  • 37. 37© 2016 Rogue Wave Software, Inc. All Rights Reserved. 37 Our support
  • 38. 38© 2016 Rogue Wave Software, Inc. All Rights Reserved. 38 Q & A
  • 39. 39© 2016 Rogue Wave Software, Inc. All Rights Reserved. 39 Watch on demand • Watch this webinar on demand • Read the recap blog to see the results of the polls and Q&A session
  • 40. 40© 2016 Rogue Wave Software, Inc. All Rights Reserved. 40 Follow up For OpenLogic support customers: OSS Radio Get a free OSS support ticket to experience our expertise roguewave.com/freeticket Free open source newsletter: roguewave.com/products/open-source-support/openupdate
  • 41. 41© 2016 Rogue Wave Software, Inc. All Rights Reserved. 41

Editor's Notes

  1. Edited by Kara
  2. edited
  3. edited