åäžã®ã³ãŒãããŒã¹ãæ°çŸã®ããã³ããããŒã¿æŒæŽ©ãŒã â ãã¹ãŠã®ã¹ã±ãŒã©ãã«ãªSaaSããžãã¹ã®åºç€ã

åäžã®ãããã€ã¡ã³ãããè€æ°ã®é¡§å®¢ã«ãµãŒãã¹ãæäŸãããã©ãããã©ãŒã ãæ§ç¯ããŠããå Žåãå顧客ã¯ããŒã¿åé¢ããã©ã³ãäœéšãããã³ãããšã®è«æ±ãæåŸ ããŸãããããããã«åå¥ã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãéçšããäœè£ã¯ãããŸãããå ±æã€ã³ãã©ã¹ãã©ã¯ãã£ã®çµæžæ§ãšãå°çšã·ã¹ãã ã®åé¢ä¿èšŒãå¿ èŠã§ããããã¯SaaSã¢ãŒããã¯ãã£ã®æ ¹æ¬çãªèª²é¡ã§ãããåææ®µéã§åé¢ã¢ãã«ã誀ããšããã©ãããã©ãŒã éçºã«ãããŠæãé«äŸ¡ãªééãã®äžã€ã«ãªããŸãã
Explore more design patterns and system architectures
æé©ãªéžæã¯ãããã³ãåé¢ã®èŠä»¶ãšèŠæš¡ã«ãããŸããMicrocosmWorks ã¯éåžžãã»ãšãã©ã® B2B SaaS 補åã«å¯ŸããŠå ±æããŒã¿ããŒã¹ãåå¥ã¹ããŒãã®ã¢ãããŒããæšå¥šããŠããŸããããã¯ãã³ã¹ãå¹çãšããŒã¿åé¢ã®ãã©ã³ã¹ãåããŠããããã§ãããã ããå»çãéèãªã©ã®èŠå¶ã®å³ããæ¥çã®ã¯ã©ã€ã¢ã³ãã«ã¯ã峿 ŒãªããŒã¿åé¢ã矩åä»ããããŠãããããdatabase-per-tenant ãå®è£ ããŠããŸããåœç€Ÿã®ã¢ãŒããã¯ãã¯ãã客æ§ã®ã³ã³ãã©ã€ã¢ã³ã¹èŠä»¶ãäºæ³ãããããã³ãæ°ãããã³ã¯ãšãªãã¿ãŒã³ãè©äŸ¡ããäžã§ãé©åãªããã³ã·ãŒã¢ãã«ãæšå¥šããŸãã
MicrocosmWorks ã¯ãããŒã€ãºã£ãŒãã€ããŒåé¡ã鲿¢ããããã«ãããã³ããæèãã rate limitingãããã³ãããšã®ã¯ã©ãŒã¿ãæã€ connection poolingãããã³ compute layer ã§ã®ãªãœãŒã¹åé¢ãå®è£ ããŠããŸããéã¿ä»ããããå ¬å¹³ãªãã¥ãŒã€ã³ã°ãããã³ãåºæã® caching tiers ãªã©ã®æè¡ã䜿çšããããšã§ã1ã€ã®é¡§å®¢ããã®æ¥æ¿ãªè² è·ãä»ã®é¡§å®¢ã®ã¬ã€ãã³ã·ãŒã«æ³¢åããªãããã«ããŸãããšã³ã¿ãŒãã©ã€ãºãã£ã¢ã®ããã³ãã«å¯ŸããŠã¯ãå ±æã® control plane ãç¶æããªãããå°çšã® compute partition ãããããžã§ãã³ã°ããããšãå¯èœã§ãã
MicrocosmWorks ã¯ãå¿ èŠãªè€éããšããŒã ã®ç緎床ã«å¿ããŠã$15ã$45/æéã®ã³ã³ãµã«ãã£ã³ã°æéã§ã¢ãŒããã¯ãã£èšèšããã³å®è£ ãµãŒãã¹ãæäŸããŠããŸããããŒã¿ããŒã¹èšèšãããã³ãåé¢ãèªèšŒãdeployment pipelines ãã«ããŒããäžè¬çãªãã«ãããã³ã SaaS ã¢ãŒããã¯ãã£ã®ãããžã§ã¯ãã¯ãã¯ãã¹ãã¡ã³ã¯ã·ã§ãã«ããŒã ã§8ã16é±éããããŸããåœç€Ÿã¯ããã¹ãŠã®ãããžã§ã¯ãã«ãããŠåºå®äŸ¡æ Œã®ãã£ã¹ã«ããªãã§ãŒãºãèšå®ããŠãããããæ§ç¯ã«ã³ãããããåã«è²»çšãå®å šã«ææ¡ã§ããŸãã
MicrocosmWorks ã¯ãæ°èŠç»é²ããæ°å以å ã«ã¹ããŒãäœæãDNS èšå®ãfeature flag åæåãã·ãŒãããŒã¿ãããã€ã¡ã³ããåŠçããèªååãããããã³ãããããžã§ãã³ã°ãã€ãã©ã€ã³ãæ§ç¯ããŸããTerraform ã Pulumi ãªã©ã® infrastructure-as-code ããŒã«ãã€ãã³ãé§ååã¯ãŒã¯ãããŒãšçµã¿åãããŠäœ¿çšââããããšã§ãåæ°èŠããã³ãã¯æåä»å ¥ãªãã«å®å šã«æ§æãããç°å¢ãååŸã§ããŸãããã®ã¢ãããŒãã«ãããã客æ§ã¯ãªã³ããŒãã£ã³ã°ããã»ã¹ã倿Žããããšãªãã10ããã³ããã10,000ããã³ããžãšæ¡åŒµã§ããŸãã
MicrocosmWorks ã¯ãã³ãŒããã©ã³ããªãã§ããã³ãããšã®åäœãå¯èœã«ãã feature flagsãããã³ãåºæã®ã¡ã¿ããŒã¿ãããã³ plugin architecture ã䜿çšããŠãæ§æé§ååã®ã«ã¹ã¿ãã€ãºã¬ã€ã€ãŒãå®è£ ããŸããUI themingãã¯ãŒã¯ãããŒãšã³ãžã³ãããã³çµ±åã¬ã€ã€ãŒã«æ¡åŒµãã€ã³ããèšèšããããšã§ãããã³ãã¯ãã¹ãŠæ§æãéããŠç®¡çãããç¬èªã®ãã©ã³ãã£ã³ã°ãããžãã¹ã«ãŒã«ãããã³ãµãŒãããŒãã£æ¥ç¶ãæã€ããšãã§ããŸããããã«ãããã客æ§ã®ãšã³ãžãã¢ãªã³ã°ããŒã ã¯å€æ§ãªé¡§å®¢èŠä»¶ããµããŒãããªããåäžã®ã³ãŒãããŒã¹ãç¶æã§ããŸãã
ç§ãã¡ã®ã¢ãŒããã¯ãã¯ããã®ãã¿ãŒã³ã䜿çšããŠã·ã¹ãã ãèšèšããã³æ§ç¯ããç¹å®ã®èŠä»¶ã«å¯Ÿå¿ããã®ããæäŒãã§ããŸãã
ãåãåãããã«ãããã³ãSaaSã¢ãŒããã¯ãã£ã¯ãåºç€ãšãªãã³ã³ãã¥ãŒãã£ã³ã°ãã¹ãã¬ãŒãžãããã³ãããã¯ãŒã¯ãªãœãŒã¹ãå ±æããªãããããã³ãéã§è«ççãŸãã¯ç©ççãªåé¢ãæäŸããŸãããã®ãã¿ãŒã³ã«ã¯ãããã³ãããããžã§ãã³ã°ãããŒã¿åé¢ãæ©èœç®¡çãè«æ±èšæž¬ããã¯ã€ãã©ãã«ã«ã¹ã¿ãã€ãºãå«ãŸããŸããäžæ žãšãªãèšèšäžã®æ±ºå®ã¯ãåé¢ã¢ãã«ã§ããè¡ã¬ãã«ã»ãã¥ãªãã£ïŒRLSïŒãåããå ±æããŒã¿ããŒã¹ãããã³ãããšã®ã¹ããŒãããŸãã¯ããã³ãããšã®ããŒã¿ããŒã¹ã®ããããã§ããåã¢ãã«ã¯ãåé¢ã®åŒ·åºŠãšéçšäžã®è€éãããã³ã³ã¹ãå¹çã®éã§ãã¬ãŒããªãããããŸãã
ã·ã¹ãã ã¯3ã€ã®å±€ã«åããããŸããããã³ãèªèåã²ãŒããŠã§ã€ã¯ãèªèšŒãããã³ã解決ïŒãµããã¡ã€ã³ãJWTã¯ã¬ãŒã ããŸãã¯APIããŒçµç±ïŒãããã³ãªã¯ãšã¹ãã«ãŒãã£ã³ã°ãåŠçããŸããã¢ããªã±ãŒã·ã§ã³å±€ã¯ãå®å šã«ããã³ãã³ã³ããã¹ãå ã§åäœããŸãããã¹ãŠã®ã¯ãšãªããã¹ãŠã®ãã£ãã·ã¥ããŒããã¹ãŠã®ãã¥ãŒã¡ãã»ãŒãžã¯ã解決ãããããã³ãã«ã¹ã³ãŒããããŸããããŒã¿å±€ã¯ãè¡ã¬ãã«ã»ãã¥ãªãã£ããªã·ãŒãããã³ãããšã®æ¥ç¶ããŒã«ãããã³ä¿åæã®æå·åãããããŒãã£ã·ã§ãã³ã°ãéããŠãã¹ãã¬ãŒãžã¬ãã«ã§åé¢ã匷å¶ããŸãã
tenant_idã§ãã£ã«ã¿ãªã³ã°ããŸããã¹ããŒãããšã®ããã³ãã®å Žå: æ¥ç¶ããŒã«ç®¡çã䌎ãåçæ¥ç¶ã«ãŒãã£ã³ã°ãããŒã¿ããŒã¹ããšã®ããã³ãã®å Žå: Terraform/Pulumiã«ããããããžã§ãã³ã°èªååãacme.yourapp.comïŒã¯ãã¯ã€ãã©ãã«è£œåã«ãšã£ãŠããã¯ãªãŒã³ã§ãããããã³ãããšã®TLSèšŒææžãå¯èœã«ããŸãããã¹ããŒã¹ïŒyourapp.com/acme/ïŒã¯å®è£
ãããã·ã³ãã«ã§ãã¯ã€ã«ãã«ãŒãDNSã®è€éããåé¿ããŸããMicrocosmWorksã¯ããã¯ã€ãã©ãã«èŠä»¶ãæã€B2B SaaSã«ã¯ãµããã¡ã€ã³è§£æ±ºããå
éšãã«ãããã³ãããŒã«ã«ã¯ãã¹ããŒã¹ããå§ãããŸãã
å
±ææ©èœãã©ã° vs. ããã³ãããšã®èšå®ã ç§ãã¡ã¯2å±€ã®æ©èœãã©ã°ã·ã¹ãã ã䜿çšããŠããŸããã°ããŒãã«ãã©ã°ã¯ãã©ãããã©ãŒã å
šäœã®ããŒã«ã¢ãŠããå¶åŸ¡ããããã³ãã¬ãã«ã®ãªãŒããŒã©ã€ãã«ãããç¹å®ã®é¡§å®¢ã«ããŒã¿æ©èœãæå¹ã«ããããäžäœãã£ã¢ãã©ã³ã®ããã³ãã®æ©èœãç¡å¹ã«ãããã§ããŸããEdge ConfigãŸãã¯LaunchDarklyã¯ãããããµãããªç§ã®èªã¿åãã§ãµããŒãããŸãã
ããã³ãèªèåãã£ãã·ã¥ã ãã¹ãŠã®ãã£ãã·ã¥ããŒã¯tenant_idã«ã¹ã³ãŒããããå¿
èŠããããŸããããã¯åœç¶ã®ããšã®ããã«æããŸãããããã³ãéã®ãã£ãã·ã¥ããŒã®è¡çªã¯ãæãäžè¬çãªãã«ãããã³ãã®ãã°ã®äžã€ã§ããç§ãã¡ã¯ãããã³ãã³ã³ããã¹ããèªåçã«ãã¬ãã£ãã¯ã¹ãšããŠä»å ãããã£ãã·ã¥ããŒãã¡ã¯ããªãéããŠããã匷å¶ããŸãã| å±€ | æè¡ |
|---|---|
| ã³ã³ãã¥ãŒãã£ã³ã° | Node.js (NestJS), Python (FastAPI), ECS FargateãŸãã¯Kubernetesäžã§ã³ã³ããå |
| ããŒã¿ | PostgreSQL with RLS, Redis (ããã³ãã¹ã³ãŒãã®), S3 (ããã³ãããŒãã£ã·ã§ãã³ã°ããããã±ãã) |
| ID管ç | Clerk, Auth0, or Okta (ããã³ãã¹ã³ãŒãã®çµç¹ãšé£æº) |
| è«æ± | Stripe Connect (ããŒã±ãããã¬ã€ã¹ã¢ãã«), Stripe Billing (åŸé課éå¶ãµãã¹ã¯ãªãã·ã§ã³) |
| å¯èŠ³æž¬æ§ | Datadog (ããã³ããã£ã¡ã³ã·ã§ã³ã¿ã°ä»ã), ãã¹ãŠã®ãšã³ããªã«tenant_idãå«ãæ§é åãã®ã³ã° |
| 䜿çšãã¹ãã±ãŒã¹ | é¿ããã¹ãã±ãŒã¹ |
|---|---|
| å ±æã€ã³ãã©ã¹ãã©ã¯ãã£ãã10瀟以äžã®é¡§å®¢ã«ãµãŒãã¹ãæäŸããB2Bãã©ãããã©ãŒã ãæ§ç¯ããå Žå | å顧客ãå®å šã«å°çšã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãå¿ èŠãšããå ŽåïŒã³ã³ãã©ã€ã¢ã³ã¹/å¥çŽäžïŒ |
| ãã¯ã€ãã©ãã«ãã©ã³ãã£ã³ã°ãã«ã¹ã¿ã ãã¡ã€ã³ãããã³ããã³ãããšã®æ©èœå¶åŸ¡ãå¿ èŠãªå Žå | 顧客æ°ã3ç€Ÿæªæºã®å Žå â ããã·ã³ãã«ãªé¡§å®¢ããšã®ãããã€ã¡ã³ãã§ååãªå ŽåããããŸã |
| 䜿çšéããŒã¹ãŸãã¯ãã£ã¢ãŒãæéãããã³ãããšã®èšæž¬ãå¿ èŠãšããå Žå | 補åããŠãŒã¶ãŒã¬ãã«ã®ã¢ã«ãŠã³ããæã€ã³ã³ã·ã¥ãŒããŒã¢ããªã§ãããçµç¹ã¬ãã«ã®ããã³ãã§ã¯ãªãå Žå |
| åäžã®ãããã€ã¡ã³ããã€ãã©ã€ã³ãåäžã®ç£èŠã¹ã¿ãã¯ãåäžã®ãªã³ã³ãŒã«ããŒããŒã·ã§ã³ãæãå Žå | ããã³ããæ ¹æ¬çã«ç°ãªãã¹ããŒããŸãã¯ããžãã¹ããžãã¯ïŒèšå®ã ãã§ãªãïŒãæã€å Žå |
MicrocosmWorksã¯ããã«ãããã³ã·ãŒãæ©èœã§ã¯ãªã暪æçé¢å¿äºãšããŠæ±ããŸããç§ãã¡ã¯ããã«ãŠã§ã¢ã¬ãã«ã§ããã³ãã³ã³ããã¹ãäŒæãå®è£ ããŠãããããã¢ããªã±ãŒã·ã§ã³ã³ãŒããæåã§ããã³ãã«ãã£ãŠãã£ã«ã¿ãªã³ã°ããããšã¯ãããŸãã â ããã¯ãã¬ãŒã ã¯ãŒã¯ã«ãã£ãŠåŒ·å¶ãããŸããç§ãã¡ã®RLSå®è£ ã«ã¯ããã¹ãŠã®CIå®è¡ã§ããã³ãéã®ããŒã¿ã¢ã¯ã»ã¹ã詊ã¿ãèªåãã¹ãã¹ã€ãŒããå«ãŸããŠããŸããç§ãã¡ã¯ãå ±æã€ã³ãã©ã¹ãã©ã¯ãã£äžã§500以äžã®ããã³ãã«ãµãŒãã¹ãæäŸãããã«ãããã³ããã©ãããã©ãŒã ãæ§ç¯ããããŒã¿æŒæŽ©äºæ ãŒããéæããŸããããŸããã¹ãã©ã³ãã©ãŒã»ãã£ã°ã»ãã¿ãŒã³ã䜿çšããŠãã·ã³ã°ã«ããã³ãã®ã¢ããªã¹ããã«ãããã³ãã¢ãŒããã¯ãã£ã«ç§»è¡ããŠããŸããã
ã¢ãã«ã¯ããèªäœã§åäœããããã§ã¯ãããŸãããã¢ãã«ã®ãã¬ãŒãã³ã°ãæ€èšŒããããã€ãç£èŠãè¡ããã€ãã©ã€ã³ãããå®éã®è£œåã§ãããã¢ãã«ã¯ãã®ææç©ã®äžã€ã«éããŸããã