Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Amazon S3 Chicago 2025-06-04
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
sullis
June 04, 2025
Programming
0
120
Amazon S3 Chicago 2025-06-04
Chicago Java User Group (CJUG)
June 4 2025
sullis
June 04, 2025
Tweet
Share
More Decks by sullis
See All by sullis
Dependency Management for Java - Seattle 2025-11-18
sullis
0
18
Dependency Management for Java - Portland - 2025-11-04
sullis
0
15
Dependency management for Java applications 2025-09-11
sullis
0
24
S3 NYC Iceberg meetup 2025-07-10
sullis
0
50
Amazon S3 Boston 2025-05-07
sullis
0
91
Netty ConFoo Montreal 2025-02-27
sullis
0
130
GitHub Actions ConFoo Montreal 2025-02-26
sullis
0
92
Netty Portland Java User Group 2025-02-18
sullis
0
30
Amazon S3 NYJavaSIG 2024-12-12
sullis
0
210
Other Decks in Programming
See All in Programming
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
1.3k
.NET Conf 2025 の興味のあるセッ ションを復習した / dotnet conf 2025 quick recap for backend engineer
tomohisa
0
120
2年のAppleウォレットパス開発の振り返り
muno92
PRO
0
190
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
350
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
150
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
0
680
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
2.4k
CSC307 Lecture 06
javiergs
PRO
0
670
Implementation Patterns
denyspoltorak
0
270
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
5.8k
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
2.6k
Fluid Templating in TYPO3 14
s2b
0
110
Featured
See All Featured
The Invisible Side of Design
smashingmag
302
51k
The untapped power of vector embeddings
frankvandijk
1
1.5k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
What's in a price? How to price your products and services
michaelherold
247
13k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
300
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
69
Discover your Explorer Soul
emna__ayadi
2
1.1k
Rails Girls Zürich Keynote
gr2m
96
14k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
160
Transcript
Amazon S3 Sean Sullivan Chicago Java User Group June 4,
2025
S3
None
Amazon S3 AWS re:Invent 2024 AWS SDK Hawley-Smoot Tariff Act
“Simple Storage Service” Launched on March 14, 2006
S3 is an object storage service with an HTTP REST
API
Amazon S3 “There is a frontend fl eet with a
REST API, a namespace service, a storage fl eet that’s full of hard disks, and a fl eet that does background operations.” https://www.allthingsdistributed.com/2023/07/building-and-operating-a-pretty-big-storage-system.html
Amazon S3 Buckets Objects
S3 core concepts An Amazon S3 object represents a fi
le or collection of data Every object must reside within a bucket
S3 bucket types General purpose buckets Directory buckets Table buckets
S3 directory buckets With S3 Express One Zone, data is
stored in a different bucket type — an S3 directory bucket — which can support up to 2 million requests per second aws.amazon.com
Structured Data Unstructured Data S3
Open table formats
None
Iceberg table format
November 2024
org.apache.iceberg.aws.s3.S3FileIO
None
AWS re:Invent 2024 S3 Tables S3 Metadata
AWS re:Invent 2024 fully managed Iceberg tables
AWS re:Invent 2024 “Table buckets”
AWS re:Invent 2024 Iceberg tables as fi rst-class AWS resources
AWS re:Invent 2024
AWS re:Invent 2024 pom.xml
AWS re:Invent 2024 automatic generation of metadata that is captured
when S3 objects are added or modi fi ed stored in fully managed Apache Iceberg tables
S3 bucket names an Amazon S3 bucket name is globally
unique the namespace is shared by all AWS accounts
S3 pricing https://aws.amazon.com/s3/pricing/ “You pay for storing objects in your
S3 buckets. The rate you’re charged depends on your objects' size, how long you stored the objects during the month, and the storage class”
S3 storage classes https://aws.amazon.com/s3/storage-classes/ “Amazon S3 o ff ers a
range of storage classes that you can choose from based on the performance, data access, resiliency, and cost requirements of your workloads.”
S3 storage classes https://aws.amazon.com/s3/storage-classes/ Standard Intelligent Tiering Express One Zone
… and many others
Storage class choice matters https://www.youtube.com/watch?v=RxgYNrXPOLw
S3 REST API 3314 pages
S3 operations Upload object List objects Download object Copy Move
Delete
using S3 in a Java application
AWS SDK for Java v1 AWS SDK for Java v2
AWS SDK for Kotlin
AWS SDK for Java v1 https://aws.amazon.com/blogs/developer/announcing-end-of-support-for-aws-sdk-for-java-v1-x-on-december-31-2025/
Open source SDK’s
AWS SDK for Java v2 pom.xml
AWS SDK for Java v2 pom.xml
AWS SDK for Java v2 : HTTP clients Apache Client
Netty Client CRT Client
AWS SDK for Java v2: CRT client pom.xml
CRT @ AWS re:Invent 2024 https://youtu.be/2DSVjJTRsz8?t=833
Iceberg S3_CRT_ENABLED
Di ff erent fl avors of S3 clients Async Sync
how to create an S3 bucket?
Creating an S3 bucket AWS Console UI AWS CLI AWS
SDK CloudFormation AWS CDK Terraform Pulumi Infrastructure as Code Other
CloudFormation
Pulumi
testing S3 locally Localstack MinIO Adobe S3Mock Testcontainers Testcontainers Testcontainers
S3 with MinIO S3MinioTest.java
how to upload an object? PutObjectRequest
how to retrieve an object? GetObjectRequest
how to upload large objects? CreateMultipartUploadRequest
parallel uploads? S3TransferManager
Iceberg @ Net fl ix 2018 June 2018 https://www.youtube.com/watch?v=nWwQMlrjhy0 S3
AWS re:Invent 2023 Ryan Blue
AWS re:Invent 2023
AWS re:Invent 2023 “Too many small fi les are a
problem”
Apache Iceberg project https://github.com/apache/iceberg
Iceberg pull request https://github.com/apache/iceberg/pull/11349
S3 Conditional Writes https://aws.amazon.com/about-aws/whats-new/2024/08/amazon-s3-conditional-writes/ Conditional writes can ensure there is
no existing object with the same key name in you bucket during PUT operations
S3 bucket permissions https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleCon fi guration.html By default, all Amazon
S3 resources are private, including buckets, objects, and related subresources
S3 performance considerations?
S3 performance https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance.html "your application can achieve at least 3,500
PUT/COPY/POST/DELETE or 5,500 GET/HEAD requests per second per partitioned Amazon S3 pre fi x”
S3 performance https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance.html "There are no limits to the number
of pre fi xes in a bucket. You can increase your read or write performance by using parallelization”
S3 performance https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance.html “While Amazon S3 is scaling to your
new higher request rate, you may see some 503 (Slow Down) errors.” “These errors will dissipate when the scaling is complete.”
Kafka and S3
WarpStream November 2023 September 2024
WarpStream
Diskless Kafka https://aiven.io/blog/diskless-kafka-is-the-tide-and-its-rising
KIP-1150
KIP-1150 “Apache Kafka is often operated in cloud hyperscaler environments
where high-reliability object storage is available and more cost- effective than block storage for equivalent workloads.”
Exiting S3
37 Signals : S3 Exit
37 Signals : S3 Exit
37 Signals : S3 Exit
37 Signals : S3 Exit May 2025
Data transfer
Final thoughts
KubeCon November 2024
re:Invent December 2024
Questions?
Thank you!
S3 resources
AWS re:Invent 2024
AWS re:Invent 2024
AWS re:Invent 2024
AWS re:Invent 2024
AWS re:Invent 2024
AWS re:Invent 2024
Bonus content
None