Open Source is ubiquitous. Open Source is inevitable. But why would anyone even engage in Open Source? Does making money with it even work?
Modern Open Source is not Richard Stallman's Open Source anymore. Now that even Microsoft is open sourcing .NET (and possibly: Windows?), we'll need to review our opinions about Open Source.
Large corporations have engaged in commoditising their infrastructure software via Open Source in order to increase demand for their primary offerings: PaaS, SaaS, and IaaS.
And with this new model in mind, we'll have a short look into whether it still makes sense for ISVs to engage in Open Source development, or if we should just enjoy the massive free ride.
How Modern SQL Databases Come up with Algorithms that You Would Have Never Dr...Lukas Eder
SQL is the only ever successful, mainstream, and general-purpose 4GL (Fourth Generation Programming Language) and it is awesome!
With modern cost based optimisation, relational databases like Oracle, SQL Server, PostgreSQL finally keep up to the promise of a powerful declarative programming model by adapting to ever changing productive data without performance penalties. Thousand-line-long, complex SQL statements can be run in far below a millisecond against billion-row strong tables if database developers know their ways around the SQL language - and the best news is: It's not that hard!
In this talk, I'll show how the SQL database will constantly outperform any hand written data retrieval algorithm - or in other words - how SQL, being a logic language, is the best language for business logic.
10 Reasons Why we Love Some APIs and Why we Hate Some OthersLukas Eder
Most of us do not write APIs, we consume them. We love some. We hate others. But why?
There's a subtle difference in the UX (User Experience) when working with an API like jQuery (most people find it very nice to use) and java.util.Calendar (few people like it). But what is that difference? What distinguishes a user friendly API from an "inconvenient" one?
In this fun and ranty talk, I'll look at patterns and anti patterns of designing APIs, comparing different successful and less successful APIs in the market.
The vJUG talk about jOOQ: Get Back in Control of Your SQLLukas Eder
jOOQ: Get Back in Control of Your SQL
SQL is a powerful and highly expressive language for queries against relational databases. SQL is established, standardised and hardly challenged by alternative querying languages. Nonetheless, in the Java ecosystem, there had been few relevant steps forward since JDBC to better integrate SQL into Java. All attention was given to object-relational mapping and language abstractions on a higher level, such as OQL, HQL, JPQL, CriteriaQuery. In the meantime, these abstractions have become almost as complex as SQL itself, regardless of the headaches they're giving to DBAs who can no longer patch the generated SQL.
jOOQ is a dual-licensed Open Source product filling this gap. It implements SQL itself as an internal domain-specific language in Java, allowing for the typesafe construction and execution of SQL statements of arbitrary complexity. This includes nested selects, derived tables, joins, semi-joins, anti-joins, self-joins, aliasing, as well as many vendor-specific extensions such as stored procedures, arrays, user-defined types, recursive SQL, grouping sets, pivot tables, window functions and many other OLAP features. jOOQ also includes a source code generator allowing you to compile queries in modern IDEs such as Eclipse very efficiently.
jOOQ is a good choice in a Java application where SQL and the specific relational database are important. It is an alternative when JPA / Hibernate abstract too much, JDBC too little. It shows, how a modern domain-specific language can greatly increase developer productivity, internalising SQL into Java.
NoSQL? No, SQL! - SQL, the underestimated "Big Data" technologyDataGeekery
In the past decade, RDBMS related traction has moved away completely from SQL towards JPA / JPQL, or even further, towards NoSQL. Evangelists have widely agreed that RDBMS are not "web scale", even if the race is far from being decided.
In this talk, I want to show you how many features you're missing out on, when you don't do real SQL. When you don't take advantage of recent SQL standard evolutions, such as SQL:1999 hierarchical SQL, SQL:2003 window functions, or many vendor specific extensions. In an example session, we're going to look at how we can calculate running totals on medium-sized data sets using
- nested selects
- window functions
- hierarchical SQL
- the Oracle MODEL clause
- stored functions
And most importantly, we're going to see how the above can help us increase performance while we decrease the number of lines of code when using any of MyBatis, jOOQ, or SpringJDBC.
The slides from Lukas Eder's jOOQ presentation at Topconf 2013.
The slides talk about the history of the Java and SQL integration, starting with JDBC, EJB 2.0, Hibernate, JPA, culminating in the claim that SQL is evolving in an entirely different direction than what is covered by Enterprise Java. This is where jOOQ comes in. jOOQ is currently the only platform in the Java market aiming at making SQL a first-class citizen in Java.
This website depicts what every CTO / software architect should consider at the beginning of every new Java project:
http://www.hibernate-alternative.com
This version of the presentation on Slideshare is licensed under the terms of the CC-BY-SA license 3.0:
http://creativecommons.org/licenses/by-sa/3.0
The jOOQ name, the jOOQ logo and the picture with the harbour worker are trademarks by Data Geekery GmbH. Please contact us if you want to use our trademarks in a derived presentation of yours.
contact@datageekery.com
Get Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaroundDataGeekery
SQL is a powerful and highly expressive language for queries against relational databases. SQL is established, standardised and hardly challenged by alternative querying languages. Nonetheless, in the Java ecosystem, there had been few relevant steps forward since JDBC to better integrate SQL into Java. All attention was given to object-relational mapping and language abstractions on a higher level, such as OQL, HQL, JPQL, CriteriaQuery. In the meantime, these abstractions have become almost as complex as SQL itself, regardless of the headaches they’re giving to DBAs who can no longer patch the generated SQL.
jOOQ is a dual-licensed Open Source product filling this gap. It implements SQL itself as an internal domain-specific language in Java, allowing for the typesafe construction and execution of SQL statements of arbitrary complexity. This includes nested selects, derived tables, joins, semi-joins, anti-joins, self-joins, aliasing, as well as many vendor-specific extensions such as stored procedures, arrays, user-defined types, recursive SQL, grouping sets, pivot tables, window functions and many other OLAP features. jOOQ also includes a source code generator allowing you to compile queries in modern IDEs such as Eclipse very efficiently.
jOOQ is a good choice in a Java application where SQL and the specific relational database are important. It is an alternative when JPA / Hibernate abstract too much, JDBC too little. It shows, how a modern domain-specific language can greatly increase developer productivity, internalising SQL into Java.
How Modern SQL Databases Come up with Algorithms that You Would Have Never Dr...Lukas Eder
SQL is the only ever successful, mainstream, and general-purpose 4GL (Fourth Generation Programming Language) and it is awesome!
With modern cost based optimisation, relational databases like Oracle, SQL Server, PostgreSQL finally keep up to the promise of a powerful declarative programming model by adapting to ever changing productive data without performance penalties. Thousand-line-long, complex SQL statements can be run in far below a millisecond against billion-row strong tables if database developers know their ways around the SQL language - and the best news is: It's not that hard!
In this talk, I'll show how the SQL database will constantly outperform any hand written data retrieval algorithm - or in other words - how SQL, being a logic language, is the best language for business logic.
10 Reasons Why we Love Some APIs and Why we Hate Some OthersLukas Eder
Most of us do not write APIs, we consume them. We love some. We hate others. But why?
There's a subtle difference in the UX (User Experience) when working with an API like jQuery (most people find it very nice to use) and java.util.Calendar (few people like it). But what is that difference? What distinguishes a user friendly API from an "inconvenient" one?
In this fun and ranty talk, I'll look at patterns and anti patterns of designing APIs, comparing different successful and less successful APIs in the market.
The vJUG talk about jOOQ: Get Back in Control of Your SQLLukas Eder
jOOQ: Get Back in Control of Your SQL
SQL is a powerful and highly expressive language for queries against relational databases. SQL is established, standardised and hardly challenged by alternative querying languages. Nonetheless, in the Java ecosystem, there had been few relevant steps forward since JDBC to better integrate SQL into Java. All attention was given to object-relational mapping and language abstractions on a higher level, such as OQL, HQL, JPQL, CriteriaQuery. In the meantime, these abstractions have become almost as complex as SQL itself, regardless of the headaches they're giving to DBAs who can no longer patch the generated SQL.
jOOQ is a dual-licensed Open Source product filling this gap. It implements SQL itself as an internal domain-specific language in Java, allowing for the typesafe construction and execution of SQL statements of arbitrary complexity. This includes nested selects, derived tables, joins, semi-joins, anti-joins, self-joins, aliasing, as well as many vendor-specific extensions such as stored procedures, arrays, user-defined types, recursive SQL, grouping sets, pivot tables, window functions and many other OLAP features. jOOQ also includes a source code generator allowing you to compile queries in modern IDEs such as Eclipse very efficiently.
jOOQ is a good choice in a Java application where SQL and the specific relational database are important. It is an alternative when JPA / Hibernate abstract too much, JDBC too little. It shows, how a modern domain-specific language can greatly increase developer productivity, internalising SQL into Java.
NoSQL? No, SQL! - SQL, the underestimated "Big Data" technologyDataGeekery
In the past decade, RDBMS related traction has moved away completely from SQL towards JPA / JPQL, or even further, towards NoSQL. Evangelists have widely agreed that RDBMS are not "web scale", even if the race is far from being decided.
In this talk, I want to show you how many features you're missing out on, when you don't do real SQL. When you don't take advantage of recent SQL standard evolutions, such as SQL:1999 hierarchical SQL, SQL:2003 window functions, or many vendor specific extensions. In an example session, we're going to look at how we can calculate running totals on medium-sized data sets using
- nested selects
- window functions
- hierarchical SQL
- the Oracle MODEL clause
- stored functions
And most importantly, we're going to see how the above can help us increase performance while we decrease the number of lines of code when using any of MyBatis, jOOQ, or SpringJDBC.
The slides from Lukas Eder's jOOQ presentation at Topconf 2013.
The slides talk about the history of the Java and SQL integration, starting with JDBC, EJB 2.0, Hibernate, JPA, culminating in the claim that SQL is evolving in an entirely different direction than what is covered by Enterprise Java. This is where jOOQ comes in. jOOQ is currently the only platform in the Java market aiming at making SQL a first-class citizen in Java.
This website depicts what every CTO / software architect should consider at the beginning of every new Java project:
http://www.hibernate-alternative.com
This version of the presentation on Slideshare is licensed under the terms of the CC-BY-SA license 3.0:
http://creativecommons.org/licenses/by-sa/3.0
The jOOQ name, the jOOQ logo and the picture with the harbour worker are trademarks by Data Geekery GmbH. Please contact us if you want to use our trademarks in a derived presentation of yours.
contact@datageekery.com
Get Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaroundDataGeekery
SQL is a powerful and highly expressive language for queries against relational databases. SQL is established, standardised and hardly challenged by alternative querying languages. Nonetheless, in the Java ecosystem, there had been few relevant steps forward since JDBC to better integrate SQL into Java. All attention was given to object-relational mapping and language abstractions on a higher level, such as OQL, HQL, JPQL, CriteriaQuery. In the meantime, these abstractions have become almost as complex as SQL itself, regardless of the headaches they’re giving to DBAs who can no longer patch the generated SQL.
jOOQ is a dual-licensed Open Source product filling this gap. It implements SQL itself as an internal domain-specific language in Java, allowing for the typesafe construction and execution of SQL statements of arbitrary complexity. This includes nested selects, derived tables, joins, semi-joins, anti-joins, self-joins, aliasing, as well as many vendor-specific extensions such as stored procedures, arrays, user-defined types, recursive SQL, grouping sets, pivot tables, window functions and many other OLAP features. jOOQ also includes a source code generator allowing you to compile queries in modern IDEs such as Eclipse very efficiently.
jOOQ is a good choice in a Java application where SQL and the specific relational database are important. It is an alternative when JPA / Hibernate abstract too much, JDBC too little. It shows, how a modern domain-specific language can greatly increase developer productivity, internalising SQL into Java.
10 SQL Tricks that You Didn't Think Were PossibleLukas Eder
SQL is the winning language of Big Data. Whether you’re running a classic relational database, a column store (“NewSQL”), or a non-relational storage system (“NoSQL”), a powerful, declarative, SQL-based query language makes the difference. The SQL standard has evolved drastically in the past decades, and so have its commercial and open source implementations.
In this fast-paced talk, we’re going to look at very peculiar and interesting data problems and how we can solve them with SQL. We’ll explore common table expressions, hierarchical SQL, table-valued functions, lateral joins, row value expressions, window functions, and advanced data types, such as XML and JSON. And we’ll look at Oracle’s mysterious MODEL and MATCH_RECOGNIZE clauses, devices whose mystery is only exceeded by their power. Most importantly, however, we’re going to learn that everyone can write advanced SQL. Once you learn the basics in these tricks, you’re going to love SQL even more.
An edge gateway is an essential piece of infrastructure for large scale cloud based services. This presentation details the purpose, benefits and use cases for an edge gateway to provide security, traffic management and cloud cross region resiliency. How a gateway can be used to enhance continuous deployment, and help testing of new service versions and get service insights and more are discussed. Philosophical and architectural approaches to what belongs in a gateway vs what should be in services will be discussed. Real examples of how gateway services, built on top of Netflix's Open source project, Zuul, are used in front of nearly all of Netflix's consumer facing traffic will show how gateway infrastructure is used in real highly available, massive scale services.
SpringOne Platform 2017
Mark Michael, Pivotal; Glenn Oppegard, Pivotal
"Ever wonder what it takes to move a popular, high traffic web application from a traditional hosting environment to Cloud Foundry running on Amazon Web Services, and then moving it to Google Cloud Platform, without customers noticing?
In this talk, we’ll share our experience from beginning to end, starting with making the Pivotal Tracker code base cloud friendly, configuring app deployment and data services on Amazon Web Services, properly scaling the foundation and data services prior to going live and doing a seamless cutover in less than 3 hours. Then how and why we did it all again by moving to Google Cloud Platform...in a fraction of the time thanks to Cloud Foundry.
We’ll also share the benefits we’ve experienced by being on Cloud Foundry, including how it’s allowed us to fully automate our build, acceptance and Concourse deployment process inching ever closer to continuous delivery. Most importantly, we’ll reveal how it’s changed the way we do DevOps and in the process freed up countless developer hours to focus on improving our product instead of operations."
Continuous Delivery for Microservice Architectures with Concourse & Cloud Fou...VMware Tanzu
SpringOne Platform 2016
Speaker: Alex Ley; Product Manager, Pivotal
Building a continuous delivery pipeline for your micro-service based architecture can be a real challenge when using more conventional CI systems like Jenkins and GoCD. How do you get a clear picture of the CI workflow and status? What artifact was deployed and when? How is this all configured?
Introducing Concourse (https://concourse.ci), an open source pipeline based CI system that focuses on simplicity, usability and reproducibility. It offers isolated builds, a range of integrations and is built upon a proven technology stack from Cloud Foundry.
This talk will demonstrate creating a continuous delivery pipeline for a Spring microservice-based application that uses Spring Cloud. You will see how the pipeline tests services, integrates and then blue / green deploys to Cloud Foundry.
Expect to rush to your laptop to try out Concourse after this session!
Concourse in the Real World: A Case Study in CI/CD and DevOpsVMware Tanzu
SpringOne Platform 2017
Bryan Kelly, Cerner; Greg Meyer, Cerner
"Ever heard of Concourse? If not, then let me be the first to introduce you to one of the newest CI/CD players. Concourse brings together both continuous integration and continuous delivery into one tool using declarative ""pipelines.""
If you have had some exposure to Concourse, then you are probably familiar with example pipelines spread across various tutorials and open source projects. Many of these examples illustrate what a pipeline may look like in an environment where code can quickly go from development to production in a relatively short period time, possibly even minutes. Although this optimal sequence of events may work well in small and startup companies, it may not be well suited for organizations that are governed by development processes such as ISO 9001 or FDA regulations. How can Concourse be utilized to optimize the flow of applications and services through the development and deployment pipeline while meeting compliance of strict development processes?
In addition to software development, Concourse can play just as critical of a role in DevOps. Pipelines can be utilized to streamline delivery of critical updates to infrastructure and system services. How can Concourse optimize DevOps in environments with strict change control processes?
The presentation will explore a real world implementation of CD/CI and DevOps utilizing Concourse in an environment such as one described above. It will cover:
A brief introduction to Concourse
Describe the inherit advantages of incorporating both CD and CI into a streamlined process under one tool
An in depth look at a real end to end pipeline in an ISO 9001 environment taking code from development to production
Inherent synergies when writing Spring Boot applications
Utilization of PCF pipelines to streamline DevOps processes for infrastructure and system service updates in a Pivotal Cloud Foundry implementation"
Open source: an introduction to IP and LegalBruno Lowagie
Open Source India (OSI) Days talk by Bruno Lowagie about intellectual property in the context of open source, about open source licenses, and about keeping track of the IP of your project.
Lattice: A Cloud-Native Platform for Your Spring ApplicationsMatt Stine
As presented at SpringOne2GX 2015 in Washington, DC.
Lattice is a cloud-native application platform that enables you to run your applications in containers like Docker, on your local machine via Vagrant. Lattice includes features like:
Cluster scheduling
HTTP load balancing
Log aggregation
Health management
Lattice does this by packaging a subset of the components found in the Cloud Foundry elastic runtime. The result is an open, single-tenant environment suitable for rapid application development, similar to Kubernetes and Mesos Applications developed using Lattice should migrate unchanged to full Cloud Foundry deployments.
Lattice can be used by Spring developers to spin up powerful micro-cloud environments on their desktops, and can be useful for developing and testing cloud-native application architectures. Lattice already has deep integration with Spring Cloud and Spring XD, and you’ll have the opportunity to see deep dives into both at this year’s SpringOne 2GX. This session will introduce the basics:
Installing Lattice
Lattice’s Architecture
How Lattice Differs from Cloud Foundry
How to Package and Run Your Spring Apps on Lattice
All software architectures have to deal with stress. Its simply the way the world works! Stressors come from multiple directions, including changes in the marketplace, business models, and customer demand, as well as infrastructure failures, improper or unexpected inputs, and bugs. As software architects, one of our jobs is to create solutions that meet both business and quality requirements while appropriately handling stress. We typically approach stressors by trying to create solutions that are robust. Robust systems can continue functioning properly in the presence of internal and external challenges, but they also have one or more breaking points. When we pass a robust system's known threshold for a particular type of stress, it will fail. When a system encounters an unknown unknown challenge, it will usually not be robust! Recent years have seen new approaches, including resilient, antifragile, and evolutionary architectures. All of these approaches emphasize the notion of adapting to changing conditions in order to not only survive stress but sometimes to benefit from it. In this presentation, we'll examine the theory and practice behind these architectural approaches.
Cloud Foundry Services on PKS with No Extra Code, "We Bosh So You Don’t Have ...VMware Tanzu
SpringOne Platform 2018
Cloud Foundry Services on PKS with No Extra Code, "We Bosh So You Don’t Have To!" (Kibosh)
Jeenal Shah, Pivotal; Joe Eltgroth, Pivotal
How to build Spring services for Cloud Native platforms using the Open Servic...VMware Tanzu
SpringOne Platform 2017
Matthew McNeeney, Pivotal; Sam Gunaratne, Pivotal
"The Open Service Broker API, a collaboration between Google, Red Hat, IBM, Pivotal and more, allows developers to deliver their services to applications running on multiple platforms across multiple clouds.
After providing an introduction to cloud-native applications and the need for stateful services, we will explain how the Open Service Broker API project can help Spring developers build a variety of services that can be deployed once and consumed anywhere.
We will then run a live demo where we build and deploy a service broker in Spring and consume it in via the Cloud Foundry marketplace."
Apache Geode: an efficient alternative to Kafka-Storm-Spark for Data AnalyticVMware Tanzu
SpringOne Platform 2017
Paul Perez, Pymma
Further to our customers request, we had to implement a fine monitoring system for the OpenESB business process engine. The largest OpenESB configurations on production runs concurrently dozens of engine instances, that daily, generate up to 10 billion of events. These events must be aggregated and analysed to generate data for monitoring.
A classical solution would be to store the events first and then process them in a batch mode. Simply, it would require too much storage and CPU capacities to process this number of events and a too long delay to provide monitoring information on time.
So, our architect decided to process the message coming from our engines as a stream of events. This processing involves three types of application.The buffer: It is used to store the events coming from the event providers (here OpenESB). The buffer must have a very low latency to capture a huge number of events without slowing down the event producer. At the same time, the buffer must capture data from multiple producer concurrently. This involves a powerful support of distributed and concurrent processes. Apache Kafka, Cassandra are some good examples of buffer.
The engine: the engine implements a kind of step by step process with intermediate states. Each step executes a part of the event aggregation and analysis process, and generate intermediate state useful for the next steps. For obvious efficiency reasons, the intermediate states must not be stored outside the engine. One of the engine key feature is to process concurrently numerous events on many machines. Apache Spark and especially Apache Storm are typical examples of this type of software.
The persistence system: when the event aggregation or analysis process is complete, the process results are sent to a persistence system which implements a query language to provide an easy access to the results. MongoDB, Crate, PostgreSQL, Greenplum can be used as a persistence system.Soevent aggregation or analysis process requires knowledge and installation of three or more different software. And this said, companies are reluctant to dedicate such budget and time to deploy an event aggregation or analysis process chain.In our presentation, we demonstrate how, at our profit, GemFire or Geode can act as a buffer, an engine and a persistence system and avoid the multiplication of software and deployment. We explain how the asynchronous Event Queue and Event Handler work together to act as an engine which support step by step aggregation and analysis process, and take advantage of the distributed cache to work as a buffer and a result store. We also detail how GemFire partitioned region internal design, provides a great scalability and provides very good results for events aggregation and data analysis.We hope that thanks to this presentation, the delegate will get a different point of view on GemFire or Geode and would like to use it as an event processing system.
SpringOne Platform 2016
Speaker: Justin Smith; Director, Pivotal
Credential hygiene is a perennial concern in all distributed computing systems. It’s certainly of utmost importance in cloud-native platforms. It’s common practice to encrypt credentials for storage and distribution, but they ultimately need to be made available as cleartext to the application that requires them. In this talk, we will discuss the options available and best practices for these sensitive operations. Topics include: key encrypting keys, hardware security modules, and relatively new and promising advances in muti-party computation.
Case Study of Batch Processing With Spring Cloud Data Flow Server in Cloud Fo...VMware Tanzu
SpringOne Platform 2017
Bruce Thelen, Corelogic
"Problem:
CoreLogic RiskMeter is a platform for insurance underwriters to assess natural hazard risk to insured properties. RiskMeter is going through a replatforming as part of CoreLogic’s cloud native transformation with help from Pivotal Labs. The replatformed Riskmeter is implemented in Spring Boot and deployed on Cloud Foundry as a cloud native 12 factor app. While executing this replatforming, the team discovered the need for recreating the old application’s batch processing features. In this new cloud native version of the application, there was a strong desire to be able to blue green deploy the application without disrupting running batches.
Solution:
In order to accomplish this, we chose to use Spring Cloud Data Flow Server with Spring Cloud Task to execute a Spring Batch Job. The batch job updates its status via a StepExecutionListener sending messages to a RabbitMQ message queue which is read via a websocket connection from the Angular frontend thus providing a real time progress bar.
Specific Items To Emphasize As Lessons Learned:
Decomposing the system to extract the short lived microservice that composes the batch run
Injecting configuration into Spring Cloud Data Flow Server
Injecting configuration into Spring Tasks
Techniques for blue/green deployment of Spring Tasks
Realtime batch status progress bar via websockets to Angular front end
Conclusion:
Previous CoreLogic projects which implemented homegrown batch processing relied heavily on complex infrastructure, deployment processes (i.e. allocating dedicated VM instances, configuring app servers), and long development cycles. In one case, it took approximately a year to implement a similar system. Using Cloud Foundry, Spring Cloud Data Flow Server, Spring Task, and Spring Batch, we were able to decompose our app and deploy the batch solution in about two months without having to write custom and complex batch management tooling."
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
More Related Content
Similar to This isn't Richard Stallman's Open Source anymore
10 SQL Tricks that You Didn't Think Were PossibleLukas Eder
SQL is the winning language of Big Data. Whether you’re running a classic relational database, a column store (“NewSQL”), or a non-relational storage system (“NoSQL”), a powerful, declarative, SQL-based query language makes the difference. The SQL standard has evolved drastically in the past decades, and so have its commercial and open source implementations.
In this fast-paced talk, we’re going to look at very peculiar and interesting data problems and how we can solve them with SQL. We’ll explore common table expressions, hierarchical SQL, table-valued functions, lateral joins, row value expressions, window functions, and advanced data types, such as XML and JSON. And we’ll look at Oracle’s mysterious MODEL and MATCH_RECOGNIZE clauses, devices whose mystery is only exceeded by their power. Most importantly, however, we’re going to learn that everyone can write advanced SQL. Once you learn the basics in these tricks, you’re going to love SQL even more.
An edge gateway is an essential piece of infrastructure for large scale cloud based services. This presentation details the purpose, benefits and use cases for an edge gateway to provide security, traffic management and cloud cross region resiliency. How a gateway can be used to enhance continuous deployment, and help testing of new service versions and get service insights and more are discussed. Philosophical and architectural approaches to what belongs in a gateway vs what should be in services will be discussed. Real examples of how gateway services, built on top of Netflix's Open source project, Zuul, are used in front of nearly all of Netflix's consumer facing traffic will show how gateway infrastructure is used in real highly available, massive scale services.
SpringOne Platform 2017
Mark Michael, Pivotal; Glenn Oppegard, Pivotal
"Ever wonder what it takes to move a popular, high traffic web application from a traditional hosting environment to Cloud Foundry running on Amazon Web Services, and then moving it to Google Cloud Platform, without customers noticing?
In this talk, we’ll share our experience from beginning to end, starting with making the Pivotal Tracker code base cloud friendly, configuring app deployment and data services on Amazon Web Services, properly scaling the foundation and data services prior to going live and doing a seamless cutover in less than 3 hours. Then how and why we did it all again by moving to Google Cloud Platform...in a fraction of the time thanks to Cloud Foundry.
We’ll also share the benefits we’ve experienced by being on Cloud Foundry, including how it’s allowed us to fully automate our build, acceptance and Concourse deployment process inching ever closer to continuous delivery. Most importantly, we’ll reveal how it’s changed the way we do DevOps and in the process freed up countless developer hours to focus on improving our product instead of operations."
Continuous Delivery for Microservice Architectures with Concourse & Cloud Fou...VMware Tanzu
SpringOne Platform 2016
Speaker: Alex Ley; Product Manager, Pivotal
Building a continuous delivery pipeline for your micro-service based architecture can be a real challenge when using more conventional CI systems like Jenkins and GoCD. How do you get a clear picture of the CI workflow and status? What artifact was deployed and when? How is this all configured?
Introducing Concourse (https://concourse.ci), an open source pipeline based CI system that focuses on simplicity, usability and reproducibility. It offers isolated builds, a range of integrations and is built upon a proven technology stack from Cloud Foundry.
This talk will demonstrate creating a continuous delivery pipeline for a Spring microservice-based application that uses Spring Cloud. You will see how the pipeline tests services, integrates and then blue / green deploys to Cloud Foundry.
Expect to rush to your laptop to try out Concourse after this session!
Concourse in the Real World: A Case Study in CI/CD and DevOpsVMware Tanzu
SpringOne Platform 2017
Bryan Kelly, Cerner; Greg Meyer, Cerner
"Ever heard of Concourse? If not, then let me be the first to introduce you to one of the newest CI/CD players. Concourse brings together both continuous integration and continuous delivery into one tool using declarative ""pipelines.""
If you have had some exposure to Concourse, then you are probably familiar with example pipelines spread across various tutorials and open source projects. Many of these examples illustrate what a pipeline may look like in an environment where code can quickly go from development to production in a relatively short period time, possibly even minutes. Although this optimal sequence of events may work well in small and startup companies, it may not be well suited for organizations that are governed by development processes such as ISO 9001 or FDA regulations. How can Concourse be utilized to optimize the flow of applications and services through the development and deployment pipeline while meeting compliance of strict development processes?
In addition to software development, Concourse can play just as critical of a role in DevOps. Pipelines can be utilized to streamline delivery of critical updates to infrastructure and system services. How can Concourse optimize DevOps in environments with strict change control processes?
The presentation will explore a real world implementation of CD/CI and DevOps utilizing Concourse in an environment such as one described above. It will cover:
A brief introduction to Concourse
Describe the inherit advantages of incorporating both CD and CI into a streamlined process under one tool
An in depth look at a real end to end pipeline in an ISO 9001 environment taking code from development to production
Inherent synergies when writing Spring Boot applications
Utilization of PCF pipelines to streamline DevOps processes for infrastructure and system service updates in a Pivotal Cloud Foundry implementation"
Open source: an introduction to IP and LegalBruno Lowagie
Open Source India (OSI) Days talk by Bruno Lowagie about intellectual property in the context of open source, about open source licenses, and about keeping track of the IP of your project.
Lattice: A Cloud-Native Platform for Your Spring ApplicationsMatt Stine
As presented at SpringOne2GX 2015 in Washington, DC.
Lattice is a cloud-native application platform that enables you to run your applications in containers like Docker, on your local machine via Vagrant. Lattice includes features like:
Cluster scheduling
HTTP load balancing
Log aggregation
Health management
Lattice does this by packaging a subset of the components found in the Cloud Foundry elastic runtime. The result is an open, single-tenant environment suitable for rapid application development, similar to Kubernetes and Mesos Applications developed using Lattice should migrate unchanged to full Cloud Foundry deployments.
Lattice can be used by Spring developers to spin up powerful micro-cloud environments on their desktops, and can be useful for developing and testing cloud-native application architectures. Lattice already has deep integration with Spring Cloud and Spring XD, and you’ll have the opportunity to see deep dives into both at this year’s SpringOne 2GX. This session will introduce the basics:
Installing Lattice
Lattice’s Architecture
How Lattice Differs from Cloud Foundry
How to Package and Run Your Spring Apps on Lattice
All software architectures have to deal with stress. Its simply the way the world works! Stressors come from multiple directions, including changes in the marketplace, business models, and customer demand, as well as infrastructure failures, improper or unexpected inputs, and bugs. As software architects, one of our jobs is to create solutions that meet both business and quality requirements while appropriately handling stress. We typically approach stressors by trying to create solutions that are robust. Robust systems can continue functioning properly in the presence of internal and external challenges, but they also have one or more breaking points. When we pass a robust system's known threshold for a particular type of stress, it will fail. When a system encounters an unknown unknown challenge, it will usually not be robust! Recent years have seen new approaches, including resilient, antifragile, and evolutionary architectures. All of these approaches emphasize the notion of adapting to changing conditions in order to not only survive stress but sometimes to benefit from it. In this presentation, we'll examine the theory and practice behind these architectural approaches.
Cloud Foundry Services on PKS with No Extra Code, "We Bosh So You Don’t Have ...VMware Tanzu
SpringOne Platform 2018
Cloud Foundry Services on PKS with No Extra Code, "We Bosh So You Don’t Have To!" (Kibosh)
Jeenal Shah, Pivotal; Joe Eltgroth, Pivotal
How to build Spring services for Cloud Native platforms using the Open Servic...VMware Tanzu
SpringOne Platform 2017
Matthew McNeeney, Pivotal; Sam Gunaratne, Pivotal
"The Open Service Broker API, a collaboration between Google, Red Hat, IBM, Pivotal and more, allows developers to deliver their services to applications running on multiple platforms across multiple clouds.
After providing an introduction to cloud-native applications and the need for stateful services, we will explain how the Open Service Broker API project can help Spring developers build a variety of services that can be deployed once and consumed anywhere.
We will then run a live demo where we build and deploy a service broker in Spring and consume it in via the Cloud Foundry marketplace."
Apache Geode: an efficient alternative to Kafka-Storm-Spark for Data AnalyticVMware Tanzu
SpringOne Platform 2017
Paul Perez, Pymma
Further to our customers request, we had to implement a fine monitoring system for the OpenESB business process engine. The largest OpenESB configurations on production runs concurrently dozens of engine instances, that daily, generate up to 10 billion of events. These events must be aggregated and analysed to generate data for monitoring.
A classical solution would be to store the events first and then process them in a batch mode. Simply, it would require too much storage and CPU capacities to process this number of events and a too long delay to provide monitoring information on time.
So, our architect decided to process the message coming from our engines as a stream of events. This processing involves three types of application.The buffer: It is used to store the events coming from the event providers (here OpenESB). The buffer must have a very low latency to capture a huge number of events without slowing down the event producer. At the same time, the buffer must capture data from multiple producer concurrently. This involves a powerful support of distributed and concurrent processes. Apache Kafka, Cassandra are some good examples of buffer.
The engine: the engine implements a kind of step by step process with intermediate states. Each step executes a part of the event aggregation and analysis process, and generate intermediate state useful for the next steps. For obvious efficiency reasons, the intermediate states must not be stored outside the engine. One of the engine key feature is to process concurrently numerous events on many machines. Apache Spark and especially Apache Storm are typical examples of this type of software.
The persistence system: when the event aggregation or analysis process is complete, the process results are sent to a persistence system which implements a query language to provide an easy access to the results. MongoDB, Crate, PostgreSQL, Greenplum can be used as a persistence system.Soevent aggregation or analysis process requires knowledge and installation of three or more different software. And this said, companies are reluctant to dedicate such budget and time to deploy an event aggregation or analysis process chain.In our presentation, we demonstrate how, at our profit, GemFire or Geode can act as a buffer, an engine and a persistence system and avoid the multiplication of software and deployment. We explain how the asynchronous Event Queue and Event Handler work together to act as an engine which support step by step aggregation and analysis process, and take advantage of the distributed cache to work as a buffer and a result store. We also detail how GemFire partitioned region internal design, provides a great scalability and provides very good results for events aggregation and data analysis.We hope that thanks to this presentation, the delegate will get a different point of view on GemFire or Geode and would like to use it as an event processing system.
SpringOne Platform 2016
Speaker: Justin Smith; Director, Pivotal
Credential hygiene is a perennial concern in all distributed computing systems. It’s certainly of utmost importance in cloud-native platforms. It’s common practice to encrypt credentials for storage and distribution, but they ultimately need to be made available as cleartext to the application that requires them. In this talk, we will discuss the options available and best practices for these sensitive operations. Topics include: key encrypting keys, hardware security modules, and relatively new and promising advances in muti-party computation.
Case Study of Batch Processing With Spring Cloud Data Flow Server in Cloud Fo...VMware Tanzu
SpringOne Platform 2017
Bruce Thelen, Corelogic
"Problem:
CoreLogic RiskMeter is a platform for insurance underwriters to assess natural hazard risk to insured properties. RiskMeter is going through a replatforming as part of CoreLogic’s cloud native transformation with help from Pivotal Labs. The replatformed Riskmeter is implemented in Spring Boot and deployed on Cloud Foundry as a cloud native 12 factor app. While executing this replatforming, the team discovered the need for recreating the old application’s batch processing features. In this new cloud native version of the application, there was a strong desire to be able to blue green deploy the application without disrupting running batches.
Solution:
In order to accomplish this, we chose to use Spring Cloud Data Flow Server with Spring Cloud Task to execute a Spring Batch Job. The batch job updates its status via a StepExecutionListener sending messages to a RabbitMQ message queue which is read via a websocket connection from the Angular frontend thus providing a real time progress bar.
Specific Items To Emphasize As Lessons Learned:
Decomposing the system to extract the short lived microservice that composes the batch run
Injecting configuration into Spring Cloud Data Flow Server
Injecting configuration into Spring Tasks
Techniques for blue/green deployment of Spring Tasks
Realtime batch status progress bar via websockets to Angular front end
Conclusion:
Previous CoreLogic projects which implemented homegrown batch processing relied heavily on complex infrastructure, deployment processes (i.e. allocating dedicated VM instances, configuring app servers), and long development cycles. In one case, it took approximately a year to implement a similar system. Using Cloud Foundry, Spring Cloud Data Flow Server, Spring Task, and Spring Batch, we were able to decompose our app and deploy the batch solution in about two months without having to write custom and complex batch management tooling."
Similar to This isn't Richard Stallman's Open Source anymore (20)
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
1. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
The Business of Open Source
This isn’t Richard
Stallman’s Open
Source anymore
2. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Stallman doesn’t strictly like “Open Source”
(who noticed the flaw in the title?)
3. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Me – @lukaseder
Open Source is free. Beer.
- Founder and CEO at Data Geekery
- Oracle Java Champion
- JUG.ch Board Member
4. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Why do I talk about Open Source?
Data Geekery is a (dual-licensed) Open
Source Software vendor.
Check out our products:
http://www.jooq.org/products
5. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Why do I talk about Open Source?
Let’s say, I have
an opinion about
Open Source
6. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Why do I talk about Open Source?
(yeah, who doesn’t)
7. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Why do I talk about Open Source?
I also like gifs
8. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Why do I talk about Open Source?
Please relax 😃
(don’t get too 😡 about this topic)
9. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
If OSS were translated to car manufacturing
10. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
What is Open Source?
Who in here is
using OSS?
11. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
What is Open Source?
Everyone! 😍
12. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
What is Open Source?
Who in here
contributes to OSS?
13. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
What is Open Source?
Some of you 😐
14. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
What is Open Source?
Who in here
contributes
significantly to OSS?
15. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
What is Open Source?
16. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
What is Open Source? – This:
Open-source software (OSS)
is computer software with its source
code made available with a license in
which the copyright holder provides the
rights to study, change, and distribute
the software to anyone and for any
purpose
https://en.wikipedia.org/wiki/Open-source_software
17. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
What is Open Source? – This:
Open-source software (OSS)
is computer software with its source
code made available with a license in
which the copyright holder provides the
rights to study, change, and distribute
the software to anyone and for any
purpose
https://en.wikipedia.org/wiki/Open-source_software
18. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
What is Open Source? – This:
Free as in freedom
(or «libre»)
19. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
What is Open Source? – But also this:
A report by the Standish Group (from
2008) states that adoption of open-
source software models has resulted in
savings of about $60 billion per year to
consumers.
https://en.wikipedia.org/wiki/Open-source_software
20. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
What is Open Source? – But also this:
Free as in beer
(or «gratis»)
21. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
What is Open Source? – But also this:
In other words, Oracle, Microsoft,
IBM, etc. lose $60 bn / year
22. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
In fact, it’s not that bad
Article by Peter Levine: https://techcrunch.com/2014/02/13/please-dont-tell-me-you-want-to-be-the-next-red-hat/
23. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Short History of Open Source – FSM / GNU
1983: Free Software
Movement and GNU
24. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Short History of Open Source – FSM / GNU
Goal:
Software should be
free as in «freedom»
25. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Short History of Open Source – FSM / GNU
Freedom to...
1. Run the program for any purpose
2. Study the program, change it in any way
3. Redistribute copies
4. Distribute copies of modified versions
26. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Short History of Open Source – FSM / GNU
Context
1. Software was extremely expensive
2. Software was «unavailable»
3. So was hardware
4. Small vendors had a hard time in
business
27. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Short History of Open Source – FSM / GNU
Freedom is obviously a
highly ideological concept,
not necessarily something
that adds immediate
«business value»
28. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Short History of Open Source – OSI / Netscape
1998: Open Source
Initiative and Netscape
29. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Short History of Open Source – OSI / Netscape
Idea:
Remove anti-commercial
touch from «free» software
30. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Short History of Open Source – OSI / Netscape
Make source code available
with relaxed (or no)
restrictions on the use and
modification of the code.
«Freedom» is opt-in, kinda
31. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Short History of Open Source – OSI / Netscape
Modern example
(because defaults to «all rights reserved»)
32. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Short History of Open Source – OSI / Netscape
Goal:
Rapid evolution of
software.
33. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
What about consumers?
But:
Do consumers
even care?
34. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Which product do you use?
Good enough (for devs)
35. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Which product do you use?
I did these with Gimp for /r/photoshopbattles
36. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Which product do you use?
Much much better
37. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Which product do you use?
No clear winner
38. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Which product do you use?
Much better for end users
39. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Which product do you use?
Much better for operations
40. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Which product do you use?
???
No real competitor
41. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Which product do you use?
???
No real competitor
42. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
It’s not about the license
Fact is:
Sometimes you prefer OSS,
sometimes you prefer
proprietary software
43. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
It’s not about the license
Fact is:
End users don’t care at all
about software licensing (this
includes most devs)
44. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
It’s not about the license
Have you ever observed a geeky friend
try to explain the miracles of free
software to a non-geeky friend?
45. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
It’s not about the license
46. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
In the end, Open Source boils down to…
Consumers want:
- High value
- Low price
Duh, right?
47. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
In the end, Open Source boils down to…
Open source is
- High value (it depends)
- Low price (at least initially)
48. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Why does any vendor participate in Open Source
Vendors want:
- Just enough value
- High price
Duh, right?
49. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Why does any vendor participate in Open Source
So, why do vendors
engage in Open Source?
50. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Why does any vendor participate in Open Source
Free as in freedom?
51. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Why does any vendor participate in Open Source
Free as in freedom?
52. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Why does any vendor participate in Open Source
Free as in beer?
53. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Why does any vendor participate in Open Source
Free as in beer?
54. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Why does any vendor participate in Open Source
Wikipedia OSS Business Models
https://en.wikipedia.org/wiki/Business_models_for_open-source_software
1 Dual-licensing
2 Selling professional services
3 Selling of branded merchandise
4 Selling of certificates and trademark
use
5 Selling software as a service
6 Partnership with funding
organizations
7 Voluntary donations
8 Bounty driven development
9 Pre-order/crowdfunding/reverse-
bounty model
10 Advertising-supported software
11 Selling of optional proprietary
extensions
12 Selling of required proprietary parts
of a software product
13 Re-licensing under a proprietary
license
14 Obfuscation of source code
15 Delayed open-sourcing
55. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Why does any vendor participate in Open Source
Wikipedia OSS Business Models
https://en.wikipedia.org/wiki/Business_models_for_open-source_software
1 Dual-licensing
2 Selling professional services
3 Selling of branded merchandise
4 Selling of certificates and trademark
use
5 Selling software as a service
6 Partnership with funding
organizations
7 Voluntary donations
8 Bounty driven development
9 Pre-order/crowdfunding/reverse-
bounty model
10 Advertising-supported software
11 Selling of optional proprietary
extensions
12 Selling of required proprietary parts
of a software product
13 Re-licensing under a proprietary
license
14 Obfuscation of source code
15 Delayed open-sourcing
56. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Why does any vendor participate in Open Source
All of these «models» set Open
Source as the prerequesite.
And now, how to make money??
🤔
57. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Why does any vendor participate in Open Source
However, companies want to
make money first.
And perhaps, they choose Open
Source. For a reason.
🤑
58. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Here’s an OSS “Vendor”
59. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Here’s an OSS “Vendor”
Netflix doesn’t make money with
software.
But thanks to their «coolness»,
they got free labour from the
market
60. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Here’s another OSS “Vendor”
61. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Here’s another OSS “Vendor”
Microsoft, Open Source?
62. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Here’s another OSS “Vendor”
By 2020 "Cloud Shift" Will
Affect More Than $1
Trillion in IT Spending
- Gartner
63. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Here’s another OSS “Vendor”
Open Source may just be
the only chance Microsoft
has left to catch up.
- me
64. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Magic Quadrant for Cloud IaaS - Gartner
Source: Gartner (August 2016)
65. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Some economic theory
Complementary
good
• http://www.joelonsoftware.com/articles/StrategyLetterV.html
• https://en.wikipedia.org/wiki/Complementary_good
66. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Some economic theory
Reasons for vendors to
choose OSS:
1. Commoditisation
2. Fast market adoption
67. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Some economic theory
Us, for instance...
Trying to enter the
ORM market that is
saturated in 2009...
Very hard without
OSS licensing
68. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Here’s a third OSS Vendor
VMWare puts free infrastructure
software into every enterprise Java
shop in the hopes of following up with
sales for “the real business”.
69. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Here’s a fourth OSS “Vendor”
We don't have to fight
open source, we have to
exploit open source.
- Larry Ellison
70. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Other examples
Well, where did you
think OSS comes
from?
71. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
What is Open Source?
¯_(シ)_/¯
Image credit: https://www.flickr.com/photos/tomaisashdene/8686481567 By Tomais Ashdene. License CC-BY 2.0
72. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
What is Open Source?
Where do you think
OSS comes from?
73. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Conclusions from the node.js / leftpad disaster
We’re the only industry who
doesn’t seem to care about
supply chain management!
74. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Conclusion
There is no such
thing as free software
(vendors provide stuff for free for a reason)
75. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Conclusion
Yet, Open Source is
inevitable
(vendors commoditise software for many reasons)
76. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Conclusion
Conclusion
1. Continue consuming OSS.
2. Contribute if you want but no hard feelings if
you don’t.
3. Just beware: You’re the product. Know why
vendors give you free stuff. Stay in control of
your supply chain.
77. Copyright (c) 2009-2016 by Data Geekery GmbH. Slides licensed under CC BY SA 3.0
Thank you
And come see my 2nd talk at 13:00
10 SQL Tricks that You Didn't Think Were
Possible
Coordinates
• Blog: http://blog.jooq.org (excellent Java SQL content)
• Twitter: @JavaOOQ / @lukaseder (lame jokes)
• E-Mail: lukas.eder@datageekery.com
• Bank account: CH57 8148 7000 0SQL AWSM 7