See how Southern Glazer’s Wine & Spirits architected their system to deliver a better search and ordering experience, plus how they centrally manage all Elasticsearch deployments on Elastic Cloud Enterprise.
Better Search and Business Analytics at Southern Glazer’s Wine & Spirits
1. 1
Better Search and Business Analytics at Southern Glazer’s
Wine & Spirits
Alvaro Cabrera
January, 22, 2019
2. 2
SGWS
We are the world's pre-eminent distributor of beverage alcohol,
and proud to be a multi-generational, family-owned company.
• 22 Thousand Employees in North America and the
Caribbean
• 12.5 Million square feet in Warehouse Space
• 2700 Trucks in our Fleet
• 18 Billion in revenue estimated by Forbes Magazine 2017
3. 3
Alvaro Cabrera
• Principal Infrastructure and Platforms
Engineer
• 18 Years in Information Systems
• Vast Experience on Virtualization and Cloud
Technologies
• Specialize in Enterprise Data Center
buildouts, web farms and main platform tools
4. 4
The Problem:
o - Growing organization
o - Multiple Mergers over the years
growing by acquisition
o - How do we aggregate the sales data in
to one tool?
o - Real time upgrades to Elastic take too
long
o - Mission Critical Application
5. 5
History of our
Index
• Preceding having Elastic Search,
Application access was limited to AS 400
Screens and Internal .Net Browser based
application
• Reporting was limited to SQL SSIS jobs
• Performance was poor
• limited remote access no external users
• No aggregation of data from new
acquisitions
6. 6
ELK to The Rescue 1st pass
• Elastic 2.2.4 cluster
• 3 RHEL 6.4 cluster nodes
• Default install / no support
• 1st time index creation
• 1St time template creation
• Index finally aggregated data from
Southern Wine SQL, AS-400 One
Source and Glazers
• Better performance
• Enable IOS users for application
redesign
• Default template and multiple
chards
8. 8
Enter the Elastic Cloud Enterprise
• A need to be able to upgrade Elastic quickly
• Able to generate test environments on the fly
• Able to grow cluster in seconds not days
• Dev team can test code faster
• Revised index creation from API
• Integration to active directory for added security
• NLB ECE
• SSL certificate management and deployment for
ECE and Elastic clusters
• Reduced shards to indexes and index templates
to optimize user experience and search results
9. 9
Design Considerations for ECE
How we did it.
• Must be able to Scale out quickly
• Least amount of administrative management overhead
• On premise or on the cloud
• Identify systems to integrate and consume the data
• AIX-AS400
• MS-SQL
• SAP- Hybris
• Salesforce
• IIS Server
• SQL Server
• Virtualization platform VMWare
• Virtual hardware
• Virtual environment configuration
• OS must be RHEL
• Network Load balancing
• SSL certs
• Authentication and SSO
13. 13
Virtual Environment Configuration
Core of the Virtual Machine
Option 2
Considerations
CPU Numa Count
ISCI selection
Disk and Lun selection (SSD)
Hot ADD CPU, Ram
OS RHEL7
Use LVM for dedicated storage
of ECE
OS Patch freeze on critical
components to ECE.
14. 14
The Cluster
One Cluster to rule them all
• 6 nodes
• 12 vCpu per node
• 128 Gb ram
• 2Tb disk per node
• 1 elastic cluster for our
application
• 1 elastic cluster for all web server
logs
18. 18
The API
The core of our implementation is a central API that processes
all
• Index creation
• Data aggregation
• Data request
• Query and item search
• Authentication SSO
• Pricing quotes
• Ordering
• Client management (CRM)
21. 21
Oauth 2.0 Credential Flow for internal clients
1. Request Access Token Sends
ID and secret
2. Returned Access Token
3. Order price request with above
info
4. Price quote from app
22. 22
Gigya Authentication
process
Gigya is an SAP IDP used with SAP
Hybris
1. SAML SSO token from SP
2. Gigya endpoint redirect to proxy
page
3. User is Logged in! force auth
request
4. Redirect to Partner logging url
5. User successful logging
6. Gigya returns a SAML assertion
to the SP
24. 24
Our Results so Far!
• Faster builds of Elastic Clusters
• Enable dev ops teams
• A stable system that is able to be failure tolerant
and distributed
• Quicker upgrades OF ECE no downtime
• Quicker upgrades of Elastic and Kibana on the
fly
• Expand and Upgrade Elastic Cluster nodes on
the fly
• Easy to deploy and manage