Microservices is the new popular kid on the block. Crowd pleaser at many conferences. With popular poster children such as Netflix and Amazon it seems to be the killer approach to 21st century architectures, right? But is this stuff only for Hollywood Coders pioneering on the bleeding edge of our profession? Or is this stuff ready to be used for your projects and your customers? This presentation is a warning. Microservices don't fix broken organizations and distributed computing is still hard. I will go over the benefits, but more so the pitfalls, of using a Microservices based architecture. What impact does it have on your applications, on dealing with scale and failures, and how do you prevent your systems landscape from becoming an unmaintainable nightmare.
JavaOne 2011: Migrating Spring Applications to Java EE 6Bert Ertman
?
The Spring Framework has no-doubt played a major role in evolving the way we write enterprise applications on the Java platform today. However, it is still a proprietary framework owned by a single company. The age of having to rely on such proprietary frameworks in order to develop decent enterprise applications is now over and Java EE 6 has become an even easier way to develop enterprise applications based on standards which makes it the best choice for any enterprise application. In this session you will experience how to migrate a typical full stack Spring application to a standards based, completely portable, Java EE 6 application including integration tests.
Building Modular Cloud Applications in Java - Lessons LearnedBert Ertman
?
Over the past couple of years we have been building large scale Java applications and deployed them in the cloud. While dealing with typical cloud issues such as auto scaling, failover, and incremental deployments we meanwhile had to refactor them for significant functional changes.
Being able to deal with change and dynamics are important reasons for companies to resort to the cloud for application development. Short time to market and rapidly changing requirements can lead to experimental software design however. Dealing with constant change in a codebase is non-trivial. In order to facilitate much change a modular codebase is of great importance.
In this talk we will show you what we have learned on how to create modular Java applications and how to deploy them in the cloud using an Open Source approach without locking into one of the PaaS providers. We will discuss OSGi, scalable web application architecture, and Apache ACE for deployment and provisioning.
VJUG - Building Modular Java Applications in the Cloud AgeBert Ertman
?
Modularity is an architectural theme that you'll hear about more and more. Being able to deal with change in a codebase is not something trivial and requires some serious thought. In this talk I will show you that it is actually pretty easy to achieve a modular architecture using OSGi, and the right set of tools. Of course everything will be demonstrated using live coding!
In this presentation you will learn how to create modular, robust, and durable enterprise Java applications fit for the Cloud Age. Using a modular development approach with Java, OSGi, and a wealth of open source components, you will be shown how to combine these into coherent applications without locking into one of the existing PaaS providers. Finally, we will focus on deployment, introducing Apache ACE, that allows to centrally manage and distribute software components to target systems in the cloud or on premise. The presenter of this talk authored the book 'Building Modular Cloud Apps with OSGi' and is using these techniques in high profile production applications on a daily basis.
The Eff monad is an alternative to monad transformers. It is implemented as a library in https://github.com/atnos-org/eff-cats and https://github.com/atnos-org/eff-scalaz
How Hootsuite Manages its Growing Microservice Landscape - Adam ArsenaultAmbassador Labs
?
During our SOA transition at Hootsuite, we have noticed that visibility into our service relationships, dependencies and status is paramount to keeping our team, our build pipeline and application running smoothly. I’d like to share with you an API we baked into our SOA architecture that enables us to explore our applications service dependency graph in real time.
Microservices represent the latest response to the challenge of building dynamic, scalable, and high-performance services and are already widely used in high-volume, mission critical applications, but as with any emerging concept the term “Microservices” is surrounded by a considerable amount of hype, and a lot of confusion. A growing number of organizations are discovering that while the promised benefits of microservices can be realized, it takes a considerable amount of planning and effort to effectively embrace the approach.
Microservices Tutorial Session at JavaOne 2016Jason Swartz
?
1. The document provides an overview of microservices including definitions, properties, and considerations when designing and developing microservice applications. Key topics covered include splitting monolithic applications into smaller services, asynchronous communication between services, deployment strategies like Docker, and data modeling with immutable tables.
2. The presentation discusses the benefits of microservices including improved scalability and maintainability compared to monolithic applications, but also notes challenges like increased complexity from splitting functionality across services.
3. Examples are provided throughout to illustrate concepts like modeling state changes as a log of immutable records rather than mutable rows, and using event sourcing to reconstruct current application data from a sequence of events.
HTTP 2.0 is supposed to be the next big thing for the web, after the overwhelming success of HTTP 1.1.
A dive into the HTTP 2.0 protocol, what is the status of its specification, what features does it offer over HTTP 1.1, and how websites can benefit (in speed and money) from it.
An exploration of what does it take to write HTTP 2.0 applications in the Java platform, what plans there are to support it in JDK 9 and which Servlet Containers are already offering HTTP 2.0 support.
Engineering and Autonomy in the Age of Microservices - Nic Benders, New RelicAmbassador Labs
?
Nic Benders, New Relic's Chief Architect discusses how New Relic re-organized their engineering teams around microservices in order to achieve greater scale and efficiency
Designing and building a micro-services architecture. Stairway to heaven or a...Sander Hoogendoorn
?
The document discusses designing microservices architectures and whether they represent a "stairway to heaven" or "highway to hell". It summarizes two real-world cases of companies transitioning to microservices. The first case is of a major insurance company moving from a mainframe monolith to microservices by implementing business processes as micro-applications. The second case is of a product company with no initial architecture transitioning to modular microservice components to improve development and scalability. The document advocates an evolutionary approach to microservices starting with guiding principles and business processes, and designing modular services.
The Servlet 3.1 Async I/O API was released into the wild more than a year ago and is a significantly different animal than the JVM's async NIO or NIO2.
The implementers of Jetty are your experienced guides in discovering the design of these new APIs, their performance and scalability features, and the common pitfalls in their usage.
Every part of a business needs technology to deliver new products and services, to make use of data, or to provide better experiences for customers, partners, and employees. In order to deliver this, IT can no longer function as the sole technology to the business; it must transform into an adaptive, responsive and nimble organization that can keep up with the pace of the digital era.
This presentation will show you how to create that transformation, suggest roles and functions for the modern IT organization, and provide a real-world case study of one major company that made the shift.
This document discusses microservices and OSGi services running with Apache Karaf. It covers some of the operational overhead and complexity of microservices compared to using OSGi microservices (μServices) with Apache Karaf. Key points include reduced operational overhead and skills requirements, built-in support for versioning and distributed capabilities with OSGi μServices in Apache Karaf. Continuous delivery techniques like using Jolokia for deployment and Apache Karaf Cellar for clustering are also mentioned.
Developing applications with a microservice architecture (svcc)Chris Richardson
?
The micro-service architecture, which structures an application as a set of small, narrowly focused, independently deployable services, is becoming an increasingly popular way to build applications. This approach avoids many of the problems of a monolithic architecture. It simplifies deployment and let’s you create highly scalable and available applications. In this talk we describe the micro-service architecture and how to use it to build complex applications. You will learn how techniques such as Command Query Responsibility Segregation (CQRS) and Event Sourcing address the key challenges of developing applications with this architecture. We will also cover some of the various frameworks such as NodeJS and Spring Boot that you can use to implement micro-services.
Why does Spotify use a microservices architecture? What are the benefits and challenges we've encountered? How does our organizational model support our architecture?
Video of the talk is posted on YouTube: https://youtu.be/7LGPeBgNFuU
Microservices: Decomposing Applications for Deployability and Scalability (ja...Chris Richardson
?
Today, there are several trends that are forcing application architectures to evolve. Users expect a rich, interactive and dynamic user experience on a wide variety of clients including mobile devices. Applications must be highly scalable, highly available and run on cloud environments. Organizations often want to frequently roll out updates, even multiple times a day. Consequently, it's no longer adequate to develop simple, monolithic web applications that serve up HTML to desktop browsers.In this talk we describe the limitations of a monolithic architecture. You will learn how to use the scale cube to decompose your application into a set of narrowly focused, independently deployable services. We will also discuss how an event-based approach addresses the key challenges of developing applications with this architecture.
Fred George describes his personal journey discovering microservice architecture over 15 years working on large software projects. He details how his projects evolved from monolithic 1 million line applications to small, independent services. This allowed for improved agility, with services being short-lived and able to deploy several times a day. George also discusses challenges faced and lessons learned around loosely coupling services, managing data across services, and establishing practices for a "living software" system with continuous deployment of services.
This document provides an introduction to microservices. It begins by outlining the challenges of monolithic architecture such as long build/release cycles and difficulty scaling. It then introduces microservices as a way to decompose monolithic applications into independently deployable services. Key benefits of microservices include improved agility, scalability, and innovation. The document discusses microservice design principles like communicating over APIs, using the right tools for each service, securing services, and being a good citizen in the ecosystem. It provides examples of how to implement a restaurant microservice using AWS services like API Gateway, Lambda, DynamoDB and containers.
Microservices is the new popular kid on the block. Crowd pleaser at many conferences. With popular poster children such as Netflix and Amazon it seems to be the killer approach to 21st century architectures, right? But is this stuff only for Hollywood Coders pioneering on the bleeding edge of our profession? Or is this stuff ready to be used for your projects and your customers? This presentation is a warning. Microservices don't fix broken organizations and distributed computing is still hard. I will go over the benefits, but more so the pitfalls, of using a Microservices based architecture. What impact does it have on your applications, on dealing with scale and failures, and how do you prevent your systems landscape from becoming an unmaintainable nightmare.
JavaOne 2011: Migrating Spring Applications to Java EE 6Bert Ertman
?
The Spring Framework has no-doubt played a major role in evolving the way we write enterprise applications on the Java platform today. However, it is still a proprietary framework owned by a single company. The age of having to rely on such proprietary frameworks in order to develop decent enterprise applications is now over and Java EE 6 has become an even easier way to develop enterprise applications based on standards which makes it the best choice for any enterprise application. In this session you will experience how to migrate a typical full stack Spring application to a standards based, completely portable, Java EE 6 application including integration tests.
Building Modular Cloud Applications in Java - Lessons LearnedBert Ertman
?
Over the past couple of years we have been building large scale Java applications and deployed them in the cloud. While dealing with typical cloud issues such as auto scaling, failover, and incremental deployments we meanwhile had to refactor them for significant functional changes.
Being able to deal with change and dynamics are important reasons for companies to resort to the cloud for application development. Short time to market and rapidly changing requirements can lead to experimental software design however. Dealing with constant change in a codebase is non-trivial. In order to facilitate much change a modular codebase is of great importance.
In this talk we will show you what we have learned on how to create modular Java applications and how to deploy them in the cloud using an Open Source approach without locking into one of the PaaS providers. We will discuss OSGi, scalable web application architecture, and Apache ACE for deployment and provisioning.
VJUG - Building Modular Java Applications in the Cloud AgeBert Ertman
?
Modularity is an architectural theme that you'll hear about more and more. Being able to deal with change in a codebase is not something trivial and requires some serious thought. In this talk I will show you that it is actually pretty easy to achieve a modular architecture using OSGi, and the right set of tools. Of course everything will be demonstrated using live coding!
In this presentation you will learn how to create modular, robust, and durable enterprise Java applications fit for the Cloud Age. Using a modular development approach with Java, OSGi, and a wealth of open source components, you will be shown how to combine these into coherent applications without locking into one of the existing PaaS providers. Finally, we will focus on deployment, introducing Apache ACE, that allows to centrally manage and distribute software components to target systems in the cloud or on premise. The presenter of this talk authored the book 'Building Modular Cloud Apps with OSGi' and is using these techniques in high profile production applications on a daily basis.
The Eff monad is an alternative to monad transformers. It is implemented as a library in https://github.com/atnos-org/eff-cats and https://github.com/atnos-org/eff-scalaz
How Hootsuite Manages its Growing Microservice Landscape - Adam ArsenaultAmbassador Labs
?
During our SOA transition at Hootsuite, we have noticed that visibility into our service relationships, dependencies and status is paramount to keeping our team, our build pipeline and application running smoothly. I’d like to share with you an API we baked into our SOA architecture that enables us to explore our applications service dependency graph in real time.
Microservices represent the latest response to the challenge of building dynamic, scalable, and high-performance services and are already widely used in high-volume, mission critical applications, but as with any emerging concept the term “Microservices” is surrounded by a considerable amount of hype, and a lot of confusion. A growing number of organizations are discovering that while the promised benefits of microservices can be realized, it takes a considerable amount of planning and effort to effectively embrace the approach.
Microservices Tutorial Session at JavaOne 2016Jason Swartz
?
1. The document provides an overview of microservices including definitions, properties, and considerations when designing and developing microservice applications. Key topics covered include splitting monolithic applications into smaller services, asynchronous communication between services, deployment strategies like Docker, and data modeling with immutable tables.
2. The presentation discusses the benefits of microservices including improved scalability and maintainability compared to monolithic applications, but also notes challenges like increased complexity from splitting functionality across services.
3. Examples are provided throughout to illustrate concepts like modeling state changes as a log of immutable records rather than mutable rows, and using event sourcing to reconstruct current application data from a sequence of events.
HTTP 2.0 is supposed to be the next big thing for the web, after the overwhelming success of HTTP 1.1.
A dive into the HTTP 2.0 protocol, what is the status of its specification, what features does it offer over HTTP 1.1, and how websites can benefit (in speed and money) from it.
An exploration of what does it take to write HTTP 2.0 applications in the Java platform, what plans there are to support it in JDK 9 and which Servlet Containers are already offering HTTP 2.0 support.
Engineering and Autonomy in the Age of Microservices - Nic Benders, New RelicAmbassador Labs
?
Nic Benders, New Relic's Chief Architect discusses how New Relic re-organized their engineering teams around microservices in order to achieve greater scale and efficiency
Designing and building a micro-services architecture. Stairway to heaven or a...Sander Hoogendoorn
?
The document discusses designing microservices architectures and whether they represent a "stairway to heaven" or "highway to hell". It summarizes two real-world cases of companies transitioning to microservices. The first case is of a major insurance company moving from a mainframe monolith to microservices by implementing business processes as micro-applications. The second case is of a product company with no initial architecture transitioning to modular microservice components to improve development and scalability. The document advocates an evolutionary approach to microservices starting with guiding principles and business processes, and designing modular services.
The Servlet 3.1 Async I/O API was released into the wild more than a year ago and is a significantly different animal than the JVM's async NIO or NIO2.
The implementers of Jetty are your experienced guides in discovering the design of these new APIs, their performance and scalability features, and the common pitfalls in their usage.
Every part of a business needs technology to deliver new products and services, to make use of data, or to provide better experiences for customers, partners, and employees. In order to deliver this, IT can no longer function as the sole technology to the business; it must transform into an adaptive, responsive and nimble organization that can keep up with the pace of the digital era.
This presentation will show you how to create that transformation, suggest roles and functions for the modern IT organization, and provide a real-world case study of one major company that made the shift.
This document discusses microservices and OSGi services running with Apache Karaf. It covers some of the operational overhead and complexity of microservices compared to using OSGi microservices (μServices) with Apache Karaf. Key points include reduced operational overhead and skills requirements, built-in support for versioning and distributed capabilities with OSGi μServices in Apache Karaf. Continuous delivery techniques like using Jolokia for deployment and Apache Karaf Cellar for clustering are also mentioned.
Developing applications with a microservice architecture (svcc)Chris Richardson
?
The micro-service architecture, which structures an application as a set of small, narrowly focused, independently deployable services, is becoming an increasingly popular way to build applications. This approach avoids many of the problems of a monolithic architecture. It simplifies deployment and let’s you create highly scalable and available applications. In this talk we describe the micro-service architecture and how to use it to build complex applications. You will learn how techniques such as Command Query Responsibility Segregation (CQRS) and Event Sourcing address the key challenges of developing applications with this architecture. We will also cover some of the various frameworks such as NodeJS and Spring Boot that you can use to implement micro-services.
Why does Spotify use a microservices architecture? What are the benefits and challenges we've encountered? How does our organizational model support our architecture?
Video of the talk is posted on YouTube: https://youtu.be/7LGPeBgNFuU
Microservices: Decomposing Applications for Deployability and Scalability (ja...Chris Richardson
?
Today, there are several trends that are forcing application architectures to evolve. Users expect a rich, interactive and dynamic user experience on a wide variety of clients including mobile devices. Applications must be highly scalable, highly available and run on cloud environments. Organizations often want to frequently roll out updates, even multiple times a day. Consequently, it's no longer adequate to develop simple, monolithic web applications that serve up HTML to desktop browsers.In this talk we describe the limitations of a monolithic architecture. You will learn how to use the scale cube to decompose your application into a set of narrowly focused, independently deployable services. We will also discuss how an event-based approach addresses the key challenges of developing applications with this architecture.
Fred George describes his personal journey discovering microservice architecture over 15 years working on large software projects. He details how his projects evolved from monolithic 1 million line applications to small, independent services. This allowed for improved agility, with services being short-lived and able to deploy several times a day. George also discusses challenges faced and lessons learned around loosely coupling services, managing data across services, and establishing practices for a "living software" system with continuous deployment of services.
This document provides an introduction to microservices. It begins by outlining the challenges of monolithic architecture such as long build/release cycles and difficulty scaling. It then introduces microservices as a way to decompose monolithic applications into independently deployable services. Key benefits of microservices include improved agility, scalability, and innovation. The document discusses microservice design principles like communicating over APIs, using the right tools for each service, securing services, and being a good citizen in the ecosystem. It provides examples of how to implement a restaurant microservice using AWS services like API Gateway, Lambda, DynamoDB and containers.
2. Bert Ertman
荷兰 Luminis 公司研究员
荷兰 Java 用户组的负责人,同时还是一位 Java
Champion
2
Practical Modularity with Java in the Cloud Age
Paul Bakker &Bert Ertman
Modular
Cloud Apps
with OSGi
Building
21. 迁移路径
1. 升级 Spring 版本
2. 替换 Spring 内的旧框架( ORM 、 Web 框
架)
3. Spring 和 Java EE 容器并存
4. 完全替换 Spring
5. 移除 Spring 容器
21
22. 替换 Spring 内的旧框架
表示层
数据 / 集
成层
Web MVC
任务
Spring JDBC 模
板
Kodo
@AutoWired
业务层
JMS bean
@AutoWired
@AutoWired
JPA
JSF
尚未触碰特定于 Spring
的 API
Spring bean
22
23. 迁移路径
1. 升级 Spring 版本
2. 替换 Spring 内的旧框架( ORM 、 Web 框
架)
3. Spring 和 Java EE 容器并存
4. 完全替换 Spring
5. 移除 Spring 容器
23
#6: Het maakt eigenlijk niet uit of je van old school of new school Spring migreert, de argumenten zijn hetzelfde. Voor old school is meer werk nodig, maar is er ook meer reden toe. Van new school is het waarschijnlijk een kleine stap, zeker als je al JPA/JSF etc. gebruikt.
#56: 3 opties: niks doen / nieuwe api ’ s gebruiken maar spring leidend houden / all-the-way