TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Deleting data distributed throughout a microservice architecture

115 pointsby rrampageabout 5 years ago

7 comments

hinkleyabout 5 years ago
&gt; First, you’ll need to find the data that needs to be deleted.<p>Microservices do not get you out of having to have an information architecture. They add more friction if you don&#x27;t have one, but it&#x27;s entirely possible to have an unspoken&#x2F;undocumented information architecture that mostly works.<p>If you don&#x27;t have a System of Record for data, you for sure aren&#x27;t going to be able to find it. Similar problem with no Source of Truth. For some business models you will have both and they will be separate (especially with 3rd party data).<p>You still have the problem of logs, but at least the problem is tenable. Without any of this it&#x27;s just chaos and who knows where the data went or really even where it came from?
评论 #23088021 未加载
ijcdabout 5 years ago
My favorite approach is encrypting all of a user’s data (everywhere) and just deleting the key from a central store instead of actually erasing.
评论 #23087439 未加载
评论 #23087229 未加载
评论 #23087876 未加载
评论 #23088157 未加载
评论 #23087966 未加载
评论 #23088319 未加载
valera_rozuvanabout 5 years ago
One should really consider DevSecOps when dealing with a large infrastructure involving dozens or hundreds of micro services. Security as Code by design should be implemented as soon as possible. In my current gig - the following 3 points are key:<p>- 24x7 Proactive Security Monitoring<p>- Shared Threat Intelligence<p>- Compliance Operations<p>I would really advise anyone interested in this subject to check out DevSecOps manifesto [1].<p>Also - if you are running a k8s cluster for all your micro-services, there are several guides online as to best practices (see [2] for example).<p>----------<p>[1] <a href="https:&#x2F;&#x2F;www.devsecops.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.devsecops.org&#x2F;</a><p>[2] <a href="https:&#x2F;&#x2F;dev.to&#x2F;petermbenjamin&#x2F;kubernetes-security-best-practices-hlk" rel="nofollow">https:&#x2F;&#x2F;dev.to&#x2F;petermbenjamin&#x2F;kubernetes-security-best-pract...</a>
BrentOzarabout 5 years ago
This is relevant for enterprises with legacy systems, too, like shops that have multiple interfaces that extract, transform, and load data across point-of-sale systems, warehouse fulfillment systems, and data warehouses.
golover721about 5 years ago
This gives me nightmares about having to retrofit GDPR requirements into a complicated system with many data stores and applications. Not only the difficulty of ensuring data is deleted but tracking data lineage so you can delete derived data too. Fun times!
评论 #23087241 未加载
评论 #23087939 未加载
Ram_Lakshmananabout 5 years ago
This will help us <a href="https:&#x2F;&#x2F;bitmovin.com&#x2F;finding-memory-leaks-java-p2&#x2F;" rel="nofollow">https:&#x2F;&#x2F;bitmovin.com&#x2F;finding-memory-leaks-java-p2&#x2F;</a>
crimsonalucardabout 5 years ago
My company recently decided to switch over to microservices. It was a long an arduous process but we chose not to compromise.<p>Basically for the greatest amount of modularity, we divided all 400 functions in our monolithic application into 400 individual servers because obviously functions aren&#x27;t modularizing everything enough. You really need to put more and more wrappers around all of your functions. First put a framework around your function, than put an http api layer around it, then wrap a server app around it, then put an entire container around it and boom! More wrappers == Less technical debt. To illustrate how this works see example below:<p><pre><code> wrapper( wrapper( wrapper( wrapper( f(x) ) ) ) ) </code></pre> See that? Obviously for every additional wrapper you add around your original function your technical debt becomes less. This is why it makes sense to make to not just use functions to modularize your data but to wrap all your functions in containers and then put those containers in containers.<p>Now all 400 of our engineers each as an individual manages one entire function within one entire container. It&#x27;s amazing, they don&#x27;t have to think about two things anymore, they can just concentrate on one thing.<p>While I&#x27;m not sure what has improved yet, everything feels better. Our company is following industry trends and buzzwords. Technical debt actually went up but that&#x27;s just our fault for building it wrong.<p>Some engineer asked me why couldn&#x27;t we just load balance our original monolith and scale it horizontally. I fired that engineer.<p>Another engineer came to me and told me that for some function:<p><pre><code> func some_func(a: int, b: int) -&gt; int: { return a + b } </code></pre> It&#x27;s probably better to do 1. instead of 2.<p><pre><code> 1. Call the function: some_func(2,3) 2. Make a request: request.get(&quot;http:&#x2F;&#x2F;www.pointlessapi.com&#x2F;api&#x2F;morecomplexity&#x2F;someextratechnicaldebt&#x2F;randomletters&#x2F;asdfskeidk&#x2F;some_func?a=2&amp;a=3&quot;) and parse the json: { &quot;metadata&quot;: { &quot;date&quot;: &quot;1&#x2F;1&#x2F;2020&quot; &quot;request_id&quot;: &quot;123323432&quot;, &quot;other_pointless_crap&quot;: ... &quot;more_usless_info&quot;: ... &quot;function_name (why?)&quot;: &quot;some_func&quot; } &quot;actual_data&quot;: 5 } </code></pre> I fired that engineer too. Obviously 2. is better than 1. Also why am I using JSON? Not enough wrappers! You have to wrap that http call in additional wrappers like GraphQL or GRPC!!! (See wrapper logic above).<p>Have you guys heard of a new trend called Sololithic architecture? Basically the new philosophy states that all of 400 of our microservices should be placed in 400 containers and run under a cluster of 399 computers under kubernetes!<p>I may not understand where technical debt comes from and I also may not understand how all these architectures will fix the problem of technical debt forever... I know that industry trends and buzzwords are more intelligent than me and monoliths are bad bad bad and obviously the source of all technical debt! Just cut everything into little pieces and technical debt becomes ZERO.<p>Right? The technical definition of Technical debt is not enough cutting of your logic into tiny pieces and not enough wrappers around your modules so all you need to do is cut everything up and put wrappers around it and problem solved! Makes sense!
评论 #23092456 未加载
评论 #23093072 未加载