Ehcache is an open source Java caching library that provides fast, scalable caching for applications. It allows for in-process caching with single nodes or distributed caching across multiple nodes. Ehcache provides features like memory and disk storage, replication, search capabilities, and integration with Terracotta for distributed caching. It uses common caching patterns like cache-aside, read-through, write-through, and cache-as-sor. Ehcache has a simple API and is lightweight, scalable, and standards-based.
How to migrate from Alfresco Search Services to Alfresco SearchEnterpriseAngel Borroy López
Presentation on how to move from the Alfresco Search Services product based in Apache Solr to the new Alfresco Search Enterprise integrated with Elasticsearch and Amazon Opensearch.
( ELK Stack Training - https://www.edureka.co/elk-stack-trai... )
This Kibana tutorial by Edureka will give you an introduction to the Kibana 5 Dashboard and help you get started with working on the ELK Stack. Below are the topics covered in this Kibana tutorial video:
1. Introduction To ELK Stack
2. Role Of Kibana In ELK
3. Kibana 5 Dashboard
4. Demo: Kibana For Visualization & Analytics
This presentation describes how to efficiently load data into Hive. I cover partitioning, predicate pushdown, ORC file optimization and different loading schemes
How to migrate from Alfresco Search Services to Alfresco SearchEnterpriseAngel Borroy López
Presentation on how to move from the Alfresco Search Services product based in Apache Solr to the new Alfresco Search Enterprise integrated with Elasticsearch and Amazon Opensearch.
( ELK Stack Training - https://www.edureka.co/elk-stack-trai... )
This Kibana tutorial by Edureka will give you an introduction to the Kibana 5 Dashboard and help you get started with working on the ELK Stack. Below are the topics covered in this Kibana tutorial video:
1. Introduction To ELK Stack
2. Role Of Kibana In ELK
3. Kibana 5 Dashboard
4. Demo: Kibana For Visualization & Analytics
This presentation describes how to efficiently load data into Hive. I cover partitioning, predicate pushdown, ORC file optimization and different loading schemes
HBaseCon2017 Community-Driven Graphs with JanusGraphHBaseCon
Graphs are well-suited for many use cases to express and process complex relationships among entities in enterprise and social contexts. Fueled by the growing interest in graphs, there are various graph databases and processing systems that dot the graph landscape. JanusGraph is a community-driven project that continues the legacy of Titan, a pioneer of open source graph databases. JanusGraph is a scalable graph database optimized for large scale transactional and analytical graph processing. In the session, we will introduce JanusGraph, which features full integration with the Apache TinkerPop graph stack. We will discuss JanusGraph's optimized storage model that relies on HBase for fast graph transversal and processing.
by Jason Plurad and Jing Chen He of IBM
Azure Event Hubs - Behind the Scenes With Kasun Indrasiri | Current 2022HostedbyConfluent
Azure Event Hubs - Behind the Scenes With Kasun Indrasiri | Current 2022
Azure Event Hubs is a hyperscale PaaS event stream broker with protocol support for HTTP, AMQP, and Apache Kafka RPC that accepts and forwards several trillion (!) events per day and is available in all global Azure regions. This session is a look behind the curtain where we dive deep into the architecture of Event Hubs and look at the Event Hubs cluster model, resource isolation, and storage strategies and also review some performance figures.
Dariusz Szybowski, Aspediens Director of Technology, held this presentation at the Knowledge11, ServiceNow’s user conference taking place in Frankfurt. He discussed cases that we have achieved to date on how to integrate with SAP solution manager.
ELK Stack workshop covers real-world use cases and works with the participants to - implement them. This includes Elastic overview, Logstash configuration, creation of dashboards in Kibana, guidelines and tips on processing custom log formats, designing a system to scale, choosing hardware, and managing the lifecycle of your logs.
Stream Processing using Apache Flink in Zalando's World of Microservices - Re...Zalando Technology
In this talk we present Zalando's microservices architecture, introduce Saiki – our next generation data integration and distribution platform on AWS and show how we employ stream processing for near-real time business intelligence.
Zalando is one of the largest online fashion retailers in Europe. In order to secure our future growth and remain competitive in this dynamic market, we are transitioning from a monolithic to a microservices architecture and from a hierarchical to an agile organization.
We first have a look at how business intelligence processes have been working inside Zalando for the last years and present our current approach - Saiki. It is a scalable, cloud-based data integration and distribution infrastructure that makes data from our many microservices readily available for analytical teams.
We no longer live in a world of static data sets, but are instead confronted with an endless stream of events that constantly inform us about relevant happenings from all over the enterprise. The processing of these event streams enables us to do near-real time business intelligence. In this context we have evaluated Apache Flink vs. Apache Spark in order to choose the right stream processing framework. Given our requirements, we decided to use Flink as part of our technology stack, alongside with Kafka and Elasticsearch.
With these technologies we are currently working on two use cases: a near real-time business process monitoring solution and streaming ETL.
Monitoring our business processes enables us to check if technically the Zalando platform works. It also helps us analyze data streams on the fly, e.g. order velocities, delivery velocities and to control service level agreements.
On the other hand, streaming ETL is used to relinquish resources from our relational data warehouse, as it struggles with increasingly high loads. In addition to that, it also reduces the latency and facilitates the platform scalability.
Finally, we have an outlook on our future use cases, e.g. near-real time sales and price monitoring. Another aspect to be addressed is to lower the entry barrier of stream processing for our colleagues coming from a relational database background.
Kafka Tutorial - introduction to the Kafka streaming platformJean-Paul Azar
Why is Kafka so fast? Why is Kafka so popular? Why Kafka?
Introduction to Kafka streaming platform. Covers Kafka Architecture with some small examples from the command line. Then we expand on this with a multi-server example. Lastly, we added some simple Java client examples for a Kafka Producer and a Kafka Consumer. We have started to expand on the Java examples to correlate with the design discussion of Kafka. We have also expanded on the Kafka design section and added references.
ksqlDB is a stream processing SQL engine, which allows stream processing on top of Apache Kafka. ksqlDB is based on Kafka Stream and provides capabilities for consuming messages from Kafka, analysing these messages in near-realtime with a SQL like language and produce results again to a Kafka topic. By that, no single line of Java code has to be written and you can reuse your SQL knowhow. This lowers the bar for starting with stream processing significantly.
ksqlDB offers powerful capabilities of stream processing, such as joins, aggregations, time windows and support for event time. In this talk I will present how KSQL integrates with the Kafka ecosystem and demonstrate how easy it is to implement a solution using ksqlDB for most part. This will be done in a live demo on a fictitious IoT sample.
Introduction to Akka 2. Explains what Akka's actors are all about and how to utilize them to write scalable and fault-tolerant systems.
Talk given at JavaZone 2012.
Keeping Up with the ELK Stack: Elasticsearch, Kibana, Beats, and LogstashAmazon Web Services
Version 7 of the Elastic Stack adds powerful new features to the popular open source platform for search, logging, and analytics. Come hear directly from Elastic engineers and architecture team members on powerful new additions like GIS functionality and frozen-tier search. Plus, hear about the full range of orchestration options for getting the most out of your deployments, however and wherever you choose to run them. This session is sponsored by Elastic.
Kibana + timelion: time series with the elastic stackSylvain Wallez
Timelion is an extension to Kibana that is dedicated to time series processing and vizualisation based on a powerful expression language.
We start by a overview of the Elastic Stack 5.0 release, do a quick overview of Kibana before diving into Timelion
Talk given at Capitole du Libre in Toulouse, FR
https://2016.capitoledulibre.org/
Building Cloud-Native App Series - Part 3 of 11
Microservices Architecture Series
AWS Kinesis Data Streams
AWS Kinesis Firehose
AWS Kinesis Data Analytics
Apache Flink - Analytics
VictoriaLogs: Open Source Log Management System - PreviewVictoriaMetrics
VictoriaLogs Preview - Aliaksandr Valialkin
* Existing open source log management systems
- ELK (ElasticSearch) stack: Pros & Cons
- Grafana Loki: Pros & Cons
* What is VictoriaLogs
- Open source log management system from VictoriaMetrics
- Easy to setup and operate
- Scales vertically and horizontally
- Optimized for low resource usage (CPU, RAM, disk space)
- Accepts data from Logstash and Fluentbit in Elasticsearch format
- Accepts data from Promtail in Loki format
- Supports stream concept from Loki
- Provides easy to use yet powerful query language - LogsQL
* LogsQL Examples
- Search by time
- Full-text search
- Combining search queries
- Searching arbitrary labels
* Log Streams
- What is a log stream?
- LogsQL examples: querying log streams
- Stream labels vs log labels
* LogsQL: stats over access logs
* VictoriaLogs: CLI Integration
* VictoriaLogs Recap
Slides for the 90 minutes workshop I presented at the RTC2019 event in Beijing. The many slides cover different aspects in Janus, ranging from configuration, to plugins, how to write your own plugin, core features, recording, monitoring, and so on.
Kafka is becoming an ever more popular choice for users to help enable fast data and Streaming. Kafka provides a wide landscape of configuration to allow you to tweak its performance profile. Understanding the internals of Kafka is critical for picking your ideal configuration. Depending on your use case and data needs, different settings will perform very differently. Lets walk through performance essentials of Kafka. Let's talk about how your Consumer configuration, can speed up or slow down the flow of messages to Brokers. Lets talk about message keys, their implications and their impact on partition performance. Lets talk about how to figure out how many partitions and how many Brokers you should have. Let's discuss consumers and what effects their performance. How do you combine all of these choices and develop the best strategy moving forward? How do you test performance of Kafka? I will attempt a live demo with the help of Zeppelin to show in real time how to tune for performance.
From: DataWorks Summit 2017 - Munich - 20170406
HBase hast established itself as the backend for many operational and interactive use-cases, powering well-known services that support millions of users and thousands of concurrent requests. In terms of features HBase has come a long way, overing advanced options such as multi-level caching on- and off-heap, pluggable request handling, fast recovery options such as region replicas, table snapshots for data governance, tuneable write-ahead logging and so on. This talk is based on the research for the an upcoming second release of the speakers HBase book, correlated with the practical experience in medium to large HBase projects around the world. You will learn how to plan for HBase, starting with the selection of the matching use-cases, to determining the number of servers needed, leading into performance tuning options. There is no reason to be afraid of using HBase, but knowing its basic premises and technical choices will make using it much more successful. You will also learn about many of the new features of HBase up to version 1.3, and where they are applicable.
HBaseCon2017 Community-Driven Graphs with JanusGraphHBaseCon
Graphs are well-suited for many use cases to express and process complex relationships among entities in enterprise and social contexts. Fueled by the growing interest in graphs, there are various graph databases and processing systems that dot the graph landscape. JanusGraph is a community-driven project that continues the legacy of Titan, a pioneer of open source graph databases. JanusGraph is a scalable graph database optimized for large scale transactional and analytical graph processing. In the session, we will introduce JanusGraph, which features full integration with the Apache TinkerPop graph stack. We will discuss JanusGraph's optimized storage model that relies on HBase for fast graph transversal and processing.
by Jason Plurad and Jing Chen He of IBM
Azure Event Hubs - Behind the Scenes With Kasun Indrasiri | Current 2022HostedbyConfluent
Azure Event Hubs - Behind the Scenes With Kasun Indrasiri | Current 2022
Azure Event Hubs is a hyperscale PaaS event stream broker with protocol support for HTTP, AMQP, and Apache Kafka RPC that accepts and forwards several trillion (!) events per day and is available in all global Azure regions. This session is a look behind the curtain where we dive deep into the architecture of Event Hubs and look at the Event Hubs cluster model, resource isolation, and storage strategies and also review some performance figures.
Dariusz Szybowski, Aspediens Director of Technology, held this presentation at the Knowledge11, ServiceNow’s user conference taking place in Frankfurt. He discussed cases that we have achieved to date on how to integrate with SAP solution manager.
ELK Stack workshop covers real-world use cases and works with the participants to - implement them. This includes Elastic overview, Logstash configuration, creation of dashboards in Kibana, guidelines and tips on processing custom log formats, designing a system to scale, choosing hardware, and managing the lifecycle of your logs.
Stream Processing using Apache Flink in Zalando's World of Microservices - Re...Zalando Technology
In this talk we present Zalando's microservices architecture, introduce Saiki – our next generation data integration and distribution platform on AWS and show how we employ stream processing for near-real time business intelligence.
Zalando is one of the largest online fashion retailers in Europe. In order to secure our future growth and remain competitive in this dynamic market, we are transitioning from a monolithic to a microservices architecture and from a hierarchical to an agile organization.
We first have a look at how business intelligence processes have been working inside Zalando for the last years and present our current approach - Saiki. It is a scalable, cloud-based data integration and distribution infrastructure that makes data from our many microservices readily available for analytical teams.
We no longer live in a world of static data sets, but are instead confronted with an endless stream of events that constantly inform us about relevant happenings from all over the enterprise. The processing of these event streams enables us to do near-real time business intelligence. In this context we have evaluated Apache Flink vs. Apache Spark in order to choose the right stream processing framework. Given our requirements, we decided to use Flink as part of our technology stack, alongside with Kafka and Elasticsearch.
With these technologies we are currently working on two use cases: a near real-time business process monitoring solution and streaming ETL.
Monitoring our business processes enables us to check if technically the Zalando platform works. It also helps us analyze data streams on the fly, e.g. order velocities, delivery velocities and to control service level agreements.
On the other hand, streaming ETL is used to relinquish resources from our relational data warehouse, as it struggles with increasingly high loads. In addition to that, it also reduces the latency and facilitates the platform scalability.
Finally, we have an outlook on our future use cases, e.g. near-real time sales and price monitoring. Another aspect to be addressed is to lower the entry barrier of stream processing for our colleagues coming from a relational database background.
Kafka Tutorial - introduction to the Kafka streaming platformJean-Paul Azar
Why is Kafka so fast? Why is Kafka so popular? Why Kafka?
Introduction to Kafka streaming platform. Covers Kafka Architecture with some small examples from the command line. Then we expand on this with a multi-server example. Lastly, we added some simple Java client examples for a Kafka Producer and a Kafka Consumer. We have started to expand on the Java examples to correlate with the design discussion of Kafka. We have also expanded on the Kafka design section and added references.
ksqlDB is a stream processing SQL engine, which allows stream processing on top of Apache Kafka. ksqlDB is based on Kafka Stream and provides capabilities for consuming messages from Kafka, analysing these messages in near-realtime with a SQL like language and produce results again to a Kafka topic. By that, no single line of Java code has to be written and you can reuse your SQL knowhow. This lowers the bar for starting with stream processing significantly.
ksqlDB offers powerful capabilities of stream processing, such as joins, aggregations, time windows and support for event time. In this talk I will present how KSQL integrates with the Kafka ecosystem and demonstrate how easy it is to implement a solution using ksqlDB for most part. This will be done in a live demo on a fictitious IoT sample.
Introduction to Akka 2. Explains what Akka's actors are all about and how to utilize them to write scalable and fault-tolerant systems.
Talk given at JavaZone 2012.
Keeping Up with the ELK Stack: Elasticsearch, Kibana, Beats, and LogstashAmazon Web Services
Version 7 of the Elastic Stack adds powerful new features to the popular open source platform for search, logging, and analytics. Come hear directly from Elastic engineers and architecture team members on powerful new additions like GIS functionality and frozen-tier search. Plus, hear about the full range of orchestration options for getting the most out of your deployments, however and wherever you choose to run them. This session is sponsored by Elastic.
Kibana + timelion: time series with the elastic stackSylvain Wallez
Timelion is an extension to Kibana that is dedicated to time series processing and vizualisation based on a powerful expression language.
We start by a overview of the Elastic Stack 5.0 release, do a quick overview of Kibana before diving into Timelion
Talk given at Capitole du Libre in Toulouse, FR
https://2016.capitoledulibre.org/
Building Cloud-Native App Series - Part 3 of 11
Microservices Architecture Series
AWS Kinesis Data Streams
AWS Kinesis Firehose
AWS Kinesis Data Analytics
Apache Flink - Analytics
VictoriaLogs: Open Source Log Management System - PreviewVictoriaMetrics
VictoriaLogs Preview - Aliaksandr Valialkin
* Existing open source log management systems
- ELK (ElasticSearch) stack: Pros & Cons
- Grafana Loki: Pros & Cons
* What is VictoriaLogs
- Open source log management system from VictoriaMetrics
- Easy to setup and operate
- Scales vertically and horizontally
- Optimized for low resource usage (CPU, RAM, disk space)
- Accepts data from Logstash and Fluentbit in Elasticsearch format
- Accepts data from Promtail in Loki format
- Supports stream concept from Loki
- Provides easy to use yet powerful query language - LogsQL
* LogsQL Examples
- Search by time
- Full-text search
- Combining search queries
- Searching arbitrary labels
* Log Streams
- What is a log stream?
- LogsQL examples: querying log streams
- Stream labels vs log labels
* LogsQL: stats over access logs
* VictoriaLogs: CLI Integration
* VictoriaLogs Recap
Slides for the 90 minutes workshop I presented at the RTC2019 event in Beijing. The many slides cover different aspects in Janus, ranging from configuration, to plugins, how to write your own plugin, core features, recording, monitoring, and so on.
Kafka is becoming an ever more popular choice for users to help enable fast data and Streaming. Kafka provides a wide landscape of configuration to allow you to tweak its performance profile. Understanding the internals of Kafka is critical for picking your ideal configuration. Depending on your use case and data needs, different settings will perform very differently. Lets walk through performance essentials of Kafka. Let's talk about how your Consumer configuration, can speed up or slow down the flow of messages to Brokers. Lets talk about message keys, their implications and their impact on partition performance. Lets talk about how to figure out how many partitions and how many Brokers you should have. Let's discuss consumers and what effects their performance. How do you combine all of these choices and develop the best strategy moving forward? How do you test performance of Kafka? I will attempt a live demo with the help of Zeppelin to show in real time how to tune for performance.
From: DataWorks Summit 2017 - Munich - 20170406
HBase hast established itself as the backend for many operational and interactive use-cases, powering well-known services that support millions of users and thousands of concurrent requests. In terms of features HBase has come a long way, overing advanced options such as multi-level caching on- and off-heap, pluggable request handling, fast recovery options such as region replicas, table snapshots for data governance, tuneable write-ahead logging and so on. This talk is based on the research for the an upcoming second release of the speakers HBase book, correlated with the practical experience in medium to large HBase projects around the world. You will learn how to plan for HBase, starting with the selection of the matching use-cases, to determining the number of servers needed, leading into performance tuning options. There is no reason to be afraid of using HBase, but knowing its basic premises and technical choices will make using it much more successful. You will also learn about many of the new features of HBase up to version 1.3, and where they are applicable.
Agenda:
Red Hat JBoss and SAP Collaboration
Red Hat JBoss - Overview
SAP Netweaver Gateway
SAP PartnerEdge program for Application Development
Call to Action
Q&A
Predicting Defects in SAP Java Code: An Experience Reporttilman.holschuh
Which components of a large software system are the
most defect-prone? In a study on a large SAP Java system,
we evaluated and compared a number of defect predictors,
based on code features such as complexity metrics, static
error detectors, change frequency, or component imports,
thus replicating a number of earlier case studies in an industrial
context. We found the overall predictive power to
be lower than expected; still, the resulting regression models
successfully predicted 50–60% of the 20% most defectprone
components.
SAP Integration with Red Hat JBoss Technologieshwilming
SAP ERP provides different approaches to integrate Java applications with business logic written in ABAP. With JBoss Fuse, the SOA Platform, and Data Services Platform, Red Hat offers flexible middleware solutions for service-oriented integration and orchestration. As a leading provider of integrated solutions and longtime Premier Partner, akquinet has a long history of projects integrating individual applications based on JBoss with standard ERP software such as SAP or Navision.
Based on various real world examples, we will show different ways to integrate SAP ABAP backends with JBoss Middleware. We will discuss the pros and cons of integrating Java EE applications using (a) the REST based approach with NetWeaver Gateway, (b) JBoss Data Services Platform with NetWeaver Gateway (c) SOAP based Web Services and (d) Remote Function Calls with the Java EE Connector Architecture (JCA) and the SAP Java Connector (JCo) library
Practical SAP pentesting workshop (NullCon Goa)ERPScan
All business processes are generally contained in ERP systems. Any information an attacker might want is stored in a company’s ERP. This information can include financial, customer or public relations, intellectual property, personally identifiable information and more. And SAP is the most popular business application vendor with more than 250000 customers worldwide.
The workshop conducted by Alexander Polyakov, CTO of ERPScan, at NullCon Goa Conference is a practical SAP pentesting guide.
Integrating SAP the Java EE Way - JBoss One Day talk 2012hwilming
Cuckoo is an open source Resource Adapter for SAP that is compatible to the Java Connector Architecture (JCA) version 1.5.
It enables developers of Java EE applications to call functions in a SAP backend, making use of Java EE features like Container Managed Transactions and Security.
Hibersap helps developers of Java applications to call business logic in SAP backends. It defines a set of Java annotations to map SAP function modules to Java classes as well as a small, clean API to execute these function modules and handle transaction and security aspects.
Hibersap's programming model is quite similar to those of modern O/R mappers, significantly speeding up the development of SAP interfaces and making it much more fun to write the integration code.
A presentation on how automatic memory management and adaptive compilation impact on latency of applications. Includes some ideas on how to minimise these affects.
In today’s systems , the time it takes to bring data to the end-user can be very long, especially under heavy load. An application can often increase performance by using an appropriate caching system. There are many caching level that you can use in our application today : CDN, In-Memory/Local Cache, Distributed Cache, Outut Cache, Browser Cache, Html Cache
From cache to in-memory data grid. Introduction to Hazelcast.Taras Matyashovsky
This presentation:
* covers basics of caching and popular cache types
* explains evolution from simple cache to distributed, and from distributed to IMDG
* not describes usage of NoSQL solutions for caching
* is not intended for products comparison or for promotion of Hazelcast as the best solution
[Hanoi-August 13] Tech Talk on Caching SolutionsITviec
ITviec Tech Talk
Hanoi, 24 August 2013
Topic: Caching Solutions
Speaker: Mr. Hoang Tran from Niteco
For full report of the talk: http://blog.itviec.com/2013/08/caching-solutions-response-time-niteco/
Cloud Infrastructures Slide Set 8 - More Cloud Technologies - Mesos, Spark | ...anynines GmbH
Beside IaaS and PaaS there is a growing number of Cluster-Managers for maintaining spezialised Compute Frameworks. In this set of slides you will find a short introduction of the Cluster-Manager Apache Mesos and the Compute Framework Apache Spark.
Presented at JavaOne 2015.
JSR107, aka the Temporary Caching API for the Java Platform, has now been finalized almost 2 years ago. We've heard all about its ease of use and capabilities. But there is much left unaddressed. The good news is that the EG is looking at addressing many of the current shortcomings... But what do you do now? Go for proprietary APIs?!
Ehcache, the de facto caching API for 10 years now, has gone through a major API revamp: Ehcache3. One major theme, beyond its usual ease of use, was JSR107. Natively integrating it, but also looking beyond. With close to no API tie-ins, Ehcache3 lets you extend the JSR107 API transparently to go beyond the specification: topology-wise: whether you want to go offheap and scale up, or scale out by clustering your caches; functionality-wise: using transactional caches, automatic resource control or even using a write-behind cache to scale out writes...
Best of all is that this isn't only minimally intrusive, it is also all free to use and available as part of the open-source Ehcache v3 that has been GA'ed earlier this year...
So you are deployed to production (or soon to be) with Elasticsearch running and powering important application features. Or maybe used for centralized logging for effective debugging.
Was your Elastic cluster deployed correctly? Is it stable? Can it hold the throughput you expect it to?
How did you do capacity planning? How to tell if the cluster is healthy and what to monitor? How to apply effective multi-tenancy? and what would be an ideal cluster topology and data ingestion architecture?
SRE Tech Talk meetup - 28/05/2019 at Paris. Presenting Kubernetes at NoSQL. Managing stateful applications is not an easy task. Getting them working at scale on +4500 servers world wide starts to be very time consuming. We'll talk about challenges we've been facing when moving from a full configuration manager (chef) solution to a mixed solution with a scheduler (Kubernetes). We'll also talk about the pitfalls to avoid when switching to a scheduler for stateful apps.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
2. Contents
• About Caches
• Why caching works
• Will an Application Benefit from Caching?
• How much will an application speed up?
• About Ehcache
• Features of Ehcache
• Key Concepts of Ehcache
• Using Ehcache
• Distributed Ehcache Architecture
• References
3. About Caches
• In Wiktionary
– A store of things that will be required in future and can be
retrieved rapidly
• In computer science
– A collection of temporary data which either duplicates data
located elsewhere of is the result of a computation
– The data can be repeatedly accessed inexpensively
4. Why caching works
• Locality of Reference
– Data that is near other data or has just been used is more likely to be used
again
• The Long Tail
A small number of items may make up the
bulk of sales. – Chris Anderson
– One form of a Power Law distribution is the Pareto distribution (80:20 rule)
– IF 20% of objects are used 80% of the time and a way can be found to
reduce the cost of obtaining that 20%, then system performance will improve
5. Will an Application Benefit from Caching?
CPU bound Application
• The time taken principally depends on the speed of the CPU
and main memory
• Speeding up
– Improving algorithm performance
– Parallelizing the computations across multiple CPUs or multiple
machines
– Upgrading the CPU speed
• The role of caching
– Temporarily store computations that may be reused again
• Ex) DB Cache, Large web pages that have a high rendering cost.
6. Will an Application Benefit from Caching?
I/O bound Application
• The time taken to complete a computation depends principally
on the rate at which data can be obtained
• Speeding up
– Hard disks are speeding up by using their own caching of blocks into
memory
• There is no Moore’s law for hard disk.
– Increase the network bandwidth
• The role of cache
– Web page caching, for pages generated from databases
– Data Access object caching
7. Will an Application Benefit from Caching?
Increased Application Scalability
• Data bases can do 100 expensive queries per second
– Caching may be able to reduce the workload required
8. How much will an application speed up?
(Amdahl’s Law)
• Depend on a multitude of factors
– How many times a cached piece of data can and is
reduced by the application
– The proportion of the response time that is alleviated by
caching
• Amdahl’s Law
P: Proportion speed up
S: Speed up
9. Amdahl’s Law Example
(Speed up from a Database Level Cache)
Un-cached page time: 2 seconds
Database time: 1.5 seconds
Cache retrieval time: 2ms
Proportion: 75% (2/1.5)
The expected system speedup is thus:
1 / (( 1 – 0.75) + 0.75 / (1500/2))
= 1 / (0.25 + 0.75/750)
= 3.98 times system speedup
10. About Ehcache
• Open source, standards-based cache used to boost performance
• Basically, based on in-process
• Scale from in-process with one more nodes through to a mixed in-
process/out-of-process configuration with terabyte-sized caches
• For applications needing a coherent distributed cache, Ehcache uses
the open source Terracotta Server Array
• Java-based Cache, Available under an Apache 2 license
• The Wikimedia Foundation use Ehcache to improve the performance
of its wiki projects
11. Features of Ehcache(1/2)
• Fast and Light Weight
– Fast, Simple API
– Small foot print: Ehcache 2.2.3 is 668 kb making it convenient to package
– Minimal dependencies: only dependency on SLF4J
• Scalable
– Provides Memory and Disk store for scalability into gigabytes
– Scalable to hundreds of nodes with the Terracotta Server Array
• Flexible
– Supports Object or Serializable caching
– Provides LRU, LFU and FIFO cache eviction policies
– Provides Memory and Disk stores
12. Features of Ehcache(2/2)
• Standards Based
– Full implementation of JSR107 JCACHE API
• Application Persistence
– Persistent disk store which stores data between VM restarts
• JMX Enable
• Distributed Caching
– Clustered caching via Terracotta
– Replicated caching via RMI, JGroups, or JMS
• Cache Server
– RESTful, SOAP cache Server
• Search
– Standalone and distributed search using a fluent query language
13. Key Concepts of Ehcache
Key Classes
• CacheManager
– Manages caches
• Ehcache
– All caches implement the Ehcache interface
– A cache has a name and attributes
– Cache elements are stored in the memory store, optionally the also overflow
to a disk store
• Element
– An atomic entry in a cache
– Has key and value
– Put into and removed from caches
14. Key Concepts of Ehcache
Usage patterns: Cache-aside
• Application code use the cache directly
• Order
– Application code consult the cache first
– If cache contains the data, then return the data directly
– Otherwise, the application cod must fetch the data from the system-of-record,
store the data in the cache, then return.
– 0
15. Key Concepts of Ehcache
Usage patterns: Read-through
• Mimics the structure of the cache-aside patterns when reading data
• The difference
– Must implement the CacheEntryFactory interface to instruct the cache how to
read objects on a cache miss
– Must wrap the Ehcache instance with an instance of SelfPopulationCache
– 4
16. Key Concepts of Ehcache
Usage patterns: Write-through and behind
• Mimics the structure of the cache-aside pattern when data write
• The difference
– Must implement the CacheWriter interface and configure the cache for write-through or write
behind
– A write-through cache writes data to the system-of-record in the same thread of execution
– A write-behind queues the data for write at a later time
– d
17. Key Concepts of Ehcache
Usage patterns: Cache-as-sor
• Delegate SOR reading and writing actives to the cache
• To implement, use a combination of the following patterns
– Read-through
– Write-through or write-behind
• Advantages
– Less cluttered application code
– Easily choose between write-through or write-behind strategies
– Allow the cache to solve the “thundering-herd” problem
• Disadvantages
– Less directly visible code-path
18. Key Concepts of Ehcache
Storage Options: Memory Store
• Suitable Element Types
– All Elements are suitable for placement in the Memory Store
• Characteristics
– Thread safe for use by multiple concurrent threads
– Backed By LinkedHashMap (Jdk 1.4 later)
• LinkedHashMap: Hash table and linked list implementation of the Map interface
– Fast
• Memory Use, Spooling and Expiry Strategy
– Least Recently Used (LRU): default
– Least frequently Used (LFU)
– First In First Out (FIFO)
19. Key Concepts of Ehcache
Storage Options: Big-Memory Store
• Pure java product from Terracotta that permits caches to use an additional type of
memory store outside the object heap. (Packaged for use in Enterprise Ehcache)
– Not subject to Java GC
– 100 times faster than Disk-Store
– Allows very large caches to be created(tested up to 350GB)
• Two implementations
– Only Serializable cache keys and values can be placed similar to Disk Store
– Serializaion and deserialization take place putting and getting from the store
• Around 10 times slower than Memory Store
• The memory store holds the hottest subset of data from the off-heap store, already in deserialized form
• Suitable Element Types
– Only Elements which are serializable can be placed in the off-heap
– Any non serializable Elements will be removed and WARNING level log message emitted
20. Key Concepts of Ehcache
Storage Options: Disk Store
• Disk Store are optional
• Suitable Element Type
– Only Elements which are serializable can be placed in the off-heap
– Any non serializable Elements will be removed and WARNING level
log message emitted
• Eviction
– The LFU algorithm is used and it is not configurable or changeable
• Persistence
– Controlled by the disk persistent configuration
– If false or onmitted, disk store will not presit between CacheManager restarts
21. Key Concepts of Ehcache
Replicated Caching
• Ehcache has a pluggable cache replication scheme
– RMI, JGroups, JMS
• Using a Cache Server
– To achieve shared data, all JVMs read to and write from a Cache Server
• Notification Strategies
– If the Element is not available anywhere else then the element it self shoud from the pay load
of the notification
– D
22. Key Concepts of Ehcache
Search APIs
• Allows you to execute arbitrarily complex queries either a standalone
cache or a Terracotta clustered cache with pre-built indexes
• Searchable attributes may be extracted from both key and vales
• Attribute Extractors
– Attributes are extracted from keys or values
– This is done during search or, if using Distributed Ehcache on put() into the
cache using AttributeExtractors
– Supported types
• Boolean, Byte, Character, Double, Float, Integer, Long, Short, String, Enum, java.util.Date,
Java.sql.Date
23. Using Ehcache
General-Purpose Caching
• Local Cache
• Configuration
– Place the Ehcache jar into your class-path
– Configure ehcache.xml and place it in your class-path
– Optionally, configure an appropriate logging level
DB
Local
Application Web
Ehcache
Server
– d Web
Server
24. Using Ehcache
Cache Server
• Support for RESTful and SOAP APIs
• Redundant, Scalable with client hash-based routing
– The client can be implemented in any language
– The client must work out a partitioning scheme
– s
25. Using Ehcache
Integrate with other solutions
• Hivernate
• Java EE Servlet Caching
• JCache style caching
• Spring, cocoon, Acegi and other frameworks
26. Distributed Ehcache Architecture
(Logical View)
• Distributed Ehcache combines an in-process Ehcache with the Terracotta Server Array
• The data is split between an Ehcache node(L1) and the Terracotta Server Array(L2)
– The L1 can hold as much data as is comfortable
– The L2 always a complete copy of all cache data
– The L1 acts as a hot-set of recently used data
27. Distributed Ehcache Architecture
(Ehcache topologies)
• Standalone
– The cache data set is held in the application node
– Any other application nodes are independent with no communication
between them
• Distributed Ehcache
– The data is held in a Terracotta server Array with a subset of recently used
data held in each application cache node
• Replicated
– The cached data set is held in each application node and data is copied or
invalidated across the cluster without locking
– Replication can be either asynchronous or synchronous
– The only consistency mode available is weak consistency
28. Distributed Ehcache Architecture
(Network View)
• From a network topology point of view Distributed Ehcache consist of
– Ehcache node(L1)
• The Ehcache library is present in each app
• An Ehcache instance, running in-process sits in each JVM
– Terracotta Server Array(L2)
• Each Ehcache instance maintains a connection with one or more Terracotta Servers
• Consistent hashing is used by the Ehcache nodes to store and retrieve cache data
• 4
29. Distributed Ehcache Architecture
(Memory Hierarchy View)
• Each in-process Ehcache instance
– Heap memory
– Off-heap memory(Big Memory)
• The Terracotta Server Arrays
– Heap memory
– Off-heap memory
– Disk storage.
• This is optional.(Persistence)
– 1