SlideShare a Scribd company logo
1© 2018 Rogue Wave Software, Inc. All Rights Reserved.
2© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Justin Reock
Senior director, support & professional services
Rogue Wave Software
3© 2018 Rogue Wave Software, Inc. All Rights Reserved.
1. Introduction
2. PupBand: E-commerce website
3. UniTrack: Mobile PaaS
4. HelpingHumans: HPC machine
learning
5. Conclusion
6. Q&A
4© 2018 Rogue Wave Software, Inc. All Rights Reserved.
OSS is everywhere!
• OSS has eaten the world!
• Commonly we see businesses of all sizes utilizing open source
solutions to decrease time to market and reduce development effort
• Anyone with a great idea can build an infrastructure using open
source solutions without the financial barriers that existed a decade
ago
• So how are people in the real world benefitting from open source?
• What technologies are they using, and where are they putting them?
5© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Who’s using OSS?
• Today’s presentation centers around three fictitious companies
• Although the architecture and use cases are inspired by our real customers, we’re going to
protect their privacy
• All of these companies have built a full infrastructure stack using only OSS solutions
• We’ll discuss the chosen architecture, point out some pitfalls, and see how these development
teams flexed the power of OSS to meet the demands of their businesses
6© 2018 Rogue Wave Software, Inc. All Rights Reserved.
7© 2018 Rogue Wave Software, Inc. All Rights Reserved.
E-commerce website
PupBand
The only online store featuring specialty headbands for dogs!
Infrastructure needs
• Website front-end
• Order processing middleware
• Inventory database
Technology stack
• Apache web server
• OpenSSL
• PHP
• Apache ActiveMQ
• Apache Camel
• PostgreSQL
8© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Selecting the stack
Front end
• For the front end, the developers knew they needed a robust web framework to work with and a capable web server technology that
supports SSL
• They looked at Java and PHP and decided on PHP 7. It’s easy to find qualified PHP developers and the storefront didn’t need the
overhead that comes with Java EE technologies.
• PHP 7 brings a number of significant enhancements, including a huge boost to performance
• OpenSSL is the de-facto standard for SSL encryption on the web and compiles easily into Apache Web Server. Since the company
collects sensitive payment data, strong SSL is a must!
• Nginx was considered, but, the development group was familiar with Apache and chose to implement it for the web server stack
To get this project going, PupBand’s IT organization needed to vet out the
best open source projects they could find to build their stack
9© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Selecting the stack
Order processing middleware
• Next, the company needed a reliable way of shuffling data between their PHP
front-end application and a backend inventory management system, customer
communications platform, and fulfillment warehouse
• They chose Apache ActiveMQ and Apache Camel
• ActiveMQ gave them the flexibility and reliability to integrate their PHP front-
end with Camel
• Camel ensured that they would have compatibility with all of the backend
systems needed to orchestrate their orders
10© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Selecting the stack
Inventory database
• Finally, the developers at PupBand needed a way to store inventory and order data
• They knew they needed a flexible and scalable solution, with replication and disaster
recovery functions
• And the data models they would be building might be fairly complex, integrating
customer data, fulfillment data, payment status, and RMA
• In the end, they settled on PostgreSQL, a truly FOSS database solution meeting all
their needs for performance, reliability, and RDBMS SQL compliance
11© 2018 Rogue Wave Software, Inc. All Rights Reserved.
A complete picture
12© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Front end
• The team deployed on CentOS in the cloud but, when they installed OpenSSL and Apache using
the CentOS repository framework, their security scans were alerting them to vulnerabilities
• That’s because the newest version of OpenSSL and the newest version of Apache weren’t
available to them through CentOS’s repo
• They quickly decided to build the newest version of Apache from source, against the newest
version of OpenSSL
• They removed all legacy SSL protocol versions, and settled on TLS1.2, to keep them protected
from Heartbleed and DROWN
13© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Middleware tier
• The middleware tier was complex, it needed to integrate
seamlessly with all the backend systems
• At first, the team decided to use the version of Camel that
was built into ActiveMQ
• ActiveMQ allowed the team to receive events from the PHP
front end and to queue those events for processing
• But ActiveMQ became overwhelmed quickly when using it’s
embedded Camel implementation
• The team decided to deploy the Camel routes standalone in
a separate Java container, and ActiveMQ’s footprint was
reduced significantly
14© 2018 Rogue Wave Software, Inc. All Rights Reserved.
The backend
• The credit card API used RESTful services
• The team built a small webservices layer in front of Postgres, to loosely couple
the database
• And the fulfillment warehouse made use of traditional SOAP webservices
• Using Camel Components, the team was able to find a compatible solution for
all of the various integration endpoints they needed to interact with
15© 2018 Rogue Wave Software, Inc. All Rights Reserved.
• In the end, the development team at PupBand was able to develop their entire E-
commerce solution using community-supported, free, and open source software
• The project was not without its challenges and the team had to research and
experiment to determine the safest, fastest, and most robust ways of
implementing the technology stack they chose
• Challenges around versioning, proper deployment, and performance
optimization took many cycles and hard work to overcome
• But in the end, PupBand was left with an infrastructure free from proprietary
commercial licenses, with room to grow
• And puppies everywhere rejoiced in their new head gear!
Code complete
16© 2018 Rogue Wave Software, Inc. All Rights Reserved.
17© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Mobile PaaS
Infrastructure needs
• API front-end
• Scalable event-processing
middleware
• Location database
• Data visualization platform
Technology stack
• Nginx
• Node.js
• Docker
• Puppet
• Apache Cassandra
• Apache Spark
UniTrack
A crowd-sourced platform tracking the movement and migratory patterns
of unicorns
18© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Selecting the stack
API front end
• The team selected a combination of Nginx as a web server and Node.js as a development
platform
• The API was packaged in Docker containers, to allow for elastic auto-scaling of the system
• Node.js would allow them strong concurrency and the ability to handle thousands of
simultaneous API calls
• Docker would allow the API servers to scale based on demand, and Puppet would assist in
spinning up new containers and deploying the API code
The dev team at UniTrack knew that they needed a lightweight, fast, and
concurrent system for receiving location data from millions of mobile
clients and presenting the data to subscribers
19© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Selecting the stack
Event-processing middleware / location database
• The team needed a highly concurrent and highly redundant solution to store event and
location data that came in through the front-end APIs
• The data would be spread across multiple cloud datacenters to allow the best regional
connectivity possible, along with disaster recovery features
• They chose Apache Cassandra for its easy replication strategy, its ability to store and
provide incredibly large datasets, and its performance optimization capabilities
• Node.js was integrated directly with Cassandra, to shuttle data from the front-end APIs
into the database itself
• Puppet integration ensured easy deployment of additional Cassandra nodes in the cloud,
as system demand increased
20© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Selecting the stack
Data visualization
• Finally, the team needed a way to make sense of all this location and event data
• The large data sets needed to be analyzed
• And data visualization needed to be provided to unicorn enthusiasts everywhere via
their smartphones
• Apache Spark was chosen for its lightning-fast data analytics capabilities
• And the GraphX plugin was implemented to visualize the large sets of unicorn
tracking data coming in from millions of worldwide users through the smartphone
client
21© 2018 Rogue Wave Software, Inc. All Rights Reserved.
A complete picture
22© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Front-end APIs
• The team built Docker containers bundling Nginx with a lightweight node.js
application. The learning curve for Node.js proved to be a bottleneck, as traditional
JavaScript developers needed to rethink the way they developed
• A Puppet master server was built and orchestration for spinning up new containers
on-demand was developed. Security became a major concern, as access to the
Puppet master server by a malicious user could lead to disastrous consequences
23© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Event-processing middleware
• Integration of the Node.js containers with Cassandra proved to be easy,
using Cassandra’s asynchronous connection drivers for Node.js
• The real challenge was building a NoSQL data model that could meet all
of their data processing and visualization needs, while remaining fast
and responsive
• Cassandra’s deployment itself was simple, spinning up nodes in various
data centers using Cassandra’s in-built deployment utilities and native
replication protocol
24© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Visualization and analytics
• Spark made it easy to pull in and analyze the vast amounts of data provided by UniTrack’s
enormous user base
• The biggest challenge lay in determining which of the many client libraries should be used
to power Spark
• The team could pick from Java, Scala, Python, or R
• In the end, Java was selected, and a standalone application was built around the Spark
libraries to provide visualization of data via GraphX
• GraphX’s output was compressed and standardized for mobile platform consumption
25© 2018 Rogue Wave Software, Inc. All Rights Reserved.
• By leveraging the elastic scale and microservice capabilities of Docker and Node.js, the team was able to
build a highly concurrent architecture capable of servicing thousands of requests a second
• The choice for Cassandra as a persistence backend proved wise, as the development team was able to
scale the Cassandra implementation into multiple regional datacenters, and service the huge amount
of traffic input by the front-end APIs
• Puppet worked well in detecting increases in load, and elastically scaling the API containers on demand
• Spark and GraphX allowed the application to make sense of the huge amount of data, and provide
visual analysis to mobile clients
• Though so far all unicorn location claims have proven spurious, the UniTrack community feels confident
that with the powerful platform they have built, it is only a matter of time before a real live unicorn is
discovered and captured
Code complete
26© 2018 Rogue Wave Software, Inc. All Rights Reserved.
27© 2018 Rogue Wave Software, Inc. All Rights Reserved.
HPC machine learning
HelpingHumans
Advancing human society through artificial intelligence and robot
sentience
Infrastructure needs
• Multi-platform data gathering
automation
• Redundant storage and analytics
• Dashboard front-end
Technology stack
• Apache Camel
• Apache Cassandra
• Kubernetes
• TensorFlow
• AngularJS
28© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Selecting the stack
Multi-platform data gathering
• The secret development group responsible for building the platform knew they would
need a framework capable of gathering data from hundreds of potential sources
• The platform needed to be capable of querying CDC data, military intelligence, social
media, human history, and more
• Apache Camel was chosen to act as a central data gathering platform for pulling
unstructured data from multiple, disparate sources
• Camel’s huge component library would allow for this kind of flexibility, while developing
against a standard, domain-specific language and reducing boilerplate code
In order to assist the human race in performing useful tasks, the
machines must be capable of learning as much as they can about our
species
29© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Selecting the stack
Redundant storage and analytics
• Once the data had been gathered, the dev group knew that they would need a
redundant storage system capable of quickly writing and reading a gigantic amount
of data
• And once that data was gathered, a machine learning analytics library was
necessary to normalize all that data and understand human activities, capabilities,
and behavior
• Apache Cassandra would be capable of storing all the data
• And the open source TensorFlow machine learning framework could help in building
learning patterns to make sense of all the disparate data
30© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Selecting the stack
Dashboard front-end
• The team needed a way to take data processed by TensorFlow and pushed back into
Cassandra, and build a useful dashboard to check the progress of various learning
initiatives
• The dashboard needed to be lightweight and cross-browser compatible
• It also needed a relatively low learning curve, since the bulk of the development
work would be spent on the learning and analytics engine
• The team decided on AngularJS, which allows a full MVC framework, reusable
components, and a low learning curve for developers who already understand
JavaScript
31© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Selecting the stack
Container orchestration
• Both the Camel data-gathering components and the TensorFlow analytics needed to be deployed in
such a way that they could be easily scaled up to provide concurrent gathering and processing of
data
• Ultimately, the architecture would contain thousands of individual containers operating in concert
• For this, orchestration of Docker through Puppet was simply not sophisticated enough, so the team
implemented Kubernetes to provide a full management platform for their large container
infrastructure
• Service discovery, monitoring, and deployment would all be provided by the Kubernetes management
engine
32© 2018 Rogue Wave Software, Inc. All Rights Reserved.
A complete picture
33© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Multi-platform data gathering
• Camel allowed the HelpingHumans team to source data from the hundreds of various data sources they wished to
pull from
• Initially, the development team thought it best to deploy Camel inside of a Tomcat container and then contained
inside of Docker
• Ultimately this solution had just too much overhead, and multiple instances of Tomcat were found to be
redundant when deployed in a containerized infrastructure
• The Dev team chose to build standalone Camel applications running per container and the system was much more
efficient
34© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Redundant storage and analytics
• It turned out TensorFlow was a great starting point for the type of machine learning the HelpingHumans Dev team
wanted to implement but there was functionality missing that was critical to their work
• Ultimately they leveraged the power of FOSS by modifying the source code of TensorFlow and spinning off their own
internal branch
• And, in the spirit of their altruistic mission, the dev team offered these enhancements back to the TensorFlow
community
35© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Orchestration and dashboarding
• Kubernetes forced the development team at HelpingHumans to
change the way they thought about containerized deployment and
microservice management
• After the paradigm shift was complete, the team ended up with an
amazing elastically-scaling architecture that was able to meet the
high demands their data gathering and analytics needed
• AngularJS proved easy to learn and highly functional, and
integrated well with Cassandra
• Ultimately a lot of the visualization work was offloaded to backend
servers, though, with Angular acting as a proxy, since the client-side
limitations of Angular limited the analysis of the data
36© 2018 Rogue Wave Software, Inc. All Rights Reserved.
• By leveraging powerful open source frameworks, the HelpingHumans team was
able to develop a sophisticated engine for learning new ways to analyze human
needs and behaviors
• Advanced container management through Kubernetes allowed for the complex
orchestration necessary to elastically scale their Camel and TensorFlow based
applications
• And Cassandra’s high performance big data storage allowed HelpingHumans to
efficiently store all the data they gathered from hundreds of sources
• Human civilization as we know it ended roughly six months after deployment
Code complete
37© 2018 Rogue Wave Software, Inc. All Rights Reserved.
38© 2018 Rogue Wave Software, Inc. All Rights Reserved.
Support from a group like the OSS Support team at Rogue Wave
can ensure that what you implement works well, stays available,
and is scaled for growth
Conclusion
You can safely build an entire IT infrastructure on FOSS
technologies, if you make disciplined decisions surrounding the
choice of technology and the practices of development,
implementation, and deployment
Careful vetting can help you ensure that the packages you
choose truly meet your use case
There is a ton of open source available to you, but certain
applications and projects will rise to the top based on their
maturity, the strength of their communities, and their
reactiveness to bug fixes and vulnerabilities
39© 2018 Rogue Wave Software, Inc. All Rights Reserved.
40© 2018 Rogue Wave Software, Inc. All Rights Reserved.

More Related Content

What's hot

Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
DevOps.com
 
Cloud native policy enforcement with Open Policy Agent
Cloud native policy enforcement with Open Policy AgentCloud native policy enforcement with Open Policy Agent
Cloud native policy enforcement with Open Policy Agent
LibbySchulze
 
Journey Through Four Stages of Kubernetes Deployment Maturity
Journey Through Four Stages of Kubernetes Deployment MaturityJourney Through Four Stages of Kubernetes Deployment Maturity
Journey Through Four Stages of Kubernetes Deployment Maturity
Altoros
 
Keeping your Kubernetes Cluster Secure
Keeping your Kubernetes Cluster SecureKeeping your Kubernetes Cluster Secure
Keeping your Kubernetes Cluster Secure
Gene Gotimer
 
Monitoring Your AWS EKS Environment with Datadog
Monitoring Your AWS EKS Environment with DatadogMonitoring Your AWS EKS Environment with Datadog
Monitoring Your AWS EKS Environment with Datadog
DevOps.com
 
Don't Cross the Streams! (or do, we got you)
Don't Cross the Streams! (or do, we got you)Don't Cross the Streams! (or do, we got you)
Don't Cross the Streams! (or do, we got you)
Caito Scherr
 
RHTE2015_CloudForms_Containers
RHTE2015_CloudForms_ContainersRHTE2015_CloudForms_Containers
RHTE2015_CloudForms_Containers
Jerome Marc
 
Ports, pods and proxies
Ports, pods and proxiesPorts, pods and proxies
Ports, pods and proxies
LibbySchulze
 
Migrating to Cloud Native Solutions
Migrating to Cloud Native SolutionsMigrating to Cloud Native Solutions
Migrating to Cloud Native Solutions
inwin stack
 
Cloud Native Development
Cloud Native DevelopmentCloud Native Development
Cloud Native Development
Manuel Garcia
 
ThoughtWorks Technology Radar Roadshow - Melbourne
ThoughtWorks Technology Radar Roadshow - MelbourneThoughtWorks Technology Radar Roadshow - Melbourne
ThoughtWorks Technology Radar Roadshow - Melbourne
Thoughtworks
 
Autopilot : Securing Cloud Native Storage
Autopilot : Securing Cloud Native StorageAutopilot : Securing Cloud Native Storage
Autopilot : Securing Cloud Native Storage
SF Bay Cloud Native Open Infra Meetup
 
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
Pivoting Spring XD to Spring Cloud Data Flow with Sabby AnandanPivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
PivotalOpenSourceHub
 
Cisco's MultiCloud Strategy
Cisco's MultiCloud StrategyCisco's MultiCloud Strategy
Cisco's MultiCloud Strategy
Maulik Shyani
 
Cncf checkov and bridgecrew
Cncf checkov and bridgecrewCncf checkov and bridgecrew
Cncf checkov and bridgecrew
LibbySchulze
 
Deploying your apps in the cloud - the options: an overview
Deploying your apps in the cloud - the options: an overviewDeploying your apps in the cloud - the options: an overview
Deploying your apps in the cloud - the options: an overview
Cisco DevNet
 
Barbican 1.0 - Open Source Key Management for OpenStack
Barbican 1.0 - Open Source Key Management for OpenStackBarbican 1.0 - Open Source Key Management for OpenStack
Barbican 1.0 - Open Source Key Management for OpenStack
jarito030506
 
Cloud Native Summit 2019 Summary
Cloud Native Summit 2019 SummaryCloud Native Summit 2019 Summary
Cloud Native Summit 2019 Summary
Everett Toews
 
Elevate Your Enterprise Python and R AI, ML Software Strategy with Anaconda T...
Elevate Your Enterprise Python and R AI, ML Software Strategy with Anaconda T...Elevate Your Enterprise Python and R AI, ML Software Strategy with Anaconda T...
Elevate Your Enterprise Python and R AI, ML Software Strategy with Anaconda T...
DevOps.com
 
RedisConf18 - Common Redis Use Cases for Cloud Native Apps and Microservices
RedisConf18 - Common Redis Use Cases for Cloud Native Apps and MicroservicesRedisConf18 - Common Redis Use Cases for Cloud Native Apps and Microservices
RedisConf18 - Common Redis Use Cases for Cloud Native Apps and Microservices
Redis Labs
 

What's hot (20)

Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
 
Cloud native policy enforcement with Open Policy Agent
Cloud native policy enforcement with Open Policy AgentCloud native policy enforcement with Open Policy Agent
Cloud native policy enforcement with Open Policy Agent
 
Journey Through Four Stages of Kubernetes Deployment Maturity
Journey Through Four Stages of Kubernetes Deployment MaturityJourney Through Four Stages of Kubernetes Deployment Maturity
Journey Through Four Stages of Kubernetes Deployment Maturity
 
Keeping your Kubernetes Cluster Secure
Keeping your Kubernetes Cluster SecureKeeping your Kubernetes Cluster Secure
Keeping your Kubernetes Cluster Secure
 
Monitoring Your AWS EKS Environment with Datadog
Monitoring Your AWS EKS Environment with DatadogMonitoring Your AWS EKS Environment with Datadog
Monitoring Your AWS EKS Environment with Datadog
 
Don't Cross the Streams! (or do, we got you)
Don't Cross the Streams! (or do, we got you)Don't Cross the Streams! (or do, we got you)
Don't Cross the Streams! (or do, we got you)
 
RHTE2015_CloudForms_Containers
RHTE2015_CloudForms_ContainersRHTE2015_CloudForms_Containers
RHTE2015_CloudForms_Containers
 
Ports, pods and proxies
Ports, pods and proxiesPorts, pods and proxies
Ports, pods and proxies
 
Migrating to Cloud Native Solutions
Migrating to Cloud Native SolutionsMigrating to Cloud Native Solutions
Migrating to Cloud Native Solutions
 
Cloud Native Development
Cloud Native DevelopmentCloud Native Development
Cloud Native Development
 
ThoughtWorks Technology Radar Roadshow - Melbourne
ThoughtWorks Technology Radar Roadshow - MelbourneThoughtWorks Technology Radar Roadshow - Melbourne
ThoughtWorks Technology Radar Roadshow - Melbourne
 
Autopilot : Securing Cloud Native Storage
Autopilot : Securing Cloud Native StorageAutopilot : Securing Cloud Native Storage
Autopilot : Securing Cloud Native Storage
 
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
Pivoting Spring XD to Spring Cloud Data Flow with Sabby AnandanPivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
 
Cisco's MultiCloud Strategy
Cisco's MultiCloud StrategyCisco's MultiCloud Strategy
Cisco's MultiCloud Strategy
 
Cncf checkov and bridgecrew
Cncf checkov and bridgecrewCncf checkov and bridgecrew
Cncf checkov and bridgecrew
 
Deploying your apps in the cloud - the options: an overview
Deploying your apps in the cloud - the options: an overviewDeploying your apps in the cloud - the options: an overview
Deploying your apps in the cloud - the options: an overview
 
Barbican 1.0 - Open Source Key Management for OpenStack
Barbican 1.0 - Open Source Key Management for OpenStackBarbican 1.0 - Open Source Key Management for OpenStack
Barbican 1.0 - Open Source Key Management for OpenStack
 
Cloud Native Summit 2019 Summary
Cloud Native Summit 2019 SummaryCloud Native Summit 2019 Summary
Cloud Native Summit 2019 Summary
 
Elevate Your Enterprise Python and R AI, ML Software Strategy with Anaconda T...
Elevate Your Enterprise Python and R AI, ML Software Strategy with Anaconda T...Elevate Your Enterprise Python and R AI, ML Software Strategy with Anaconda T...
Elevate Your Enterprise Python and R AI, ML Software Strategy with Anaconda T...
 
RedisConf18 - Common Redis Use Cases for Cloud Native Apps and Microservices
RedisConf18 - Common Redis Use Cases for Cloud Native Apps and MicroservicesRedisConf18 - Common Redis Use Cases for Cloud Native Apps and Microservices
RedisConf18 - Common Redis Use Cases for Cloud Native Apps and Microservices
 

Similar to Open Source Applied - Real World Use Cases

Open source applied: Real-world uses
Open source applied: Real-world usesOpen source applied: Real-world uses
Open source applied: Real-world uses
Rogue Wave Software
 
Java and Serverless - A Match Made In Heaven, Part 1
Java and Serverless - A Match Made In Heaven, Part 1Java and Serverless - A Match Made In Heaven, Part 1
Java and Serverless - A Match Made In Heaven, Part 1
Curity
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
WaveMaker, Inc.
 
Oracle - Continuous Delivery NYC meetup, June 07, 2018
Oracle - Continuous Delivery NYC meetup, June 07, 2018Oracle - Continuous Delivery NYC meetup, June 07, 2018
Oracle - Continuous Delivery NYC meetup, June 07, 2018
Oracle Developers
 
Cloud Native Applications - DevOps, EMC and Cloud Foundry
Cloud Native Applications - DevOps, EMC and Cloud FoundryCloud Native Applications - DevOps, EMC and Cloud Foundry
Cloud Native Applications - DevOps, EMC and Cloud Foundry
Bob Sokol
 
Oracle Cloud : Big Data Use Cases and Architecture
Oracle Cloud : Big Data Use Cases and ArchitectureOracle Cloud : Big Data Use Cases and Architecture
Oracle Cloud : Big Data Use Cases and Architecture
Riccardo Romani
 
How to scale your PaaS with OVH infrastructure?
How to scale your PaaS with OVH infrastructure?How to scale your PaaS with OVH infrastructure?
How to scale your PaaS with OVH infrastructure?
OVHcloud
 
Monitor OpenStack Environments from the bottom up and front to back
Monitor OpenStack Environments from the bottom up and front to backMonitor OpenStack Environments from the bottom up and front to back
Monitor OpenStack Environments from the bottom up and front to back
Icinga
 
Successes, Challenges, and Pitfalls Migrating a SAAS business to Hadoop
Successes, Challenges, and Pitfalls Migrating a SAAS business to HadoopSuccesses, Challenges, and Pitfalls Migrating a SAAS business to Hadoop
Successes, Challenges, and Pitfalls Migrating a SAAS business to Hadoop
DataWorks Summit/Hadoop Summit
 
Top 5 benefits of docker
Top 5 benefits of dockerTop 5 benefits of docker
Top 5 benefits of docker
John Zaccone
 
Advanced technologies and techniques for debugging HPC applications
Advanced technologies and techniques for debugging HPC applicationsAdvanced technologies and techniques for debugging HPC applications
Advanced technologies and techniques for debugging HPC applications
Rogue Wave Software
 
MySQL day Dublin - OCI & Application Development
MySQL day Dublin - OCI & Application DevelopmentMySQL day Dublin - OCI & Application Development
MySQL day Dublin - OCI & Application Development
Henry J. Kröger
 
Rapyuta a cloud robotics platform
Rapyuta a cloud robotics platformRapyuta a cloud robotics platform
Rapyuta a cloud robotics platform
ieeepondy
 
Intel IT Open Cloud - What's under the Hood and How do we Drive it?
Intel IT Open Cloud - What's under the Hood and How do we Drive it?Intel IT Open Cloud - What's under the Hood and How do we Drive it?
Intel IT Open Cloud - What's under the Hood and How do we Drive it?
Odinot Stanislas
 
Red hat cloud platforms
Red hat cloud platformsRed hat cloud platforms
Red hat cloud platforms
Giovanni Galloro
 
Integrating Postgres with ActiveMQ and Camel
Integrating Postgres with ActiveMQ and CamelIntegrating Postgres with ActiveMQ and Camel
Integrating Postgres with ActiveMQ and Camel
Justin Reock
 
Delivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with OracleDelivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with Oracle
Simon Haslam
 
Intel Cloud Foundry and OpenStack
Intel Cloud Foundry and OpenStackIntel Cloud Foundry and OpenStack
Intel Cloud Foundry and OpenStack
Silicon Valley Cloud Foundry Meetup
 
SamSegalResume
SamSegalResumeSamSegalResume
SamSegalResume
samuel segal
 
Simplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptxSimplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptx
ssuser5faa791
 

Similar to Open Source Applied - Real World Use Cases (20)

Open source applied: Real-world uses
Open source applied: Real-world usesOpen source applied: Real-world uses
Open source applied: Real-world uses
 
Java and Serverless - A Match Made In Heaven, Part 1
Java and Serverless - A Match Made In Heaven, Part 1Java and Serverless - A Match Made In Heaven, Part 1
Java and Serverless - A Match Made In Heaven, Part 1
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
Oracle - Continuous Delivery NYC meetup, June 07, 2018
Oracle - Continuous Delivery NYC meetup, June 07, 2018Oracle - Continuous Delivery NYC meetup, June 07, 2018
Oracle - Continuous Delivery NYC meetup, June 07, 2018
 
Cloud Native Applications - DevOps, EMC and Cloud Foundry
Cloud Native Applications - DevOps, EMC and Cloud FoundryCloud Native Applications - DevOps, EMC and Cloud Foundry
Cloud Native Applications - DevOps, EMC and Cloud Foundry
 
Oracle Cloud : Big Data Use Cases and Architecture
Oracle Cloud : Big Data Use Cases and ArchitectureOracle Cloud : Big Data Use Cases and Architecture
Oracle Cloud : Big Data Use Cases and Architecture
 
How to scale your PaaS with OVH infrastructure?
How to scale your PaaS with OVH infrastructure?How to scale your PaaS with OVH infrastructure?
How to scale your PaaS with OVH infrastructure?
 
Monitor OpenStack Environments from the bottom up and front to back
Monitor OpenStack Environments from the bottom up and front to backMonitor OpenStack Environments from the bottom up and front to back
Monitor OpenStack Environments from the bottom up and front to back
 
Successes, Challenges, and Pitfalls Migrating a SAAS business to Hadoop
Successes, Challenges, and Pitfalls Migrating a SAAS business to HadoopSuccesses, Challenges, and Pitfalls Migrating a SAAS business to Hadoop
Successes, Challenges, and Pitfalls Migrating a SAAS business to Hadoop
 
Top 5 benefits of docker
Top 5 benefits of dockerTop 5 benefits of docker
Top 5 benefits of docker
 
Advanced technologies and techniques for debugging HPC applications
Advanced technologies and techniques for debugging HPC applicationsAdvanced technologies and techniques for debugging HPC applications
Advanced technologies and techniques for debugging HPC applications
 
MySQL day Dublin - OCI & Application Development
MySQL day Dublin - OCI & Application DevelopmentMySQL day Dublin - OCI & Application Development
MySQL day Dublin - OCI & Application Development
 
Rapyuta a cloud robotics platform
Rapyuta a cloud robotics platformRapyuta a cloud robotics platform
Rapyuta a cloud robotics platform
 
Intel IT Open Cloud - What's under the Hood and How do we Drive it?
Intel IT Open Cloud - What's under the Hood and How do we Drive it?Intel IT Open Cloud - What's under the Hood and How do we Drive it?
Intel IT Open Cloud - What's under the Hood and How do we Drive it?
 
Red hat cloud platforms
Red hat cloud platformsRed hat cloud platforms
Red hat cloud platforms
 
Integrating Postgres with ActiveMQ and Camel
Integrating Postgres with ActiveMQ and CamelIntegrating Postgres with ActiveMQ and Camel
Integrating Postgres with ActiveMQ and Camel
 
Delivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with OracleDelivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with Oracle
 
Intel Cloud Foundry and OpenStack
Intel Cloud Foundry and OpenStackIntel Cloud Foundry and OpenStack
Intel Cloud Foundry and OpenStack
 
SamSegalResume
SamSegalResumeSamSegalResume
SamSegalResume
 
Simplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptxSimplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptx
 

More from All Things Open

Building Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityBuilding Reliability - The Realities of Observability
Building Reliability - The Realities of Observability
All Things Open
 
Modern Database Best Practices
Modern Database Best PracticesModern Database Best Practices
Modern Database Best Practices
All Things Open
 
Open Source and Public Policy
Open Source and Public PolicyOpen Source and Public Policy
Open Source and Public Policy
All Things Open
 
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
All Things Open
 
The State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil NashThe State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil Nash
All Things Open
 
Total ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScriptTotal ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScript
All Things Open
 
What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?
All Things Open
 
How to Write & Deploy a Smart Contract
How to Write & Deploy a Smart ContractHow to Write & Deploy a Smart Contract
How to Write & Deploy a Smart Contract
All Things Open
 
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
 Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
All Things Open
 
DEI Challenges and Success
DEI Challenges and SuccessDEI Challenges and Success
DEI Challenges and Success
All Things Open
 
Scaling Web Applications with Background
Scaling Web Applications with BackgroundScaling Web Applications with Background
Scaling Web Applications with Background
All Things Open
 
Supercharging tutorials with WebAssembly
Supercharging tutorials with WebAssemblySupercharging tutorials with WebAssembly
Supercharging tutorials with WebAssembly
All Things Open
 
Using SQL to Find Needles in Haystacks
Using SQL to Find Needles in HaystacksUsing SQL to Find Needles in Haystacks
Using SQL to Find Needles in Haystacks
All Things Open
 
Configuration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit InterceptConfiguration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit Intercept
All Things Open
 
Scaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship ProgramScaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship Program
All Things Open
 
Build Developer Experience Teams for Open Source
Build Developer Experience Teams for Open SourceBuild Developer Experience Teams for Open Source
Build Developer Experience Teams for Open Source
All Things Open
 
Deploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache BeamDeploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache Beam
All Things Open
 
Sudo – Giving access while staying in control
Sudo – Giving access while staying in controlSudo – Giving access while staying in control
Sudo – Giving access while staying in control
All Things Open
 
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML ApplicationsFortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
All Things Open
 
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
All Things Open
 

More from All Things Open (20)

Building Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityBuilding Reliability - The Realities of Observability
Building Reliability - The Realities of Observability
 
Modern Database Best Practices
Modern Database Best PracticesModern Database Best Practices
Modern Database Best Practices
 
Open Source and Public Policy
Open Source and Public PolicyOpen Source and Public Policy
Open Source and Public Policy
 
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
 
The State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil NashThe State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil Nash
 
Total ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScriptTotal ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScript
 
What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?
 
How to Write & Deploy a Smart Contract
How to Write & Deploy a Smart ContractHow to Write & Deploy a Smart Contract
How to Write & Deploy a Smart Contract
 
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
 Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
 
DEI Challenges and Success
DEI Challenges and SuccessDEI Challenges and Success
DEI Challenges and Success
 
Scaling Web Applications with Background
Scaling Web Applications with BackgroundScaling Web Applications with Background
Scaling Web Applications with Background
 
Supercharging tutorials with WebAssembly
Supercharging tutorials with WebAssemblySupercharging tutorials with WebAssembly
Supercharging tutorials with WebAssembly
 
Using SQL to Find Needles in Haystacks
Using SQL to Find Needles in HaystacksUsing SQL to Find Needles in Haystacks
Using SQL to Find Needles in Haystacks
 
Configuration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit InterceptConfiguration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit Intercept
 
Scaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship ProgramScaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship Program
 
Build Developer Experience Teams for Open Source
Build Developer Experience Teams for Open SourceBuild Developer Experience Teams for Open Source
Build Developer Experience Teams for Open Source
 
Deploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache BeamDeploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache Beam
 
Sudo – Giving access while staying in control
Sudo – Giving access while staying in controlSudo – Giving access while staying in control
Sudo – Giving access while staying in control
 
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML ApplicationsFortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
 
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
 

Recently uploaded

Christine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptxChristine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptx
christinelarrosa
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
Safe Software
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
Alex Pruden
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
LizaNolte
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
christinelarrosa
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
Fwdays
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
Ivo Velitchkov
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
DanBrown980551
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 

Recently uploaded (20)

Christine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptxChristine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptx
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 

Open Source Applied - Real World Use Cases

  • 1. 1© 2018 Rogue Wave Software, Inc. All Rights Reserved.
  • 2. 2© 2018 Rogue Wave Software, Inc. All Rights Reserved. Justin Reock Senior director, support & professional services Rogue Wave Software
  • 3. 3© 2018 Rogue Wave Software, Inc. All Rights Reserved. 1. Introduction 2. PupBand: E-commerce website 3. UniTrack: Mobile PaaS 4. HelpingHumans: HPC machine learning 5. Conclusion 6. Q&A
  • 4. 4© 2018 Rogue Wave Software, Inc. All Rights Reserved. OSS is everywhere! • OSS has eaten the world! • Commonly we see businesses of all sizes utilizing open source solutions to decrease time to market and reduce development effort • Anyone with a great idea can build an infrastructure using open source solutions without the financial barriers that existed a decade ago • So how are people in the real world benefitting from open source? • What technologies are they using, and where are they putting them?
  • 5. 5© 2018 Rogue Wave Software, Inc. All Rights Reserved. Who’s using OSS? • Today’s presentation centers around three fictitious companies • Although the architecture and use cases are inspired by our real customers, we’re going to protect their privacy • All of these companies have built a full infrastructure stack using only OSS solutions • We’ll discuss the chosen architecture, point out some pitfalls, and see how these development teams flexed the power of OSS to meet the demands of their businesses
  • 6. 6© 2018 Rogue Wave Software, Inc. All Rights Reserved.
  • 7. 7© 2018 Rogue Wave Software, Inc. All Rights Reserved. E-commerce website PupBand The only online store featuring specialty headbands for dogs! Infrastructure needs • Website front-end • Order processing middleware • Inventory database Technology stack • Apache web server • OpenSSL • PHP • Apache ActiveMQ • Apache Camel • PostgreSQL
  • 8. 8© 2018 Rogue Wave Software, Inc. All Rights Reserved. Selecting the stack Front end • For the front end, the developers knew they needed a robust web framework to work with and a capable web server technology that supports SSL • They looked at Java and PHP and decided on PHP 7. It’s easy to find qualified PHP developers and the storefront didn’t need the overhead that comes with Java EE technologies. • PHP 7 brings a number of significant enhancements, including a huge boost to performance • OpenSSL is the de-facto standard for SSL encryption on the web and compiles easily into Apache Web Server. Since the company collects sensitive payment data, strong SSL is a must! • Nginx was considered, but, the development group was familiar with Apache and chose to implement it for the web server stack To get this project going, PupBand’s IT organization needed to vet out the best open source projects they could find to build their stack
  • 9. 9© 2018 Rogue Wave Software, Inc. All Rights Reserved. Selecting the stack Order processing middleware • Next, the company needed a reliable way of shuffling data between their PHP front-end application and a backend inventory management system, customer communications platform, and fulfillment warehouse • They chose Apache ActiveMQ and Apache Camel • ActiveMQ gave them the flexibility and reliability to integrate their PHP front- end with Camel • Camel ensured that they would have compatibility with all of the backend systems needed to orchestrate their orders
  • 10. 10© 2018 Rogue Wave Software, Inc. All Rights Reserved. Selecting the stack Inventory database • Finally, the developers at PupBand needed a way to store inventory and order data • They knew they needed a flexible and scalable solution, with replication and disaster recovery functions • And the data models they would be building might be fairly complex, integrating customer data, fulfillment data, payment status, and RMA • In the end, they settled on PostgreSQL, a truly FOSS database solution meeting all their needs for performance, reliability, and RDBMS SQL compliance
  • 11. 11© 2018 Rogue Wave Software, Inc. All Rights Reserved. A complete picture
  • 12. 12© 2018 Rogue Wave Software, Inc. All Rights Reserved. Front end • The team deployed on CentOS in the cloud but, when they installed OpenSSL and Apache using the CentOS repository framework, their security scans were alerting them to vulnerabilities • That’s because the newest version of OpenSSL and the newest version of Apache weren’t available to them through CentOS’s repo • They quickly decided to build the newest version of Apache from source, against the newest version of OpenSSL • They removed all legacy SSL protocol versions, and settled on TLS1.2, to keep them protected from Heartbleed and DROWN
  • 13. 13© 2018 Rogue Wave Software, Inc. All Rights Reserved. Middleware tier • The middleware tier was complex, it needed to integrate seamlessly with all the backend systems • At first, the team decided to use the version of Camel that was built into ActiveMQ • ActiveMQ allowed the team to receive events from the PHP front end and to queue those events for processing • But ActiveMQ became overwhelmed quickly when using it’s embedded Camel implementation • The team decided to deploy the Camel routes standalone in a separate Java container, and ActiveMQ’s footprint was reduced significantly
  • 14. 14© 2018 Rogue Wave Software, Inc. All Rights Reserved. The backend • The credit card API used RESTful services • The team built a small webservices layer in front of Postgres, to loosely couple the database • And the fulfillment warehouse made use of traditional SOAP webservices • Using Camel Components, the team was able to find a compatible solution for all of the various integration endpoints they needed to interact with
  • 15. 15© 2018 Rogue Wave Software, Inc. All Rights Reserved. • In the end, the development team at PupBand was able to develop their entire E- commerce solution using community-supported, free, and open source software • The project was not without its challenges and the team had to research and experiment to determine the safest, fastest, and most robust ways of implementing the technology stack they chose • Challenges around versioning, proper deployment, and performance optimization took many cycles and hard work to overcome • But in the end, PupBand was left with an infrastructure free from proprietary commercial licenses, with room to grow • And puppies everywhere rejoiced in their new head gear! Code complete
  • 16. 16© 2018 Rogue Wave Software, Inc. All Rights Reserved.
  • 17. 17© 2018 Rogue Wave Software, Inc. All Rights Reserved. Mobile PaaS Infrastructure needs • API front-end • Scalable event-processing middleware • Location database • Data visualization platform Technology stack • Nginx • Node.js • Docker • Puppet • Apache Cassandra • Apache Spark UniTrack A crowd-sourced platform tracking the movement and migratory patterns of unicorns
  • 18. 18© 2018 Rogue Wave Software, Inc. All Rights Reserved. Selecting the stack API front end • The team selected a combination of Nginx as a web server and Node.js as a development platform • The API was packaged in Docker containers, to allow for elastic auto-scaling of the system • Node.js would allow them strong concurrency and the ability to handle thousands of simultaneous API calls • Docker would allow the API servers to scale based on demand, and Puppet would assist in spinning up new containers and deploying the API code The dev team at UniTrack knew that they needed a lightweight, fast, and concurrent system for receiving location data from millions of mobile clients and presenting the data to subscribers
  • 19. 19© 2018 Rogue Wave Software, Inc. All Rights Reserved. Selecting the stack Event-processing middleware / location database • The team needed a highly concurrent and highly redundant solution to store event and location data that came in through the front-end APIs • The data would be spread across multiple cloud datacenters to allow the best regional connectivity possible, along with disaster recovery features • They chose Apache Cassandra for its easy replication strategy, its ability to store and provide incredibly large datasets, and its performance optimization capabilities • Node.js was integrated directly with Cassandra, to shuttle data from the front-end APIs into the database itself • Puppet integration ensured easy deployment of additional Cassandra nodes in the cloud, as system demand increased
  • 20. 20© 2018 Rogue Wave Software, Inc. All Rights Reserved. Selecting the stack Data visualization • Finally, the team needed a way to make sense of all this location and event data • The large data sets needed to be analyzed • And data visualization needed to be provided to unicorn enthusiasts everywhere via their smartphones • Apache Spark was chosen for its lightning-fast data analytics capabilities • And the GraphX plugin was implemented to visualize the large sets of unicorn tracking data coming in from millions of worldwide users through the smartphone client
  • 21. 21© 2018 Rogue Wave Software, Inc. All Rights Reserved. A complete picture
  • 22. 22© 2018 Rogue Wave Software, Inc. All Rights Reserved. Front-end APIs • The team built Docker containers bundling Nginx with a lightweight node.js application. The learning curve for Node.js proved to be a bottleneck, as traditional JavaScript developers needed to rethink the way they developed • A Puppet master server was built and orchestration for spinning up new containers on-demand was developed. Security became a major concern, as access to the Puppet master server by a malicious user could lead to disastrous consequences
  • 23. 23© 2018 Rogue Wave Software, Inc. All Rights Reserved. Event-processing middleware • Integration of the Node.js containers with Cassandra proved to be easy, using Cassandra’s asynchronous connection drivers for Node.js • The real challenge was building a NoSQL data model that could meet all of their data processing and visualization needs, while remaining fast and responsive • Cassandra’s deployment itself was simple, spinning up nodes in various data centers using Cassandra’s in-built deployment utilities and native replication protocol
  • 24. 24© 2018 Rogue Wave Software, Inc. All Rights Reserved. Visualization and analytics • Spark made it easy to pull in and analyze the vast amounts of data provided by UniTrack’s enormous user base • The biggest challenge lay in determining which of the many client libraries should be used to power Spark • The team could pick from Java, Scala, Python, or R • In the end, Java was selected, and a standalone application was built around the Spark libraries to provide visualization of data via GraphX • GraphX’s output was compressed and standardized for mobile platform consumption
  • 25. 25© 2018 Rogue Wave Software, Inc. All Rights Reserved. • By leveraging the elastic scale and microservice capabilities of Docker and Node.js, the team was able to build a highly concurrent architecture capable of servicing thousands of requests a second • The choice for Cassandra as a persistence backend proved wise, as the development team was able to scale the Cassandra implementation into multiple regional datacenters, and service the huge amount of traffic input by the front-end APIs • Puppet worked well in detecting increases in load, and elastically scaling the API containers on demand • Spark and GraphX allowed the application to make sense of the huge amount of data, and provide visual analysis to mobile clients • Though so far all unicorn location claims have proven spurious, the UniTrack community feels confident that with the powerful platform they have built, it is only a matter of time before a real live unicorn is discovered and captured Code complete
  • 26. 26© 2018 Rogue Wave Software, Inc. All Rights Reserved.
  • 27. 27© 2018 Rogue Wave Software, Inc. All Rights Reserved. HPC machine learning HelpingHumans Advancing human society through artificial intelligence and robot sentience Infrastructure needs • Multi-platform data gathering automation • Redundant storage and analytics • Dashboard front-end Technology stack • Apache Camel • Apache Cassandra • Kubernetes • TensorFlow • AngularJS
  • 28. 28© 2018 Rogue Wave Software, Inc. All Rights Reserved. Selecting the stack Multi-platform data gathering • The secret development group responsible for building the platform knew they would need a framework capable of gathering data from hundreds of potential sources • The platform needed to be capable of querying CDC data, military intelligence, social media, human history, and more • Apache Camel was chosen to act as a central data gathering platform for pulling unstructured data from multiple, disparate sources • Camel’s huge component library would allow for this kind of flexibility, while developing against a standard, domain-specific language and reducing boilerplate code In order to assist the human race in performing useful tasks, the machines must be capable of learning as much as they can about our species
  • 29. 29© 2018 Rogue Wave Software, Inc. All Rights Reserved. Selecting the stack Redundant storage and analytics • Once the data had been gathered, the dev group knew that they would need a redundant storage system capable of quickly writing and reading a gigantic amount of data • And once that data was gathered, a machine learning analytics library was necessary to normalize all that data and understand human activities, capabilities, and behavior • Apache Cassandra would be capable of storing all the data • And the open source TensorFlow machine learning framework could help in building learning patterns to make sense of all the disparate data
  • 30. 30© 2018 Rogue Wave Software, Inc. All Rights Reserved. Selecting the stack Dashboard front-end • The team needed a way to take data processed by TensorFlow and pushed back into Cassandra, and build a useful dashboard to check the progress of various learning initiatives • The dashboard needed to be lightweight and cross-browser compatible • It also needed a relatively low learning curve, since the bulk of the development work would be spent on the learning and analytics engine • The team decided on AngularJS, which allows a full MVC framework, reusable components, and a low learning curve for developers who already understand JavaScript
  • 31. 31© 2018 Rogue Wave Software, Inc. All Rights Reserved. Selecting the stack Container orchestration • Both the Camel data-gathering components and the TensorFlow analytics needed to be deployed in such a way that they could be easily scaled up to provide concurrent gathering and processing of data • Ultimately, the architecture would contain thousands of individual containers operating in concert • For this, orchestration of Docker through Puppet was simply not sophisticated enough, so the team implemented Kubernetes to provide a full management platform for their large container infrastructure • Service discovery, monitoring, and deployment would all be provided by the Kubernetes management engine
  • 32. 32© 2018 Rogue Wave Software, Inc. All Rights Reserved. A complete picture
  • 33. 33© 2018 Rogue Wave Software, Inc. All Rights Reserved. Multi-platform data gathering • Camel allowed the HelpingHumans team to source data from the hundreds of various data sources they wished to pull from • Initially, the development team thought it best to deploy Camel inside of a Tomcat container and then contained inside of Docker • Ultimately this solution had just too much overhead, and multiple instances of Tomcat were found to be redundant when deployed in a containerized infrastructure • The Dev team chose to build standalone Camel applications running per container and the system was much more efficient
  • 34. 34© 2018 Rogue Wave Software, Inc. All Rights Reserved. Redundant storage and analytics • It turned out TensorFlow was a great starting point for the type of machine learning the HelpingHumans Dev team wanted to implement but there was functionality missing that was critical to their work • Ultimately they leveraged the power of FOSS by modifying the source code of TensorFlow and spinning off their own internal branch • And, in the spirit of their altruistic mission, the dev team offered these enhancements back to the TensorFlow community
  • 35. 35© 2018 Rogue Wave Software, Inc. All Rights Reserved. Orchestration and dashboarding • Kubernetes forced the development team at HelpingHumans to change the way they thought about containerized deployment and microservice management • After the paradigm shift was complete, the team ended up with an amazing elastically-scaling architecture that was able to meet the high demands their data gathering and analytics needed • AngularJS proved easy to learn and highly functional, and integrated well with Cassandra • Ultimately a lot of the visualization work was offloaded to backend servers, though, with Angular acting as a proxy, since the client-side limitations of Angular limited the analysis of the data
  • 36. 36© 2018 Rogue Wave Software, Inc. All Rights Reserved. • By leveraging powerful open source frameworks, the HelpingHumans team was able to develop a sophisticated engine for learning new ways to analyze human needs and behaviors • Advanced container management through Kubernetes allowed for the complex orchestration necessary to elastically scale their Camel and TensorFlow based applications • And Cassandra’s high performance big data storage allowed HelpingHumans to efficiently store all the data they gathered from hundreds of sources • Human civilization as we know it ended roughly six months after deployment Code complete
  • 37. 37© 2018 Rogue Wave Software, Inc. All Rights Reserved.
  • 38. 38© 2018 Rogue Wave Software, Inc. All Rights Reserved. Support from a group like the OSS Support team at Rogue Wave can ensure that what you implement works well, stays available, and is scaled for growth Conclusion You can safely build an entire IT infrastructure on FOSS technologies, if you make disciplined decisions surrounding the choice of technology and the practices of development, implementation, and deployment Careful vetting can help you ensure that the packages you choose truly meet your use case There is a ton of open source available to you, but certain applications and projects will rise to the top based on their maturity, the strength of their communities, and their reactiveness to bug fixes and vulnerabilities
  • 39. 39© 2018 Rogue Wave Software, Inc. All Rights Reserved.
  • 40. 40© 2018 Rogue Wave Software, Inc. All Rights Reserved.