SlideShare a Scribd company logo
1 of 42
Download to read offline
2 
We make the 
world’s capital markets 
move faster 
more efficient 
more transparent 
Public company in S&P 500 
Develop and run 
markets globally in 
all asset classes 
We provide technology, trading, intelligence and listing services 
Intense Operational Focus on Efficiency 
and Competitiveness 
We provide the infrastructure, tools and strategic insight to help our customers navigate the complexity of global capital markets and realize their capital ambitions. 
Get to know us 
We have uniquely transformed our business from predominately a U.S. equities exchange to a global provider of corporate, trading, technology and information solutions.
3 
LEADING INDEX PROVIDER WITH 
41,000+ INDEXES 
ACROSS ASSET CLASSES AND GEOGRAPHIES 
Over 10,000 Corporate Clients in 
60 countries 
Our technology powers over 
70 MARKETPLACES, regulators, CSDs and clearing- houses 
in over 
50 COUNTRIES 
100+ DATA 
PRODUCT OFFERINGS 
supporting 2.5+ million 
investment professionals and users 
IN 98 COUNTRIES 
26Markets 
3 Clearing Houses 
5Central Securities Depositories 
Lists more than 3,500 
companies in 35 countries, representing more than $8.8 trillionin total market value
Our warehouse can be used to analyze market share, client activity, surveillance, power our billing, and more…
•A quality of an action such that repetitions of the action have no further effect on outcome 
–In other words, f(x) = f(f(x)) = f(f(f(x))), etc. 
•Ingest process is designed as a workflow engine with each step in each workflow being idempotent. 
•Failures are easily recovered by repeating the failed step after resolving the root cause of any failure.
•Use a manifest file inside a transaction with a table lock, and keep a record of completed ingests 
•If the S3 COPY (insert) fails, rollback the transaction 
•If the insert succeeds, write a record of the completed ingest, and commit the transaction 
•Idempotence: start transaction, lock destination table, check for prior successful ingest, and only start insert if data hasn’t already been loaded today
•Pay close attention to the mandatory flag! 
•Redshift UNLOAD always sets this to false!!!
•TableIngestStatus 
–We originally put this table in Redshift itself 
–Turns out Redshift is not efficient on really small data sets 
–Significantly impacted performance, and increased concurrency contention 
•Solution: Moved TableIngestStatusto a separate transactional RDBMS (MySQL) 
–We were already using a MySQL instance to persist workflow states
•Multiple layers of security 
–Direct Connect (private lines) 
–VPC 
–HTTPS/SSL/TLS (Encryption in flight) 
–AES-256 (Encryption at rest in S3) 
–Redshift encryption (Encryption at rest in Redshift) 
–HSM integration (Redshift master key managed on premise) 
–CloudTrail/STL_CONNECTION_LOG to monitor for unauthorized DB connections
•Direct Connect 
–No company data travels over internet circuits 
•VPC 
–Isolate our Redshift servers from other tenets/internet connectivity 
–Security Groups restrict inbound/outbound connectivity
•All AWS API calls are made over HTTPS 
•All Redshift JDBC connections must use SSL/TLS 
–Parameter Group: require_ssl= true 
–Use Redshift cluster SSL certificate to verify cluster identity 
•See http://docs.aws.amazon.com/redshift/latest/mgmt/connecting-ssl- support.htmlfor details
•All Redshift load files staged in S3 are AES-256 encrypted (client side, not S3 SSE) 
–Key is provided to Redshift in the S3 COPY command: 
•Enable cluster encryption on Redshift 
–Only specified during cluster creation, cannot be changed 
–Applies to backups/snapshots as well 
–Performance penalty, but not optional for Nasdaq 
copy nbbofrom 's3://my_ingest/2014-09-17/nbbo.manifest' 
credentials 'aws_access_key_id=<access-key-id>; 
aws_secret_access_key=<secret-access-key>;master_symmetric_key=<master_key>' 
manifest encrypted gzip;
•Redshift will store the cluster key in a singlecustomer premise HSM (or CloudHSM) 
–SafeNetLuna SA HSM, firmware version should match CloudHSM 
–Requires certificate exchange between cluster and HSM 
–Requires cluster have an EIP 
•On our side, required static 1-to-1 NAT of HSM private IP 
•VPC Security Groups still apply; can still isolate cluster from others 
–Encrypted database key decrypted in HSM, passed over encrypted channel to cluster on startup, stored in memory to decrypt data encryption (block) keys 
–If running an HSM HA group, must synchronize keys after creation
•HSM integration was critical to Nasdaqadoption 
•Monitor cluster access, react to any unauthorized connections 
–STL_CONNECTION_LOG 
•Query system table on a timed basis, alert to any unexpected access 
–CloudTrailto SplunkRedshift connection & user logs 
•Captures all API calls, not activity inside Redshift 
–STL_DDLTEXT 
•Audits all schema changes in the cluster 
•In response to an alert, Redshift/HSM connectivity is severed, and cluster is immediately shut down
•With validation, data integrity, and security requirements met, the challenge remains to optimize ingest 
•Why? 
–Concurrency is a huge performance factor; can’t afford to be loading yesterday’s data when clients are running queries
- 
20 
40 
60 
80 
100 
120 
140 
1 
2 
4 
6 
8 
10 
12 
14 
16 
18 
Throughput (MB/sec) 
Concurrent Threads 
S3 (over HTTPS) Multithreaded Throughput
On premise 
AWS Regional (Multi-AZ) Scope 
AWS (US-East, primary AZ/VPC) 
S3 
SNS 
Redshift Database Cluster 
HSM Key Appliance Cluster 
MySQL 
Redshift Load files/ Manifests 
Redshift Snapshots/ Backups 
Data Loaded Topic 
RMS Input Sources (multiple systems) 
Data Ingest Process
Please give us your feedback on this session. 
Complete session evaluations and earn re:Invent swag. 
http://bit.ly/awsevals

More Related Content

Viewers also liked

Role-based Access Control on AWS
Role-based Access Control on AWSRole-based Access Control on AWS
Role-based Access Control on AWSFreeman Zhang
 
AWS Partner Webcast - Use Your AWS CloudTrail Data and Splunk Software To Imp...
AWS Partner Webcast - Use Your AWS CloudTrail Data and Splunk Software To Imp...AWS Partner Webcast - Use Your AWS CloudTrail Data and Splunk Software To Imp...
AWS Partner Webcast - Use Your AWS CloudTrail Data and Splunk Software To Imp...Amazon Web Services
 
Strategic Approaches to AWS Enterprise Application Migration
Strategic Approaches to AWS Enterprise Application MigrationStrategic Approaches to AWS Enterprise Application Migration
Strategic Approaches to AWS Enterprise Application MigrationAmazon Web Services
 
What Makes Migrating to the Cloud Different Than On-Premises
What Makes Migrating to the Cloud Different Than On-PremisesWhat Makes Migrating to the Cloud Different Than On-Premises
What Makes Migrating to the Cloud Different Than On-PremisesChristian Buckley
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersAmazon Web Services
 
Deploy, Scale and Manage your Microsoft Investments with AWS
Deploy, Scale and Manage your Microsoft Investments with AWSDeploy, Scale and Manage your Microsoft Investments with AWS
Deploy, Scale and Manage your Microsoft Investments with AWSAmazon Web Services
 
(ADV303) MediaMath’s Data Revolution with Amazon Kinesis and Amazon EMR | AWS...
(ADV303) MediaMath’s Data Revolution with Amazon Kinesis and Amazon EMR | AWS...(ADV303) MediaMath’s Data Revolution with Amazon Kinesis and Amazon EMR | AWS...
(ADV303) MediaMath’s Data Revolution with Amazon Kinesis and Amazon EMR | AWS...Amazon Web Services
 
(SEC312) Taking a DevOps Approach to Security | AWS re:Invent 2014
(SEC312) Taking a DevOps Approach to Security | AWS re:Invent 2014(SEC312) Taking a DevOps Approach to Security | AWS re:Invent 2014
(SEC312) Taking a DevOps Approach to Security | AWS re:Invent 2014Amazon Web Services
 
Running your First Application on AWS
Running your First Application on AWSRunning your First Application on AWS
Running your First Application on AWSAmazon Web Services
 
(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...
(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...
(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...Amazon Web Services
 
Storage and Archiving Options on AWS
Storage and Archiving Options on AWS Storage and Archiving Options on AWS
Storage and Archiving Options on AWS Amazon Web Services
 
AWS Activate Webinar - Improving customer experience & growing addressable m...
AWS Activate Webinar  - Improving customer experience & growing addressable m...AWS Activate Webinar  - Improving customer experience & growing addressable m...
AWS Activate Webinar - Improving customer experience & growing addressable m...Amazon Web Services
 
(ENT203) Iterating Your Way To 95% Reserved Instance Usage | AWS re:Invent 2014
(ENT203) Iterating Your Way To 95% Reserved Instance Usage | AWS re:Invent 2014(ENT203) Iterating Your Way To 95% Reserved Instance Usage | AWS re:Invent 2014
(ENT203) Iterating Your Way To 95% Reserved Instance Usage | AWS re:Invent 2014Amazon Web Services
 

Viewers also liked (13)

Role-based Access Control on AWS
Role-based Access Control on AWSRole-based Access Control on AWS
Role-based Access Control on AWS
 
AWS Partner Webcast - Use Your AWS CloudTrail Data and Splunk Software To Imp...
AWS Partner Webcast - Use Your AWS CloudTrail Data and Splunk Software To Imp...AWS Partner Webcast - Use Your AWS CloudTrail Data and Splunk Software To Imp...
AWS Partner Webcast - Use Your AWS CloudTrail Data and Splunk Software To Imp...
 
Strategic Approaches to AWS Enterprise Application Migration
Strategic Approaches to AWS Enterprise Application MigrationStrategic Approaches to AWS Enterprise Application Migration
Strategic Approaches to AWS Enterprise Application Migration
 
What Makes Migrating to the Cloud Different Than On-Premises
What Makes Migrating to the Cloud Different Than On-PremisesWhat Makes Migrating to the Cloud Different Than On-Premises
What Makes Migrating to the Cloud Different Than On-Premises
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users
 
Deploy, Scale and Manage your Microsoft Investments with AWS
Deploy, Scale and Manage your Microsoft Investments with AWSDeploy, Scale and Manage your Microsoft Investments with AWS
Deploy, Scale and Manage your Microsoft Investments with AWS
 
(ADV303) MediaMath’s Data Revolution with Amazon Kinesis and Amazon EMR | AWS...
(ADV303) MediaMath’s Data Revolution with Amazon Kinesis and Amazon EMR | AWS...(ADV303) MediaMath’s Data Revolution with Amazon Kinesis and Amazon EMR | AWS...
(ADV303) MediaMath’s Data Revolution with Amazon Kinesis and Amazon EMR | AWS...
 
(SEC312) Taking a DevOps Approach to Security | AWS re:Invent 2014
(SEC312) Taking a DevOps Approach to Security | AWS re:Invent 2014(SEC312) Taking a DevOps Approach to Security | AWS re:Invent 2014
(SEC312) Taking a DevOps Approach to Security | AWS re:Invent 2014
 
Running your First Application on AWS
Running your First Application on AWSRunning your First Application on AWS
Running your First Application on AWS
 
(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...
(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...
(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...
 
Storage and Archiving Options on AWS
Storage and Archiving Options on AWS Storage and Archiving Options on AWS
Storage and Archiving Options on AWS
 
AWS Activate Webinar - Improving customer experience & growing addressable m...
AWS Activate Webinar  - Improving customer experience & growing addressable m...AWS Activate Webinar  - Improving customer experience & growing addressable m...
AWS Activate Webinar - Improving customer experience & growing addressable m...
 
(ENT203) Iterating Your Way To 95% Reserved Instance Usage | AWS re:Invent 2014
(ENT203) Iterating Your Way To 95% Reserved Instance Usage | AWS re:Invent 2014(ENT203) Iterating Your Way To 95% Reserved Instance Usage | AWS re:Invent 2014
(ENT203) Iterating Your Way To 95% Reserved Instance Usage | AWS re:Invent 2014
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Recently uploaded

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 

Recently uploaded (20)

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 

(FIN401) Seismic Shift: Nasdaq's Migration to Amazon Redshift | AWS re:Invent 2014

  • 1.
  • 2. 2 We make the world’s capital markets move faster more efficient more transparent Public company in S&P 500 Develop and run markets globally in all asset classes We provide technology, trading, intelligence and listing services Intense Operational Focus on Efficiency and Competitiveness We provide the infrastructure, tools and strategic insight to help our customers navigate the complexity of global capital markets and realize their capital ambitions. Get to know us We have uniquely transformed our business from predominately a U.S. equities exchange to a global provider of corporate, trading, technology and information solutions.
  • 3. 3 LEADING INDEX PROVIDER WITH 41,000+ INDEXES ACROSS ASSET CLASSES AND GEOGRAPHIES Over 10,000 Corporate Clients in 60 countries Our technology powers over 70 MARKETPLACES, regulators, CSDs and clearing- houses in over 50 COUNTRIES 100+ DATA PRODUCT OFFERINGS supporting 2.5+ million investment professionals and users IN 98 COUNTRIES 26Markets 3 Clearing Houses 5Central Securities Depositories Lists more than 3,500 companies in 35 countries, representing more than $8.8 trillionin total market value
  • 4.
  • 5. Our warehouse can be used to analyze market share, client activity, surveillance, power our billing, and more…
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. •A quality of an action such that repetitions of the action have no further effect on outcome –In other words, f(x) = f(f(x)) = f(f(f(x))), etc. •Ingest process is designed as a workflow engine with each step in each workflow being idempotent. •Failures are easily recovered by repeating the failed step after resolving the root cause of any failure.
  • 14. •Use a manifest file inside a transaction with a table lock, and keep a record of completed ingests •If the S3 COPY (insert) fails, rollback the transaction •If the insert succeeds, write a record of the completed ingest, and commit the transaction •Idempotence: start transaction, lock destination table, check for prior successful ingest, and only start insert if data hasn’t already been loaded today
  • 15. •Pay close attention to the mandatory flag! •Redshift UNLOAD always sets this to false!!!
  • 16.
  • 17. •TableIngestStatus –We originally put this table in Redshift itself –Turns out Redshift is not efficient on really small data sets –Significantly impacted performance, and increased concurrency contention •Solution: Moved TableIngestStatusto a separate transactional RDBMS (MySQL) –We were already using a MySQL instance to persist workflow states
  • 18. •Multiple layers of security –Direct Connect (private lines) –VPC –HTTPS/SSL/TLS (Encryption in flight) –AES-256 (Encryption at rest in S3) –Redshift encryption (Encryption at rest in Redshift) –HSM integration (Redshift master key managed on premise) –CloudTrail/STL_CONNECTION_LOG to monitor for unauthorized DB connections
  • 19. •Direct Connect –No company data travels over internet circuits •VPC –Isolate our Redshift servers from other tenets/internet connectivity –Security Groups restrict inbound/outbound connectivity
  • 20. •All AWS API calls are made over HTTPS •All Redshift JDBC connections must use SSL/TLS –Parameter Group: require_ssl= true –Use Redshift cluster SSL certificate to verify cluster identity •See http://docs.aws.amazon.com/redshift/latest/mgmt/connecting-ssl- support.htmlfor details
  • 21. •All Redshift load files staged in S3 are AES-256 encrypted (client side, not S3 SSE) –Key is provided to Redshift in the S3 COPY command: •Enable cluster encryption on Redshift –Only specified during cluster creation, cannot be changed –Applies to backups/snapshots as well –Performance penalty, but not optional for Nasdaq copy nbbofrom 's3://my_ingest/2014-09-17/nbbo.manifest' credentials 'aws_access_key_id=<access-key-id>; aws_secret_access_key=<secret-access-key>;master_symmetric_key=<master_key>' manifest encrypted gzip;
  • 22. •Redshift will store the cluster key in a singlecustomer premise HSM (or CloudHSM) –SafeNetLuna SA HSM, firmware version should match CloudHSM –Requires certificate exchange between cluster and HSM –Requires cluster have an EIP •On our side, required static 1-to-1 NAT of HSM private IP •VPC Security Groups still apply; can still isolate cluster from others –Encrypted database key decrypted in HSM, passed over encrypted channel to cluster on startup, stored in memory to decrypt data encryption (block) keys –If running an HSM HA group, must synchronize keys after creation
  • 23. •HSM integration was critical to Nasdaqadoption •Monitor cluster access, react to any unauthorized connections –STL_CONNECTION_LOG •Query system table on a timed basis, alert to any unexpected access –CloudTrailto SplunkRedshift connection & user logs •Captures all API calls, not activity inside Redshift –STL_DDLTEXT •Audits all schema changes in the cluster •In response to an alert, Redshift/HSM connectivity is severed, and cluster is immediately shut down
  • 24. •With validation, data integrity, and security requirements met, the challenge remains to optimize ingest •Why? –Concurrency is a huge performance factor; can’t afford to be loading yesterday’s data when clients are running queries
  • 25.
  • 26. - 20 40 60 80 100 120 140 1 2 4 6 8 10 12 14 16 18 Throughput (MB/sec) Concurrent Threads S3 (over HTTPS) Multithreaded Throughput
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33. On premise AWS Regional (Multi-AZ) Scope AWS (US-East, primary AZ/VPC) S3 SNS Redshift Database Cluster HSM Key Appliance Cluster MySQL Redshift Load files/ Manifests Redshift Snapshots/ Backups Data Loaded Topic RMS Input Sources (multiple systems) Data Ingest Process
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42. Please give us your feedback on this session. Complete session evaluations and earn re:Invent swag. http://bit.ly/awsevals