(ARC317) Maintaining a Resilient Front Door at Massive Scale | AWS re:Invent ...Amazon Web Services
The Netflix service supports more than 50 million subscribers in over 40 countries around the world. These subscribers use more than 1,000 different device types to connect to Netflix, resulting in massive amounts of traffic to the service. In our distributed environment, the gateway service that receives this customer traffic needs to be able to scale in a variety of ways while simultaneously protecting our subscribers from failures elsewhere in the architecture. This talk will detail how the Netflix front door operates, leveraging systems like Hystrix, Zuul, and Scryer to maximize the AWS infrastructure and to create a great streaming experience.
Slides of erlang factory 2011 London talk "Designing for performance with erlang"
Video of this presentation available at http://vimeo.com/26715793#at=0
CQRS (Command Query Responsibility Segregation) was all the hype in .NET architecture circles a few years back. But has it faded away? Is it old news? I argue that it hasn't, and the concepts of CQRS are alive and well and probably more widely accepted and considered today than a few years ago. From event-driven systems to the Reactive Manifesto, the principles of CQRS are with us and impacting many different tools. In this session, we'll explore those CQRS principles and how they have manifested themselves in the architectures of choice today. You'll come away with a greater appreciation of CQRS and ideas on how to incorporate those principles in your applications today.
Stop Worrying about Prodweb001 and Start Loving i-98fb9856 (ARC201) | AWS re:...Amazon Web Services
Traditionally, IT organizations have treated infrastructure components like family pets. We name them, we worry about them, and we let them wake us up at 4:00 am. Amazon CTO Werner Vogels has dubbed these behaviors as server hugging and antiquated in today's cloud infrastructures. In this breakout session, we will discuss methods and methodology to get away from server hugging and be concerned more with the overall status and life of our entire infrastructure. From making use of toss-away-able on-demand infrastructure, to monitoring services and not individual servers, to getting away from naming instances, this session helps you see your infrastructure for what it is, technology that you control.
(ARC317) Maintaining a Resilient Front Door at Massive Scale | AWS re:Invent ...Amazon Web Services
The Netflix service supports more than 50 million subscribers in over 40 countries around the world. These subscribers use more than 1,000 different device types to connect to Netflix, resulting in massive amounts of traffic to the service. In our distributed environment, the gateway service that receives this customer traffic needs to be able to scale in a variety of ways while simultaneously protecting our subscribers from failures elsewhere in the architecture. This talk will detail how the Netflix front door operates, leveraging systems like Hystrix, Zuul, and Scryer to maximize the AWS infrastructure and to create a great streaming experience.
Slides of erlang factory 2011 London talk "Designing for performance with erlang"
Video of this presentation available at http://vimeo.com/26715793#at=0
CQRS (Command Query Responsibility Segregation) was all the hype in .NET architecture circles a few years back. But has it faded away? Is it old news? I argue that it hasn't, and the concepts of CQRS are alive and well and probably more widely accepted and considered today than a few years ago. From event-driven systems to the Reactive Manifesto, the principles of CQRS are with us and impacting many different tools. In this session, we'll explore those CQRS principles and how they have manifested themselves in the architectures of choice today. You'll come away with a greater appreciation of CQRS and ideas on how to incorporate those principles in your applications today.
Stop Worrying about Prodweb001 and Start Loving i-98fb9856 (ARC201) | AWS re:...Amazon Web Services
Traditionally, IT organizations have treated infrastructure components like family pets. We name them, we worry about them, and we let them wake us up at 4:00 am. Amazon CTO Werner Vogels has dubbed these behaviors as server hugging and antiquated in today's cloud infrastructures. In this breakout session, we will discuss methods and methodology to get away from server hugging and be concerned more with the overall status and life of our entire infrastructure. From making use of toss-away-able on-demand infrastructure, to monitoring services and not individual servers, to getting away from naming instances, this session helps you see your infrastructure for what it is, technology that you control.
Erlang factory SF 2011 "Erlang and the big switch in social games"Paolo Negri
talk given at erlang factory 2011 about using erlang to build social games backends
Watch the video of this presentation http://vimeo.com/22144057#at=0
Combining R With Java For Data Analysis (Devoxx UK 2015 Session)Ryan Cuprak
Java is a general-purpose language and is not particularly well suited for performing statistical analysis. Special languages and software environments have been created by and for statisticians to use. Statisticians think about programming and data analysis much different from Java programmers. These languages and tools make it easy to perform very sophisticated analyses on large data sets easily. Tools, such as R and SAS, contain a large toolbox of statistical tools that are well tested, documented and validated. For data analysis you want to use these tools.
In this session we will provide an overview of how to leverage the power of R from Java. R is the leading open source statistical package/language/environment. The first part of the presentation will provide an overview of R focusing on the differences between R and Java at the language level. We’ll also look at some of the basic and more advanced tests to illustrate the power of R. The second half of the presentation will cover how to integrate R and Java using rJava. We’ll look at leverage R from the new Java EE Batching (JSR 352) to provide robust statistical analysis for enterprise applications.
Understanding Akka Streams, Back Pressure, and Asynchronous ArchitecturesLightbend
The term 'streams' has been getting pretty overloaded recently–it's hard to know where to best use different technologies with streams in the name. In this talk by noted hAkker Konrad Malawski, we'll disambiguate what streams are and what they aren't, taking a deeper look into Akka Streams (the implementation) and Reactive Streams (the standard).
You'll be introduced to a number of real life scenarios where applying back-pressure helps to keep your systems fast and healthy at the same time. While the focus is mainly on the Akka Streams implementation, the general principles apply to any kind of asynchronous, message-driven architectures.
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...Amazon Web Services
Some of the best businesses today are deploying their code dozens of times a day. How? By making heavy use of automation, smart tools, and repeatable patterns to get process out of the way and keep the workflow moving. Come to this session to learn how you can do this too, using services such as AWS OpsWorks, AWS CloudFormation, Amazon Simple Workflow Service, and other tools. We'll discuss a number of different deployment patterns, and what aspects you need to focus on when working toward deployment automation yourself.
ARC301 Intro to Chaos Monkey & the Simian Army - AWS re: Invent 2012Amazon Web Services
Join the product and cloud computing leaders of Netflix to discuss why and how the company moved to Amazon Web Services. From early experiments for media transcoding, to building the operational skills to optimize costs and the creation of the Simian Army, this session guides business leaders through real world examples of evaluating and adopting cloud computing.
Slides from http://www.meetup.com/Reactive-Systems-Hamburg/events/232887060
Barys and Simon talked about Akka Cluster. Cluster Sharding allows to transparently distribute work in an Akka cluster with automatic balancing, migration of workers and automatic restart in case of errors. Cluster PubSub offers the publish/subscribe pattern. Akka Distributed Data offers eventually consistent data structures across the cluster, that allow for keeping the cluster's state.
They talked about the Akka Modules and explained how they interplay. Finally, they shared what Risk.Ident have learned running a reactive application based on Akka Cluster in production for almost a year.
Akka-chan's Survival Guide for the Streaming WorldKonrad Malawski
In this talk we dive into the various kinds of "Streaming", what it actually means, where to use which technology and specifically take a look at Akka Streams and their specific use case and strengths.
(GAM406) Glu Mobile: Real-time Analytics Processing og 10 MM+ DevicesAmazon Web Services
"Glu uses Amazon Kinesis, Apache Storm, S3, and Hadoop to collect billions of data points from millions of user devices in real-time every single day. This session describes how Glu built and configured an array of producers to submit real-time gaming events into Amazon Kinesis, using temporary tokens from Amazon Cognito, removing the need for an intermediate store-forward fleet. We then discuss how we've been able to easily integrate Amazon Kinesis with powerful open-source technologies such as Apache Storm and the Hadoop ecosystem. Finally, we discuss KCL optimizations and tradeoffs to manage a scalable, flexible, mission-critical streaming data platform.
Crunch Your Data in the Cloud with Elastic Map Reduce - Amazon EMR HadoopAdrian Cockcroft
A introductory discussion of cloud computing and capacity planning implications is followed by a step by step guide to running a Hadoop job in EMR, and finally a discussion of how to write your own Hadoop queries.
Building Reactive Systems with Akka (in Java 8 or Scala)Jonas Bonér
Learn how to build Reactive Systems with Akka. Examples in both Java 8 and Scala.
Abstract:
The demands and expectations for applications have changed dramatically in recent years. Applications today are deployed on a wide range of infrastructure; from mobile devices up to thousands of nodes running in the cloud—all powered by multi-core processors. They need to be rich and collaborative, have a real-time feel with millisecond response time and should never stop running. Additionally, modern applications are a mashup of external services that need to be consumed and composed to provide the features at hand. We are seeing a new type of applications emerging to address these new challenges—these are being called Reactive Applications.
In this talk we will introduce you to Akka and discuss how it can help you deliver on the four key traits of Reactive; Responsive, Resilient, Elastic and Message-Driven. We will start with the basics of Akka and work our way towards some of its more advanced modules such as Akka Cluster and Akka Persistence—all driven through code and practical examples.
How Parse Built a Mobile Backend as a Service on AWS (MBL307) | AWS re:Invent...Amazon Web Services
Parse is a BaaS for mobile developers that is built entirely on AWS. With over 150,000 mobile apps hosted on Parse, the stability of the platform is our primary concern, but it coexists with rapid growth and a demanding release schedule. This session is a technical discussion of the current architecture and the design decisions that went in to scaling the platform rapidly and robustly over the past year and a half. We talk about some of the lessons learned managing and scaling MongoDB, Cassandra, Redis, and MySQL in the cloud. We also discuss how Parse went from launching individual instances using chef to managing clusters of hosts with Auto Scaling groups, with instance discovery and registry handled by ZooKeeper, thus enabling us to manage vastly larger sets of services with fewer human resources. This session is useful to anyone who is trying to scale up from startup to established platform without sacrificing agility.
Join the product and cloud computing leaders of Netflix to discuss why and how the company moved to Amazon Web Services. From early experiments for media transcoding, to building the operational skills to optimize costs and the creation of the Simian Army, this session guides business leaders through real world examples of evaluating and adopting cloud computing.
Getting Buzzed on Buzzwords: Using Cloud & Big Data to Pentest at ScaleBishop Fox
You’ve heard about cloud, big data, server-less infrastructure, web scale, and other buzzwords that cause VCs to throw money at people - but how does this help you? If you’re getting bored going over the same checklist in your pentests then you’re missing out on what some of these new technologies can offer you. Using some of the newer cloud technologies not only can you automate all of your workflows, but you can do so with almost zero maintenance at a low cost with almost infinite scalability! This talk will show you how to blow conventional pentesters out of the water using some cool new technologies along with a little bit of trickery.
Some of the topics we’ll go over include: * Cheap and scalable rainbow tables with BigQuery, 5TB in 10 seconds * SQS & Lambda, like Burp Intruder but 10K QPS * Scalable GPU Clusters on the cheap with Spot Instances and Elastic Beanstalk * Cloud exit nodes, rotating IPs via Elastic Beanstalk and nano instances * Cost effective fuzzing with Elastic Beanstalk and Spot Instances
(This was originally presented on November 16, 2018 at Kiwicon 2038).
After more than one year of development, Wooga is heading for the global launch of its game "Kingsbridge"!
This is the first game at Wooga with a backend written in JRuby!
The talk includes an introduction to the problems that were solved by choosing a stateful applicaton server.
I will explain constraints, benefits and obvious differences to traditional database backed application servers.
Safely sharing state in a concurrent environment using JRuby
Using Java concurrency utils in JRuby
Sample problems solved, backed up with code
Practical tips for capacity planning
This talk wants to sum up the experience of designing, deploying and maintaining an Erlang application targeting the cloud and precisely AWS as hosting infrastructure.
As the application now serves a significantly large user base with a sustained throughput of thousands of games actions per second we're able to analyse retrospectively our engineering and architectural choices and see how Erlang fits in the cloud environment also comparing it to previous experiences of clouds deployments of other platforms.
We'll discuss properties of Erlang as a language and OTP as a framework and how we used them to design a system that is a good cloud citizen. We'll also discuss topics that are still open for a solution.
At wooga the separate game teams operate their own games. That means that two developers not only develop the backend for a social game but they also the administrator's part.
This presentation gives an insight on how this is done, what tools are used and how the most important challenges were solved.
Erlang factory SF 2011 "Erlang and the big switch in social games"Paolo Negri
talk given at erlang factory 2011 about using erlang to build social games backends
Watch the video of this presentation http://vimeo.com/22144057#at=0
Combining R With Java For Data Analysis (Devoxx UK 2015 Session)Ryan Cuprak
Java is a general-purpose language and is not particularly well suited for performing statistical analysis. Special languages and software environments have been created by and for statisticians to use. Statisticians think about programming and data analysis much different from Java programmers. These languages and tools make it easy to perform very sophisticated analyses on large data sets easily. Tools, such as R and SAS, contain a large toolbox of statistical tools that are well tested, documented and validated. For data analysis you want to use these tools.
In this session we will provide an overview of how to leverage the power of R from Java. R is the leading open source statistical package/language/environment. The first part of the presentation will provide an overview of R focusing on the differences between R and Java at the language level. We’ll also look at some of the basic and more advanced tests to illustrate the power of R. The second half of the presentation will cover how to integrate R and Java using rJava. We’ll look at leverage R from the new Java EE Batching (JSR 352) to provide robust statistical analysis for enterprise applications.
Understanding Akka Streams, Back Pressure, and Asynchronous ArchitecturesLightbend
The term 'streams' has been getting pretty overloaded recently–it's hard to know where to best use different technologies with streams in the name. In this talk by noted hAkker Konrad Malawski, we'll disambiguate what streams are and what they aren't, taking a deeper look into Akka Streams (the implementation) and Reactive Streams (the standard).
You'll be introduced to a number of real life scenarios where applying back-pressure helps to keep your systems fast and healthy at the same time. While the focus is mainly on the Akka Streams implementation, the general principles apply to any kind of asynchronous, message-driven architectures.
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...Amazon Web Services
Some of the best businesses today are deploying their code dozens of times a day. How? By making heavy use of automation, smart tools, and repeatable patterns to get process out of the way and keep the workflow moving. Come to this session to learn how you can do this too, using services such as AWS OpsWorks, AWS CloudFormation, Amazon Simple Workflow Service, and other tools. We'll discuss a number of different deployment patterns, and what aspects you need to focus on when working toward deployment automation yourself.
ARC301 Intro to Chaos Monkey & the Simian Army - AWS re: Invent 2012Amazon Web Services
Join the product and cloud computing leaders of Netflix to discuss why and how the company moved to Amazon Web Services. From early experiments for media transcoding, to building the operational skills to optimize costs and the creation of the Simian Army, this session guides business leaders through real world examples of evaluating and adopting cloud computing.
Slides from http://www.meetup.com/Reactive-Systems-Hamburg/events/232887060
Barys and Simon talked about Akka Cluster. Cluster Sharding allows to transparently distribute work in an Akka cluster with automatic balancing, migration of workers and automatic restart in case of errors. Cluster PubSub offers the publish/subscribe pattern. Akka Distributed Data offers eventually consistent data structures across the cluster, that allow for keeping the cluster's state.
They talked about the Akka Modules and explained how they interplay. Finally, they shared what Risk.Ident have learned running a reactive application based on Akka Cluster in production for almost a year.
Akka-chan's Survival Guide for the Streaming WorldKonrad Malawski
In this talk we dive into the various kinds of "Streaming", what it actually means, where to use which technology and specifically take a look at Akka Streams and their specific use case and strengths.
(GAM406) Glu Mobile: Real-time Analytics Processing og 10 MM+ DevicesAmazon Web Services
"Glu uses Amazon Kinesis, Apache Storm, S3, and Hadoop to collect billions of data points from millions of user devices in real-time every single day. This session describes how Glu built and configured an array of producers to submit real-time gaming events into Amazon Kinesis, using temporary tokens from Amazon Cognito, removing the need for an intermediate store-forward fleet. We then discuss how we've been able to easily integrate Amazon Kinesis with powerful open-source technologies such as Apache Storm and the Hadoop ecosystem. Finally, we discuss KCL optimizations and tradeoffs to manage a scalable, flexible, mission-critical streaming data platform.
Crunch Your Data in the Cloud with Elastic Map Reduce - Amazon EMR HadoopAdrian Cockcroft
A introductory discussion of cloud computing and capacity planning implications is followed by a step by step guide to running a Hadoop job in EMR, and finally a discussion of how to write your own Hadoop queries.
Building Reactive Systems with Akka (in Java 8 or Scala)Jonas Bonér
Learn how to build Reactive Systems with Akka. Examples in both Java 8 and Scala.
Abstract:
The demands and expectations for applications have changed dramatically in recent years. Applications today are deployed on a wide range of infrastructure; from mobile devices up to thousands of nodes running in the cloud—all powered by multi-core processors. They need to be rich and collaborative, have a real-time feel with millisecond response time and should never stop running. Additionally, modern applications are a mashup of external services that need to be consumed and composed to provide the features at hand. We are seeing a new type of applications emerging to address these new challenges—these are being called Reactive Applications.
In this talk we will introduce you to Akka and discuss how it can help you deliver on the four key traits of Reactive; Responsive, Resilient, Elastic and Message-Driven. We will start with the basics of Akka and work our way towards some of its more advanced modules such as Akka Cluster and Akka Persistence—all driven through code and practical examples.
How Parse Built a Mobile Backend as a Service on AWS (MBL307) | AWS re:Invent...Amazon Web Services
Parse is a BaaS for mobile developers that is built entirely on AWS. With over 150,000 mobile apps hosted on Parse, the stability of the platform is our primary concern, but it coexists with rapid growth and a demanding release schedule. This session is a technical discussion of the current architecture and the design decisions that went in to scaling the platform rapidly and robustly over the past year and a half. We talk about some of the lessons learned managing and scaling MongoDB, Cassandra, Redis, and MySQL in the cloud. We also discuss how Parse went from launching individual instances using chef to managing clusters of hosts with Auto Scaling groups, with instance discovery and registry handled by ZooKeeper, thus enabling us to manage vastly larger sets of services with fewer human resources. This session is useful to anyone who is trying to scale up from startup to established platform without sacrificing agility.
Join the product and cloud computing leaders of Netflix to discuss why and how the company moved to Amazon Web Services. From early experiments for media transcoding, to building the operational skills to optimize costs and the creation of the Simian Army, this session guides business leaders through real world examples of evaluating and adopting cloud computing.
Getting Buzzed on Buzzwords: Using Cloud & Big Data to Pentest at ScaleBishop Fox
You’ve heard about cloud, big data, server-less infrastructure, web scale, and other buzzwords that cause VCs to throw money at people - but how does this help you? If you’re getting bored going over the same checklist in your pentests then you’re missing out on what some of these new technologies can offer you. Using some of the newer cloud technologies not only can you automate all of your workflows, but you can do so with almost zero maintenance at a low cost with almost infinite scalability! This talk will show you how to blow conventional pentesters out of the water using some cool new technologies along with a little bit of trickery.
Some of the topics we’ll go over include: * Cheap and scalable rainbow tables with BigQuery, 5TB in 10 seconds * SQS & Lambda, like Burp Intruder but 10K QPS * Scalable GPU Clusters on the cheap with Spot Instances and Elastic Beanstalk * Cloud exit nodes, rotating IPs via Elastic Beanstalk and nano instances * Cost effective fuzzing with Elastic Beanstalk and Spot Instances
(This was originally presented on November 16, 2018 at Kiwicon 2038).
After more than one year of development, Wooga is heading for the global launch of its game "Kingsbridge"!
This is the first game at Wooga with a backend written in JRuby!
The talk includes an introduction to the problems that were solved by choosing a stateful applicaton server.
I will explain constraints, benefits and obvious differences to traditional database backed application servers.
Safely sharing state in a concurrent environment using JRuby
Using Java concurrency utils in JRuby
Sample problems solved, backed up with code
Practical tips for capacity planning
This talk wants to sum up the experience of designing, deploying and maintaining an Erlang application targeting the cloud and precisely AWS as hosting infrastructure.
As the application now serves a significantly large user base with a sustained throughput of thousands of games actions per second we're able to analyse retrospectively our engineering and architectural choices and see how Erlang fits in the cloud environment also comparing it to previous experiences of clouds deployments of other platforms.
We'll discuss properties of Erlang as a language and OTP as a framework and how we used them to design a system that is a good cloud citizen. We'll also discuss topics that are still open for a solution.
At wooga the separate game teams operate their own games. That means that two developers not only develop the backend for a social game but they also the administrator's part.
This presentation gives an insight on how this is done, what tools are used and how the most important challenges were solved.
At wooga we build backends for games that have millions of daily users.
In the gaming business we have a write heavy environment, with a high frequency of requests, traffic bursts and distribution across many nodes. These are all problems we need to solve and keep in mind in order to write a system that stands the chance of supporting the required load.
How do you meet the challenge of writing a brand new system with performance in mind? Where should the line between necessary efficiency and premature optimization be drawn? How do you measure performances? How do we generate synthetic load that reflects real usage patterns? How do you know you have enough capacity? How do you combine all the above with safely introducing changes and new features working in a two people team?
We had to answer to all the above questions and we want to share the solutions we found and the problems that we consider still open.
Learn how we use NoSQL and SQL databases to build games at Wooga. From prototypes to production systems that deal with the data of millions of players, this talk covers hands on use cases and learnings.
Games for the Masses: Scaling Rails to the ExtremeWooga
This presentation explains and compares the work of two engineering teams that build Facebook game backends at wooga: Cloud vs. dedicated servers, SQL vs. NoSQL and in-memory database vs. a database hierarchy. He will highlight their respective advantages and disadvantages and discuss some common patterns both teams came up with to solve their problems.
Did you ever work on a feature where you had multiple options on how to display it to the user but you did not know which one would work best? Why speculate about what would work best if you can actually measure it?
Welcome to the world of a/b testing: Implement multiple variations of the same thing, and let different users experience different variations. Measure which variant works best and continue with that one.
At Wooga we extensively use a/b testing to polish features to perfection. This helped us becoming one of the biggest providers of social games on Facebook with about 40 million players every month.
We would like to show you what a/b testing is good for, how you do it and what pitfalls you need to avoid.
Wooga is one the leading publishers of social games for web and mobile. Throughout the last three years the numbers of employees have doubled each year. But the company culture, the very essence of what Wooga is all about, remained untouched: It's still all about game teams, that each act as a small and agile startup with Wooga acting as a container (or incubator) for them.
A story of a Ruby programmer having to understand that learning Erlang is more than just syntax. Learn differences in paradigms, pitfalls and applied use cases for this incredibly powerful language
You are not alone - Scaling multiplayer gamesWooga
At Wooga we are creating the next generation of social games. To be truly social, a game needs to offer real interaction between players in different forms.
Taking one of our upcoming games as an example we will present the state synchronization used in client and server, how we do real time communication without websockets and how we are making a backend scalable enough to support millions of users every day. We will also share secrets about our prototypes for first person and real time strategy games.
The Erlang process model with evented IO, asynchronous messaging, links and isolation fits very well to real time multiplayer games. Come to our talk to see how it's used to build a very successful business.
The talk is about a stateful application server built on top of JRuby/JVM. We at Wooga have built and evaluated such an application server, and now I want to share the learnings and obstacles that came up during development.
Scaling up: We aim to fully utilize our available hardware. One box has 32 Cores and more than 32GB RAM available. How to saturate such beasts? Well, since JRuby supports real Threads we can share state (uh oh!) and saturate cores.
Scaling out: What are the options for scaling a stateful application server? How to shard state across many servers safely?
I aim for a talk that gives useful tips and shows code. Basically a ratio between 30% background information, 70% showcasing.
The talk will cover the following topics:
Safely sharing state in a concurrent environment using JRuby
Using Java concurrency utils in JRuby
Practical tips for tuning JRuby/JVM for maximum throughput
Practical tips for evaluating performance tunings
Bonus: Timetraveling
Painful success - lessons learned while scaling upWooga
Full of hope we started developing our biggest games so far in 2009. In 2010 we released it and gradually scaled up to 1 million users a day. But we were forced to rewrite our whole persistence layer and migrate most of our data from MySQL to Redis to make it work. In 2011 we even got 2 million daily users, but we also had to operate 200 servers which was painful - especially when the whole data center went down. So in 2012 we wanted to make everything better and started large refactoring projects - and made everything worse.
But in 2013 everything will run smoothly and painless - promised! At least we hope so.
Continuous Integration for iOS (iOS User Group Berlin)Wooga
In this talk at the iOS User Group Berlin, Mattes Groeger shows how Continuous Integration for iOS is realized at Wooga. It covers topics ranging from setup over configuration, testing to distribution.
You can follow him on Twitter: https://twitter.com/MattesGroeger
This talk explains how we use NoSQL databases at wooga to scale our backend services to deal with the data of millions of players every day. Learn from our experience running Basho's Riak in production and how to use Amazon S3 as a database.
Go beyond server and application stack monitoring, collect application specific metrics and push the information to interested parties. With the help of syslog, EventMachine and a few lines of Ruby code, you can build a language agnostic system to gather and process custom tailored reporting data.
Ein Backend für ein weltweit erfolgreiches Social Game zu entwickeln ist nicht einfach, aber die eigentliche Herausforderung ist der Betrieb der Systeme! Bei Wooga sind dieselben zwei bis drei Entwickler für beides verantwortlich. Über die letzten zwei Jahren hat sich ein halbes Dutzend Teams dieser Herausforderung gestellt. Dabei konnten sie auf die Erfahrungen der vorhergehenden Teams zurückgreifen und hatten die Freiheit, eigene Lösungsansätze zu verfolgen. Der Vortrag wird die entstandene Evolution der Backends nachvollziehen: Anfangs LAMP, dann Ruby statt PHP, dann NoSQL statt MySQL und am Ende ohne Datenbank auf Basis von Erlang OTP. Die Darstellung dieser Reise wird anschaulich zeigen, welche Vorteile es haben kann, Entwicklern auch einmal freie Hand zu lassen.
In the world of social gaming, the classic 2-tier of web application does not cut it anymore. We need new and better solutions.
Follow along the evolution of game servers at Wooga and get an in-depth look into the next-generation backend putting the combined forces of Erlang and Ruby to work. Learn how scalability, reliability, concurrency control and beautiful code do not need to be mutually exclusive.
At Scale With Style (Erlang User Conference 2012)Wooga
In the world of social gaming, the classic 2-tier of web application does not cut it anymore. We need new and better solutions.
Follow along the evolution of game servers at Wooga and get an in-depth look into the next-generation backend putting the combined forces of Erlang and Ruby to work. Learn how scalability, reliability, concurrency control and beautiful code do not need to be mutually exclusive.
Innovation dank DevOps (DevOpsCon Berlin 2015)Wooga
“You build it, you run it!” - Wenn Du als Entwickler weisst, dass Du Deine Software selbst betreiben musst, was bist bereit zu tun, um den späteren Betrieb zu vereinfach?
Bei Wooga haben Dutzende von Teams ihre eigene Antwort auf die Frage gesucht und dabei von den Erfahrungen der anderen Teams gelernt. Herausgekommen ist ein großes Experimentierfeld beim Betrieb von Web Services - und eine technologische Innovation, die uns innerhalb weniger Iterationen von einem simplen LAMP-Stack zu lastabhängig skalierenden stateful Servern auf Basis von Erlang oder Akka gebracht hat.
DockerCon US 2016 - Docker Practice in Alibaba CloudLi Yi
China is the biggest emerging market for Cloud computing, with strong momentum in both business and technology. As the leading cloud provider in China, Alibaba Cloud commits to open container technologies.
In this session, we will share use cases from Docker practices in Alibaba Cloud. It will cover topics including: deploying cloud native applications combined with Container and Cloud Service with one-click through Container Service; delivering and maintain dedicated cloud efficiently with Docker; a scalable, distributed architecture for global distribution of Docker image. Join us to hear how to align customer's business needs with cutting edge container technologies.
I built a JVM once, and it was the best JVM in the world.
Talk given at JokerConf in Saint Petersburg 2014 at JUG.RU. This is an almost 2 hour long deep dive into the hows and whys of the JRockit Java Virtual Machine, the politics, the hacking, the ground breaking optimization, the deterministic garbage collection.
How to get the best of both worlds : Big Data and Data Science?
Run Deep Learning on Spark easily with BigDL library!
Slides of my short conference, introduction to BigDL, for Christmas JUG event in Montpellier
Similar to Architecture Evolution at Wooga (AWS Cloud Computing for Developers,) (20)
Story of Warlords: Bringing a turn-based strategy game to mobile Wooga
About three years ago we set out on a mission: We wanted to bring a round-based strategy game, a genre that most gamers so far mainly enjoyed on PCs, to mobile. Today that mission is nearly completed with Warlords having been soft launched in various countries and showing very promising data. This may all sound easy enough, but the truth is that it was a hell of a ride for the team and there were times when we weren´t even sure if the project would continue. Along the way, we´ve learned many valuable things which we believe in the end made the difference and led to the numbers we now see. Wilhelm, Head of Studio and Product Lead for Warlords, will share these learnings in his talk answering the following questions: What set screws did we touch to make the session structure, pacing and content consumption work on mobile? Why different meta game systems are crucial? And finally how sticking to your game vision from start to end can make you survive such a ride.
In it for the long haul - How Wooga boosts long-term retentionWooga
GDC San Francisco 2015 Presentation by Sebastian Nussbaum and Adam Telfer
Today's mobile games market is tough. With thousands of new titles being available to download every week and CPIs rising high, new game concepts need to stand out. But even more importantly, they need to stay relevant for a long time. Long-term retention is the key for having a realistic shot at the top-grossing ranks of the app stores. In the first part of this talk, attendees will learn how mobile game developer Wooga evaluates new IP to ensure a long-lasting gameplay experience. The second half will show one example of how storytelling and episodic content can drive long-term retention. Sebastian will share insights and learnings from Wooga's projects in episodic content production and how to best set up your team for the ride.
Entitas System Architecture with Unity - Maxim Zaks and Simon Schmid Wooga
UNITE Europe 2015 + Unity User Group Presentation
Unity incorporates the component based architecture in a seamless manner. But for some games, a more data driven approach (entity system architecture) fits better. In this talk, Maxim Zaks & Simon Schmid (Wooga) show why entity system architecture fits and how you can use Entitas-CSharp in your own Unity project.
Saying No to the CEO: A Deep Look at Independent Teams - Adam TelferWooga
GDC Europe 2015
Truly independent teams within a game studio are an interesting idea. Wooga, Supercell and others have promoted having this type of structure. Each team having full ownership over decisions in their game. Teams saying no to the rest of the company when they believe in a product. This all sounds great on paper, but what happens in practice? Adam Telfer goes into details of the ups and downs of working in an independent culture. How Wooga has adapted its processes through the years. A culture where you have full control, but also full responsibility.
Big Fish, small pond - strategies for surviving in a maturing market - Ed BidenWooga
Quo Vadis Conference Berlin 2015
Mobile games have never been more competitive. Production values and marketing costs are ever increasing and the top grossing charts look strangely similar to the year before. So how can developers maximize their chances of success in such a tough market? Is it better to clone a hit or innovative wildly? Should they focus on one genre, or dabble in many? Ed draws on extensive market analysis and experience developing games to explain why selective innovation is the key to success.
Tom LeClerc's talk at App Promotion Summit Berlin 2014:
REVIEW MINING:
THE APP STORE OPTIMIZER’S SECRET WEAPON
An Overview Of The Value Of Review Mining
What Review Mining Tools You Have At Your Disposal
Using Reviews To Generate Keywords And Understand Your Users
We've learned a lot through doing DevOps: Every commit is automatically integrated, tested, and deployed to a staging environment. And then it only takes one push of a button and the release goes live...
Unfortunately, it's not as simple anymore when operating mobile applications: How can you quickly update your mobile software when the app store provider wants to test your software first for a few days? How can you update your configuration when your app can run offline? And how do you track down errors when the data is distributed to millions of mobile clients? Those were just some of the challenges we encountered during the operation of mobile games with millions of daily users. In this talk we will talk about the solutions we have found to address them.
DevOps goes Mobile - Jax 2014 - Jesper Richter-ReichhelmWooga
DevOps hat uns viel gelehrt: Jedes Commit wird automatisch integriert, getestet und in eine Stagingumgebung installiert. Und einen Knopfdruck später geht das Release dann live.
Aber leider funktioniert das und vieles mehr, was uns in Zeiten von DevOps als Normal erscheint, nicht bei mobilen Applikationen.
Wie kann ich also schnell meine mobile Software anpassen, wenn der Betreiber des App Stores erst tagelang testen will? Wie kann ich Konfiguration anpassen, wenn die App auch offline laufen soll? Und wie funktioniert Fehlersuche, wenn die Daten auf Millionen von mobilen Clients verteilt sind?
Beim Betrieb von mobilen Spielen mit Millionen täglicher Nutzer standen wir genau diesen Fragen gegenüber. Der Vortrag wird darlegen, welche Antworten wir darauf gefunden haben.
Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014Wooga
The match 3 puzzle genre is almost as old as it gets. Scour the App Store and you'll find hundreds of different varieties out there. Very few of these succeed however, and even less manage to hit the number one spot on the U.S. Apple App Store top download chart. Wooga's Jelly Splash managed to do just that, and in this session Florian Steinhoff, the creator of Jelly Splash, will give a detailed account on how his team managed that and what he learned throughout the development process.
Two Ann(e)s and one Julia_Wooga Lady Power from Berlin_SGA2014Wooga
Three people, three talks: First, Anne explains how Wooga makes it in the hit driven mobile F2P world and frequently creates hit games. Then, Ann and Julia share their insights into the company from an intern’s perspective. Julia is currently working with a team in the prototyping phase using C#. Ann develops Objective-C for one of Wooga's live games. Both of them are students of Chalmers University of Technology, Gothenburg. Anne is in charge of University Relations at Wooga.
Tags: Equality, production, programming, career.
How to stand out in a hit driven business - Game Connection Paris 2013 - SebK...Wooga
The mobile gaming market is huge with roughly 4,000 new iOS games per month and more than 5bn USD revenue per year. But that market also has a huge number of players who want a piece of the pie making the mobile gaming industry a very hit driven business. In his talk, Sebastian Kriese Corporate Partnerships Manager at Wooga, will give some insights about what the Berlin based social and mobile game developer considers a hit game and how they manage to create at least 2 of these hits per year.
Nur zwei Entwickler, die alleine Entwurf, Entwicklung und Betrieb eines Backends für ein Social Games mit Millionen von täglichen Nutzern stemmen. Sie greifen dabei zwar zwar auf die Erfahrungen der vorhergehenden Teams zurück, haben aber alle Freiheiten, ‘ihr’ Backend so zu bauen, wie sie es wollen. Funktioniert das? Auch in der Realität?
Ja, es funktioniert. Auch mit mittlerweile 20 Teams in einem Unternehmen von 250 Mitarbeitern. Warum das so ist, und warum es gleichzeitig enorm hilfreich für Innovation, Motivation und Eigeninitiative ist, darum geht es in diesem Vortrag.
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.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
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/
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.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
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.
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.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
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.
22. Big and staFc data in MySQL, rest goes to Redis
MySQL
23. Big and staFc data in MySQL, rest goes to Redis
MySQL Redis
24. Big and staFc data in MySQL, rest goes to Redis
MySQL Redis
256 GB data
10% writes
25. Big and staFc data in MySQL, rest goes to Redis
MySQL Redis
256 GB data 60 GB data
10% writes 50% writes
26. Redis saved the day
&$!!!$!!!"
%$#!!$!!!"
%$!!!$!!!"
#!!$!!!"
!"
'()*%!" +,-*%!" ./0*%!" +12*%%" '()*%%" +,-*%%" ./0*%%"
27. Redis saved the day
&$!!!$!!!"
%$#!!$!!!"
%$!!!$!!!"
#!!$!!!"
!"
'()*%!" +,-*%!" ./0*%!" +12*%%" '()*%%" +,-*%%" ./0*%%"
28. We now have more than 2 million users / day
&$!!!$!!!"
%$#!!$!!!"
%$!!!$!!!"
#!!$!!!"
!"
'()*%!" +,-*%!" ./0*%!" +12*%%" '()*%%" +,-*%%" ./0*%%"
29. We now have more than 2 million users / day
&$!!!$!!!"
%$#!!$!!!"
%$!!!$!!!"
AWS service
#!!$!!!" disrupFon
in Ireland
!"
'()*%!" +,-*%!" ./0*%!" +12*%%" '()*%%" +,-*%%" ./0*%%"
53. Stateful servers are not as hard as you think
Server
session
session
session
session
54. Stateful servers are not as hard as you think
Server
session
session
session
session
S3
55. Stateful servers are not as hard as you think
Server
session
session
session
session
S3
56. Stateful servers are not as hard as you think
Server
session
session
session
session
S3
57. Stateful servers are not as hard as you think
Server
session
session
session
session
S3
58. Stateful servers are not as hard as you think
Server
session
session
session
session
S3
59. Stateful servers are not as hard as you think
Server
session
session
session
session
S3
60. Stateful servers are not as hard as you think
Server Server Server
session
session session
session session
session
session
session session
session session
session
S3
61. With stateful server the DB is less used
Ruby Stateless Erlang Stateful
30,000
22,500
15,000
7,500
0
database operations / sec
62. With stateful server the DB is less used
Ruby Stateless Erlang Stateful
30,000
22,500
15,000
700
7,500
0
database operations / sec
63. Deploying with a stateful server
In order to bring up a new version
64. Deploying with a stateful server
In order to bring up a new version
Just deploy it
Hot code replacement is great!
65. There are even more advantages
Faster than Ruby (5,000 rps / node)
-‐ CPU bound
66. There are even more advantages
Faster than Ruby (5,000 rps / node)
-‐ CPU bound
Very few SPOFs
-‐ ... and those are easy to recover
67. There are even more advantages
Faster than Ruby (5,000 rps / node)
-‐ CPU bound
Very few SPOFs
-‐ ... and those are easy to recover
TransacFonal logic
-‐ Invariants instead of explicit error handling
71. A good value system
We’ve learned to value
Small teams over Big teams
72. A good value system
We’ve learned to value
Small teams over Big teams
CollaboraFon over Compe??on
73. A good value system
We’ve learned to value
Small teams over Big teams
CollaboraFon over Compe??on
Generalists over Specialists
74. A good value system
We’ve learned to value
Small teams over Big teams
CollaboraFon over Compe??on
Generalists over Specialists
Effort reducFon over Cost reduc?on
75. A good value system
We’ve learned to value
Small teams over Big teams
CollaboraFon over Compe??on
Generalists over Specialists
Effort reducFon over Cost reduc?on
InnovaFon over Risk mi?ga?on