Posts

Showing posts with the label design

10 principals in design system architecture

Image
  1. Focus on the benefit instead of the technology It is useless when using technology because of the technology. We need to focus on the benefit that technology provides. For examples: If it can reduce the technical complexity and speed up the development process for the team If it can make the system more reliable If it can simplify and automate to reduce cost 2. Design from a service/API perspective instead of resource or technology Design from service/API establishes a top-down approach. This helps to distribute the vision to a wider team and enables collective system improvement over time instead of fragmented. 3. Use mainstream and mature technology Technology needs to be selected wisely so that less effort needs to spend on evolving. Use more mature technology instead of technology just because you know it. Don't reinvent the wheel. All the self-invented wheels or non-popular technologies will eventually get replaced by mature open source software, as they have huge support...

google cloud credential/service account practice

Image
What is google service account? a service account is a type of Google account that is intended to represent a non-human user. It is typically used in running workloads on virtual machines. It handles authentication and authorization access to different Google APIs Types of service account in google cloud platform There exist a few types of service account User managed service account In user-managed service account, the account is manually managed, it is represented as a JSON file. This post problem on security where the accounts can get accidentally leaked due to device compromise or human-error. {   "type" : "service_account" ,   "project_id" : " project-id " ,   "private_key_id" : " key-id " ,   "private_key" : "-----BEGIN PRIVATE KEY-----\n private-key \n-----END PRIVATE KEY-----\n" ,   "client_email" : " service-account-email " ,   "client_id" : " client-id ...

machine learning pipeline batch prediction designs

Image
Introduction In the machine learning pipeline, we may face the following scenario where we apply machine learning (ML) prediction to $customer * item$ combinations in an attempt to select the best item for each customer according to some criteria. Flow 1 Given this scenario, we normally the following flow obtain customers data obtain items data run ML prediction on each customer-item combination rank the prediction per customer This flow makes both the logical sense (business sense) also the physical sense in terms of how the code is implemented. Flow 2 However, this is overly simplified in the real world. We often have constraints in the item or customer selection that limits which customer-item pair we can use in prediction. This constraint can be law, business contract, or downstream construct of how the selected customer-user combination should be used. This means that we have to apply selection criteria on customers and items such that the ML prediction only runs on the eligible p...