#Issue53
3 posts

How to sleep at night having a cloud service: common architecture do's

Have a way of deploying your entire infrastructure as you deploy code. Build a CI/CD pipeline. Configure a load balancer.
Read more

How to sleep at night having a cloud service: common architecture do's

  • Have a way of deploying your entire infrastructure as you deploy code.
  • Build a CI/CD pipeline.
  • Configure a load balancer.
  • Use unique identifiers that allow you to trace a request through its lifecycle, and allows someone to see the entire path of the request in the logs. This is highly useful when things go down.
  • Have a log collection and build searchability in it. This comes in handy when searching for one unexpected log.
  • Have monitoring agents to check if your service is up.
  • Automatic autoscaling based on load is great for being elastic under load.
  • Create a way to test out things with 1% of your users for an hour. It is a good way to deploy changes safely.

Full post here, 7 mins read

Why developers like GraphQL?

Multiple teams can work independently and in parallel, giving developers a pleasant experience without stalling their development work. There is no versioning of APIs.
Read more

Why developers like GraphQL?

  • Superior developer experience in comparison to alternatives.
  • Multiple teams can work independently and in parallel, giving developers a pleasant experience without stalling their development work.
  • There is no versioning of APIs. Adding new fields has no effect on the current client’s call to the APIs.- no pain of maintaining multiple versions of the API.
  • Declarative data fetching lets you ask for exactly what you need and get it.
  • GraphQL schema has several advantages including predictable code, schema acting as a contract between client and server, independent teams and early detection of errors.

Full post here, 6 mins read

Rust performance pitfalls

Rust compiles in debug mode by default. It results in faster compilations, but does next to no optimizations, and slows down the code. It uses unbuffered File IO. So, when you write files, wrap them in a BufWriter/BufReader.
Read more

Rust performance pitfalls

  • Rust compiles in debug mode by default. It results in faster compilations, but does next to no optimizations, and slows down the code.
  • It uses unbuffered File IO. So, when you write files, wrap them in a BufWriter/BufReader.
  • Read::lines() iterator is easy to use, but it allocates a String for each line. Manually allocate and reuse a String to reduce memory churn to gain a bit of performance.
  • In simple cases, use an iterator instead of an index loop.
  • Avoid needles collect() and allocations.

Full post here, 7 mins read