Spring Session Redis

Size: px
Start display at page:

Download "Spring Session Redis"

Transcription

1 Spring Session Redis Why, How and Production Considerations March 2018 Oded Shopen

2 About Me Oded Shopen Software Amdocs Israel Working on Event-Driven, Cloud Native Microservices Redis Geek on twitter 2 Information Security Level 2 Sensitive

3 Why? 3

4 Why Spring Session? Once upon a time, there was the servlet container. And it was good = David 4

5 Why Spring Session? = Larry = David Load Balancer 5

6 Why Spring Session? = Larry =? Load Balancer 6

7 Why Spring Session? 7

8 Why Spring Session? Load Balancer 8

9 Why Spring Session? Load Balancer Jetty Jetty Jetty 9

10 Why Spring Session? Session Data 10

11 Why Spring Session? Jetty Session Data 11

12 Why Spring Session? Replaces the built-in HttpSession with another implementation Transparent drop-in replacement when using Spring Boot Makes your servers truly stateless Sessions survive application restarts No need for Load Balancer sticky sessions Conforms to the cloud-native apps 12-factor principals 12

13 Twelve-factor processes are stateless and share-nothing. Any data that needs to persist must be stored in a stateful backing service, typically a database. 13

14 Why Spring Session Redis? 14

15 Why Spring Session Redis? The application requires frequent, fast access to the session A fast database is critical Redis is really fast No user experience degradation by externalizing the session to Redis Sessions needs to expire after some time Redis expiring keys are a great solution With sharding and clustering, Redis scales when your user base scales 15

16 How? 16

17 Demo 17

18 Production Considerations 18

19 #1 Be Prepared to Scale At the very minimum, use a master/slave setup 19

20 #1 Be Prepared to Scale Consider sharding your sessions in a Redis Cluster RedisLabs + DNS Proxy will hide the cluster topology and let you focus on a simple configuration on the client side No need to configure sentinels Node 1 spring.redis.sentinel.master=masternode spring.redis.url=proxy:6379 Proxy spring.redis.sentinel.nodes=node1:6379,node2:6379,node3:6379 Node 2 Node 3 20

21 #2 Pool Settings Spring Data Redis uses a JedisConnectionFactory with the following defaults: spring.redis.pool.max-active=8 spring.redis.pool.max-idle=8 spring.redis.pool.max-wait=-1 spring.redis.pool.min-idle=0 spring.redis.timeout=0 Behind the scenes - an Apache Commons GenericObjectPool. Use max-active based on your tomcat/jetty threads. Use max-wait based on your setup Too high - all tomcat threads can get stuck, waiting Too low - your consumers may get errors Use min-idle of at least 8 to offset sudden load issues (such as mass login on a business day). Set spring.redis.timeout to a reasonably low number (such as 1000ms) Too high - your connection pool can become full quickly. Too low - your consumers may get errors 21

22 #3 Server-Side Metrics Spring Boot Actuator provides a production-ready monitoring metrics. Simply add spring-boot-starter-actuator to your gradle/maven dependencies /metrics endpoint provides valuable monitoring data However, Spring Data Redis is not available Luckily, actuator is extensible! 22

23 #4 Monitor Redis Redislabs monitoring dashboards provide excellent visibility to identify issues, as we ll soon see. If you use open source and monitor yourself on-prem, keep in mind that Redis is a singlethreaded database. A 2-core virtual machine would report 50% CPU utilization However, redis itself might be at 100% at that time Monitor the process, not the VM 23

24 #5 Please Monitor Responsibly Be careful how you monitor KEYS * runs over all the keys in the DB. Your DB is unresponsive until operation is over! SMEMBERS returns all keys in a given set. Some sets may contain all keys in the system. In our use case, we kept track of all logins from a certain vendor, which is pretty much O(n) cardinality, so same as KEYS command SCARD simply returns the size of a given set with cardinality of O(1), so it can be used safely in production SCARD spring:session:index:org.springframework.session.findbyindexnamesessionrepository.principal_name_index_name:ui_users" INFO provides valuable information (such as instantaneous_ops_per_sec) and can be safely used in production. 24

25 25

26 26

27 #6 Inside Spring Session Redis What happens when your system is completely idle (0 users)? You would expect redis to be idle as well However 27

28 #6 Inside Spring Session Redis Multiple logins using: for ((i=1;i<= ;i++)); do curl -s -u gateway:password localhost:8080/user >/dev/null; done One would expect consistent load on redis, but in reality, we got: 28

29 #6 Inside Spring Session Redis 29

30 #6 Inside Spring Session Redis Time to dig into the code (thanks, open source!) Inside = "${spring.session.cleanup.cron.expression:0 * * * * *}") public void cleanupexpiredsessions() { this.expirationpolicy.cleanexpiredsessions(); } cleanupexpiredsessions() would loop over expired keys, delete them, and touch them to make sure they are immediately deleted. This means that by default, every minute on the minute, Spring will call delete on every expired key in Redis. 30

31 #6 Inside Spring Session Redis Why? Redis can self-expire keys just fine, thank you very much The main reason: Spring wants to conduct cleanup activities when a session is expired. The API exposes SessionDeletedEvent and SessionExpiredEvent to let the program cleanup a user s session (close web sockets, notify SSO server etc.) Spring needs the session details available when the cleanup activity is performed 31

32 #6 Inside Spring Session Redis To solve this issue, two separate keys are managed for each session An expiration notification key expires after 30 minutes The actual session details key expires 5 minutes later HMSET spring:session:sessions:33fdd1b6-b496-4b33-9f7d-df96679d32fe creationtime \ maxinactiveinterval 1800 \ lastaccessedtime \ sessionattr:attrname someattrvalue \ sessionattr2:attrname someattrvalue2 EXPIRE spring:session:sessions:33fdd1b6-b496-4b33-9f7d-df96679d32fe 2100 APPEND spring:session:sessions:expires:33fdd1b6-b496-4b33-9f7d-df96679d32fe "" EXPIRE spring:session:sessions:expires:33fdd1b6-b496-4b33-9f7d-df96679d32fe 1800 SADD spring:session:expirations: expires:33fdd1b6-b496-4b33-9f7ddf96679d32fe EXPIRE spring:session:expirations

33 #6 Inside Spring Session Redis Redis guarantees expired keys would be passively cleaned, but makes no guarantees on when Spring Session Redis wants to make sure the expire key is expired within the 5 minutes window. For this reason, the cronjob updates the expired keys every minute But, there is a risk here 33

34 #6 Inside Spring Session Redis Jetty Session Data 34

35 #6 Inside Spring Session Redis Jetty Session Data 35

36 #6 Inside Spring Session Redis To recap: Every minute, each server tries to delete all expires keys. A lot of redundant calls, since only the first instance would actually achieve this purpose. Redis would then notify every instance that the expires key was deleted. Every instance would then connect to Redis to get the session details about the expiring session to handle the expiration. A little bit of math: 100 servers * 2500 expiring sessions = 500,000 access at the same second The more you scale, the bigger the problem 36

37 #6 Inside Spring Session Redis Solutions: If you don t care about session expiration events, set the cron job to an impossible value such as February 31st: spring.session.cleanup.cron.expression= ? You can also disable registering to those expiration and deletion events. Note that all servers need to disable the registering for this to public class RedisOperationsSessionRepositoryConfigNoOp public static ConfigureRedisAction configureredisaction() { return ConfigureRedisAction.NO_OP; } } 37

38 #6 Inside Spring Session Redis If you do care about session expiration events, set only a specific instance(s) to handle those events. On all other servers, disable receiving the public class RedisOperationsSessionRepositoryConfigNoListener public RedisMessageListenerContainer redismessagelistenercontainer( RedisConnectionFactory connectionfactory, RedisOperationsSessionRepository messagelistener) { } } return new RedisMessageListenerContainer(); 38

39 To Recap Be prepared to scale Monitor well, monitor with caution Open source rocks. Get involved! Tweak the framework for your own use case. 39

40 Thank you

Building Microservices with the 12 Factor App Pattern

Building Microservices with the 12 Factor App Pattern Building Microservices with the 12 Factor App Pattern Context This documentation will help introduce Developers to implementing MICROSERVICES by applying the TWELVE- FACTOR PRINCIPLES, a set of best practices

More information

Scaling DreamFactory

Scaling DreamFactory Scaling DreamFactory This white paper is designed to provide information to enterprise customers about how to scale a DreamFactory Instance. The sections below talk about horizontal, vertical, and cloud

More information

Ray Tsang Developer Advocate Google Cloud Platform

Ray Tsang Developer Advocate Google Cloud Platform Ray Tsang Developer Advocate Google Cloud Platform @saturnism +RayTsang Ray Tsang Developer Architect Traveler Photographer flickr.com/saturnism Writing a Kubernetes Autoscaler Kubernetes API - In Depth

More information

Modular Java Applications with Spring, dm Server and OSGi

Modular Java Applications with Spring, dm Server and OSGi Modular Java Applications with Spring, dm Server and OSGi Copyright 2005-2008 SpringSource. Copying, publishing or distributing without express written permission is prohibit Topics in this session Introduction

More information

Kuber-what?! Learn about Kubernetes

Kuber-what?! Learn about Kubernetes DEVNET-1999 Kuber-what?! Learn about Kubernetes Ashley Roach, Principal Engineer Evangelist Agenda Objectives A brief primer on containers The problems with running containers at scale Orchestration systems

More information

IBM Planning Analytics Workspace Local Distributed Soufiane Azizi. IBM Planning Analytics

IBM Planning Analytics Workspace Local Distributed Soufiane Azizi. IBM Planning Analytics IBM Planning Analytics Workspace Local Distributed Soufiane Azizi IBM Planning Analytics IBM Canada - Cognos Ottawa Lab. IBM Planning Analytics Agenda 1. Demo PAW High Availability on a Prebuilt Swarm

More information

Containers and the Evolution of Computing

Containers and the Evolution of Computing Containers and the Evolution of Computing Matt Nowina Solutions Architect 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Scaling Applications Order UI User UI Shipping UI Order

More information

Automate best practices and operational health for your AWS resources with Trusted Advisor and AWS Health

Automate best practices and operational health for your AWS resources with Trusted Advisor and AWS Health Automate best practices and operational health for your AWS resources with Trusted Advisor and AWS Health Heitor Lessa, Solutions Architect @ AWS Stephen Gran, Senior Technical Architect @ Piksel June

More information

AWS Lambda: Event-driven Code in the Cloud

AWS Lambda: Event-driven Code in the Cloud AWS Lambda: Event-driven Code in the Cloud Dean Bryen, Solutions Architect AWS Andrew Wheat, Senior Software Engineer - BBC April 15, 2015 London, UK 2015, Amazon Web Services, Inc. or its affiliates.

More information

Tapestry. Code less, deliver more. Rayland Jeans

Tapestry. Code less, deliver more. Rayland Jeans Tapestry Code less, deliver more. Rayland Jeans What is Apache Tapestry? Apache Tapestry is an open-source framework designed to create scalable web applications in Java. Tapestry allows developers to

More information

Implementing Load Balancing and Failover for ArcIMS Servers

Implementing Load Balancing and Failover for ArcIMS Servers Implementing Load Balancing and Failover for ArcIMS Servers USDA Geospatial Warehouse Implementation Presenter: Art Ullman Geospatial Data Warehouse (GDW) System Overview / Requirements USDA has built

More information

Microservices mit Java, Spring Boot & Spring Cloud. Eberhard Wolff

Microservices mit Java, Spring Boot & Spring Cloud. Eberhard Wolff Microservices mit Java, Spring Boot & Spring Cloud Eberhard Wolff Fellow @ewolff What are Microservices? Micro Service: Definition > Small > Independent deployment units > i.e. processes or VMs > Any technology

More information

The Evolution of a Data Project

The Evolution of a Data Project The Evolution of a Data Project The Evolution of a Data Project Python script The Evolution of a Data Project Python script SQL on live DB The Evolution of a Data Project Python script SQL on live DB SQL

More information

Stream and Batch Processing in the Cloud with Data Microservices. Marius Bogoevici and Mark Fisher, Pivotal

Stream and Batch Processing in the Cloud with Data Microservices. Marius Bogoevici and Mark Fisher, Pivotal Stream and Batch Processing in the Cloud with Data Microservices Marius Bogoevici and Mark Fisher, Pivotal Stream and Batch Processing in the Cloud with Data Microservices Use Cases Predictive maintenance

More information

Containers, Serverless and Functions in a nutshell. Eugene Fedorenko

Containers, Serverless and Functions in a nutshell. Eugene Fedorenko Containers, Serverless and Functions in a nutshell Eugene Fedorenko About me Eugene Fedorenko Senior Architect Flexagon adfpractice-fedor.blogspot.com @fisbudo Agenda Containers Microservices Docker Kubernetes

More information

TomcatCon London 2017 Clustering Mark Thomas

TomcatCon London 2017 Clustering Mark Thomas TomcatCon London 2017 Clustering Mark Thomas Agenda Reverse Proxies Load-balancing Clustering Reverse Proxies bz.apache.org httpd instance Reverse Proxy Bugzilla (main) bz.apache.org/bugzilla httpd instance

More information

Apache Tomcat. Tomcat Clustering: Part 3 Clustering. Mark Thomas, 15 April Pivotal Software, Inc. All rights reserved.

Apache Tomcat. Tomcat Clustering: Part 3 Clustering. Mark Thomas, 15 April Pivotal Software, Inc. All rights reserved. 2 Apache Tomcat Tomcat Clustering: Part 3 Clustering Mark Thomas, 15 April 2015 Introduction Apache Tomcat committer since December 2003 markt@apache.org Tomcat 8 release manager Member of the Servlet,

More information

Design Patterns for the Cloud. MCSN - N. Tonellotto - Distributed Enabling Platforms 68

Design Patterns for the Cloud. MCSN - N. Tonellotto - Distributed Enabling Platforms 68 Design Patterns for the Cloud 68 based on Amazon Web Services Architecting for the Cloud: Best Practices Jinesh Varia http://media.amazonwebservices.com/aws_cloud_best_practices.pdf 69 Amazon Web Services

More information

Cloud Native Architecture 300. Copyright 2014 Pivotal. All rights reserved.

Cloud Native Architecture 300. Copyright 2014 Pivotal. All rights reserved. Cloud Native Architecture 300 Copyright 2014 Pivotal. All rights reserved. Cloud Native Architecture Why What How Cloud Native Architecture Why What How Cloud Computing New Demands Being Reactive Cloud

More information

利用 Mesos 打造高延展性 Container 環境. Frank, Microsoft MTC

利用 Mesos 打造高延展性 Container 環境. Frank, Microsoft MTC 利用 Mesos 打造高延展性 Container 環境 Frank, Microsoft MTC About Me Developer @ Yahoo! DevOps @ HTC Technical Architect @ MSFT Agenda About Docker Manage containers Apache Mesos Mesosphere DC/OS application = application

More information

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme CNA1612BU Deploying real-world workloads on Kubernetes and Pivotal Cloud Foundry VMworld 2017 Fred Melo, Director of Technology, Pivotal Merlin Glynn, Sr. Technical Product Manager, VMware Content: Not

More information

WebLogic Server- Tips & Tricks for Troubleshooting Performance Issues. By: Abhay Kumar AST Corporation

WebLogic Server- Tips & Tricks for Troubleshooting Performance Issues. By: Abhay Kumar AST Corporation WebLogic Server- Tips & Tricks for Troubleshooting Performance Issues By: Abhay Kumar AST Corporation March 1st, 2016 Contents INTRODUCTION... 3 UNDERSTAND YOUR PERFORMANCE OBJECTIVES AND SET REALISTIC

More information

Distributed CI: Scaling Jenkins on Mesos and Marathon. Roger Ignazio Puppet Labs, Inc. MesosCon 2015 Seattle, WA

Distributed CI: Scaling Jenkins on Mesos and Marathon. Roger Ignazio Puppet Labs, Inc. MesosCon 2015 Seattle, WA Distributed CI: Scaling Jenkins on Mesos and Marathon Roger Ignazio Puppet Labs, Inc. MesosCon 2015 Seattle, WA About Me Roger Ignazio QE Automation Engineer Puppet Labs, Inc. @rogerignazio Mesos In Action

More information

Mesosphere and the Enterprise: Run Your Applications on Apache Mesos. Steve Wong Open Source Engineer {code} by Dell

Mesosphere and the Enterprise: Run Your Applications on Apache Mesos. Steve Wong Open Source Engineer {code} by Dell Mesosphere and the Enterprise: Run Your Applications on Apache Mesos Steve Wong Open Source Engineer {code} by Dell EMC @cantbewong Open source at Dell EMC {code} by Dell EMC is a group of passionate open

More information

SQL Azure. Abhay Parekh Microsoft Corporation

SQL Azure. Abhay Parekh Microsoft Corporation SQL Azure By Abhay Parekh Microsoft Corporation Leverage this Presented by : - Abhay S. Parekh MSP & MSP Voice Program Representative, Microsoft Corporation. Before i begin Demo Let s understand SQL Azure

More information

A Guide to Finding the Best WordPress Backup Plugin: 10 Must-Have Features

A Guide to Finding the Best WordPress Backup Plugin: 10 Must-Have Features A Guide to Finding the Best WordPress Backup Plugin: 10 Must-Have Features \ H ow do you know if you re choosing the best WordPress backup plugin when it seems that all the plugins seem to do the same

More information

Data Management in Application Servers. Dean Jacobs BEA Systems

Data Management in Application Servers. Dean Jacobs BEA Systems Data Management in Application Servers Dean Jacobs BEA Systems Outline Clustered Application Servers Adding Web Services Java 2 Enterprise Edition (J2EE) The Application Server platform for Java Java Servlets

More information

Building an on premise Kubernetes cluster DANNY TURNER

Building an on premise Kubernetes cluster DANNY TURNER Building an on premise Kubernetes cluster DANNY TURNER Outline What is K8s? Why (not) run k8s? Why run our own cluster? Building what the public cloud provides 2 Kubernetes Open-Source Container Management

More information

Transformation-free Data Pipelines by combining the Power of Apache Kafka and the Flexibility of the ESB's

Transformation-free Data Pipelines by combining the Power of Apache Kafka and the Flexibility of the ESB's Building Agile and Resilient Schema Transformations using Apache Kafka and ESB's Transformation-free Data Pipelines by combining the Power of Apache Kafka and the Flexibility of the ESB's Ricardo Ferreira

More information

Architectural Styles II

Architectural Styles II Architectural Styles II Software Architecture VO/KU (707.023/707.024) Denis Helic, Roman Kern KMI, TU Graz Nov 21, 2012 Denis Helic, Roman Kern (KMI, TU Graz) Architectural Styles II Nov 21, 2012 1 / 66

More information

Microservices. Chaos Kontrolle mit Kubernetes. Robert Kubis - Developer Advocate,

Microservices. Chaos Kontrolle mit Kubernetes. Robert Kubis - Developer Advocate, Microservices Chaos Kontrolle mit Kubernetes Robert Kubis - Developer Advocate, Google @hostirosti About me Robert Kubis Developer Advocate Google Cloud Platform London, UK hostirosti github.com/hostirosti

More information

Microservices log gathering, processing and storing

Microservices log gathering, processing and storing Microservices log gathering, processing and storing Siim-Toomas Marran Univeristy of Tartu J.Liivi 2 Tartu, Estonia siimtoom@ut.ee ABSTRACT The aim of this work is to investigate and implement one of the

More information

PARTLY CLOUDY DESIGN & DEVELOPMENT OF A HYBRID CLOUD SYSTEM

PARTLY CLOUDY DESIGN & DEVELOPMENT OF A HYBRID CLOUD SYSTEM PARTLY CLOUDY DESIGN & DEVELOPMENT OF A HYBRID CLOUD SYSTEM This project is focused on building and implementing a single course exploration and enrollment solution that is intuitive, interactive, and

More information

Using DC/OS for Continuous Delivery

Using DC/OS for Continuous Delivery Using DC/OS for Continuous Delivery DevPulseCon 2017 Elizabeth K. Joseph, @pleia2 Mesosphere 1 Elizabeth K. Joseph, Developer Advocate, Mesosphere 15+ years working in open source communities 10+ years

More information

+32 (491)

+32 (491) Whitepaper: Meraki wireless Title: Meraki MR16 tests Author: Jurgen Vermeulen Jurgen@juve-consulting.be +32 (491) 56.35.96 JUVE Consulting BVBA Roosgrachtlaan 27, B-3400 Landen Tel.: +32 (491) 56.35.96

More information

Applying Code Generation Approach in Fabrique Kirill Kalishev, JetBrains

Applying Code Generation Approach in Fabrique Kirill Kalishev, JetBrains november 2004 Applying Code Generation Approach in Fabrique This paper discusses ideas on applying the code generation approach to help the developer to focus on high-level models rather than on routine

More information

Principal Solutions Architect. Architecting in the Cloud

Principal Solutions Architect. Architecting in the Cloud Matt Tavis Principal Solutions Architect Architecting in the Cloud Cloud Best Practices Whitepaper Prescriptive guidance to Cloud Architects Just Search for Cloud Best Practices to find the link ttp://media.amazonwebservices.co

More information

Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios

Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios Simone Bordet sbordet@intalio.com 1 Agenda What are Comet web applications? Impacts of Comet web applications WebSocket

More information

A RESTful Java Framework for Asynchronous High-Speed Ingest

A RESTful Java Framework for Asynchronous High-Speed Ingest A RESTful Java Framework for Asynchronous High-Speed Ingest Pablo Silberkasten Jean De Lavarene Kuassi Mensah JDBC Product Development October 5, 2017 3 Safe Harbor Statement The following is intended

More information

Enterprise Java in 2012 and Beyond From Java EE 6 To Cloud Computing

Enterprise Java in 2012 and Beyond From Java EE 6 To Cloud Computing Enterprise Java in 2012 and Beyond From Java EE 6 To Cloud Computing Jürgen Höller, Principal Engineer, SpringSource 2012 SpringSource, A division of VMware. All rights reserved Deployment Platforms: Becoming

More information

Architekturen für die Cloud

Architekturen für die Cloud Architekturen für die Cloud Eberhard Wolff Architecture & Technology Manager adesso AG 08.06.11 What is Cloud? National Institute for Standards and Technology (NIST) Definition On-demand self-service >

More information

Oracle Transportation Management. Application Scalability Guide Release 6.3 Part No. E

Oracle Transportation Management. Application Scalability Guide Release 6.3 Part No. E Oracle Transportation Management Application Scalability Guide Release 6.3 Part No. E38434-04 January 2014 Oracle Transportation Management Application Scalability Guide, Release 6.3 Part No. E38434-04

More information

Software Architect, Deutsche Bank

Software Architect, Deutsche Bank Santiago Martin-Romani santiago_martin@yahoo.com Software Architect, Deutsche Bank Reasons to use Oracle Coherence Application layer friendly Single holistic view! Scalable! Fast, in-memory speeds, data

More information

MOBILIZING AND SECURING RED HAT JBOSS BPM SUITE & BRMS

MOBILIZING AND SECURING RED HAT JBOSS BPM SUITE & BRMS MOBILIZING AND SECURING RED HAT JBOSS BPM SUITE & BRMS Maggie Hu - Sr. Middleware Specialist Solution Architect, Red Hat Ken Spokas - Technical Director, Vizuri Yossi Koren - Sr. Solution Architect, Middleware

More information

Real-time Monitoring, Inventory and Change Tracking for. Track. Report. RESOLVE!

Real-time Monitoring, Inventory and Change Tracking for. Track. Report. RESOLVE! Real-time Monitoring, Inventory and Change Tracking for Track. Report. RESOLVE! Powerful Monitoring Tool for Full Visibility over Your Hyper-V Environment VirtualMetric provides the most comprehensive

More information

Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2

Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2 Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2 Ian Massingham AWS Technical Evangelist @IanMmmm 2015, Amazon Web Services, Inc. or its affiliates. All rights reserved Agenda Containers

More information

Cloud Monitoring as a Service. Built On Machine Learning

Cloud Monitoring as a Service. Built On Machine Learning Cloud Monitoring as a Service Built On Machine Learning Table of Contents 1 2 3 4 5 6 7 8 9 10 Why Machine Learning Who Cares Four Dimensions to Cloud Monitoring Data Aggregation Anomaly Detection Algorithms

More information

Architectural Code Analysis. Using it in building Microservices NYC Cloud Expo 2017 (June 6-8)

Architectural Code Analysis. Using it in building Microservices NYC Cloud Expo 2017 (June 6-8) Architectural Code Analysis Using it in building Microservices NYC Cloud Expo 2017 (June 6-8) Agenda Intro to Structural Analysis Challenges addressed during traditional software development The new world

More information

MySQL High Availability

MySQL High Availability MySQL High Availability And other stuff worth talking about Peter Zaitsev CEO Moscow MySQL Users Group Meetup July 11 th, 2017 1 Few Words about Percona 2 Percona s Purpose To Champion Unbiased Open Source

More information

Deccansoft Software Services

Deccansoft Software Services Azure Syllabus Cloud Computing What is Cloud Computing Cloud Characteristics Cloud Computing Service Models Deployment Models in Cloud Computing Advantages and Disadvantages of Cloud Computing Getting

More information

Oracle Mix. A Case Study. Ola Bini JRuby Core Developer ThoughtWorks Studios.

Oracle Mix. A Case Study. Ola Bini JRuby Core Developer ThoughtWorks Studios. Oracle Mix A Case Study Ola Bini JRuby Core Developer ThoughtWorks Studios ola.bini@gmail.com http://olabini.com/blog Vanity slide Vanity slide Ola Bini Vanity slide Ola Bini From Stockholm, Sweden Vanity

More information

SaaS Providers. ThousandEyes for. Summary

SaaS Providers. ThousandEyes for. Summary USE CASE ThousandEyes for SaaS Providers Summary With Software-as-a-Service (SaaS) applications rapidly replacing onpremise solutions, the onus of ensuring a great user experience for these applications

More information

Road to Auto Scaling

Road to Auto Scaling Road to Auto Scaling Varun Thacker Lucidworks Apache Lucene/Solr Committer, and PMC member Agenda APIs Metrics Recipes Auto-Scale Triggers SolrCloud Overview ZooKee per Lots Shard 1 Leader Shard 3 Replica

More information

Goliath Technology Overview with MEDITECH Module

Goliath Technology Overview with MEDITECH Module Customers # 324 Fortune 500 Goliath Technology Overview with MEDITECH Module In approximately one week, support tickets dropped by 25% z Our Customers were complaining about persistent slowness with Citrix.

More information

Oh.. You got this? Attack the modern web

Oh.. You got this? Attack the modern web Oh.. You got this? Attack the modern web HELLO DENVER!...Known for more than recreational stuff 2 WARNING IDK 2018 Moses Frost. @mosesrenegade This talk may contain comments or opinions that at times may

More information

jetnexus Virtual Load Balancer

jetnexus Virtual Load Balancer jetnexus Virtual Load Balancer Mitigate the Risk of Downtime and Optimise Application Delivery We were looking for a robust yet easy to use solution that would fit in with our virtualisation policy and

More information

jetnexus Virtual Load Balancer

jetnexus Virtual Load Balancer jetnexus Virtual Load Balancer Mitigate the Risk of Downtime and Optimise Application Delivery We were looking for a robust yet easy to use solution that would fit in with our virtualisation policy and

More information

Inside Citrix chapter four - The one with the FMA and its evolution

Inside Citrix chapter four - The one with the FMA and its evolution Inside Citrix chapter four - The one with the FMA and its evolution As it stands today, I think most of you know that both XenDesktop and XenApp are built on top of the FlexCast Management Architecture,

More information

Think Small to Scale Big

Think Small to Scale Big Think Small to Scale Big Intro to Containers for the Datacenter Admin Pete Zerger Principal Program Manager, MVP pete.zerger@cireson.com Cireson Lee Berg Blog, e-mail address, title Company Pete Zerger

More information

Migrating and living on RDS/Aurora. life after Datacenters

Migrating and living on RDS/Aurora. life after Datacenters Migrating and living on RDS/Aurora life after Datacenters Why to migrate to RDS - It is AWS native - A lot of complexity is handled by Amazon - It is Someone Else s Problem (SEP ) - You have someone to

More information

Architecting for the.

Architecting for the. Architecting for the Cloud @axelfontaine About Axel Fontaine Founder and CEO of Boxfuse Over 15 years industry experience Continuous Delivery expert Regular speaker at tech conferences JavaOne RockStar

More information

MOVE BEYOND GPO FOR NEXT-LEVEL PRIVILEGE MANAGEMENT

MOVE BEYOND GPO FOR NEXT-LEVEL PRIVILEGE MANAGEMENT MOVE BEYOND GPO FOR NEXT-LEVEL PRIVILEGE MANAGEMENT DON T USE A HAMMER MOVE BEYOND GPO FOR NEXT-LEVEL TO TURN A SCREW PRIVILEGE MANAGEMENT The first stage of privilege management Most organizations with

More information

COMP390 (Design &) Implementation

COMP390 (Design &) Implementation COMP390 (Design &) Implementation Phil (& Dave s) rough guide Consisting of some ideas to assist the development of large and small projects in Computer Science (and a chance for me to try out some features

More information

September 15th, Finagle + Java. A love story (

September 15th, Finagle + Java. A love story ( September 15th, 2016 Finagle + Java A love story ( ) @mnnakamura hi, I m Moses Nakamura Twitter lives on the JVM When Twitter realized we couldn t stay on a Rails monolith and continue to scale at the

More information

Oracle Forms and Oracle APEX The Odd Couple

Oracle Forms and Oracle APEX The Odd Couple Oracle Forms and Oracle APEX The Odd Couple About me 2 Francis Mignault CTO and Co-founder, Insum Solutions 30+ years with Oracle DB, 14+ years with APEX. (Forms 2.3 / Oracle 5) Books: Expert Oracle Application

More information

Migrating traditional Java EE applications to mobile

Migrating traditional Java EE applications to mobile Migrating traditional Java EE applications to mobile Serge Pagop Sr. Channel MW Solution Architect, Red Hat spagop@redhat.com Burr Sutter Product Management Director, Red Hat bsutter@redhat.com 2014-04-16

More information

Building a Data-Friendly Platform for a Data- Driven Future

Building a Data-Friendly Platform for a Data- Driven Future Building a Data-Friendly Platform for a Data- Driven Future Benjamin Hindman - @benh 2016 Mesosphere, Inc. All Rights Reserved. INTRO $ whoami BENJAMIN HINDMAN Co-founder and Chief Architect of Mesosphere,

More information

S Implementing DevOps and Hybrid Cloud

S Implementing DevOps and Hybrid Cloud S- Implementing DevOps and Hybrid Cloud Srihari Angaluri Lenovo Data Center Group Red Hat Summit // Outline DevOps and Containers Architectural Considerations Lenovo Cloud Technology Center Implementing

More information

ForeScout Extended Module for Tenable Vulnerability Management

ForeScout Extended Module for Tenable Vulnerability Management ForeScout Extended Module for Tenable Vulnerability Management Version 2.7.1 Table of Contents About Tenable Vulnerability Management Module... 4 Compatible Tenable Vulnerability Products... 4 About Support

More information

COMP390 (Design &) Implementation

COMP390 (Design &) Implementation COMP390 (Design &) Implementation Phil (& Dave s) rough guide Consisting of some ideas to assist the development of large and small projects in Computer Science (and a chance for me to try out some features

More information

Going Serverless. Building Production Applications Without Managing Infrastructure

Going Serverless. Building Production Applications Without Managing Infrastructure Going Serverless Building Production Applications Without Managing Infrastructure Objectives of this talk Outline what serverless means Discuss AWS Lambda and its considerations Delve into common application

More information

Santiago Documentation

Santiago Documentation Santiago Documentation Release 1.2.0 Top Free Games November 07, 2016 Contents 1 Overview 3 1.1 Getting started.............................................. 3 1.2 Features..................................................

More information

Distributed Systems. 29. Distributed Caching Paul Krzyzanowski. Rutgers University. Fall 2014

Distributed Systems. 29. Distributed Caching Paul Krzyzanowski. Rutgers University. Fall 2014 Distributed Systems 29. Distributed Caching Paul Krzyzanowski Rutgers University Fall 2014 December 5, 2014 2013 Paul Krzyzanowski 1 Caching Purpose of a cache Temporary storage to increase data access

More information

Events in Oracle Eloqua

Events in Oracle Eloqua A Marketing Geek s Guide to: Events in Oracle Eloqua ABOUT THIS SERIES Oracle Eloqua is the most powerful marketing automation platform on the market. It has the ability to scale to the needs of the largest

More information

Spring MVC 4.x Spring 5 Web Reactive

Spring MVC 4.x Spring 5 Web Reactive Part 1 Spring MVC 4.x Spring 5 Web Reactive Rossen Stoyanchev @rstoya05 Spring MVC 4.3 Reactive programming for Java devs Spring 5 Web Reactive Shortcut Annotations @RequestMapping @GetMapping @PostMapping

More information

Zend PHP Cloud Application Platform

Zend PHP Cloud Application Platform Zend PHP Cloud Application Platform Kevin Schroeder Technology Evangelist About me Past: Programming/Sys Admin Current: Technology Evangelist/Author/Composer @kpschrade Is this a new product? No! It is

More information

How we scaled push messaging for millions of Netflix devices. Susheel Aroskar Cloud Gateway

How we scaled push messaging for millions of Netflix devices. Susheel Aroskar Cloud Gateway How we scaled push messaging for millions of Netflix devices Susheel Aroskar Cloud Gateway Why do we need push? How I spend my time in Netflix application... What is push? What is push? How you can build

More information

Vendor: SUN. Exam Code: Exam Name: SUN Certified ENITRPRISE ARCHITECT FOR J2EE(tm)TECHNOLOGY. Version: Demo

Vendor: SUN. Exam Code: Exam Name: SUN Certified ENITRPRISE ARCHITECT FOR J2EE(tm)TECHNOLOGY. Version: Demo Vendor: SUN Exam Code: 310-051 Exam Name: SUN Certified ENITRPRISE ARCHITECT FOR J2EE(tm)TECHNOLOGY Version: Demo QUESTION NO: 1 Which acts as a proxy to an EJB? A. home instance B. remote instance C.

More information

Logging in the age of

Logging in the age of Logging in the age of and the Cloud Microservices @axelfontaine POLL: what type of infrastructure are you running on? On Premise Colocation Root Server Cloud The (good) old days of logging ssh me@myserver

More information

Which compute option is designed for the above scenario? A. OpenWhisk B. Containers C. Virtual Servers D. Cloud Foundry

Which compute option is designed for the above scenario? A. OpenWhisk B. Containers C. Virtual Servers D. Cloud Foundry 1. A developer needs to create support for a workload that is stateless and short-living. The workload can be any one of the following: - API/microservice /web application implementation - Mobile backend

More information

vmpooler pdxdevops : April 2015

vmpooler pdxdevops : April 2015 vmpooler pdxdevops : April 2015 who am I? Scott Schneider Quality Engineer @ Puppet Labs sschneider@puppetlabs.com github.com/sschneid @lsrfsh what s a vmpooler? instantly-available VMs what s a vmpooler?

More information

Liberty Right Fit for MicroProfile

Liberty Right Fit for MicroProfile IBM _ 1 Liberty Right Fit for MicroProfile Alasdair Nottingham, IBM, STSM, WebSphere Runtime Architect Kevin Sutter, IBM, STSM, Java EE Architect JavaOne Sept 2016 Who Are We? Kevin Sutter WebSphere Java

More information

Case study on PhoneGap / Apache Cordova

Case study on PhoneGap / Apache Cordova Chapter 1 Case study on PhoneGap / Apache Cordova 1.1 Introduction to PhoneGap / Apache Cordova PhoneGap is a free and open source framework that allows you to create mobile applications in a cross platform

More information

Mac App Store Manual Progress Snow Leopard

Mac App Store Manual Progress Snow Leopard Mac App Store Manual Progress Snow Leopard Long story short: I'm on OSX 10.6.8 and I'm trying to download the Yosemite and progress of the download, but apparently if I go to App Store _ Purchased tab,

More information

Coherence An Introduction. Shaun Smith Principal Product Manager

Coherence An Introduction. Shaun Smith Principal Product Manager Coherence An Introduction Shaun Smith Principal Product Manager About Me Product Manager for Oracle TopLink Involved with object-relational and object-xml mapping technology for over 10 years. Co-Lead

More information

Real World Web Scalability. Ask Bjørn Hansen Develooper LLC

Real World Web Scalability. Ask Bjørn Hansen Develooper LLC Real World Web Scalability Ask Bjørn Hansen Develooper LLC Hello. 28 brilliant methods to make your website keep working past $goal requests/transactions/sales per second/hour/day Requiring minimal extra

More information

COMP390 (Design &) Implementation

COMP390 (Design &) Implementation COMP390 (Design &) Implementation A rough guide Consisting of some ideas to assist the development of large and small projects in Computer Science (With thanks to Dave Shield) Design & Implementation What

More information

AZURE CONTAINER INSTANCES

AZURE CONTAINER INSTANCES AZURE CONTAINER INSTANCES -Krunal Trivedi ABSTRACT In this article, I am going to explain what are Azure Container Instances, how you can use them for hosting, when you can use them and what are its features.

More information

Google App Engine: Java Technology In The Cloud

Google App Engine: Java Technology In The Cloud Google App Engine: Java Technology In The Cloud Toby Reyelts, Max Ross, Don Schwarz Google 1 Goals > Google App Engine > Java on App Engine > The App Engine Datastore > Demo > Questions 2 2 What Is Google

More information

TECHED USER CONFERENCE MAY 3-4, 2016

TECHED USER CONFERENCE MAY 3-4, 2016 TECHED USER CONFERENCE MAY 3-4, 2016 Jithesh Melepurackal AGENDA webmethods Architecture Component View Event Driven Architecture and a Use case High Availability and Use cases High Availability Options

More information

When (and how) to move applications from VMware to Cisco Metacloud

When (and how) to move applications from VMware to Cisco Metacloud White Paper When (and how) to move applications from VMware to Cisco Metacloud What You Will Learn This white paper will explain when to migrate various applications running in VMware virtual machines

More information

FLAT DATACENTER STORAGE. Paper-3 Presenter-Pratik Bhatt fx6568

FLAT DATACENTER STORAGE. Paper-3 Presenter-Pratik Bhatt fx6568 FLAT DATACENTER STORAGE Paper-3 Presenter-Pratik Bhatt fx6568 FDS Main discussion points A cluster storage system Stores giant "blobs" - 128-bit ID, multi-megabyte content Clients and servers connected

More information

High Availability Overview Paper

High Availability Overview Paper High Availability Overview Paper March 2001 Please note: The information contained in this document is intended as a guide to implementing high availability systems. Please keep in mind, however, that

More information

Reactive Microservices Architecture on AWS

Reactive Microservices Architecture on AWS Reactive Microservices Architecture on AWS Sascha Möllering Solutions Architect, @sascha242, Amazon Web Services Germany GmbH Why are we here today? https://secure.flickr.com/photos/mgifford/4525333972

More information

MySQL HA Solutions Selecting the best approach to protect access to your data

MySQL HA Solutions Selecting the best approach to protect access to your data MySQL HA Solutions Selecting the best approach to protect access to your data Sastry Vedantam sastry.vedantam@oracle.com February 2015 Copyright 2015, Oracle and/or its affiliates. All rights reserved

More information

Is Your Project in Trouble on System Performance?

Is Your Project in Trouble on System Performance? Is Your Project in Trouble on System Performance? Charles Chow May 2017 Is SATURN Your Project 2017 in Trouble - Is Your on System Project Performance? in Trouble on System Performance? May 2017 1 4, [Copyright

More information

RadBlue s S2S Quick Start Package (RQS) Developer s Guide. Version 0.1

RadBlue s S2S Quick Start Package (RQS) Developer s Guide. Version 0.1 RadBlue s S2S Quick Start Package (RQS) Developer s Guide Version 0.1 www.radblue.com April 17, 2007 Trademarks and Copyright Copyright 2007 Radical Blue Gaming, Inc. (RadBlue). All rights reserved. All

More information

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p.

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p. Acknowledgments p. xvi Introduction p. xvii Overview p. 1 Overview p. 3 The Motivation for Enterprise JavaBeans p. 4 Component Architectures p. 7 Divide and Conquer to the Extreme with Reusable Services

More information

Measuring HEC Performance For Fun and Profit

Measuring HEC Performance For Fun and Profit Measuring HEC Performance For Fun and Profit Itay Neeman Director, Engineering, Splunk Clif Gordon Principal Software Engineer, Splunk September 2017 Washington, DC Forward-Looking Statements During the

More information

Designing a scalable twitter

Designing a scalable twitter Designing a scalable twitter Nati Shalom, CTO & Founder Gigas John D. Mitchell Mad Scientist of Friendster. a2 About Gigas Technologies Enabling applications to run a distributed cluster as if it was a

More information