Knowledge of how to set up good benchmarks is invaluable in understanding performance of the system. Writing correct and useful benchmarks is hard, and verification of the results is difficult and prone to errors. When done right, benchmarks guide teams to improve the performance of their systems. When done wrong, hours of effort may result in a worse performing application, upset customers or worse! In this talk, we will discuss what you need to know to write better benchmarks. We will look at examples of bad benchmarks and learn about what biases can invalidate the measurements, in the hope of correctly applying our new-found skills and avoiding such pitfalls in the future.
Knowledge of how to set up good benchmarks is invaluable in understanding performance of the system. Writing correct and useful benchmarks is hard, and verification of the results is difficult and prone to errors. When done right, benchmarks guide teams to improve the performance of their systems. When done wrong, hours of effort may result in a worse performing application, upset customers or worse! In this talk, we will discuss what you need to know to write better benchmarks for distributed systems. We will look at examples of bad benchmarks and learn about what biases can invalidate the measurements, in the hope of correctly applying our new-found skills and avoiding such pitfalls in the future.
Being productive is a great advantage. So, today, we will give you some tips on how to work faster and be productive with great results. Keep checking our blog for more tips & tricks at http://kanbantool.com/blog.
An introduction to Reactive applications, Reactive Streams, and options for t...Steve Pember
The term “reactive” has lately become a buzzword, with a variety of definitions around the Web. When you hear “reactive,” what do you think of? Reactive Streams? The Reactive Manifesto? ReactJS? These terms may seem unrelated, but they share a common core concept.
Reactive applications and Reactive programming result in flexible, concise, performant code and are a superior alternative to the old, standard thread-based imperative programming model. The Reactive approach has gained popularity recently for one simple reason: we need alternative designs and architectures to meet today’s demands. However, it can be difficult to shift one’s mind to think in Reactive terms due to how accustomed we’ve become to the imperative style.
Stephen Pember explores the various definitions of Reactive and Reactive programming with the goal of providing techniques for building efficient, scalable applications. Steve dives into the key concepts of Reactive Streams and examines some sample implementations—including how ThirdChannel is currently using reactive libraries in production code. Steve looks at some of the open source options available in the JVM—including Reactor, RxJava, and Ratpack—giving you an idea of where to begin with the reactive ecosystem. If Reactive is new to you, this should be an excellent introduction.
Elm - never get a runtime error anymore. Almost.Anton Astashov
Elm, a transpiled-to-JavaScript language which makes sure you’ll never have a runtime error in your app. Almost. Why it’s cool, what it looks like, it’s pros and (most importantly) cons.
Reactive Streams and the Wide World of GroovySteve Pember
The concept of Reactive Streams (aka Reactive Extensions, Reactive Functional Programming, or simply Rx) has become increasingly popular recently, and with good reason. The Reactive Streams specification provides a universal abstraction for asynchronously processing data received across multiple sources (e.g. database, user input, third-party services), and includes mechanisms for controlling the rate at which data is received. This makes it a powerful tool within a Microservice platform. And did we mention that the Groovy lang community is quite involved?
In this talk we’ll explore the various features and concepts of Reactive Streams. We’ll talk about some typical use cases for Rx and more importantly, how to implement them. We’ll focus primarily on RxGroovy and Ratpack, then provide example implementations that show you how to get started with this powerful technique.
Knowledge of how to set up good benchmarks is invaluable in understanding performance of the system. Writing correct and useful benchmarks is hard, and verification of the results is difficult and prone to errors. When done right, benchmarks guide teams to improve the performance of their systems. When done wrong, hours of effort may result in a worse performing application, upset customers or worse! In this talk, we will discuss what you need to know to write better benchmarks for distributed systems. We will look at examples of bad benchmarks and learn about what biases can invalidate the measurements, in the hope of correctly applying our new-found skills and avoiding such pitfalls in the future.
Being productive is a great advantage. So, today, we will give you some tips on how to work faster and be productive with great results. Keep checking our blog for more tips & tricks at http://kanbantool.com/blog.
An introduction to Reactive applications, Reactive Streams, and options for t...Steve Pember
The term “reactive” has lately become a buzzword, with a variety of definitions around the Web. When you hear “reactive,” what do you think of? Reactive Streams? The Reactive Manifesto? ReactJS? These terms may seem unrelated, but they share a common core concept.
Reactive applications and Reactive programming result in flexible, concise, performant code and are a superior alternative to the old, standard thread-based imperative programming model. The Reactive approach has gained popularity recently for one simple reason: we need alternative designs and architectures to meet today’s demands. However, it can be difficult to shift one’s mind to think in Reactive terms due to how accustomed we’ve become to the imperative style.
Stephen Pember explores the various definitions of Reactive and Reactive programming with the goal of providing techniques for building efficient, scalable applications. Steve dives into the key concepts of Reactive Streams and examines some sample implementations—including how ThirdChannel is currently using reactive libraries in production code. Steve looks at some of the open source options available in the JVM—including Reactor, RxJava, and Ratpack—giving you an idea of where to begin with the reactive ecosystem. If Reactive is new to you, this should be an excellent introduction.
Elm - never get a runtime error anymore. Almost.Anton Astashov
Elm, a transpiled-to-JavaScript language which makes sure you’ll never have a runtime error in your app. Almost. Why it’s cool, what it looks like, it’s pros and (most importantly) cons.
Reactive Streams and the Wide World of GroovySteve Pember
The concept of Reactive Streams (aka Reactive Extensions, Reactive Functional Programming, or simply Rx) has become increasingly popular recently, and with good reason. The Reactive Streams specification provides a universal abstraction for asynchronously processing data received across multiple sources (e.g. database, user input, third-party services), and includes mechanisms for controlling the rate at which data is received. This makes it a powerful tool within a Microservice platform. And did we mention that the Groovy lang community is quite involved?
In this talk we’ll explore the various features and concepts of Reactive Streams. We’ll talk about some typical use cases for Rx and more importantly, how to implement them. We’ll focus primarily on RxGroovy and Ratpack, then provide example implementations that show you how to get started with this powerful technique.
Everybody has something about streams on the Scala platform: iteratee, scalaz.streams, reactive streams, akka.io, and so on.
But are they useful for the day to day developer job? Are they only for database drivers? What are the differences between all this technologies?
You will understand what are streams, why you need them and how to use them in real world scenarios
An Introduction to Reactive Application, Reactive Streams, and options for JVMSteve Pember
The term “reactive” has lately become a buzzword, with a variety of definitions around the Web. When you hear reactive, what do you think of? Reactive Streams? The Reactive Manifesto? ReactJS? These terms may seem unrelated, but they share a common core concept.
Reactive applications and reactive programming result in flexible, concise, performant code and are a superior alternative to the old standard thread-based imperative programming model. The reactive approach has gained popularity recently for one simple reason: we need alternative designs and architectures to meet today’s demands. However, it can be difficult to shift one’s mind to think in reactive terms due to how accustomed we’ve become to the imperative style.
Stephen Pember explores the various definitions of reactive and reactive programming with the goal of providing techniques for building efficient, scalable applications. Steve dives into the key concepts of Reactive Streams and examines some sample implementations—including how ThirdChannel is currently using reactive libraries in production code. Steve looks at some of the open source options available in the JVM—including Reactor, RxJava, and Ratpack—giving attendees an idea of where to begin with the reactive ecosystem. If reactive is new to you, this should be an excellent introduction.
Abstract:
There’s no question that we are seeing an increase in the availability of streaming, time-series data. Largely driven by the rise of the Internet of Things (IoT) and connected real-time data sources, we now have an enormous number of applications with sensors that produce important data that changes over time. This data presents a challenge and opportunity for businesses across every industry. How do they handle the onslaught of streaming data? How can they exploit it to make decisions in real-time? One way is to detect, in real time, when something unusual occurs. Early anomaly detection in streaming data has significant implications, yet can be very difficult to execute. It requires detectors to process data in real-time, not batches, and learn while simultaneously making predictions. In this talk, we’ll look at algorithms designed for such data and analyze the components that lead to optimal performance. We’ll also discuss a new benchmark with a labeled, real-world data set, designed to provide a controlled and repeatable environment of open-source tools to test and measure anomaly detection algorithms on streaming data. How do we score in a way that rewards algorithms that detect all anomalies as soon as possible, triggers no false alarms, works with real-world time-series data across a variety of domains, and automatically adapts to changing statistics?
Kanban method in four easy steps. Enjoy kanban.
Kanban in 4 easy steps is one of the most popular Kanban presentations. Learn how to successfully implement Kanban in your business process or life. Get to know basic Kanban principles and to see how easily you can improve your productivity using Kanban boards.
You did great job finishing this web app on time and budget. Design patterns, good code coverage, cutting edge frameworks and best CI ever. It goes to production and boom, clients complain it's too slow. They don't really care, if it's best engineering ever, if each view loads 4 seconds. My presentation will give you hints on how to look for bottlenecks. I will also share simple tricks to make the app work faster, or at least seem to work faster.
In systems that handle big data, streaming data, or fast data, it's important to get your data pipelines right. Apache Kafka is a wicked-fast distributed streaming platform that operates as more than just a persistent log or a flexible message queue. With Kafka, you can build the powerful real-time data processing pipelines required by modern distributed systems. Kafka in Action is a fast-paced introduction to every aspect of working with Kafka you need to really reap its benefits.
Get it for 42% off with code slscott at: https://livebook.manning.com/#!/book/kafka-in-action/chapter-1/
Fast track to higher productivity with online Kanban boardsShore Labs
Online Kanban boards are considered to be one of the most efficient tools for improving team productivity and visual project management. They are used with success in large, medium and small businesses all around the world. They help to visualize, control and optimize workflow, as well as to collaborate with your team members in real time. Watch the presentation and learn more about online Kanban boards by Kanban Tool.
Forcelandia 19 How to Use Flow to Become a DeveloperMeighan Brodkey
Forcelandia 19 How flow can help you become a developer presentation. Learn how to use Visualflow to start your career path towards developer with Salesforce.
Jamie Echlin details how and why to start automating processes and workflows in Atlassian JIRA. Presented at the iDalko event in Antwerp on April 14th 2016.
Title: The JavaScript Delusion [long presentation]
Sub-title: And Why Java Will Continue to Rule The Business World
Abstract: JavaScript is the new hype. It is the coolest of cool technologies. Everyone from FaceBook to NASA is using it. Let us see what is there once we peel the thick layer of hype and mass delusion around it. How does it compare with the Java world?
Speaker:
Mojahedul Hoque Abul Hasanat
CTO, Dynamic Solution Innovators
Software Engineer, Backpack Technologies, Inc.
An intro to Test Driven Development for Developers and Non-Developers - covering some basics of TDD and ATDD. Presented to UXPA Cleveland at OverDrive on February 27, 2014
Are you tired of Hibernate? Is GORM is too heavy for your current project? Do you like having more control over your SQL? Do you like flexible DSLs? Try JOOQ!
JOOQ (Java Object Oriented Querying) is light-weight alternative to classic data access solutions or ORMs like Hibernate, JPA, JDBC, and GORM. JOOQ's goal is to give the developer a flexible DSL for building typesafe, database agnostic SQL queries, and attempts to convince the developer of a ‘database-first’ approach to building their application. In this talk we’ll quickly present an introduction to JOOQ from a high level, discuss its features, and see several examples of how we’re using JOOQ to great effect with many Spring Boot and Ratpack apps within our platform.
The federal government loves modernizing software systems and it isn't wrong: stale, decaying software leads to major headaches and eventual catastrophe. Modernization efforts, however, have big risks and big failures.
There is an alternative: software renovation. That is improving, updating, and upgrading the software system one piece at a time while it continues to operate.
Dane has participated deeply in three US government modernization projects. Each project followed a pattern of pitfalls, scary "go-live" transitions, and unpleasant trade-offs.
Renovating legacy software is frequently a better option. The software system continues to gain functionality at the same time that its design and performance are improved.
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...Amazon Web Services
Running your Amazon EC2 instances in Auto Scaling groups allows you to improve your application's availability right out of the box. Auto Scaling replaces impaired or unhealthy instances automatically to maintain your desired number of instances (even if that number is one). You can also use Auto Scaling to automate the provisioning of new instances and software configurations as well as to track of usage and costs by app, project, or cost center. Of course, you can also use Auto Scaling to adjust capacity as needed - on demand, on a schedule, or dynamically based on demand. In this session, we show you a few of the tools you can use to enable Auto Scaling for the applications you run on Amazon EC2. We also share tips and tricks we've picked up from customers such as Netflix, Adobe, Nokia, and Amazon.com about managing capacity, balancing performance against cost, and optimizing availability.
Everybody has something about streams on the Scala platform: iteratee, scalaz.streams, reactive streams, akka.io, and so on.
But are they useful for the day to day developer job? Are they only for database drivers? What are the differences between all this technologies?
You will understand what are streams, why you need them and how to use them in real world scenarios
An Introduction to Reactive Application, Reactive Streams, and options for JVMSteve Pember
The term “reactive” has lately become a buzzword, with a variety of definitions around the Web. When you hear reactive, what do you think of? Reactive Streams? The Reactive Manifesto? ReactJS? These terms may seem unrelated, but they share a common core concept.
Reactive applications and reactive programming result in flexible, concise, performant code and are a superior alternative to the old standard thread-based imperative programming model. The reactive approach has gained popularity recently for one simple reason: we need alternative designs and architectures to meet today’s demands. However, it can be difficult to shift one’s mind to think in reactive terms due to how accustomed we’ve become to the imperative style.
Stephen Pember explores the various definitions of reactive and reactive programming with the goal of providing techniques for building efficient, scalable applications. Steve dives into the key concepts of Reactive Streams and examines some sample implementations—including how ThirdChannel is currently using reactive libraries in production code. Steve looks at some of the open source options available in the JVM—including Reactor, RxJava, and Ratpack—giving attendees an idea of where to begin with the reactive ecosystem. If reactive is new to you, this should be an excellent introduction.
Abstract:
There’s no question that we are seeing an increase in the availability of streaming, time-series data. Largely driven by the rise of the Internet of Things (IoT) and connected real-time data sources, we now have an enormous number of applications with sensors that produce important data that changes over time. This data presents a challenge and opportunity for businesses across every industry. How do they handle the onslaught of streaming data? How can they exploit it to make decisions in real-time? One way is to detect, in real time, when something unusual occurs. Early anomaly detection in streaming data has significant implications, yet can be very difficult to execute. It requires detectors to process data in real-time, not batches, and learn while simultaneously making predictions. In this talk, we’ll look at algorithms designed for such data and analyze the components that lead to optimal performance. We’ll also discuss a new benchmark with a labeled, real-world data set, designed to provide a controlled and repeatable environment of open-source tools to test and measure anomaly detection algorithms on streaming data. How do we score in a way that rewards algorithms that detect all anomalies as soon as possible, triggers no false alarms, works with real-world time-series data across a variety of domains, and automatically adapts to changing statistics?
Kanban method in four easy steps. Enjoy kanban.
Kanban in 4 easy steps is one of the most popular Kanban presentations. Learn how to successfully implement Kanban in your business process or life. Get to know basic Kanban principles and to see how easily you can improve your productivity using Kanban boards.
You did great job finishing this web app on time and budget. Design patterns, good code coverage, cutting edge frameworks and best CI ever. It goes to production and boom, clients complain it's too slow. They don't really care, if it's best engineering ever, if each view loads 4 seconds. My presentation will give you hints on how to look for bottlenecks. I will also share simple tricks to make the app work faster, or at least seem to work faster.
In systems that handle big data, streaming data, or fast data, it's important to get your data pipelines right. Apache Kafka is a wicked-fast distributed streaming platform that operates as more than just a persistent log or a flexible message queue. With Kafka, you can build the powerful real-time data processing pipelines required by modern distributed systems. Kafka in Action is a fast-paced introduction to every aspect of working with Kafka you need to really reap its benefits.
Get it for 42% off with code slscott at: https://livebook.manning.com/#!/book/kafka-in-action/chapter-1/
Fast track to higher productivity with online Kanban boardsShore Labs
Online Kanban boards are considered to be one of the most efficient tools for improving team productivity and visual project management. They are used with success in large, medium and small businesses all around the world. They help to visualize, control and optimize workflow, as well as to collaborate with your team members in real time. Watch the presentation and learn more about online Kanban boards by Kanban Tool.
Forcelandia 19 How to Use Flow to Become a DeveloperMeighan Brodkey
Forcelandia 19 How flow can help you become a developer presentation. Learn how to use Visualflow to start your career path towards developer with Salesforce.
Jamie Echlin details how and why to start automating processes and workflows in Atlassian JIRA. Presented at the iDalko event in Antwerp on April 14th 2016.
Title: The JavaScript Delusion [long presentation]
Sub-title: And Why Java Will Continue to Rule The Business World
Abstract: JavaScript is the new hype. It is the coolest of cool technologies. Everyone from FaceBook to NASA is using it. Let us see what is there once we peel the thick layer of hype and mass delusion around it. How does it compare with the Java world?
Speaker:
Mojahedul Hoque Abul Hasanat
CTO, Dynamic Solution Innovators
Software Engineer, Backpack Technologies, Inc.
An intro to Test Driven Development for Developers and Non-Developers - covering some basics of TDD and ATDD. Presented to UXPA Cleveland at OverDrive on February 27, 2014
Are you tired of Hibernate? Is GORM is too heavy for your current project? Do you like having more control over your SQL? Do you like flexible DSLs? Try JOOQ!
JOOQ (Java Object Oriented Querying) is light-weight alternative to classic data access solutions or ORMs like Hibernate, JPA, JDBC, and GORM. JOOQ's goal is to give the developer a flexible DSL for building typesafe, database agnostic SQL queries, and attempts to convince the developer of a ‘database-first’ approach to building their application. In this talk we’ll quickly present an introduction to JOOQ from a high level, discuss its features, and see several examples of how we’re using JOOQ to great effect with many Spring Boot and Ratpack apps within our platform.
The federal government loves modernizing software systems and it isn't wrong: stale, decaying software leads to major headaches and eventual catastrophe. Modernization efforts, however, have big risks and big failures.
There is an alternative: software renovation. That is improving, updating, and upgrading the software system one piece at a time while it continues to operate.
Dane has participated deeply in three US government modernization projects. Each project followed a pattern of pitfalls, scary "go-live" transitions, and unpleasant trade-offs.
Renovating legacy software is frequently a better option. The software system continues to gain functionality at the same time that its design and performance are improved.
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...Amazon Web Services
Running your Amazon EC2 instances in Auto Scaling groups allows you to improve your application's availability right out of the box. Auto Scaling replaces impaired or unhealthy instances automatically to maintain your desired number of instances (even if that number is one). You can also use Auto Scaling to automate the provisioning of new instances and software configurations as well as to track of usage and costs by app, project, or cost center. Of course, you can also use Auto Scaling to adjust capacity as needed - on demand, on a schedule, or dynamically based on demand. In this session, we show you a few of the tools you can use to enable Auto Scaling for the applications you run on Amazon EC2. We also share tips and tricks we've picked up from customers such as Netflix, Adobe, Nokia, and Amazon.com about managing capacity, balancing performance against cost, and optimizing availability.
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...Amazon Web Services
Running your Amazon EC2 instances in Auto Scaling groups allows you to improve your application's availability right out of the box. Auto Scaling replaces impaired or unhealthy instances automatically to maintain your desired number of instances (even if that number is one). You can also use Auto Scaling to automate the provisioning of new instances and software configurations as well as to track of usage and costs by app, project, or cost center. Of course, you can also use Auto Scaling to adjust capacity as needed - on demand, on a schedule, or dynamically based on demand. In this session, we show you a few of the tools you can use to enable Auto Scaling for the applications you run on Amazon EC2.
Load testing with Visual Studio and Azure - Andrew SiemerAndrew Siemer
In this presentation we will look at what web performance testing is and the various types of testing that can be performed. We will then dig into Visual Studio 2013 Ultimate to see that the Visual Studio platform is now a real contender in performance testing automation. And we will see how the Visual Studio integration with Visual Studio Online and Azure can take your web performance tests and spin up impressive load tests in a truly useful way.
How Gousto is moving to just-in-time personalization with SnowplowGiuseppe Gaviani
Presented at Snowplow London Meetup, 8 February 2017
Dejan Petelin, head of data science at Gousto, gave a presentation about their data journey, explaining how data reflects the customer’s voice and the importance of joining up all data sources. The goal is to delight and retain customers – critical for a subscription business like Gousto’s. Gousto is using Snowplow as a unified log, to scale up its data capabilities, listen to its customer and provide them with a more personalized experience. Finally, Gousto is moving to the real-time pipeline to enable just-in-time personalization.
Grails has great performance characteristics but as with all full stack frameworks, attention must be paid to optimize performance. In this talk Lari will discuss common missteps that can easily be avoided and share tips and tricks which help profile and tune Grails applications.
Mobile User Experience:Auto Drive through Performance MetricsAndreas Grabner
Believe it or not - 85% of mobile apps are removed after first usage! In this presentation - given at the APM Meetup in Singapore in April 2015 - I talked about the challenges, best practices and especially metrics to avoid this situation.
Key Points of the Presentation
The two key trends "Internet of Things" and "DevOps" play a big role in our life when we talk about User Experience and especially mobile user experience. In this presentation I tell you what metrics to use to make sure you deliver your ideas faster to your mobile end users but also ensuring the right quality and user experience so that your users stay loyal and dont delete the mobile app after first usage.
Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...Startupfest
You're building your startup and you know it will be big. You don't want to spend a lot of time on infrastructure, but you also don't want to be putting out fires after you get mentioned on Hacker News. In this session, we will give you real practical tips that you can take home with you on building an infrastructure that will scale quickly with minimal up front work on your part, using time tested techniques in infrastructure as code, SaaS, and Serverless, among other things.
Grails has great performance characteristics but as with all full stack frameworks, attention must be paid to optimize performance. In this talk Lari will discuss common missteps that can easily be avoided and share tips and tricks which help profile and tune Grails applications.
From Labelling Open data images to building a private recommender systemPierre Gutierrez
Recommender systems are paramount for e-business companies. There is an increasing need to take into account all the user information to tailor the best product proposition. One of them is the content that the user actually sees: the visual of the product.
When it comes to hostels, some people can be more attracted by pictures of the room, the building or even the nearby beach.
In this talk, we will describe how we improved an e-business vacation retailer recommender system using the content of images. We’ll explain how to leverage open dataset and pre-trained deep learning models to derive user taste information. This transfer learning approach enables companies to use state of the art machine learning methods without having deep learning expertise.
Machine Learning is often discussed in the context of data science, but little attention is given to the complexities of engineering production ready ML systems. This talk will explore some of the important challenges and provide advice on solutions to these problems.
While developing distributed apps, most teams are focused in delivery of business value. Sometimes, after production deployment, a few moments later, we realize that exceptions arise, time-outs blow. The system need more fault tolerance. Presentations overviews a few patterns and principles of fault and latency tolerance for such systems.
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal ReadinessSOASTA
‘Tis the Season – Holiday 2014 eCommerce Quality Checklist
Past Webinar
Archived (originally presented June 26th, 2014)
This year, your holiday traffic will increase 15% or more, and 50% of the users will be mobile. Recent research shows 71% of your revenue comes from multi-channel users, so if you haven’t started planning, you’re already behind. Leading retailers are preparing for Holiday “14 and testing their production sites for multi-channel access to 115% capacity, or beyond! If you’re not one of them, your plans are incomplete.
Cover your risks. Join Tenzing and SOASTA experts as they discuss the must-do checklist for peak performance.
In this webinar you’ll learn:
Align your Marketing and Quality plans
Cover the multichannel user experience
Test early in the lab and fully in production
Optimize end-to-end site speed and performance
When to freeze for the winter
Don’t miss this opportunity to “shop early” and see how the leading retailers are already beating the odds with cloud testing.
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal ReadinessSOASTA
‘Tis the Season – Holiday 2014 eCommerce Quality Checklist
Past Webinar
Archived (originally presented June 26th, 2014)
This year, your holiday traffic will increase 15% or more, and 50% of the users will be mobile. Recent research shows 71% of your revenue comes from multi-channel users, so if you haven’t started planning, you’re already behind. Leading retailers are preparing for Holiday “14 and testing their production sites for multi-channel access to 115% capacity, or beyond! If you’re not one of them, your plans are incomplete.
Cover your risks. Join Tenzing and SOASTA experts as they discuss the must-do checklist for peak performance.
In this webinar you’ll learn:
Align your Marketing and Quality plans
Cover the multichannel user experience
Test early in the lab and fully in production
Optimize end-to-end site speed and performance
When to freeze for the winter
Don’t miss this opportunity to “shop early” and see how the leading retailers are already beating the odds with cloud testing.
Similar to Benchmarking: You're Doing It Wrong (StrangeLoop 2014) (20)
Software Supply Chains for DevOps @ InfoQ Live 2021Aysylu Greenberg
Several recent high-profile security incidents were due to compromised software supply chains. Software Supply Chain is a collective term used to describe the stages of software lifecycle from source to deployment through CI/CD pipelines, and all the static and dynamic analyses in between. In the world of microservices and cloud computing, trust in your company’s supply chain is critical, as most of the tooling and dependencies are from open source and vendor projects.
When the code hits production, it’s essential to have enough observability to detect and investigate the problem and get to the root cause and mitigation as quickly as possible. With software supply chain attacks, not only is the newly deployed code under suspicion, but also all the tooling used to produce it becomes a potential attack vector, so an efficient and effective way to verify the integrity of the supply chain is paramount.
This talk will discuss what information needs to be collected to allow DevOps to inspect and verify the integrity of the supply chain, the challenges of having the right level of detail to reduce mean-time-to-detection and mean-time-to-understanding, some of the existing solutions and open problems in this space.
Kritis is an open-source solution for securing your software supply chain for Kubernetes applications. Kritis enforces deploy-time security policies that ensures only trusted container images are deployed on kubernetes to your cluster. With Kritis, you can require images to be signed by trusted authorities during the development process and then enforce signature validation when deploying. Kritis enables tighter control over your container environment by ensuring only verified images are integrated into production.
Talk outline:
- Introduction to the concept of binary authorization
- Live demo of using Kritis and Grafeas for deploying images with confidence in Kubernetes
- Grafeas and Kritis roadmap
At the end, attendees will gain solid understanding on the process of binary authorization and how to incorporate it in their build and deployment pipelines
Software Supply Chain Management with Grafeas and KritisAysylu Greenberg
Software Supply Chain is a collective term used to describe the continuous integration and delivery pipelines. In addition, it refers to the observability tools that track what happens to a piece of code from the moment it’s in the source code to when it gets deployed, and everywhere in between. Grafeas is an open-source artifact metadata API to audit and govern your software supply chain. It's built as an industry standard for storing and retrieving metadata about software resources. Kritis is an open-source solution for securing your software supply chain for Kubernetes applications. It enforces deploy-time security policies using Grafeas.
This talk will discuss the goals for each of the two open source projects, dive into the examples of how they can be used to secure your company's software supply chain, and conclude with the details of current and future development.
Software Supply Chain Observability with Grafeas and KritisAysylu Greenberg
Software Supply Chain is a collective term used to describe the continuous integration and delivery pipelines. In addition, it refers to the observability tools that track what happens to a piece of code from the moment it’s in the source code to when it gets deployed, and everywhere in between. Grafeas (https://grafeas.io/) is an open-source artifact metadata API to audit and govern your software supply chain. It's built as an industry standard for storing and retrieving metadata about software resources. Kritis (https://github.com/grafeas/kritis) is an open-source solution for securing your software supply chain for Kubernetes applications. It enforces deploy-time security policies using Grafeas.
This talk will discuss the goals for each of the two open source projects, dive into the examples of how they can be used to secure your company's software supply chain, and conclude with the details of current and future development.
Software Supply Chain Management with Grafeas and KritisAysylu Greenberg
Software Supply Chain is a collective term used to describe the continuous integration and delivery pipelines. In addition, it refers to the observability tools that track what happens to a piece of code from the moment it’s in the source code to when it gets deployed, and everywhere in between. Grafeas is an open-source artifact metadata API to audit and govern your software supply chain. It's built as an industry standard for storing and retrieving metadata about software resources. Kritis is an open-source solution for securing your software supply chain for Kubernetes applications. It enforces deploy-time security policies using Grafeas.
This talk will discuss the goals for each of the two open source projects, dive into the examples of how they can be used to secure your company's software supply chain, and conclude with the details of current and future development.
Already have a system that serves user traffic and it has become so popular that it's hitting scaling limitations? It's probably time to upgrade its architecture or move its data to a more scalable database. Learn how to do this upgrade with zero downtime and no user visible effects in my talk!
The paper describes an interesting approach to data replication which allows for finer control over the probability of data loss occurrence and the amount of data loss during such an event. In addition, we'll discuss a technique for moving randomization from runtime to initialization to achieve the same benefits. After the discussion of the paper's contributions, we'll turn to pragmatic aspects of this approach.
Distributed systems in practice, in theory (ScaleConf Colombia)Aysylu Greenberg
Modern systems in production rely on decades of computer science research. Over time, new architectural patterns emerge that enable more resilient and robust systems. In this talk, we'll discuss some of these patterns from systems I've worked on at Google and the related work that provide insights into the motivations behind them.
MesosCon Asia Keynote: Replacing a Jet Engine Mid-flightAysylu Greenberg
Once a system becomes successful, releasing fixes and improvements to its backends without affecting user productivity becomes more challenging. Over time the need arises to re-think the architecture of the system and release its implementation to better support the most popular (and potentially unanticipated) use cases and growth. In globally distributed systems, like the distributed build system at Google which serves millions of requests per day, the luxury of downtime is not an option. In this talk, we’ll look at the general patterns that allow us to replace the previous production system with a new architecture, with no downtime or user visible effects.
Distributed systems in practice, in theory (JAX London)Aysylu Greenberg
Modern systems in production rely on decades of computer science research. Over time, new architectural patterns emerge that enable more resilient and robust systems. In this talk, we’ll discuss some of these patterns from systems I’ve worked on at Google and the related work that provide insights into the motivations behind them.
Building A Distributed Build System at Google Scale (StrangeLoop 2016)Aysylu Greenberg
It's hard to imagine a modern developer workflow without a sufficiently advanced build system: Make, Gradle, Maven, Rake, and many others. In this talk, we'll discuss the evolution of build systems that leads to distributed build systems. Then, we'll dive into how we can build a scalable system that is fast and resilient, with examples from Google. We'll conclude with the discussion of general challenges of migrating systems from one architecture to another.
QCon NYC: Distributed systems in practice, in theoryAysylu Greenberg
Modern systems in production rely on decades of computer science research. Over time, new architectural patterns emerge that enable more resilient and robust systems. In this talk, we'll discuss some of these patterns from systems I've worked on at Google and the related work that provide insights into the motivations behind them.
Building a Distributed Build System at Google ScaleAysylu Greenberg
It’s hard to imagine a modern developer workflow without a sufficiently advanced build system: Make, Gradle, Maven, Rake, and many others. In this talk, we’ll discuss the evolution of build systems that leads to distributed build systems, like Google's BuildRabbit. Then, we’ll dive into how we can build a scalable system that is fast and resilient, with examples from Google. We’ll conclude with the discussion of general challenges of migrating systems from one architecture to another.
Loom is an open-source Clojure library that provides many graph algorithms and visualizations. Loom's graph API focuses on generality and simplicity of integration, which enables other graph representations to be ported to Loom. In this talk, we'll look at how Loom's API and graph implementations evolved in the past 2 years since being presented at Clojure/West 2014. We'll also discuss complexities of maintaining an open-source library.
Modern systems in production rely on decades of computer science research. Over time, new architectural patterns emerge that enable more resilient and robust systems. In this talk, we'll discuss some of these patterns from systems I've worked on at Google and the related work that provide insights into the motivations behind them.
Probabilistic Accuracy Bounds @ Papers We Love SFAysylu Greenberg
Aysylu Greenberg presents the Probabilistic Accuracy Bounds for Fault-Tolerant Computations that Discard Tasks paper (http://people.csail.mit.edu/rinard/paper/ics06.pdf )
Aysylu tells us "As our systems get more complex and expensive to operate, tradeoffs between accuracy and performance gains become more relevant. The paper demonstrates a new approach to analyzing programs where we can train statistical models to bound the error as tasks fail. This allows us to be more resilient in the face of system failures in many applications that can tolerate "good enough" results. This area of research is particularly dear to my heart as I was first exposed to it while taking a compiler engineering course at MIT which the author, Prof. Martin Rinard, taught. The probabilistic high-performance computing captured my interest because it challenges the widely accepted expectation that for-loops are deterministic."
Knowledge of how to set up good benchmarks is invaluable in understanding performance of the system. Writing correct and useful benchmarks is hard, and verification of the results is difficult and prone to errors. When done right, benchmarks guide teams to improve the performance of their systems. When done wrong, hours of effort may result in a worse performing application, upset customers or worse! In this talk, we will discuss what you need to know to write better benchmarks. We will look at examples of bad benchmarks and learn about what biases can invalidate the measurements, in the hope of correctly applying our new-found skills and avoiding such pitfalls in the future.
Loom & Functional Graphs in Clojure @ LambdaConf 2015Aysylu Greenberg
Graphs are ubiquitous data structures, and the algorithms for analyzing them are fascinating. Loom is an open-source Clojure library that provides many graph algorithms and visualizations. We will discuss how graphs are represented in a functional world, bridge the gap between procedural description of algorithms and their functional implementation, and learn about the way Loom integrates with other graph representations.
Knowledge of how to set up good benchmarks is invaluable in understanding performance of the system. Writing correct and useful benchmarks is hard, and verification of the results is difficult and prone to errors. When done right, benchmarks guide teams to improve the performance of their systems. When done wrong, hours of effort may result in a worse performing application, upset customers or worse! In this talk, we will discuss what you need to know to write better benchmarks. We will look at examples of bad benchmarks and learn about what biases can invalidate the measurements, in the hope of correctly applying our new-found skills and avoiding such pitfalls in the future.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
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.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
4. What’s
a
Benchmark
How
fast?
Your
process
vs
Goal
Your
process
vs
Best
PracLces
5. Today
• How
Not
to
Write
Benchmarks
• Benchmark
Setup
&
Results:
-
Wrong
about
the
machine
-
Wrong
about
stats
-
Wrong
about
what
maOers
• Becoming
Less
Wrong
18. Website
Serving
Images
• Access
1
image
1000
Lmes
• Latency
measured
for
each
access
• Start
measuring
immediately
• 3
runs
• Find
mean
• Dev
machine
Web
Request
Server
Cache
S3
19. Wrong
About
the
Machine
• Cache,
cache,
cache,
cache!
• Warmup
&
Timing
20. Website
Serving
Images
• Access
1
image
1000
Lmes
• Latency
measured
for
each
access
• Start
measuring
immediately
• 3
runs
• Find
mean
• Dev
machine
Web
Request
Server
Cache
S3
21. Wrong
About
the
Machine
• Cache,
cache,
cache,
cache!
• Warmup
&
Timing
• Periodic
interference
22. Website
Serving
Images
• Access
1
image
1000
Lmes
• Latency
measured
for
each
access
• Start
measuring
immediately
• 3
runs
• Find
mean
• Dev
machine
Web
Request
Server
Cache
S3
23. Wrong
About
the
Machine
• Cache,
cache,
cache,
cache!
• Warmup
&
Timing
• Periodic
interference
• Different
specs
in
test
vs
prod
machines
24. Website
Serving
Images
• Access
1
image
1000
Lmes
• Latency
measured
for
each
access
• Start
measuring
immediately
• 3
runs
• Find
mean
• Dev
machine
Web
Request
Server
Cache
S3
25. Wrong
About
the
Machine
• Cache,
cache,
cache,
cache!
• Warmup
&
Timing
• Periodic
interference
• Different
specs
in
test
vs
prod
machines
• Power
mode
changes
28. Wrong
About
Stats
120
100
80
60
40
20
0
Convergence
of
Median
on
Samples
0
10
20
30
40
50
60
Latency
Time
Stable
Samples
Stable
Median
Decaying
Samples
Decaying
Median
29. Website
Serving
Images
• Access
1
image
1000
Lmes
• Latency
measured
for
each
access
• Start
measuring
immediately
• 3
runs
• Find
mean
• Dev
machine
Web
Request
Server
Cache
S3
37. “Programmers
waste
enormous
amounts
of
Lme
thinking
about
…
the
speed
of
noncriLcal
parts
of
their
programs
...
Forget
about
small
efficiencies
…97%
of
the
Lme:
premature
opKmizaKon
is
the
root
of
all
evil.
Yet
we
should
not
pass
up
our
opportuniLes
in
that
criLcal
3%.”
-‐-‐
Donald
Knuth
38. Wrong
About
What
MaOers
• Premature
opLmizaLon
• UnrepresentaLve
Workloads
39. Wrong
About
What
MaOers
• Premature
opLmizaLon
• UnrepresentaLve
Workloads
• Memory
pressure
48. Microbenchmarking:
Blessing
&
Curse
• Choose
your
N
wisely
• Measure
side
effects
• Beware
of
clock
resoluLon
• Dead
Code
EliminaLon
49. Microbenchmarking:
Blessing
&
Curse
• Choose
your
N
wisely
• Measure
side
effects
• Beware
of
clock
resoluLon
• Dead
Code
EliminaLon
• Constant
work
per
iteraLon
51. Follow-‐up
Material
• How
NOT
to
Measure
Latency
by
Gil
Tene
– hOp://www.infoq.com/presentaLons/latency-‐piralls
• Taming
the
Long
Latency
Tail
on
highscalability.com
– hOp://highscalability.com/blog/2012/3/12/google-‐taming-‐the-‐
long-‐latency-‐tail-‐when-‐more-‐machines-‐equal.html
• Performance
Analysis
Methodology
by
Brendan
Gregg
– hOp://www.brendangregg.com/methodology.html
• Robust
Java
benchmarking
by
Brent
Boyer
– hOp://www.ibm.com/developerworks/library/j-‐benchmark1/
– hOp://www.ibm.com/developerworks/library/j-‐benchmark2/
• Benchmarking
arLcles
by
Aleksey
Shipilëv
– hOp://shipilev.net/#benchmarking