Devnexus 2017
As we architect our systems for greater demands, scale, uptime, and performance, the hardest thing to control becomes the environment in which we deploy and the subtle but crucial interactions between complicated systems. And microservices obviously are the way to go forward with those complicated systems. But what makes it so hard to build them? And why should you embrace failure instead of doing what we can do best: Preventing failure. This talk introduces you to the problem domain of a distributed system which consists of a couple of microservices. It shows how to build, deploy and orchestrate the chaos and introduces you to a couple of patterns to prevent and compensate failure.
Stay productive while slicing up the monolith Markus Eisele
DevNexus 2017
Microservices-based architectures are en-vogue. The last couple of
years we have learned how the thought-leaders implement them, and
every other week we have heard about how containers and
Platform-as-a-Service offerings make them ultimately happen.
The problem is that the developers are almost forgotten and left alone
with provisioning and continuous delivery systems, containers and
resource schedulers, and frameworks and patterns to help slice
existing monoliths. How can we get back in control and efficiently
develop them without having to provision complete production-like
environments locally, by hand?
All the new buzzwords, frameworks, and hyped tools have made us forget
ourselves—Java developers–and what it means to be productive and have
fun building systems. The problem that we set out to solve is: how can
we run real-world Microservices-based systems on our local development
machines, managing provisioning, and orchestration of potentially
hundreds of services directly from a single command line tool, without
sacrificing productivity enablers like hot code reloading and instant
turnaround time?
During this talk, you’ll experience first-hand how much fun it can be
to develop large-scale Microservices-based systems. You will learn a
lot about what it takes to fail fast and recover and truly understand
the power of a fully integrated Microservices development environment.
ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUGMarkus Eisele
Slides for my vJUG session:
http://www.meetup.com/virtualJUG/events/221218531/
In the past I've been building component oriented applications with what I had at hand. Mostly driven by the features available in the Java EE standard to be "portable" and easy to use. Looking back this has been a perfect fit for many customers and applications. With an increasing demand for highly integrated applications which use already available services and processes from all over the place (departmental, central or even cloud services) this approach starts to feel more and more outdated. And this feel does not come from a technology perspective but from all the requirements around it. Having this in mind this post is the starting point of a series of how-to's and short tutorials which aim to showcase some more diverse ways of building (Java EE) applications that fit better into today's requirements and landscapes.
Taking the friction out of microservice frameworks with LagomMarkus Eisele
Lagom is a new framework for Java designed with microservices in mind. It aims to simplify the process of building microservice-based systems that communicate asynchronously, self-heal, scale elastically and remain responsive under load and under failure.
Many of the challenges of microservices are caused by the fact we use tools designed without them in mind. So, how can a framework made to build systems composed of microservices from the start offer us a better solution? Because Lagom is a tool that is highly opinionated and explicitly designed to make development and production with microservices easy, it brings back all the fun and productivity into programming while still enabling you to build a reactive, distributed, highly scalable and rock solid application.
By the end of this presentation, you'll have experienced first hand how creating systems of microservices on the JVM using Lagom is dead-simple, intuitive, frictionless and a lot of fun! And we’ll ask whether reactive microservices are potentially so much better than, for example, Java EE?
DevoxxUK https://cfp.devoxx.co.uk/2016/talk/UZA-8885/Taking_the_friction_out_of_microservice_frameworks_with_Lagom
How would ESBs look like, if they were done today.Markus Eisele
Looking past former hype topics such as enterprise application integration, ESBs, and SOA, the fact is that the need for reliable integration solutions that are manageable and scalable is growing. More devices and datasources, combined with new and upcoming use cases and exciting wearables in a cloudified and heterogeneous infrastructure, require more bits and pieces than just a central ESB with some rules and point-to-point connections. What would that look like? And how can we keep the resultant solutions manageable? Attend this session to find out.
Stay productive while slicing up the monolith Markus Eisele
DevNexus 2017
Microservices-based architectures are en-vogue. The last couple of
years we have learned how the thought-leaders implement them, and
every other week we have heard about how containers and
Platform-as-a-Service offerings make them ultimately happen.
The problem is that the developers are almost forgotten and left alone
with provisioning and continuous delivery systems, containers and
resource schedulers, and frameworks and patterns to help slice
existing monoliths. How can we get back in control and efficiently
develop them without having to provision complete production-like
environments locally, by hand?
All the new buzzwords, frameworks, and hyped tools have made us forget
ourselves—Java developers–and what it means to be productive and have
fun building systems. The problem that we set out to solve is: how can
we run real-world Microservices-based systems on our local development
machines, managing provisioning, and orchestration of potentially
hundreds of services directly from a single command line tool, without
sacrificing productivity enablers like hot code reloading and instant
turnaround time?
During this talk, you’ll experience first-hand how much fun it can be
to develop large-scale Microservices-based systems. You will learn a
lot about what it takes to fail fast and recover and truly understand
the power of a fully integrated Microservices development environment.
ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUGMarkus Eisele
Slides for my vJUG session:
http://www.meetup.com/virtualJUG/events/221218531/
In the past I've been building component oriented applications with what I had at hand. Mostly driven by the features available in the Java EE standard to be "portable" and easy to use. Looking back this has been a perfect fit for many customers and applications. With an increasing demand for highly integrated applications which use already available services and processes from all over the place (departmental, central or even cloud services) this approach starts to feel more and more outdated. And this feel does not come from a technology perspective but from all the requirements around it. Having this in mind this post is the starting point of a series of how-to's and short tutorials which aim to showcase some more diverse ways of building (Java EE) applications that fit better into today's requirements and landscapes.
Taking the friction out of microservice frameworks with LagomMarkus Eisele
Lagom is a new framework for Java designed with microservices in mind. It aims to simplify the process of building microservice-based systems that communicate asynchronously, self-heal, scale elastically and remain responsive under load and under failure.
Many of the challenges of microservices are caused by the fact we use tools designed without them in mind. So, how can a framework made to build systems composed of microservices from the start offer us a better solution? Because Lagom is a tool that is highly opinionated and explicitly designed to make development and production with microservices easy, it brings back all the fun and productivity into programming while still enabling you to build a reactive, distributed, highly scalable and rock solid application.
By the end of this presentation, you'll have experienced first hand how creating systems of microservices on the JVM using Lagom is dead-simple, intuitive, frictionless and a lot of fun! And we’ll ask whether reactive microservices are potentially so much better than, for example, Java EE?
DevoxxUK https://cfp.devoxx.co.uk/2016/talk/UZA-8885/Taking_the_friction_out_of_microservice_frameworks_with_Lagom
How would ESBs look like, if they were done today.Markus Eisele
Looking past former hype topics such as enterprise application integration, ESBs, and SOA, the fact is that the need for reliable integration solutions that are manageable and scalable is growing. More devices and datasources, combined with new and upcoming use cases and exciting wearables in a cloudified and heterogeneous infrastructure, require more bits and pieces than just a central ESB with some rules and point-to-point connections. What would that look like? And how can we keep the resultant solutions manageable? Attend this session to find out.
OWASP Security Logging API easily extends your current log4j and logback logging with impressive features helpful for security, diagnostics/forensics, and compliance. Slide deck presentation from OWASP AppSecEU 2016 in Rome.
Check out the talk to the slides:
http://bit.ly/1ReY8uJ
Talk Abstract:
Using Swarm, you can select “just enough app server” to support each of your microservices.
In this session, we’ll outline how WildFly Swarm works and get you started writing your first microservices using Java EE technologies you’re already familiar with.
You’ll learn how to setup your build system (Maven, Gradle, or your IDE of choice) to run and test WildFly Swarm-based services and produce runnable jars. We will walk from the simple case of wrapping a normal WAR application to the more advanced case of configuring the container using your own main(…) method.
The 6 Rules for Modernizing Your Legacy Java Monolith with MicroservicesLightbend
We change a monolithic system only when we have no other choice. Traditional enterprise systems are tightly-coupled; all-in-one, all-or-nothing, difficult to scale, difficult to understand and difficult to maintain.
Rather than swiftly capture opportunity, we ponder if it’s really worth it—is it worth upsetting the delicate balance of the house of cards we call our enterprise system? Often the opportunity quickly disappears, captured by a faster company. Some people have started calling this “Getting Ubered”.
So what can you do about it? Talking about Microservices is one thing, but how can your organization start taking action to address this issue?
In this webinar by battle-hardened Enterprise Advocate, Kevin Webber, we walk through the 6 key concepts to understand as a guide for taking action:
1. Domain Driven Design (DDD)
2. Asynchronous messaging
3. API management
4. Dependency management
5. CQRS & event sourcing
6. Transactions & ordering
Reactive Platform has what you need to breath new life into your legacy system with a new Microservices-based approach.
In this session we’ll highlight Microsoft’s open source offerings for Azure, and talk about how Java developers could benefit from using Azure services in their applications. The focus will be on real-world examples using Microsoft’s open source SDKs on GitHub and tools available for non-Microsoft developers, with a drill-down into our Java offerings and how they can enhance Java applications. We also want to gather feedback from attendees on some exciting new offerings designed to make it easier to deliver Java in the cloud.
===========================================================================
Brian Benz is a Senior Program Manager, focusing on Java at Microsoft. These days Brian spends his time helping Java developers and customers recognize the value and benefits of working on the Cloud with Microsoft Azure. Brian is a former Philly area resident and used to attend Philly JUG many years ago.
Expect the unexpected: Anticipate and prepare for failures in microservices b...Bhakti Mehta
This session covers best practices for building resilient, stable RESTful services that can survive failures in distributed environments, such as transient impulses, random load, stress, or failures from some dependent components. It focuses on various techniques such as circuit breakers, bulkheads, and fail fast to ensure that services stay up and keep running despite failures.
Lightbend Training for Scala, Akka, Play Framework and Apache SparkLightbend
Having a team adopt new technologies and approaches to software development is a daunting task. New paradigms and unfamiliar ontologies headline the biggest risks to having a team be productive quickly. Lightbend (formerly Typesafe) has a suite of training classes to help you adopt whatever components of the Lightbend Reactive Platform you need to be responsive to you customers by creating resilient and elastic applications.
In this webinar, we will discuss the philosophies and structures of Lightbend's training materials for Scala, Akka, Play Framework, and Spark.
From Monolithic to Microservices in 45 MinutesMongoDB
Presented by Norberto Leite, Developer Advocate, MongoDB
In this session you will learn how to leverage both Python and MongoDB to build highly scalable, asynchronous applications based on microservices architecture. We will review how to connect several different “exotic” services, using a variety of datasets, that together we can mashup into a consolidated application.
We will start by introducing several technologies that we will be using (e.g. Python, Flask, MongoDB, AngularJS) and take a ten-thousand foot overview of micro services architecture. At the end of the talk you will have a better understanding of how to decouple and implement microservices with MongoDB.
Containers brought new approach for implementation of DevOps workflows. So our CEO, Ruslan Synytsky, devoted a speech to this topic during Madrid meetup and described in details how Java developers can get benefits from Docker containers in Jelastic Cloud.
Webinar slides: Introduction to Database Proxies (for MySQL)Continuent
Watch this on-demand webinar on database proxies (for MySQL) by Gilles Rayrat, VP of Engineering at Continuent. Gilles is one of the most knowledgeable experts in the MySQL community when it comes to database proxies and shares some of his knowledge in this initial webinar on that topic. From a simple database connectivity scenario all the way through to advanced database connectivity setups and proxy functionalities, this webinar provides an in-depth introduction to database proxies (for MySQL).
AGENDA
- A simple database connectivity scenario
- The concept of a clustered database
- Failure in a clustered database: the nightmare scenario
- The solution: use a proxy! Preferably a smart one …
- Advanced database connectivity setups
- Advanced proxy functionalities
- Recap
SPEAKER
Gilles Rayrat, VP of Engineering, Continuent, has over 20 years experience in software engineering. Previously holding positions at Orange and Xerox, he joined the Continuent adventure in 2005. As the connectivity expert at Continuent, he has worn many hats including software development, QA, support, project and operations management. Gilles has held most of the engineering positions that he now manages, giving him both deep and wide experience.
WSO2Con USA 2017: Scalable Real-time Complex Event Processing at UberWSO2
The Marketplace data team at Uber has built a scalable complex event processing platform to solve many challenging real-time data needs for various Uber products. This platform has been in production for more than a year and supports over 100 real-time data use cases with a team of 3. In this talk, we will share the detail of the design and our experience, and how we employ Siddhi, Kafka and Samza at scale.
CQRS and Event Sourcing for Java DevelopersMarkus Eisele
As presented at CJUG. Recording will be up here: http://www.meetup.com/ChicagoJUG/events/231837105/
As soon as an application becomes even moderately complex, CQRS and an Event Sourced architecture start making a lot of sense. The talk is focused on: - the challenges and tactics of separating the write model from the query model in a complex domain - how commands naturally lead to events and to an event based system, and - how events get projected into useful, eventually consistent views. Event Sourcing is one of those things that you really need to push through at the beginning (much like TDD) and that - once understood and internalized, will change the way you architect a system. This talk introduces you to the basic concepts and problem spaces to solve.
Nine Neins - where Java EE will never take youMarkus Eisele
Virtual JUG Session: http://www.meetup.com/virtualJUG/events/232052100/
With Microservices taking the software industry by storm, classical Enterprises are forced to re-think what they’ve been doing for almost a decade. It’s not the first time, that technology shocked the well-oiled machine to it’s core. We’ve seen software design paradigms changing over time and also project management methodologies evolving. Old hands might see this as another wave that will gently find it’s way to the shore of daily business. But this time it looks like the influence is bigger than anything we’ve seen before. And the interesting part is, that microservices aren’t new from the core. Talking about compartmentalization and introducing modules belongs to the core skills of architects. Our industry also learned about how to couple services and build them around organizational capabilities.
The really new part in microservices based architectures is the way how truly independent services are distributed and connected back together. Building an individual service is easy with all technologies. Building a system out of many is the real challenge because it introduces us to the problem space of distributed systems. And the difference to classical, centralized infrastructures couldn’t be bigger. There are very little concepts from the old world which still fit into a modern architecture.
And there are more differences between Java EE and distributed and reactive systems. For example, APIs are inherently synchronous, so most Java EE app servers have to scale by adding thread pools as so many things are blocking on I/O (remote JDBC calls, JTA calls, JNDI look ups, even JMS has a lot of synchronous parts). As we know adding thread pools doesn't get you too far in terms of scalability.
This talk is going to explore the nine most important differences between classical middleware and distributed, reactive microservices architectures and explains in which cases the distributed approach takes you, where Java EE never would.
OWASP Security Logging API easily extends your current log4j and logback logging with impressive features helpful for security, diagnostics/forensics, and compliance. Slide deck presentation from OWASP AppSecEU 2016 in Rome.
Check out the talk to the slides:
http://bit.ly/1ReY8uJ
Talk Abstract:
Using Swarm, you can select “just enough app server” to support each of your microservices.
In this session, we’ll outline how WildFly Swarm works and get you started writing your first microservices using Java EE technologies you’re already familiar with.
You’ll learn how to setup your build system (Maven, Gradle, or your IDE of choice) to run and test WildFly Swarm-based services and produce runnable jars. We will walk from the simple case of wrapping a normal WAR application to the more advanced case of configuring the container using your own main(…) method.
The 6 Rules for Modernizing Your Legacy Java Monolith with MicroservicesLightbend
We change a monolithic system only when we have no other choice. Traditional enterprise systems are tightly-coupled; all-in-one, all-or-nothing, difficult to scale, difficult to understand and difficult to maintain.
Rather than swiftly capture opportunity, we ponder if it’s really worth it—is it worth upsetting the delicate balance of the house of cards we call our enterprise system? Often the opportunity quickly disappears, captured by a faster company. Some people have started calling this “Getting Ubered”.
So what can you do about it? Talking about Microservices is one thing, but how can your organization start taking action to address this issue?
In this webinar by battle-hardened Enterprise Advocate, Kevin Webber, we walk through the 6 key concepts to understand as a guide for taking action:
1. Domain Driven Design (DDD)
2. Asynchronous messaging
3. API management
4. Dependency management
5. CQRS & event sourcing
6. Transactions & ordering
Reactive Platform has what you need to breath new life into your legacy system with a new Microservices-based approach.
In this session we’ll highlight Microsoft’s open source offerings for Azure, and talk about how Java developers could benefit from using Azure services in their applications. The focus will be on real-world examples using Microsoft’s open source SDKs on GitHub and tools available for non-Microsoft developers, with a drill-down into our Java offerings and how they can enhance Java applications. We also want to gather feedback from attendees on some exciting new offerings designed to make it easier to deliver Java in the cloud.
===========================================================================
Brian Benz is a Senior Program Manager, focusing on Java at Microsoft. These days Brian spends his time helping Java developers and customers recognize the value and benefits of working on the Cloud with Microsoft Azure. Brian is a former Philly area resident and used to attend Philly JUG many years ago.
Expect the unexpected: Anticipate and prepare for failures in microservices b...Bhakti Mehta
This session covers best practices for building resilient, stable RESTful services that can survive failures in distributed environments, such as transient impulses, random load, stress, or failures from some dependent components. It focuses on various techniques such as circuit breakers, bulkheads, and fail fast to ensure that services stay up and keep running despite failures.
Lightbend Training for Scala, Akka, Play Framework and Apache SparkLightbend
Having a team adopt new technologies and approaches to software development is a daunting task. New paradigms and unfamiliar ontologies headline the biggest risks to having a team be productive quickly. Lightbend (formerly Typesafe) has a suite of training classes to help you adopt whatever components of the Lightbend Reactive Platform you need to be responsive to you customers by creating resilient and elastic applications.
In this webinar, we will discuss the philosophies and structures of Lightbend's training materials for Scala, Akka, Play Framework, and Spark.
From Monolithic to Microservices in 45 MinutesMongoDB
Presented by Norberto Leite, Developer Advocate, MongoDB
In this session you will learn how to leverage both Python and MongoDB to build highly scalable, asynchronous applications based on microservices architecture. We will review how to connect several different “exotic” services, using a variety of datasets, that together we can mashup into a consolidated application.
We will start by introducing several technologies that we will be using (e.g. Python, Flask, MongoDB, AngularJS) and take a ten-thousand foot overview of micro services architecture. At the end of the talk you will have a better understanding of how to decouple and implement microservices with MongoDB.
Containers brought new approach for implementation of DevOps workflows. So our CEO, Ruslan Synytsky, devoted a speech to this topic during Madrid meetup and described in details how Java developers can get benefits from Docker containers in Jelastic Cloud.
Webinar slides: Introduction to Database Proxies (for MySQL)Continuent
Watch this on-demand webinar on database proxies (for MySQL) by Gilles Rayrat, VP of Engineering at Continuent. Gilles is one of the most knowledgeable experts in the MySQL community when it comes to database proxies and shares some of his knowledge in this initial webinar on that topic. From a simple database connectivity scenario all the way through to advanced database connectivity setups and proxy functionalities, this webinar provides an in-depth introduction to database proxies (for MySQL).
AGENDA
- A simple database connectivity scenario
- The concept of a clustered database
- Failure in a clustered database: the nightmare scenario
- The solution: use a proxy! Preferably a smart one …
- Advanced database connectivity setups
- Advanced proxy functionalities
- Recap
SPEAKER
Gilles Rayrat, VP of Engineering, Continuent, has over 20 years experience in software engineering. Previously holding positions at Orange and Xerox, he joined the Continuent adventure in 2005. As the connectivity expert at Continuent, he has worn many hats including software development, QA, support, project and operations management. Gilles has held most of the engineering positions that he now manages, giving him both deep and wide experience.
WSO2Con USA 2017: Scalable Real-time Complex Event Processing at UberWSO2
The Marketplace data team at Uber has built a scalable complex event processing platform to solve many challenging real-time data needs for various Uber products. This platform has been in production for more than a year and supports over 100 real-time data use cases with a team of 3. In this talk, we will share the detail of the design and our experience, and how we employ Siddhi, Kafka and Samza at scale.
CQRS and Event Sourcing for Java DevelopersMarkus Eisele
As presented at CJUG. Recording will be up here: http://www.meetup.com/ChicagoJUG/events/231837105/
As soon as an application becomes even moderately complex, CQRS and an Event Sourced architecture start making a lot of sense. The talk is focused on: - the challenges and tactics of separating the write model from the query model in a complex domain - how commands naturally lead to events and to an event based system, and - how events get projected into useful, eventually consistent views. Event Sourcing is one of those things that you really need to push through at the beginning (much like TDD) and that - once understood and internalized, will change the way you architect a system. This talk introduces you to the basic concepts and problem spaces to solve.
Nine Neins - where Java EE will never take youMarkus Eisele
Virtual JUG Session: http://www.meetup.com/virtualJUG/events/232052100/
With Microservices taking the software industry by storm, classical Enterprises are forced to re-think what they’ve been doing for almost a decade. It’s not the first time, that technology shocked the well-oiled machine to it’s core. We’ve seen software design paradigms changing over time and also project management methodologies evolving. Old hands might see this as another wave that will gently find it’s way to the shore of daily business. But this time it looks like the influence is bigger than anything we’ve seen before. And the interesting part is, that microservices aren’t new from the core. Talking about compartmentalization and introducing modules belongs to the core skills of architects. Our industry also learned about how to couple services and build them around organizational capabilities.
The really new part in microservices based architectures is the way how truly independent services are distributed and connected back together. Building an individual service is easy with all technologies. Building a system out of many is the real challenge because it introduces us to the problem space of distributed systems. And the difference to classical, centralized infrastructures couldn’t be bigger. There are very little concepts from the old world which still fit into a modern architecture.
And there are more differences between Java EE and distributed and reactive systems. For example, APIs are inherently synchronous, so most Java EE app servers have to scale by adding thread pools as so many things are blocking on I/O (remote JDBC calls, JTA calls, JNDI look ups, even JMS has a lot of synchronous parts). As we know adding thread pools doesn't get you too far in terms of scalability.
This talk is going to explore the nine most important differences between classical middleware and distributed, reactive microservices architectures and explains in which cases the distributed approach takes you, where Java EE never would.
Wild Flies and a Camel Java EE Integration StoriesMarkus Eisele
Apache Camel is one of the most complete integration frameworks out there. With more than 150 components and a large community it clearly has it's fans. Deploying the lightweight core is easy. Getting into modules and even more components makes this challenging. There are different approaches to ride that Camel. How to get the most out of it with Java EE and WildFly is exactly the topic of this session. It will introduce you to both Java EE 7 and Apache Camel in a very brief way and follows up with the different integration and deployment scenarios along with introducing the tools which help you the most on the way to your integration solution.
We're all aware of cloud computing and the operational ability to
easily create, configure and manage instances in an IaaS environment.
But many of us are not Unix system admins and just want to focus
on developing and deploying our Java applications. RedHat OpenShift
(which is of course open source) is a developer-friendly PaaS that offers
auto-scalability and reliability as native features. So if you are
tired of configuring and administering servers, come see how OpenShift
PaaS can make you a happier and more productive Java EE software
engineer. Learn about the base platform, how to use existing
developer frameworks (cartridges) and how to integrate them into
your development life cycle. And learn about the exciting Docker and Kubernetes
plans for OpenShift v3.
THEFT-PROOF JAVA EE - SECURING YOUR JAVA EE APPLICATIONSMarkus Eisele
Security in applications is a never-ending story. Most of the knowledge about how to build secure applications is derived from knowledge and experience. And we've all done the same mistakes every Java EE developer does over and over again. But how to solve the real business requirements behind access and authorization with Java EE? Can I have a 15k rights matrix? Does that perform? How to secure the transport layer? How does session binding works? Can I implement 2-Factor-Authentication? And what about social integrations? This talk outlines the key capabilities of the Java EE platform and introduces the audience to additional frameworks and concepts which do help by implementing all kinds of security requirements in Java EE based applications.
Java EE microservices architecture - evolving the monolithMarkus Eisele
With the ascent of DevOps, microservices, containers, and cloud-based development platforms, the gap between state-of-the-art solutions and the technology that enterprises typically support has greatly increased. But some enterprises are now looking to bridge that gap by building microservices-based architectures on top of Java EE.
In this webcast, Red Hat Developer Advocate Markus Eisele explores the possibilities for enterprises that want to move ahead with this architecture. However, the issue is complex: Java EE wasn't built with the distributed application approach in mind, but rather as one monolithic server runtime or cluster hosting many different applications. If you're part of an enterprise development team investigating the use of microservices with Java EE, this webcast will guide you to answers for getting started.
10 Golden Social Media Rules for Developer Relations ManagerMarkus Eisele
Social media is great. Being in contact with people from all over the world and being able to help your community from everywhere is nothing short but amazing. Yet, there are a few things to keep in mind to use these tools to their full extend without failing. This session introduces you to some very basic communication skills and walks you through the 10 golden rules in social media.
An illustrated guide to microservices (ploneconf 10 21-2016)Ambassador Labs
A (simpler) Microservices Definition
A Microservice is a unit of business logic.
A Microservice application is a distributed composition of business logic via services.
You don't have to be a unicorn like Amazon or Netflix in order to adopt microservices from your monolith. In this presentation, we talk about how you can easily adopt microservices with just a few key features so you can achieve the velocity and benefits of the architecture quickly.
user Behavior Analysis with Session Windows and Apache Kafka's Streams APIconfluent
For many industries the need to group together related events based on a period of activity or inactivity is key. Advertising businesses, content producers are just a few examples of where session windows can be used to better understand user behavior.
While such sessionization has been possible in Apache Kafka up to this point, implementing it has been rather complex and required leveraging low-level APIs. In the most recent release of Kafka, however, new capabilities have been added making session windows much easier to implement.
In this online talk, we’ll introduce the concept of a session window, talk about common use cases, and walk through how Apache Kafka can be used for session-oriented use cases.
O'Reilly Webcast
Presented by: Alex Bordei
Hosted By: Ben Lorica
When harnessed correctly, hardware can generate performance improvements in software of up to 60% in an existing setup, with zero or minimal investment.
In this webcast Alex Bordei will look at how Impala, Elasticsearch and Couchbase perform when scaled vertically and horizontally, over a number of different bare metal setups. He'll discuss testing that produced results that included: going from one hex-core CPU to two deca-core CPUs, from 32 to 192 GB of RAM, from local to distributed storage, and from 2 to 14 instances.
Tune in to see what setup provided the best performance/price for each application and learn how to get more performance right now, from NoSQL DB.
Stay informed about Big Bata: http://blog.bigstep.com/
Stay productive while slicing up the monolithMarkus Eisele
Microservices-based architectures are in vogue. Over the last couple of years, we have learned how thought leaders implement them, and it seems like every other week we hear about how containers and platform-as-a-service offerings make them ultimately happen.
Tech Talent Night Copenhagen 11/22/17
https://greenticket.dk/techtalentnightcph
Migrating From Java EE To Cloud-Native Reactive SystemsLightbend
A lot of businesses that never before considered themselves as “technology companies” are now faced with digital modernization imperatives that force them to rethink their application and infrastructure architecture. On the path to becoming a digital, on-demand provider, development speed is the ultimate competitive advantage.
This presents challenges to many organizations that have huge investments in legacy Java EE infrastructure, where technical debt and monolithic system architectures require modernization in order to confront various business risks. Usually, changes need to be made within existing frameworks to keep pace with new web-scale organizations.
If your legacy monolith is no longer serving the expanding needs of your business, then join Markus Eisele, Director of Developer Advocacy at Lightbend, to learn what you can do to migrate from Java EE to cloud-native, Reactive systems—as defined by the Reactive Manifesto.
Migrating from Java EE to cloud-native Reactive systemsMarkus Eisele
A lot of businesses that never before considered themselves as “technology companies” are now faced with digital modernization imperatives that force them to rethink their application and infrastructure architecture. On the path to becoming a digital, on-demand provider, development speed is the ultimate competitive advantage.
https://info.lightbend.com/webinar-java-ee-to-cloud-modernization-register.html
Availability in a cloud native world v1.6 (Feb 2019)Haytham Elkhoja
Guidelines for mere mortals. These are a collection of guidelines picked up in the field... hopefully they would help developers and SREs building or modernizing apps ensuring the highest level of availability to their applications.
Tyler Treat
Workiva
NATS Meetup 3/22/16
• Embracing the reality of complex systems
• Using simplicity to your advantage
• Why NATS?
• How Workiva uses NATS
You can learn more about NATS at http://www.nats.io
Microservices - stress-free and without increased heart attack riskUwe Friedrichsen
This is a slide deck belonging to a talk in which I talk about the challenges with µservices in general and provide a few ideas how to avoid the worst pitfalls.
The talk starts with a short explanation why µservice are always hard (yes, the title of the presentation is sort of an oxymoron) and when and when not to choose µservices.
After that introduction I provide a few ideas which from my experience help to get around the worst problems and pitfalls with µservices. As the ideas are from very different topic areas I organized them according to the software production chain starting with design hints and ending with resilience hints (a pure production related topic).
As always the voice track is missing but I hope that also the slides in themselves will give you a few helpful hints.
Two years ago at Devoxx UK we talked about DevOps, what it was, why it was important and how to get started. Boy, was it scary. Now we’re wiser. More battle-scarred. The large scale of the challenge for application writers exploiting cloud and DevOps is clearer, but so is the path forward. Understanding the DevOps approach is important, but equally you must understand specific deployment technologies, security issues, operational reliability, and how to drive organisational transformation. Whether creating simple applications or sophisticated microservice architectures many of the challenges are the same. Join us to learn how you can apply this within your team and company.
SpringPeople - Introduction to Cloud ComputingSpringPeople
Cloud computing is no longer a fad that is going around. It is for real and is perhaps the most talked about subject. Various players in the cloud eco-system have provided a definition that is closely aligned to their sweet spot –let it be infrastructure, platforms or applications.
This presentation will provide an exposure of a variety of cloud computing techniques, architecture, technology options to the participants and in general will familiarize cloud fundamentals in a holistic manner spanning all dimensions such as cost, operations, technology etc
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"Daniel Bryant
Last year we talked about DevOps, what it was, why it was important and how to get started. Boy, was it scary. Now we’re wiser. More battle-scarred. The scale of the challenge for application writers exploiting cloud and DevOps is clearer, but so is the path forward. Understanding the DevOps approach is important but equally you must understand specific deployment technologies. How to exploit them and how they effect the design of applications. Whether creating simple applications or sophisticated microservice architectures many of the challenges are the same.
Presented at JAXLondon 2015 with Steve Poole
Sustainable Software Architecture - Open Tour DACH '22Markus Eisele
Rolling into summer in Europe, still recovering from the last two years another global thread pops back into people's minds. Extreme heat waves followed by severe weather phenomena remind all of us that climate change is a reality. As a father of two wonderful children that hopefully live beyond 2090, I was wondering what impact software architecture has on global warming and climate change and how I can build better and more sustainable solutions. This presentation and demo will provide you with tools, best practices and metrics (executives love numbers and dashboards) to prove the investment in Containers, OpenShift and a DevOps approach has a tangible return.
As presented at https://www.redhat.com/en/events/open-tour-geneva-2022
Quarkus is the new and shiny Kubernetes native framework that promises to solve everything you ever wanted. But what is the truth out there? How do some real-world scenarios look like and what is it really used for?
What happens when unicorns drink coffeeMarkus Eisele
Your ultimate guide to modern applications. What happened to our lovely three-tier systems and why is enterprise software development becoming increasingly complicated? Walk away with new inspirations on what to focus on in the next months and how to stay happy in all this madness.
Keynote: jlove Conference 2020
Stateful on Stateless - The Future of Applications in the CloudMarkus Eisele
Most developers building applications on top of Kubernetes are still mainly relying on stateless protocols and design. The problem is that focusing exclusively on a stateless design ignores the hardest part in distributed systems: managing state—your data.
The challenge is not designing and implementing the services themselves, but managing the space in between the services: data consistency guarantees, reliable communication, data replication and failover, component failure detection and recovery, sharding, routing, consensus algorithms and so on.
Kubernetes and Akka work well together since each being responsible for a different layer and function in the application stack. Kubernetes allows for coarse-grained container-level management of resilience and scalability. Akka allows for fine-grained entity-level management of resilience and scalability. This talk demonstrates how the two play together to deliver the future of stateful applications in the cloud.
Java in the age of containers - JUG Frankfurt/MMarkus Eisele
31.07.2019 Java in the Age of Containers and Serverless
https://sites.google.com/site/jugffm/home/31-07-2019-java-in-the-age-of-containers-and-serverless
Java in the Age of Containers and ServerlessMarkus Eisele
Java in 2019 was predicted to be business as usual by many. We have seen new Java releases coming out as planned, AdoptOpenJDK became the main trustful source of binaries and Oracle fighting for the trademark again by preventing the use of javax as namespace.
Everything looks like it would be a silent year for Java. But one thing seems also obvious. Java's popularity is not gaining any more traction. New language features keep it up to date but people are getting more selective when it comes to implementation choices. Especially in the age of containers and cloud infrastructures. How will Java continue to fit in? What are the advantages and what needs to be done?
As given 6/20/19 https://skillsmatter.com/meetups/12248-keynote-by-markus-eisele-on-java-in-the-age-of-containers-and-serverless#overview
The world is moving from a model where data sits at rest, waiting for people to make requests of it, to where data is constantly moving and streams of data flow to and from devices with or without human interaction. Decisions need to be made based on these streams of data in real-time, models need to be updated, and intelligence needs to be gathered. In this context, our old-fashioned approach of CRUD REST APIs serving CRUD database calls just doesn't cut it. It's time we moved to a stream-centric view of the world.
https://jonthebeach.com/speakers/71/Markus+Eisele
Cloud wars - A LavaOne discussion in seven slidesMarkus Eisele
We had a great session titled "Cloud Wars" proposed and lead by Melissa McKay (@melissajmckay). I've introduced the pizza cloud model and some other thoughts around clouds that I found the time to put into some very few slides.
We talked about a lot more which did not make it into this. But it's a start :)
The world is moving from a model where data sits at rest, waiting for people to make requests of it, to where data is constantly moving, streams of data flow to and from devices with or without human interaction. Decisions need to be made based on these streams of data in real time, models need to be updated, intelligence needs to be learned. And our old-fashioned approach of CRUD REST APIs serving CRUD database calls just doesn't cut it, it's trying to fit a square peg into a round hole. It's time we moved to a stream-centric view of the world.
This talk will look at how Reactive Streams is shaping the future of Jakarta EE. I'll talk about some Reactive Streams based specifications that we're currently working on in the JDK, MicroProfile and Jakarta EE communities, as well as some potential big ideas to transform the way developers write their applications, such as event sourcing and CQRS, that Jakarta EE will likely adopt in future. We'll take a look at a hypothetical future Jakarta EE, at what a typical service will look like when streaming is embraced, and get a glimpse of how Jakarta EE can lead the world in standards for Reactive systems.
Reactive Integrations - Caveats and bumps in the road explained Markus Eisele
Understand the different approaches to integrate fast data and streams based frameworks into your legacy applications and learn about the advantages, disadvantages, caveats, and bumps in the road.
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.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
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.
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.
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
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
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.
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.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
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.
4. Extreme Uptime
(99.999)
Vertical Scaling
Custom
Hardware
Hardware High
Availability
Centralized
Designed for
availability (99.9)
Commodity
Hardware
Replicated
Designed for
failure (99.999)
Horizontal
Scaling
Virtualized /
Cloud
Software High
Availability
Distributed
Centralized Shared Self Service
“Big Iron” “Enterprise” “Cloud”
5. 60s 80s 90s 2000 2014 2016 2020 2030
NumberofEnterpriseProjects
Mainframe Enterprise Cloud
Distribution of Projects over time.
Disclaimer:
My personal prediction!
14. REQ: Building and Scaling Microservices
• Lightweight runtime
• Cross – Service Security
• Transaction Management
• Service Scaling
• Load Balancing
• SLA’s
• Flexible Deployment
• Configuration
• Service Discovery
• Service Versions
• Monitoring
• Governance
• Asynchronous communication
• Non-blocking I/O
• Streaming Data
• Polyglot Services
• Modularity (Service definition)
• High performance persistence (CQRS)
• Event handling / messaging (ES)
• Eventual consistency
• API Management
• Health check and recovery
15. If the components do not compose
cleanly, then all you are doing is
shifting complexity from inside a
component to the connections
between components. Not just does
this just move complexity around, it
moves it to a place that's less explicit
and harder to control.
Martin Fowler
https://martinfowler.com/articles/microservices.html
“
16. How do we handle “failures” in
centralized or shared infrastructures?
17.
18. Why did Application Server become a thing?
• Network and Threading
• Two Phase Commit (2PC)
• Shared resources
• Manageability
• Clustering supports scalability,
performance, and availability.
• Programing models
• Standardization
https://antoniogoncalves.org/2013/07/03/monster-component-in-java-ee-7/
19. Checked vs. Unchecked Exceptions
If a client can reasonably be expected to recover
from an exception, make it a checked exception.
If a client cannot do anything to recover from the
exception, make it an unchecked exception.
“
https://docs.oracle.com/javase/tutorial/essential/exceptions/runtime.html
20. It wasn’t easy – but manageable.
https://docs.oracle.com/javase/tutorial/essential/exceptions/runtime.html
• MVC handles checked
• Global exception handlers handle unchecked
• Centralized log files
27. • Reactive Microservices Framework for the JVM
• Focused on right sized services
• Asynchronous I/O and communication as first class
priorities
• Highly productive development environment
• Takes you all the way to production
• https://github.com/lagom/online-auction-java
What is Lagom?
45. •Fallback pattern (cache instead of dB)
•The cost of resilience should be accuracy or
latency.
•CAP Theorem: Your choice: sacrifice availability
or consistency. You can't have all three.
What you can do..
https://codahale.com/you-cant-sacrifice-partition-tolerance/
47. 8 fallacies of distributed computing
1. The network is reliable
2. Latency is zero
3. Bandwidth is infinite
4. The network is secure
5. Topology doesn't change
6. There is one administrator
7. Transport cost is zero
8. The network is homogeneous
49. Some things to remember.
• Distributed systems are different because they fail often.
• Writing robust distributed systems costs more than writing
robust single-machine systems.
• Robust, open source distributed systems are much less common
than robust, single-machine systems.
• Coordination is very hard.
• “It’s slow” is the hardest problem you’ll ever debug.
• Find ways to be partially available.
https://www.somethingsimilar.com/2013/01/14/notes-on-distributed-systems-for-young-bloods/
53. Next Steps! Download and try Lagom!
Project Site:
http://www.lightbend.com/lagom
GitHub Repo:
https://github.com/lagom
Documentation:
http://www.lagomframework.com/documentation/1.3.x/java/Home.html
Example:
https://github.com/lagom/online-auction-java
54. Written for architects and developers that must
quickly gain a fundamental understanding of
microservice-based architectures, this free O’Reilly
report explores the journey from SOA to
microservices, discusses approaches to dismantling
your monolith, and reviews the key tenets of a
Reactive microservice:
• Isolate all the Things
• Act Autonomously
• Do One Thing, and Do It Well
• Own Your State, Exclusively
• Embrace Asynchronous Message-Passing
• Stay Mobile, but Addressable
• Collaborate as Systems to Solve Problems
http://bit.ly/ReactiveMicroservice
55. The detailed example in this report is based on
Lagom, a new framework that helps you follow the
requirements for building distributed, reactive
systems.
• Get an overview of the Reactive Programming
model and basic requirements for developing
reactive microservices
• Learn how to create base services, expose
endpoints, and then connect them with a
simple, web-based user interface
• Understand how to deal with persistence, state,
and clients
• Use integration technologies to start a
successful migration away from legacy systems
http://bit.ly/DevelopReactiveMicroservice