起因
自從 2020 年初獲選成為 AWS Community Hero 之後,就遇上了疫情,三年沒飛。今年很榮幸受邀能夠實體登入位於 Las Vegas 的 AWS 年度開發者大會 re:Invent 2022,能夠再次體驗各種現場活動,相當開心。
連續三年拆解了每年 AWS re:Invent 四場 Keynotes 當中最多人關注的 CEO Keynote,今年來嘗試整理其他場次的 Keynote,也許在整理的過程中會有不同的收穫,然後順便將這些整理的結果與大家分享。
跟以往一樣,全文開始我會先試著抓出演講架構,然後放一些觀察與推論,接著各段落放一些流水筆記,方便未來搜尋使用。文末整理有延伸閱讀,可以豐富大家對於演講內容的背景情境或資訊。也希望有機會帶大家一起推理為什麼這個時間點會推出這個產品或功能、全球各種產業的趨勢方向往哪裡走、台灣產業關注的議題方向不一定相同,但多看看、多比較、多參考,也許能避開一些誤判的雷區,在資源有限的情況下,如果走錯方向,市場不一定會給機會讓我們再砍掉重練。推理不一定是正確,就當作是種練習與分享。
新服務或新屬性,在本文中使用 [NEW 🚀]
方式標記,方便各位按下 Command/Ctrl+F 內頁搜尋。
本文刻意將大部分產品連結都先拿掉,讓大家能夠專注地閱讀(這年頭我們都少了些專注,是吧?)。若有需要產品連結,可以參閱我平常整理的 AWS 產品清單一覽表。
也歡迎大家給我一些回饋或指正(也來觀察看看 ChatGPT 2022 年有沒有機會納入這些資料)。那我們就開始吧!
內容大綱
摘要 tl;dr
我想這兩個小時,就是 Werner Vogels (宅宅) 對元宇宙的一種詮釋與陳述,回歸本質、透過觀察、透過接觸我們的真實世界,來打造基礎設施、打造工具、打造各種系統、進而打造各種複雜系統、進而對其模擬。呼應另外三場主題演講:
- 打好基礎釜底抽薪 👉 脈絡拆解: AWS re:Invent 2022 Monday Night Live Keynote With Peter Desantis
- 拆開非同步變簡單 👉 脈絡拆解: AWS re:Invent 2022 Werner Vogels Keynote
- 將所有東西連起來 👉 脈絡拆解: AWS re:Invent 2022 Swami Sivasubramanian Keynote
- 落地執行解決問題 👉 脈絡拆解: AWS re:Invent 2022 Adam Selipsky Keynote
架構
今年 Werner Vogels, VP & CTO of Amazon.com 這場主題演講,埋了許多延伸閱讀的材料,相信對於喜歡追蹤技術趨勢、又喜歡擴充領域知識的工程師們,會是一場乾貨滿滿的演講。但也因為乾貨素材爆炸多,加上 Werner 超喜歡無縫轉場切換主題,聽起來一路順暢、暢遊多個知識領域,但不好抓斷點。我自己是在 Las Vegas 聽了一遍、離開後在 San Jose 出差時又聽了一遍,才比較有梳理出個粗略的大綱。
整個演講兩個主要段落:「 Asynchrony (非同步)」和「 3D + Simulation (模擬)」
我的筆記大綱:
- Opening
- Matrix-style movie XDD
- Dr. Werner Vogels 登場上台(超有他的風格 XDD
- Asynchrony!!
- Amazon S3 Design Principles —> Asynchrony
- Amazon S3 Design Principles —> Controlled concurrency + Controlled parallelism
- The world is Asynchronous
- Amazon S3 Design Principles —> Decompose into small well-understood building blocks
- 「Amazon’s Distributed Computing Manifesto (1998)」 發表在他的部落格上
- Workflows enable us to build applications from loosely coupled components.
- Listen, learn, improve
- The world is event-driven
- All complex systems that work, evolved from simpler systems that worked — GALL’S LAW
- Simplifying the complex
- The spider in the web —> 從鳥類講到蜘蛛!
- Events are composable
- Guest: Angela Timofte, Director of Engineering, Trustpilot
- AWS Heroes
- Event-driven architectures enable global scale
- The world is built on patterns
- Event-driven architectures help development teams move faster
- The world is multidimensional —> 準備開始講 3D, simulation
- Example: Alexa and Soul Machines
- Example: James Taylor & Son 百年老店的數位轉型
- A 3D models is worth a thousand pictures. —> Photogrammetry
- 3D will soon be as pervasive as video —> 趨勢預言!
- The fusion of models, sensors and data.
- Visualize everything
- Guest: Nathan Thomas, VP, Unreal Engine, Epic Games
- AWS Ambit Scenario Designer
- Experiment, measure, learn —> Simulation
- What about the future?
- Simulate everything
- Closing
以下開放給細節控閱讀:
Opening
- Matrix-style movie XDD
- Werner: I often say the world is asynchronous
- Now imagine a world that is ordered synchronized one by one, would you like to see that world?
- Werner: (遲疑一下…) Nope!!
- If you take the blue pill our story ends here and this conversation never happened, if you take the red pill I’ll show you a more ordered world one that is synchronized
- Werner: What about the yellow one? —> Memo: 還有黃色的 Jelly bean 1 banana!!! 笑死…
- Werner 拿了紅色的,進到了 synchronized 世界。
- synchronized 鳥組隊飛行
- 進餐廳之前排隊
- 進餐廳之後點餐
- Werner: Burger and fries
- 服務人員: One at a time, please, sir
- Werner: Burger
- 服務人員: Anything else?
- Werner: Fries
- 服務人員: Excellent
- 服務人員:進廚房做菜,先一步一步組裝了漢堡、肉、起司、蕃茄片,然後開始下鍋炸薯條,一根一根下油鍋、一根一根撈起來(笑 XDD
- Werner 等超久 XDD
- 服務人員:上菜走路時還跌倒、打翻,此時動作暫停
- Werner 吃了一根暫停在空中的薯條後,神秘男子再次出現,Werner 問他你怎麼那麼快拿到草莓奶昔可以喝
- 神秘男: It’s not HOW but WHERE
- 接電話轉場
- Dr. Werner Vogels 登場上台(超有他的風格 XDD
- VP & CTO, Amazon.com
- 他穿大風衣!等一下一定爆汗 XDD
- 一上台就說「I really should have taken the blue pill to be honest」
- There’s absolutely nothing that is synchronous in this world. And if these was, we really wouldn’t have like it.
- 脫掉大風衣之後,短袖 Lambda T-shirt —> 今天一定有很多 event-driven 或 async 之類的
- What I’ve really learned is that if you even want to build good computer systems, you have to look at the real world. And what I’ve observed is that the real world is asynchronous, it’s not deterministic.
- 我們身邊有超多數以千萬計的 events 一直在發生
- And so when I think about asynchrony, what I think is that it’s similar to that the world always keeps turning. That just no matter what happens in the world, our planet keeps turning.
- And so if I think about asynchrony, it is that we should make progress in all circumstances. No matter what happens in our world. In our digital world, we should still be able to make progress in all circumstances.
Asynchrony!!
- Amazon S3 Design Principles —> Asynchrony
- We want to make sure that the system would make progress in all circumstances. No matter what the load, no matter what is failing, no matter what new functionality we are introducing in the system, it should always make progress.
- Classic synchrony
- we enjoy synchrony, because it seems so much easier.
- now the thing we really care about are latency and throughput.
- In classic synchrony, throughput = 1, latency will suffer.
- Parallel synchrony
- You have multiple workers. But they still actually have to, they are probably blocked on the shared resource, which is the flyer.
- Maybe it looks like throughput will improve, but latency will definitely suffer.
- Asynchrony
- So getting close to the real world is asynchrony.
- You have one or more servers, all they do is take orders, and then they write the order on the slip, and put in a rail where the chefs can pick up. You have multiple chefs, each of them are at the station. And so they all see the order coming by, and if they need to work on it, they pick it up. You can have these things happening in parallel, behind the scenes for you. It’s parallelism but without blocking on any of the shared resources.
- Asynchrony + Parallel
- If you really want to improve latency and throughput, you can have some of these stations introducing actually additional workers. So there was actually a system in the ‘90s that Matt Welsh developed, which was called staged event-driven architectures, where basically you have all the benefits of an event-driven architecture, but you have controlled parallelism in each of those individual units to make sure that they’re not blocked on any resources.
- Amazon S3 Design Principles —> Controlled concurrency + Controlled parallelism
- 拆解鳥類飛行 bird murmuration
- It looks like there is a centralized controller that tells all these starlings where to go and what to do.
- This is not a singular system, because it’s nature, and nature is asynchronous.
- So all the actions that the birds take are based on local observations.
- Now what it does, it has three or four objectives. One of them, it wants to stay close to its mate, but it doesn’t want to fly into them, and it would like to avoid predators. And so what you see there is that if the other birds get further away, you accelerate. If you get too close to the other birds, you switch direction. And if you are sort of in a nice spot, you make sure that your speed matches the speed of other birds around it. And this actual behavior of attraction and repulsion, looks like a spring.
- System thinking 2
- In ‘60s/’70s, fundamental thinking. Donella Meadows 3 is one of the most famous authors of these books about system thinking, and she already came up with the notion of positive and negative feedback loops. And what you see here with these birds are positive and negative feedback loops. They continuously move back and forth.
- Actually, in my academic days, I built simulations to do this. You have X, Y, and Z axes and basically pitch, yaw and roll. So what you see here is that it’s purely driven by local decision making. The bird is completely autonomous, even though the overall system looks like it’s working in synchrony. But it’s not. It’s a pure asynchronous system.
- 拆解鳥類飛行 bird murmuration
- The world is Asynchronous
- Synchronous is
- a simplification
- an abstraction
- a convenience
- an illusion
- Systems are asynchronous
- Operation System
- Processes
- Blocked
- Kernel - Clock
- Interrupt
- Devices
- Network
- Graphics
- Hard Drive
- Sound
- 九零年代的作業系統重新從底層打通,開始將這些 asynchrony 開放給全世界使用。
- Windows NT was probably the first one that had asynchronous communication or interaction with devices as a first principle in the kernel.
- Linux didn’t get any asynchronous though until the early 2000s.
- And actually, the order AIO mechanism didn’t really work that well.
- And it wasn’t until I think 2019 that we got
io_uring
in Linux to actually give us truly asynchronous interaction.
- Processes
- —> Memo: 各個服務之間因為業務需求而需要相互連通,但可以選擇「緊緊相連 (tightly)」或「鬆散相連 (loosely)」。(延伸閱讀:老子 4)
- Synchrony leads to tightly coupled systems.
- You cannot make any changes to this environment that the shopping cart issue forthwith without actually changing the shopping cart itself. If anything fails, probably the overall system will fail.
- Asynchrony leads to loosely coupled systems.
- Now, if you look at any asynchronous system that actually is driven by an event broker. You see that everything is decoupled.
- There is no tight coupling between any of the components.
- And so the shopping cart will post an event, the order system will pick it up, and in the payment system will actually pick up the work after that.
- Now if you want to add something like a reporting or an invoice service, you can do that without changing the overall system.
- Why do we want these loosely coupled systems?
- They are natural.
- Advantages / Benefits of loosely coupled systems
- Fewer dependencies
- you can actually change the system, change the depending components without having to change the others.
- Failure isolation
- It’s a natural way of isolating failures. If any of these components fails, as we saw in the previous picture. Actually the whole system continues to work. And if the new version of, let’s say the reporting service comes back up , it just replaces the events that it has missed and executes.
- Evolvable architecture
- We build systems, but we don’t build the end system in one shot. You start off with a story of a smaller system that can do the work. And then evolve it into the eventual complex system that we had in mind.
- Example: Amazon S3
- 8 separate microservices —> in 2006, when launched
- 235+ distributed microservices —> now, 2022.
- We could add to the system without taking the system down, without any impact on the other pieces.
- So the evolvability is extremely important when you think about designing your systems.
- Fewer dependencies
- Synchronous is
- Amazon S3 Design Principles —> Decompose into small well-understood building blocks
- Amazon Retail = Monolith —> Service-oriented—> Microservice —> Shared services (IaaS)
- Amazon Retail = Monolith —> Service-oriented—> Microservice —> Shared services (IaaS)
- 「Amazon’s Distributed Computing Manifesto (1998) 5」 發表在他的部落格上
- It’s actually how our engineers were thinking at the end of the ‘90s about how to deal with the fact that they couldn’t evolve their architecture.
- And how we got moved over to a service-oriented architecture, this was way before anybody knew the service-oriented architecture was.
- It’s dated, I know. But for many of you, you’ll recognize things in that document because it’s reality for many of you still now that have to work in monoliths.
- And next to service-oriented, there’s a big chunk that says, and some of our work is workflow-oriented.
- How do we build these workflows?
- Workflows enable us to build applications from loosely coupled components.
- Workflow patterns - to be able to build workflows, you need these patterns
- Sequence
- Retry handling
- Error handling
- Parallel
- (routing) based on data
- Concurrent / iterative
- Two AWS services
- AWS Step Functions
- on one end that handles all the different types of execution
- AWS EventBridge
- being the event broker
- AWS Step Functions
- Workflow patterns - to be able to build workflows, you need these patterns
- Listen, learn, improve
- 很多客戶想要做 Map Reduce with their Step Functions.
- 客戶想要比 Kafka, EMR 更簡單的東西 —> I just want to write two Lambda functions, that’s it.
- Example: NOAA 衛星雲圖. The dataset is about 37 GB, spread out over 500,000 files.
- [NEW 🚀] AWS Step Functions Distributed Map (GA Today)
- Orchestrate large-scale parallel workloads in serverless applications.
- Process huge datasets quickly
- The world is event-driven
- The world is asynchronous. There’s nothing we ca do about it. That’s no matter how much you would want it to be not as chaotic and how you would want it to be all deterministic, it’s not true. So the best way to handle that, to handle uncertainty, is to build event-driven systems.
- Event-driven architectures lead to loosely coupled systems
- Basic components:
- Events —>
- Event Producers —>
- Event Records —>
- Event Brokers —>
- Event Consumers
- Communication patterns:
- Point-to-pint
- Publish-subscribe
- Event streaming
- (Amazon EventBridge supports all of them)
- Martin Fowler. He’s really a big proponent of event-driven architecture.
- Basic components:
- Example: readme dot com
- If you make APIs, probably you’re familiar with readme dot com.
- There you post descriptions of your APIs so that others can use them. But if you change you API, you need to remember to also change the description. Now you can actually automate that. If you change the API in API Gateway, it generate an event that goes to CloudTrail. CloudTrail then posts an event to EventBridge which triggers a Lambda function. This Lambda function picks up sort of the configuration information from AWS Systems Manager and it gets the secret API keys from the AWS Secrets Manager and then posts the updates that you’ve just posted to API Gateway on readme dot com.
- If you evolve your API, immediately the documentation gets updated.
- All complex systems that work, evolved from simpler systems that worked — GALL’S LAW
- In event-driven architectures, asynchronous systems are so close to the natural world that you can actually make complex systems work. Because remember, this here is a pretty complex system, we’re able to make it work because we have independent actions to be taken without total control. And it’s actually not just the architecture.
- If you remember the Amazon Two Pizza team approach, it is actually built on this. It allows you to have teams to be focused on one particular component, and one particular component only.
- They don’t need to know the big picture. Your ordering service doesn’t need to know that there’s an email notification service present.
- So you can evolve the overall system and move really fast by focusing on building your local components.
- Evolve or die
- Build systems that can evolve. And the best way to make evolvable systems is to focus on event-driven architectures.
- Example: serverlesspresso
- Memo: 以前大家從地端上雲,都是將一整包的軟體安裝到某一個主機上,所以那一整包的軟體就會包山包海,並且人們的慣性思考會變成去比較我要放在哪一種主機、哪一種機房、哪一家雲廠商的規格,而可能忘記檢視那一整包軟體裡頭,要解決的問題解決了嗎?是軟體架構造成連帶的問題沒有被解決嗎?這整包軟體還可以繼續生長維護、擴充功能嗎?還是已經形成某種強烈相依性,只能待在原地生長、且有其成長天花板上限?
- Simplifying the complex
- [NEW 🚀] AWS Application Composer (Available in Preview Today)
- Visually design and build serverless applications quickly
- Visually canvas makes composing serverless applications easier
- Maintain a model of your architecture that’s easy to share and build with team members
- [NEW 🚀] AWS Application Composer (Available in Preview Today)
- The spider in the web —> 從鳥類講到蜘蛛!
- The spider is the most central thing in the web.
- And in our world, the event bus is the spider in the web.
- Amazon EventBridge
- Routing
- Coordination
- Scheduling
- Events are composable
- The way that you’ve seen this event broker systems work is that you can actually stitch things together to create a bigger application out of that. And there is extreme power in composing. Unix has shown us that.
- The power of
- UNIX
- composing
- The power of composing in UNIX was pipes.
- Pipes make it very easy. And McIlroy, who led Bell Labs in the early days of UNIX, came up this concept. That you should have small components with a standard interface, and standard format of interaction and as such, you could build bigger applications out of smaller components. It’s extremely powerful.
- 這邊簡單介紹了 CLI 指令列簡潔之美
- Can we do this with AWS Services?
- So many of our customers that want to actually build these sort of connections between different services have to write a lot of glue code. —> 再次出現「連起來」的需求!!
- [NEW 🚀] Amazon EventBridge Pipes (GA Today) —> 又一個把多種服務連起來的產品!
- Connects event producers and consumers in seconds.
- Build advanced integrations in minutes with enhanced security, reliability and scalability out of the box.
- Example: 買足球票的時候不確定要跟哪一家 brokler 購買才是可以信任的,所以使用 Trustpilot 來作過濾。然後發現 Trustpilot 也是 AWS 客戶,而且有著很有趣的 event-driven 架構。
- Guest: Angela Timofte, Director of Engineering, Trustpilot
- I’m here today to talk about a single word. It can be hard earned but has the power to shape our relationships and fuel business growth by increasing consumer’s confidence. That word, is,
- Trust
- At Trustpilot, we enable people to read and write reviews and find companies they can trust.
- Consumers — Business
- We help ignite trust within this community and we are on a mission to become the most recognized symbol of trust on the Internet.
- Since 2007, we’ve grown to house over 190M reviews. However, our growth hasn’t been linear. In 2021 alone, we have received over 47M reviews.
- And to scale trust, we need to have both reliability and integrity.
- However, scaling trust is no mean feat.
- If we look at where we started, our platform was built on a monolith and on-prem databases. Our experience started well, but we soon found we were unable to handle our growth. Hiring more people wasn’t the answer. Immense planning, alignment and reverting changes due to bugs were all a headache. And more usage caused more reliability issues resulting in product outages. Not the best experience for our users.
- Monolith
- Platform growing —> New hires —> developer experience —> Bugs —> Outage
- Event-driven
- But how does that work? Review are obviously at the core of our business. But now let’s look at one.
- Use Case
- Meet Sylvia, who had a great experience with a flower shop and wants to share it by writing a review on Trustpilot. When Sylvia submits her review, behind the scenes, an event is being published on Amazon SNS topics.
- The review submitted topic has over 20 subscribers, with each one of them completing a different asynchronous process using Amazon Lambda, Amazon ECS and other Amazon services.
- One of those processes is to publish the review, which is another Amazon SNS that stands out for Amazon SQS to consume and trigger other processes.
- One of them being storing the data.
- Now, choosing the right data store has been a challenge in itself, as the number of reviews being read daily increased from thousands to millions. We had to find a scalable, flexible and cost effective database. And Amazon DynamoDB stood out as the right database.
- We all know we can plan for expected increases in traffic for events such as Black Friday and Cyber Monday, which just passed, even when having a monolith architecture. But our latest event-driven architecture and the use of Amazon DynamoDB provide us with increased flexibility. Meaning, both expected and unexpected traffic increases can be easily dealt with.
- One of those unexpected events that we can probably all still remember, is COVID-19.Everyone was forced to buy online. We all needed to know who to trust. As a result, searching and reviewing on Trustpilot became more important than ever. This increased our traffic more than we could have ever predicted. But thanks to the cloud elasticity and the use of an event-driven architecture, our platform is able to scale for expected and unexpected traffic increases, while our teams can continue focusing on product releases and innovation.
- Dealing with the scale and growth of reviews on Trustpilot is one challenge. But maintaining authentic, useful and trustworthy information is quite another.
- If we go back to Sylvia’s review, by treating everything as an event, we are in a position to easily integrate and evolve our existing architecture. As an example by subscribing to the Review Submitted topic and using Amazon Kinesis for real time ingestion to send data to our compliance and fraud detection models, we are able to scan 100% of reviews coming through.
- While by using Amazon Step Function, we can orchestrate workflows to take action on abusive behavior or unusual patterns in reviews, just to name a few.
- Scale, adapt, react / Protect platform integrity / Teams working in parallel
- We live in uncertain and rapidly changing times. We all need to spend wisely.
- Better and more trusted decisions.
- 她是 AWS Hero!!
- AWS Heroes
- The AWS Heroes program recognizes 253 AWS experts across 53 countries whose enthusiasm for knowledge sharing and making the community better is unparalleled. They have a real impact on the community.
- It’s one of these things at our AWS events, we give hundreds of thousands of classes to you where you can learn. But the best way to learn sometimes is from the people that sit next to you
- Event-driven architectures enable global scale
- Example: Amazon DynamoDB
- 10 trillion requests per day
- Amazon DynamoDB Global Tables
- So global tables, it gives you the ability to just write to your local DynamoDB instance, and it will actually automatically replicate those updates to other regions that you’ve indicated where you need to have global tables available. Then it gives you a multi-region, multi-active database. You still do local reads, very quickly and fast, while actually having the tables globally available.
- There is no synchrony here. It’s purely asynchronous environment.
- Active-active architecture
- How would you build this?
- DynamoDB Streams
- We use the SQS queue as the coordinator for this event-driven architecture. If any of the replications fails, it easily gets restarted again and can re-read from the queue to pick up exactly where the failed replicator had stopped. So we can have thousands of these replicators. And so they would take care of replication to any of these other environments. It’s purely event-driven architecture.
- Patterns in event-driven architecture
- Change data capture
- Asynchronous coupling
- Self-healing replicators
- Example: Amazon DynamoDB
- The world is built on patterns
- After all, the world is built out of patterns. You see them everywhere in nature. So we should follow these patterns. And of course, us as computer scientists, we have all read the book on design patterns from the famous Gang of Four. At Amazon though, we keep our patterns in the builder’s library.
- The Amazon Builders Library
- How Amazon builds and operates software
- Challenges building applications today
- Define configs
- Integrate tools
- Set up projects
- Automate workflows
- Manage dependencies
- Multiple codebases
- Inconsistent environments
- Collaborate across systems
- [NEW 🚀] Amazon CodeCatalyst (Available in Preview Today)
- A unified software development service that makes it xxx to build and deliver on AWS
- Create a project with everything you need in minutes
- Easily define CI/CD pipelines
- Switch between codebases with one click
- Collaborate with your team seamlessly
- Extend the core experience and integrate with existing tools
- Event-driven architectures help development teams move faster
- Case Study: Cinch in UK
- make use of 3D technology to show you cars. so you can basically at home, look at this car, decide whether you want to buy it or not.
- They built it in only 6 months!
- Case Study: Cinch in UK
3D & Simulation
The world is multidimensional —> 準備開始講 3D, simulation
- It’s not just one line. It’s not just we’re used to 2D, why? Because of the machines we have. Keyboard, screen, mouse, finger, that’s how we have built our digital systems and how we interact with them. But it’s not the real world. The real world is multi-dimensional. —> 之前也在想這件事情,要怎麼擺脫平面 2D 的資訊呈現載體限制?—> 延伸閱讀秦始皇….
- So how can you get a digital system as close to the real world as possible? And we’ve really seen great, great strides in that.
- Example: Alexa and Soul Machines
- We should use normal technologies to access our digital systems.
- Soul Machines is a company that have actually taken this a step further. They actually have digital personalities that can express emotion while you’re interacting with them, which is another very normal, natural kind of way of interacting. It’s not sufficient to hear what I say, you’ll all looking at my face. What do I think is important? What do I don’t like?
- So Alexa and Soul Machines are really the first steps in this. And our real world is multi-dimensional. And as such, we should be looking in our digital systems to present the world as multi-dimensional.
- Example: James Taylor & Son 百年老店的數位轉型
- We went to the store of James Taylor & Son, and they are a cobbler out of 1857. And they use the same techniques and processes today as they used a hundred years ago. They produce what is called a last, which is a physical representation of my shoe, in wood, against which the shoe is being made.
- And I was really surprised actually, that this 165-year-old company was using very modern technology to get this done. I get to sit on a chair, and put my feet on a device that had a bunch of cameras, that actually made a 3D image of my foot. And then they were using that image about sort of then to make the last out of that and make a pair of shoes that exactly fit me. —> 量腳之後,做成鞋楦,做成超合腳的鞋子。
- I need to have 3D images on a 2D screen. —> WebGL
- Virtual Try-On —> 用手機相機 + AR 來模擬鞋子穿在腳上的感覺
- A 3D models is worth a thousand pictures. —> Photogrammetry
- Actually, about 130,000 pictures.
- Photogrammetry
- This is the science of how many images do you really need, 2D images, to create a very good approximation of the 3D world.
- NRF = Neural Radiance Fields
- Actually, we don’t see that real in peripheral. it’s our brains however that stitch these things together and fill in the gaps. That’s what’s NRF is as well.
- 3D will soon be as pervasive as video —> 趨勢預言!
- Five or six years ago, 3D was still much more exclusive. These days, everyone is putting it everywhere. 3D is the same.
- So of course, it means that you not only need to create a 3D object of the object that you’re interested in, but you also need to have an accurate representation of the environment where it is in. And so we already have a number of engines that work really well in that.
- Open 3D engine, O3DE
- Demo: Matterport
- Matterport allows you to actually use your cell phone to make a 3D representation of your room. You have a device you can put your cell phone on and it will turn around the room, make an accurate representation of your room, or you can actually use some of their cameras which have LIDAR in it to build an accurate representation of the environment. Then all the data goes into their 3D platform.
- AWS IoT TwinMaker
- 可以掃描整個工廠,並在 3D 視角環境中選取機台,並觀看該機台當下的狀態。
- The fusion of models, sensors and data.
- 掃描疊在後車廂的一堆行李
- Spatial intelligence
- 2D 的地圖很棒,可以基本呈現從甲地到乙地,但無法呈現例如貨車限高等資訊。
- Demo: Zoox vehicle
- Visualize everything
- Systems don’t need visualization by themselves; they’re all for us. Humans need to visualize these things.
- Guest: Nathan Thomas, VP, Unreal Engine, Epic Games
- by creators, for creators
- Architecture
- Unreal Engine 5 —> PS5 amd XBOX X
- 16 square kms
- 40,000 drivable cars
- 35,000 metahumans
- Unreal Engine 5 —> PS5 amd XBOX X
- Automotive
- MetaHuman, TwinMotion, RealityScan
- Metahuman Creator - an online web service
- Amazon EC2 —> 2M metahuman created
- Twin Motion - our 3D visualization tool
- Twin Motion Cloud —> built on AWS
- Amazon EC2 G5 —> 65% increase in publishing and views
- RealityScan
- Real world object capture
- RealityScan (Now Available on iOS)
- Metahuman Creator - an online web service
- MetaHuman, TwinMotion, RealityScan
- Simulation
- Project Antoinette - flight simulation
- CITY Samples
- AWS Ambit Scenario Designer
- Films & TV
- UNREAL ENGINE 電影動畫
- AWS Ambit Scenario Designer
- Open-source suite of tools to streamline 3D content creation at scale
- 二月就發表了。
- You just point to a city in OpenStreetMap and immediately Ambit will create the 3D world out of the data in OpenStreetMap. You don’t need to do anything with that.
- Experiment, measure, learn —> Simulation
- If you go back to the 1997 letter to shareholders that Jeff Bezos wrote, this is key in it. We will continuously experiment, we will measure, and we will learn from that. And that means that whether it’s positive or negative, you need to learn. But you also need to be able to experiment.
- Now at larger scale, especially in a world where you can maybe not immediately manipulate the real world, simulation is key.
- Simulation
- 200BC - Roman Empire
- Roman generals simulate battles and test strategies.
- 1500AD - Renaissance
- Leonardo da Vinci builds scale model prototypes to test his inventions.
- 1950s - Early computing
- John Von Neumann and Stanislaw Ulam pioneering mathematical models. World first computer simulation.
- Monte Carlo simulation
- 2000s - Desktop computing
- Simulation on desktop is limited to the latest hardware
- 2022 - Today
- Almost every vertical has their own type of simulation
- Life science
- Financial services
- Oil & gas
- Design & engineering
- Climate & geosciences
- Autonomous vehicles
- Almost every vertical has their own type of simulation
- 200BC - Roman Empire
- Why do companies simulate?
- Physical limitations
- Simulation 要用到 3D
- Hazardous scenarios
- Aurora self-driving trucks
- Manipulation of time
- You can manipulate the fourth dimension. That of time.
- 用幾個小時就完成以前花更多時間才能完成的事情
- Physical limitations
- Spatial simulation
- [NEW 🚀] AWS SimSpace Weaver (GA)
- Run massive spatial simulations without managing infrastructure
- NOW GO BUILD - Terraformation, in Hawaii. They are working to combat climate change by wanting to build a trillion trees around the world, as trees are the best carbon capture engine that you can imagine.
- How could simulation help reforestation? —> 重新造林
- Where should we place resources?
- Where should we plant seeds?
- What types of tree should I plant?
- What’s the carbon capture?
- Can we encourage biodiversity?
- Biodiversity
- How could simulation help reforestation? —> 重新造林
- What else you simulate?
- Why simulate?
- innovation
- improve safety
- improve performance
- train staff
- optimize processes
- cost
- experiment
- design new systems
- What about the future?
- Unsolvable problems
- Fast forward 20 years <— working backwards
- Quantum simulation
- 硬體尚未穩定
- But to try the state of the art quantum computers, the prototypes of that you can use Amazon Brackets.
- Representing quantum objects as bits
- 2^1 bits = 1 quantum object
- 2^2 bits = 2 quantum objects
- 2^N bits = N quantum objects
- 2^285 bits <— for example, a molecule of penicillin, it has 41 atoms. And to model that, you would need 285 electrons.
- That’s more memory than we have available in the whole world.
- 他完全不想整個唸出來 XDD
- 285 Qubits - error corrected
- In a quantum world, however, you can represent an electron with some other quantum object and you can manipulate that as well. You don’t need this large amount of memory.
- A qubit is a fundamental unit of quantum information. And it can be used to encode quantum objects from your collection.
- Example: A common application, when you think about quantum simulation, is that of producing fertilizer (肥料).
- But it’s real, and it is the reality of the future. It’s how we are going to build our systems.
- Curiosity with Dr. Werner Vogels
- Quantum computing with John Preskill who is an Amazon scholar, and he is the Richard Feynman professor of theoretical physics at Caltech.
- And his mind is full of quantum.
- —> 找這個影片來看
- But don’t watch it tonight. We’ve something else to do tonight.
- Once again, we have the number one DJ in the world playing at our re:Play party.
- Martin Garrix
- AWS re:Play 7:30pm
- Simulate everything
- So what do I want you to walk away with?
- Use simulation, start thinking about how in your systems that you’re building, which is both customers and maybe interaction with the real world, how can you use simulation?
Closing
- 地球照片 <— the system, 宇宙
- I started the keynote by saying that you should think about the world as asynchronous. And why should you think about it like that? Because it is.
- And I ended it by showing you how you can model the world more accurately and use it to build better systems and products.
- I hope that you can all agree that we can learn from something like looking around us, and observing the greatest system in existence, the universe itself. The universe itself is extremely fragile. It’s extremely fault tolerant as well, and resilient, and robust.
- We should learn from sort of the principles that we see in nature and world around it when we start building our computer systems.
- Memo: 我想這兩個小時,就是宅宅們對元宇宙的一種詮釋與陳述,回歸本質、觀察、接觸我們的真實世界來打造對應的基礎設施、打造工具、打造模擬器、打造各種系統。
- Now go build!!
下一步
如果你覺得這篇脈絡拆解筆記,有抓到你想看的重點、對你有所幫助,希望未來能繼續這類深度整理文章, 歡迎拍打餵食咖啡 ☕、或轉發文章給你的好友、同事、社團,感謝大家的鼓勵與支持。
✳️ 如果你是高階經理人
- 找其他場次 👉 連續三年 AWS re:Invent Keynote 脈絡拆解
- 開發者大會 👉 數位時代 數位關鍵字 6. 為什麼頂尖公司都在開發者大會招人才、找商機?
✳️ 如果你是產品經理
- 快速掌握全貌 👉 所有 AWS 產品線,一行文大全集 【AWS 雲端產品清單】
- 產品整合框架 👉【產品與技術整合,從拆解 AWS 產品線開始】
✳️ 如果你想學習 AWS
- 學習 👉【AWS 入門學習路線與策略】
- 討論 👉 加入 AWSUG Taiwan 與更多 AWS 愛好者們一起交流。找得到人問、學習快一倍。
✳️ 如果你想找更多筆記
- 想到就搜 👉 打開搜尋引擎,輸入「aws ernest {AWS 產品關鍵字}」可以快速前往該則筆記。
- 👉 範例:「aws ernest ecs」、「[aws ernest 產品清單](https://www.google.com/search?q=aws+ernest + 產品清單 & ie=UTF-8)」。
- 效率提升 👉 【我的 個人知識系統 工作流程】