Solutions Architect @awscloud - ex @DeutscheTelekom, @Samsung - I move boxes around to help people move boxes around.

Joined November 2011
19 Photos and videos
Robert Hoffmann retweeted
3 Dec 2024
FINALLY CAN TALK ABOUT THIS this has been a major hole in the AWS stack and it is actually really really good this is going to blow up the postgres space a bunch
AWS just announced Aurora DSQL - a purpose built, postgres-compatible serverless database and take it from me - it's amazing. I've had a few months to play with it (more soon), but it's truly the single most exciting launch I've seen from AWS in a while. You've gotta try it
41
17
606
131,673
Robert Hoffmann retweeted
21 Nov 2024
Despite concerns that AWS would be overly genAI focused for re:Invent, this has been one of the strongest re:Invents in years for announcements I'm interested in.
5
5
64
4,576
Robert Hoffmann retweeted
31 Oct 2023
Woohoo! ๐ŸฆญAll content from Conf42 Kube Native 2023 is now available to watch without RSVP! ๐Ÿ‘€๐Ÿ‘‰Watch all talks without limits here: youtube.com/watch?v=O-k-chlFโ€ฆ ๐ŸŽ‰We've got many amazing speakers in the lineup๐ŸŽ‰ #conf42 #online #conference #kubenative @TheCorgiDev
4
5
933
Robert Hoffmann retweeted
24 Sep 2023
๐ŸŒŸ Ready to transition from a Kubernetes YAML engineer to a full-fledged software engineer with CDK8s?๐Ÿš€Join @robhoffmax at #Conf42 #KubeNative! ๐ŸŒconf42.com/Kube_Native_2023_โ€ฆ #CDK8s #Kubernetes #InfrastructureAsCode #TechTalks #applications #programming #programminglanguage
1
1
114
Robert Hoffmann retweeted
13 Jul 2023
Originally I thought the @awscloud CDK was a cult. Then I used it for a project. Now I'm a cultist; wanna come to a meeting with me?
42
21
304
67,278
Robert Hoffmann retweeted
I keep seeing people get confused on DynamoDB having 10GB partitions and thinking they need to design around it. This happened twice in the last week! Writing a long tweet to clarify. Two main takeaways: 1. The '10GB partition size' is rarely visible to you as a user. 2. You are not limited to 10GB of data for a given partition key (**if you don't have an LSI on your table**). Explanation: First, some vocab: The term 'partition' refers to a co-located subset of your data within a DynamoDB table. Partitions are ~10GB in size but can be larger or smaller. DynamoDB is a multi-tenant system with a huge fleet of storage nodes, and each storage node contains many partitions from many different tables. The term 'item collection' is used to refer to the set of records that share the same partition key in your table. Within the item collection, items are sorted according to the sort key. ----- DynamoDB assigns an item to a partition using the partition key (and, occasionally, the sort key). In most cases, a single partition will contain multiple item collections. Also, a single item collection will often be contained on the same partition. But this is not always the case! If your item collection exceeds 10GB, DynamoDB will split it across multiple partitions. If you are driving heavy traffic to your item collection and DynamoDB thinks it could serve it better across multiple partitions, it might split it across multiple partitions. But there's not necessarily a 1:1 mapping from partitions to item collections nor from item collections to partitions. However, if your table has a local secondary index (LSI), the rules change. Now, your item collection *must* fit within a single partition. This means the item collection any LSI replicas of it must be under 10GB. This is the only time the 10GB limit applies. This is pretty rare -- I recommend against LSIs in almost all scenarios, partly because of this limitation. But if you don't have an LSI, you don't need to worry about keeping your item collections under 10GB (for capacity reasons -- there may be query-based reasons to keep it smaller)! โœจ The more you know
5
38
173
29,097
Robert Hoffmann retweeted
A very nice pre-July-4th launch from the DynamoDB team. ๐Ÿ™Œ You can now have DynamoDB return your item when a write fails due to conditions in the write request. Super helpful, particularly when you have multiple conditions and/or you want to return meaningful information to the caller on *why* the write failed. Previously, you'd have to do a follow-up read request, which results in a higher cost and could result in a different version of the item than the one you were writing against! aws.amazon.com/about-aws/whaโ€ฆ

5
22
127
28,068
Robert Hoffmann retweeted
๐—ฆ๐—ผ๐—ณ๐˜๐˜„๐—ฎ๐—ฟ๐—ฒ ๐—˜๐—ป๐—ด๐—ถ๐—ป๐—ฒ๐—ฒ๐—ฟ != ๐——๐—ฒ๐˜ƒ๐—ฒ๐—น๐—ผ๐—ฝ๐—ฒ๐—ฟ Software Engineer == Problem Solver Don't attack problems with code. Try first to understand them from a business perspective and then a technical perspective. When you do this, make a plan for how to solve it. Try to solve without coding.ย The best code is not code. If you must code, then do it. Remember, ๐—ฐ๐—ผ๐—ฑ๐—ฒ ๐—ถ๐˜€ ๐—ฎ ๐—น๐—ถ๐—ฎ๐—ฏ๐—ถ๐—น๐—ถ๐˜๐˜†, ๐—ป๐—ผ๐˜ ๐—ฎ๐—ป ๐—ฎ๐˜€๐˜€๐—ฒ๐˜. #technology #softwareengineering #programming #developers #coding
11
204
849
105,365
Robert Hoffmann retweeted
30 Jun 2023
You didn't have the chance to join @robhoffmax's & @alex0ptr's talk at #CloudLand2023 last week? ๐Ÿ‘€ Check out their slides on bit.ly/44axD79 ๐ŸŽฆ If you'd like to watch the recording, get your On-Demand ticket from @Cloudlandorg
1 Jun 2023
๐Ÿš€ Make #Developers Fly: Principles for #PlatformEngineering ๐Ÿ“† 22.6. | ๐Ÿ• 11h | ๐Ÿ“ #CloudLand2023 @robhoffmax & @alex0ptr will talk about how #platform engineering evolved from the #DevOps movement & discuss principles & best practices ๐Ÿ‘‰ bit.ly/3ByVPn6 @Cloudlandorg
1
1
277
Robert Hoffmann retweeted
The Amazon Builders' Library is an hidden gem: it consists of articles written by some of the most senior AWS engineers covering foundational patterns and principles used when building AWS services. Most learnings can be applied anywhere. Here are my favourite articles:
18
313
2,207
298,842
Robert Hoffmann retweeted
It is hard to grasp for some engineers early in their careers what took them here won't take them there. Shipping features will probably can take you to senior, shipping 10x more features is not how you'll become a principal.
14
113
1,116
199,068
Robert Hoffmann retweeted
My team's 37th launch! SNS now supports X-Ray active tracing for FIFO. You can view traces that flow from FIFO topics to FIFO queues, and traverse your app topology in CloudWatch ServiceLens. You can view faults, errors & latency for each FIFO subscriber๐Ÿš€ aws.amazon.com/about-aws/whaโ€ฆ
1
16
52
10,615
Robert Hoffmann retweeted
1 Jun 2023
๐Ÿš€ Make #Developers Fly: Principles for #PlatformEngineering ๐Ÿ“† 22.6. | ๐Ÿ• 11h | ๐Ÿ“ #CloudLand2023 @robhoffmax & @alex0ptr will talk about how #platform engineering evolved from the #DevOps movement & discuss principles & best practices ๐Ÿ‘‰ bit.ly/3ByVPn6 @Cloudlandorg
2
3
461
Robert Hoffmann retweeted
An excellent article from @clare_liguori. Dive into the CI/CD architecture we use at Amazon. Many good lessons to learn about git branch management and staged deployments to multiple Regions. A good read for the upcoming week-end! aws.amazon.com/builders-librโ€ฆ
53
234
28,157
Robert Hoffmann retweeted
The future of Kafka is unlimited storage. Kafka engineers are building a solution to allow you to store unlimited amounts of data on a Kafka cluster. How are they doing it? KIP-405 - Tiered Storage. โœจ If youโ€™re using Kafka to its full extent, youโ€™re storing (or want to store) a lot of historical data in it. But. Storage can be a bottleneck. A key limitation in Kafkaโ€™s design is that it couples its storage with compute. This can be a large burden for 8 reasons: ๐Ÿ”ด 1. slow broker failure recovery - has to catch up a lot of data, proportional to the time it was dead. ๐Ÿ”ด 2. disastrous broker disk failure scenarios - in such cases, the broker has to fetch everything (TBs) and can severely impact latencies. Such broker recovery scenarios can be 12,000% slower and can worsen produce latencies by up to 900%, as shown by tests below. ๐Ÿ”ด 3. competition for disk IOs - historical consumers can decrease write performance by up to 43% (as shown in tests below) because they cause extra disk strain by having to read from it. ๐Ÿ”ด 4. no elasticity - reassigning partitions that have a lot of data are slow to move. At a decent 100MB/s replication rate, 10TB of data moves at a whopping 27.7 hours! Thatโ€™s more than one day! ๐Ÿ”ด 5. high cost - in the cloud, itโ€™s more expensive to provision disk volumes that are attached to the instance. ๐Ÿ”ด 6. max storage limitation per partition - youโ€™re limited by how much data you can store on a single partition based on the limit of physical disk sizes. ๐Ÿ”ด 7. burdensome to scale storage - if you decide to increase your retention settings across the cluster, you either need to add new brokers (scale horizontally) or do some complex disk swaps on them (scale vertically). ๐Ÿ”ด 8. cluster sizing - number of brokers / machine types are impacted by disk requirements, potentially ending up with a significantly larger cluster than you would need if disk size wasnโ€™t a concern. How do we solve all of this? ๐Ÿ˜ฅ Simple. Put the data in S3 โœจ That is what Tiered Storage is - it extends Kafkaโ€™s storage beyond the local one by retaining the data in a pluggable external store (HDFS, S3, etc). Pluggable is a key word here, as it will enable the open-source community to develop different implementations for different external stores in parallel. Kafka will end up having two tiers of storage placement - a local one (hot) and a remote one (cold). You will be able to enable this uniquely per topic, with varying local and remote retention settings. This will be done transparently to any clients - they won't be able to tell when theyโ€™re fetching from the remote store as the Kafka API remains the same and abstracts it away. ๐Ÿ˜ก Wonโ€™t this kill latency? One should in theory expect slower reads from the remote log store. Thankfully, 1. This isnโ€™t a problem practically as historical workloads are usually not performance sensitive. 2. The latency-sensitive workloads usually read from the tail of the log (latest data), and are therefore not impacted by this feature. ๐Ÿค“ Give me the numbers. Performance tests were done with HDFS as the external system. They focused on write latency and the impacts there. The largest produce latency increase in the tests was 21ms โ†’ 25ms of p99 produce latency in the steady state. (19% worse) With different scenarios came different results. Get this - when there are historical reads (out-of-sync consumers), the produce latency was actually improved! This is because, without tiered storage, consumers reading old data compete for IOs on the disk for reading (normal consumers donโ€™t - data is served from the page cache). This reduces the IOs that writes can get and write disk latency increases. The tests showed 42ms of p99 produce with tiered and 60ms of p99 produce WITHOUT tiered storage in this scenario. (43% increase) ๐Ÿ˜‹ It gets better! When rebuilding a broker with an empty disk, for just 12TB of data, recovery took almost 4 hours in their test without tiered storage, and only 2 minutes with tiered storage (a 120x improvement). During this broker recovery, the p99 produce latency was 490ms WITHOUT tiered and 56ms with tiered - a 9x improvement! ๐Ÿฅณ Overall a very promising feature. ๐Ÿ”ฅ So when is it coming? Tiered storage is incredibly complex, and has been in development for a while. It juuust missed the 3.5 release and is currently slated for Early Access in 3.6. So around Q3 2023? ๐Ÿคž There are two notable limitations that Kafka will have with this first version: ๐Ÿ”ด - no compaction - compacted topics will not be supported ๐Ÿ”ด - no going back - once you enable it for a topic, disabling it back is not supported. Future versions will surely address these limitations.
6
40
234
29,150
Robert Hoffmann retweeted
18 May 2023
React: The Most Common Mistakes in 2023 I'm presenting this talk at @kc_dc in July! The list: State: Needless state Global state overuse Syncing state via useEffect Reading state after setting it Multiple setState calls in a row Putting state in the wrong spot Storing related data in separate pieces of state Http: Not caching Fetching in useEffect Not using modern libraries Workflow: Not using a framework Not using Tailwind Not using TypeScript Not mocking Ineffective testing Not using custom dev tools Poor folder structure Few/poor reusable components Weak ESLint rules Weak error handling What else would you put on this list?
39
48
431
79,233
Call me a nerd but these designs are siiick
Harry Potter x Adidas just dropped! ๐Ÿช„๐Ÿ‘Ÿ AI-generated. (by "jmnuergogallery" on telegram) 1. Harry Potter:
71
Robert Hoffmann retweeted
Harry Potter x Adidas just dropped! ๐Ÿช„๐Ÿ‘Ÿ AI-generated. (by "jmnuergogallery" on telegram) 1. Harry Potter:
88
488
4,120
2,080,196
Robert Hoffmann retweeted
๐Ÿš€ Announcing the AWS Amplify UI StorageManager component ๐Ÿš€ Easily upload files from your application with: ๐ŸŽจ Theming, component, and text ๐Ÿ“ overrides โœจ Process files before upload โฏ๏ธ Pausable/resumable uploads ๐Ÿ‘‰ Drag-and-drop Learn more > go.aws/44uuXlu
4
17
59
11,237
Robert Hoffmann retweeted
18 Apr 2023
Node 20 allows you to compile your app into a single executable along with the entire Node.js core so you can run your apps on systems where node isn't installed, or your don't trust the system version.
152
736
5,673
1,759,470