DEV Community

Arpit Mohan
Arpit Mohan

Posted on • Originally published at insnippets.com

How to handle: API-first development; data encryption; & pre-production complexity

TL;DR style notes from articles I read today.

API first development approach and how it can help your business

  • An API-first approach helps dev teams reduce the cost of developing apps, increase speed-to-market & ensure good developer experiences.
  • It involves developing APIs that are consistent and reusable for all platforms, devices and operating systems.
  • For other developers, APIs are the first & most important way to access & interact with your product. APIs need to be designed with these users in mind.
  • APIs should be a specification in the implementation, instead of just being a thin layer on top of your application.
  • User-friendly API documentation is of utmost importance.

Full post here, 6 mins read


The hardest thing about data encryption

  • The biggest challenge with data encryption is key management i.e - how do you safely store secret keys for either symmetric or asymmetric cryptosystem.
  • Symmetric encryption uses a secret key to encrypt data and uses the same key to decrypt this data when needed. Asymmetric encryption works with a multi-key system.
  • Handle key management by sticking to best practices & outsourcing the underlying cryptography as much as possible.
  • Amazon KMS is a good option if you need to safely encrypt data symmetrically. For asymmetric encryption, it is best to consult a cryptography expert.

Full post here, 6 mins read


The question of multiple databases and pre-production complexity

  • With DevOps, do not get lost trying to create the perfect solution. Just focus on making continuous, small improvements. 
  • When working with long pipelines break up changes into smaller chunks that are easier to develop, test, and deploy.
  • Deal with the complexity of distributed applications with a purpose-built tool
  • Specialized automation and insight tooling are helpful for detecting differences between staging and prod before they impact your uptime.
  • If minimizing the total number of environments is not realistically possible, look at specialized tooling to automate database management.

Full post here, 5 mins read


Get these notes directly to your inbox every weekday by signing up for my newsletter, in.snippets(), here.

Top comments (0)