https://cloud.google.com/apis/design/\u003C/a>\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Microsoft REST API Guidelines\u003C/b>\u003Ca href=https://github.com/microsoft/api-guidelines/blob/vNext/azure/Guidelines.md>https://github.com/microsoft/api-guidelines/blob/vNext/azure/Guidelines.md\u003C/a>\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Ca href=\"/tag/restapi\" target=\"_blank\" rel=\"noopener noreferrer ugc\">#restapi\u003C/a> \u003Ca href=\"/tag/systemdesign\" target=\"_blank\" rel=\"noopener noreferrer ugc\">#systemdesign\u003C/a>\u003C/p>\u003C/div>\u003C/div>",{"time":12,"blocks":13,"version":533},1759999343023,[14,22,28,33,38,42,61,65,69,74,78,83,87,91,116,120,123,127,132,136,140,145,149,153,157,161,165,169,173,177,181,185,189,193,197,201,205,218,222,225,228,231,234,237,240,243,259,261,264,267,271,274,277,280,283,299,302,305,317,320,323,339,342,345,348,351,354,357,377,380,383,386,388,391,394,410,414,417,433,436,439,442,445,448,451,454,457,460,462,465,468,471,474,476,479,482,484,487,491,494,497,500,503,505,508,510,513,529],{"id":15,"type":16,"data":17},"e4a2b1c8d","image",{"caption":18,"withBorder":19,"withBackground":19,"stretched":19,"file":20},"",false,{"url":21},"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/4b327ca9-1572-4bd5-a7dc-de7ff364483b/1184.webp",{"id":23,"type":24,"data":25},"a9f8e7d6c","header",{"text":26,"level":27},"A Practical Guide to Designing CRUD APIs",2,{"id":29,"type":30,"data":31},"b5c4d3e2a","paragraph",{"text":32},"Every time I created a new endpoint, I'd ask myself: \"How should I name this route?\" It felt like there had to be a set of rules for building consistent APIs. After exploring design diagrams, reading JJ Geewax's \u003Ci>API Design Patterns\u003C/i>, and studying guidelines from major tech companies, I realized a crucial point:",{"id":34,"type":35,"data":36},"f1e2d3c4b","quote",{"quoteText":37,"authorText":18},"API design is a distinct discipline with its own principles and standards.",{"id":39,"type":30,"data":40},"c7b6a5f4e",{"text":41},"Following established design patterns delivers tangible results:",{"id":43,"type":44,"data":45},"d9e8f7a6b","list",{"style":46,"meta":47,"items":48},"unordered",{},[49,53,57],{"content":50,"meta":51,"items":52},"\u003Cb>Developer-Friendly APIs:\u003C/b> Uniform patterns and web standards make your API intuitive to use.",{},[],{"content":54,"meta":55,"items":56},"\u003Cb>Reusability:\u003C/b> Both the business logic and the API itself become easier to reuse across projects.",{},[],{"content":58,"meta":59,"items":60},"\u003Cb>Predictability:\u003C/b> The interface remains clear and predictable for external clients and integrations.",{},[],{"id":62,"type":30,"data":63},"a3b2c1d0f",{"text":64},"The main challenge is that while standards exist, they often vary. Many look great on paper but are hard to apply to a simple CRUD application without complex business logic. \u003Cb>This article provides a concise cheat sheet for designing APIs for CRUD services\u003C/b>, showing a deliberate and consistent thought process.",{"id":66,"type":67,"data":68},"e9f8d7c6b","delimiter",{},{"id":70,"type":24,"data":71},"b1a0f9e8d",{"text":72,"level":73},"Part 1: It All Starts with the Domain",3,{"id":75,"type":30,"data":76},"c2b1a0f9e",{"text":77},"A well-designed API begins with clearly defined \u003Cb>resources\u003C/b> and their interactions. When your domain model and its operations are clear, the HTTP layer becomes simple and predictable.",{"id":79,"type":16,"data":80},"d3c2b1a0f",{"caption":18,"withBorder":19,"withBackground":19,"stretched":19,"file":81},{"url":82},"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/a8449571-c31d-4e69-8dfd-3b720864ba91/1184.webp",{"id":84,"type":24,"data":85},"e4d3c2b1a",{"text":86,"level":27},"The Core Action Vocabulary",{"id":88,"type":30,"data":89},"f5e4d3c2b",{"text":90},"To achieve consistency, rely on five fundamental operations in your business logic:",{"id":92,"type":44,"data":93},"a6f5e4d3c",{"style":46,"meta":94,"items":95},{},[96,100,104,108,112],{"content":97,"meta":98,"items":99},"\u003Cb>GetResource:\u003C/b> Retrieve a specific resource.",{},[],{"content":101,"meta":102,"items":103},"\u003Cb>ListResources:\u003C/b> Retrieve a collection of resources (with filtering, sorting, and pagination).",{},[],{"content":105,"meta":106,"items":107},"\u003Cb>CreateResource:\u003C/b> Create a new resource.",{},[],{"content":109,"meta":110,"items":111},"\u003Cb>UpdateResource:\u003C/b> Modify a resource (partially or fully).",{},[],{"content":113,"meta":114,"items":115},"\u003Cb>DeleteResource:\u003C/b> Remove a resource.",{},[],{"id":117,"type":30,"data":118},"b7a6f5e4d",{"text":119},"Avoid method names like \u003Ccode>GetByOrganization\u003C/code>, \u003Ccode>Insert\u003C/code>, \u003Ccode>Upsert\u003C/code>, \u003Ccode>DeleteAll\u003C/code>, or \u003Ccode>FindOrCreate\u003C/code>. All variability should be handled through \u003Cb>parameters\u003C/b>, not by creating new method names.",{"id":121,"type":67,"data":122},"c8b7a6f5e",{},{"id":124,"type":24,"data":125},"d9c8b7a6f",{"text":126,"level":73},"Part 2: Standard API Methods",{"id":128,"type":16,"data":129},"e0d9c8b7a",{"caption":18,"withBorder":19,"withBackground":19,"stretched":19,"file":130},{"url":131},"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/dc815f98-5935-4941-8cae-461534673d1e/1184.webp",{"id":133,"type":24,"data":134},"f1e0d9c8b",{"text":135,"level":27},"The Resource Model",{"id":137,"type":30,"data":138},"a2f1e0d9c",{"text":139},"Here is an example model we'll use:",{"id":141,"type":142,"data":143},"b3a2f1e0d","code",{"code":144},"{\n \"id\": \"guid\",\n \"title\": \"string\",\n \"status\": \"active|archived|draft\"\n}",{"id":146,"type":24,"data":147},"c4b3a2f1e",{"text":148,"level":73},"1. Create a Resource",{"id":150,"type":30,"data":151},"d5c4b3a2f",{"text":152},"\u003Cb>POST \u003C/b>\u003Ccode>\u003Cb>/v1/resources\u003C/b>\u003C/code>\u003Cbr>Request Body:",{"id":154,"type":142,"data":155},"e6d5c4b3a",{"code":156},"{ \"title\": \"New resource\", \"status\": \"draft\" }",{"id":158,"type":30,"data":159},"f7e6d5c4b",{"text":160},"Response: \u003Cb>201 Created\u003C/b> with the newly created resource:",{"id":162,"type":142,"data":163},"a8f7e6d5c",{"code":164},"{ \"id\": \"guid\", \"title\": \"New resource\", \"status\": \"draft\" }",{"id":166,"type":24,"data":167},"b9a8f7e6d",{"text":168,"level":73},"2. Get a Specific Resource",{"id":170,"type":30,"data":171},"c0b9a8f7e",{"text":172},"\u003Cb>GET \u003C/b>\u003Ccode>\u003Cb>/v1/resources/{id}\u003C/b>\u003C/code>\u003Cbr>Response: \u003Cb>200 OK\u003C/b> with the resource, or \u003Cb>404 Not Found\u003C/b>.",{"id":174,"type":24,"data":175},"d1c0b9a8f",{"text":176,"level":73},"3. Get a Collection of Resources",{"id":178,"type":30,"data":179},"e2d1c0b9a",{"text":180},"\u003Cb>GET \u003C/b>\u003Ccode>\u003Cb>/v1/resources\u003C/b>\u003C/code>\u003Cbr>Response: \u003Cb>200 OK\u003C/b>:",{"id":182,"type":142,"data":183},"f3e2d1c0b",{"code":184},"{\n \"resources\": [\n { \"id\": \"guid\", \"title\": \"New resource\", \"status\": \"draft\" }\n ]\n}",{"id":186,"type":30,"data":187},"a4f3e2d1c",{"text":188},"Always return an \u003Cb>object instead of a raw array\u003C/b>. This makes it easier to extend the contract later with metadata or pagination. If no resources are found, return a \u003Cb>200 OK\u003C/b> with an empty collection.",{"id":190,"type":24,"data":191},"b5a4f3e2d",{"text":192,"level":73},"4. Replace a Resource (PUT)",{"id":194,"type":30,"data":195},"c6b5a4f3e",{"text":196},"\u003Cb>PUT \u003C/b>\u003Ccode>\u003Cb>/v1/resources/{id}\u003C/b>\u003C/code>\u003Cbr>The request body must contain the full representation of the resource.",{"id":198,"type":142,"data":199},"d7c6b5a4f",{"code":200},"{ \"title\": \"Updated\", \"status\": \"active\" }",{"id":202,"type":30,"data":203},"e8d7c6b5a",{"text":204},"Response Codes:",{"id":206,"type":44,"data":207},"f9e8d7c6b",{"style":46,"meta":208,"items":209},{},[210,214],{"content":211,"meta":212,"items":213},"\u003Cb>201 Created:\u003C/b> If the resource was created (if you allow client-specified IDs).",{},[],{"content":215,"meta":216,"items":217},"\u003Cb>200 OK:\u003C/b> If the resource existed and was replaced. Return the updated resource.",{},[],{"id":219,"type":30,"data":220},"a0f9e8d7c",{"text":221},"If a field is omitted from the request, it should be reset to its default value.",{"id":70,"type":24,"data":223},{"text":224,"level":73},"5. Partially Update a Resource (PATCH)",{"id":75,"type":30,"data":226},{"text":227},"\u003Cb>PATCH \u003C/b>\u003Ccode>\u003Cb>/v1/resources/{id}\u003C/b>\u003C/code>\u003Cbr>The request body should only contain the fields to be changed:",{"id":79,"type":142,"data":229},{"code":230},"{ \"status\": \"archived\" }",{"id":84,"type":30,"data":232},{"text":233},"Response: \u003Cb>200 OK\u003C/b> with the updated resource, or \u003Cb>404 Not Found\u003C/b>.",{"id":88,"type":24,"data":235},{"text":236,"level":73},"6. Delete a Resource",{"id":92,"type":30,"data":238},{"text":239},"\u003Cb>DELETE \u003C/b>\u003Ccode>\u003Cb>/v1/resources/{id}\u003C/b>\u003C/code>\u003Cbr>Response: \u003Cb>204 No Content\u003C/b> (with an empty body).",{"id":117,"type":24,"data":241},{"text":242,"level":27},"Key Takeaways",{"id":121,"type":44,"data":244},{"style":46,"meta":245,"items":246},{},[247,251,255],{"content":248,"meta":249,"items":250},"Always use \u003Cb>plural nouns\u003C/b> for resource collections in paths (e.g., \u003Ccode>/resources\u003C/code>).",{},[],{"content":252,"meta":253,"items":254},"For standard operations, the resource ID should \u003Cb>only be in the path\u003C/b> (e.g., \u003Ccode>/resources/{id}\u003C/code>).",{},[],{"content":256,"meta":257,"items":258},"Return the \u003Cb>full resource\u003C/b> on POST, PUT, and PATCH requests to simplify debugging and testing.",{},[],{"id":124,"type":67,"data":260},{},{"id":128,"type":24,"data":262},{"text":263,"level":73},"Part 3: Extending Standard Methods",{"id":133,"type":30,"data":265},{"text":266},"Now, let's enhance our basic operations without creating a messy explosion of new endpoints.",{"id":137,"type":16,"data":268},{"caption":18,"withBorder":19,"withBackground":19,"stretched":19,"file":269},{"url":270},"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/5ffa948b-bd53-41f7-b528-3cc78843a8da/1184.webp",{"id":141,"type":24,"data":272},{"text":273,"level":27},"Pagination",{"id":146,"type":30,"data":275},{"text":276},"The simplest and most common method is \u003Cb>offset-based pagination\u003C/b> using \u003Ccode>skip\u003C/code> and \u003Ccode>take\u003C/code> parameters (or \u003Ccode>offset\u003C/code> and \u003Ccode>limit\u003C/code>).",{"id":150,"type":30,"data":278},{"text":279},"\u003Cb>GET\u003C/b> \u003Ccode>/v1/resources?skip=20&take=10\u003C/code> — Skips the first 20 resources and retrieves the next 10.\u003Cbr>Response:",{"id":154,"type":142,"data":281},{"code":282},"{\n \"resources\": [\n { \"id\": \"guid\", \"title\": \"...\" }\n ],\n \"total\": 350\n}",{"id":158,"type":44,"data":284},{"style":46,"meta":285,"items":286},{},[287,291,295],{"content":288,"meta":289,"items":290},"Including \u003Ccode>total\u003C/code> in the response helps the client understand if there are more pages to fetch.",{},[],{"content":292,"meta":293,"items":294},"Always sort results by a default key (like creation date) to ensure \u003Cb>deterministic\u003C/b> responses.",{},[],{"content":296,"meta":297,"items":298},"Set a hard \u003Cb>maximum limit\u003C/b> for the \u003Ccode>take\u003C/code> parameter to prevent performance issues.",{},[],{"id":162,"type":24,"data":300},{"text":301,"level":27},"Filtering",{"id":166,"type":30,"data":303},{"text":304},"The most straightforward approach is to use \u003Cb>explicit query parameters\u003C/b> for each filter. Use operator suffixes for more complex queries:",{"id":170,"type":44,"data":306},{"style":46,"meta":307,"items":308},{},[309,313],{"content":310,"meta":311,"items":312},"\u003Ccode>_eq\u003C/code> (default, can be omitted), \u003Ccode>_ne\u003C/code>, \u003Ccode>_lt\u003C/code>, \u003Ccode>_gt\u003C/code>, \u003Ccode>_lte\u003C/code>, \u003Ccode>_gte\u003C/code>",{},[],{"content":314,"meta":315,"items":316},"\u003Ccode>_in\u003C/code>, \u003Ccode>_nin\u003C/code> for multiple values",{},[],{"id":174,"type":30,"data":318},{"text":319},"Examples:",{"id":178,"type":142,"data":321},{"code":322},"GET /v1/resources?status_in=active,draft\nGET /v1/resources?title_eq=Design\nGET /v1/resources?meta_created_at_gte=2023-01-01",{"id":182,"type":44,"data":324},{"style":46,"meta":325,"items":326},{},[327,331,335],{"content":328,"meta":329,"items":330},"For complex filtering (e.g., on nested arrays), consider a dedicated search endpoint that accepts a \u003Cb>POST\u003C/b> request with a body.",{},[],{"content":332,"meta":333,"items":334},"\u003Cb>Ignore\u003C/b> unknown query parameters by default.",{},[],{"content":336,"meta":337,"items":338},"Use a dedicated \u003Ccode>search\u003C/code> parameter for full-text search.",{},[],{"id":186,"type":24,"data":340},{"text":341,"level":27},"Sorting",{"id":190,"type":30,"data":343},{"text":344},"Similar to filtering, use explicit parameters like \u003Ccode>created_at_sort=asc|desc\u003C/code>. If the parameter is absent, the field is not used for sorting.",{"id":194,"type":142,"data":346},{"code":347},"GET /v1/resources?created_at_sort=asc\nGET /v1/resources?created_at_sort=asc&title_sort=desc",{"id":198,"type":35,"data":349},{"quoteText":350,"authorText":18},"Using generic `orderby` or `filter` parameters often leads to parsing headaches and tightly couples the API to the internal data model. Explicit parameters make the contract clearer and simplify implementation.",{"id":202,"type":24,"data":352},{"text":353,"level":27},"Soft Delete",{"id":206,"type":30,"data":355},{"text":356},"Instead of permanently deleting data, mark it as deleted. Add a nullable \u003Ccode>deleted_at\u003C/code> field to your model.",{"id":219,"type":44,"data":358},{"style":46,"meta":359,"items":360},{},[361,365,369,373],{"content":362,"meta":363,"items":364},"\u003Cb>Archive:\u003C/b> \u003Ccode>DELETE /v1/resources/{id}\u003C/code> returns \u003Cb>204\u003C/b> and sets the \u003Ccode>deleted_at\u003C/code> timestamp.",{},[],{"content":366,"meta":367,"items":368},"\u003Cb>Restore:\u003C/b> \u003Ccode>PATCH /v1/resources/{id}/restore\u003C/code> returns \u003Cb>200\u003C/b>, sets \u003Ccode>deleted_at\u003C/code> to \u003Ccode>null\u003C/code>, and returns the resource.",{},[],{"content":370,"meta":371,"items":372},"\u003Cb>List with deleted:\u003C/b> \u003Ccode>GET /v1/resources?include_deleted=true\u003C/code>.",{},[],{"content":374,"meta":375,"items":376},"\u003Cb>Permanently delete:\u003C/b> \u003Ccode>DELETE /v1/resources/{id}?force=true\u003C/code> returns \u003Cb>204\u003C/b>.",{},[],{"id":70,"type":24,"data":378},{"text":379,"level":27},"Putting It All Together",{"id":75,"type":30,"data":381},{"text":382},"Here's a request combining pagination, filtering, and sorting:",{"id":79,"type":142,"data":384},{"code":385},"GET /v1/resources?skip=10&take=5&status_in=active,draft&created_at_sort=desc&include_deleted=false",{"id":84,"type":67,"data":387},{},{"id":88,"type":24,"data":389},{"text":390,"level":73},"Part 4: Custom Methods and Batch Operations",{"id":92,"type":30,"data":392},{"text":393},"Standard GET, POST, PUT, PATCH, and DELETE methods cover about 80% of CRUD needs. The remaining 20% involve custom domain actions that:",{"id":117,"type":44,"data":395},{"style":46,"meta":396,"items":397},{},[398,402,406],{"content":399,"meta":400,"items":401},"Change a resource's state in a way that isn't a simple update (e.g., \"approve\", \"cancel\", \"apply discount\").",{},[],{"content":403,"meta":404,"items":405},"Trigger a calculation (e.g., \"calculate shipping rate\").",{},[],{"content":407,"meta":408,"items":409},"Have side effects without creating a resource directly (e.g., \"view resource\").",{},[],{"id":121,"type":16,"data":411},{"caption":18,"withBorder":19,"withBackground":19,"stretched":19,"file":412},{"url":413},"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/f2ec9543-603b-4340-94b6-c297c55a911d/1184.webp",{"id":124,"type":24,"data":415},{"text":416,"level":27},"Guiding Principles for Custom Methods",{"id":128,"type":44,"data":418},{"style":46,"meta":419,"items":420},{},[421,425,429],{"content":422,"meta":423,"items":424},"Place a \u003Cb>verb\u003C/b> after the resource ID: \u003Ccode>POST /v1/resources/{id}/apply-discount\u003C/code>.",{},[],{"content":426,"meta":427,"items":428},"Use \u003Cb>POST\u003C/b> for actions that have side effects.",{},[],{"content":430,"meta":431,"items":432},"Use \u003Cb>GET\u003C/b> for read-only actions like calculations that don't change state.",{},[],{"id":133,"type":24,"data":434},{"text":435,"level":73},"Batch Operations",{"id":137,"type":30,"data":437},{"text":438},"Batch operations reduce the number of API calls, allow for atomic changes to multiple resources, and simplify client-side logic.",{"id":141,"type":24,"data":440},{"text":441,"level":27},"Batch Read",{"id":146,"type":30,"data":443},{"text":444},"Avoid passing IDs in the query string, as you risk exceeding URL length limits. Instead, use a POST request.",{"id":150,"type":142,"data":446},{"code":447},"POST /v1/resources/batch-get",{"id":154,"type":30,"data":449},{"text":450},"Request Body:",{"id":158,"type":142,"data":452},{"code":453},"{ \"ids\": [\"guid-1\", \"guid-2\"] }",{"id":162,"type":24,"data":455},{"text":456,"level":27},"Batch Create",{"id":166,"type":142,"data":458},{"code":459},"POST /v1/resources/batch",{"id":170,"type":30,"data":461},{"text":450},{"id":174,"type":142,"data":463},{"code":464},"{\n \"resources\": [\n { \"title\": \"A\", \"status\": \"draft\" },\n { \"title\": \"B\", \"status\": \"active\" }\n ]\n}",{"id":178,"type":30,"data":466},{"text":467},"Response: \u003Cb>201 Created\u003C/b> with an array of the newly created resources.",{"id":182,"type":24,"data":469},{"text":470,"level":27},"Batch Delete",{"id":186,"type":142,"data":472},{"code":473},"POST /v1/resources/batch-delete",{"id":190,"type":30,"data":475},{"text":450},{"id":194,"type":142,"data":477},{"code":478},"{\n \"ids\": [\"guid-1\", \"guid-2\"],\n \"force\": false\n}",{"id":198,"type":30,"data":480},{"text":481},"Response: \u003Cb>200 OK\u003C/b>. According to \u003Cb>RFC 9110\u003C/b>, it's recommended to use \u003Cb>POST with a body\u003C/b> for this operation instead of a DELETE method.",{"id":202,"type":67,"data":483},{},{"id":206,"type":24,"data":485},{"text":486,"level":73},"Part 5: Frequently Asked Questions",{"id":219,"type":16,"data":488},{"caption":18,"withBorder":19,"withBackground":19,"stretched":19,"file":489},{"url":490},"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/02891b5f-34f9-471c-8e89-9adf6dc2f17a/1184.webp",{"id":70,"type":24,"data":492},{"text":493,"level":27},"Should I always return the full resource on POST/PUT/PATCH?",{"id":75,"type":30,"data":495},{"text":496},"Yes. For typical CRUD services, this simplifies development by reducing the need for extra requests. It also makes debugging and testing much easier.",{"id":79,"type":24,"data":498},{"text":499,"level":27},"Won't I hit query parameter limits with complex filtering?",{"id":84,"type":30,"data":501},{"text":502},"For most CRUD applications with a dozen or so explicit filters, this isn't an issue. When you have a large number of criteria, use a dedicated search endpoint that accepts a \u003Cb>POST\u003C/b> request with the filter parameters in the body.",{"id":88,"type":67,"data":504},{},{"id":117,"type":30,"data":506},{"text":507},"This guide intentionally omits topics like idempotency, ETags, and versioning, which are well-covered in official guidelines. The goal was to demonstrate that a small, clear set of rules can solve 80% of common API design challenges. By sticking to these principles, you reduce duplication, simplify maintenance, and leave room for future expansion. The other 20% of cases will require thoughtful decisions, and that's when you should consult industry standards.",{"id":121,"type":67,"data":509},{},{"id":124,"type":24,"data":511},{"text":512,"level":73},"Useful Links",{"id":128,"type":44,"data":514},{"style":46,"meta":515,"items":516},{},[517,521,525],{"content":518,"meta":519,"items":520},"\u003Cb>RFC 9110 — HTTP Semantics (methods, codes, headers)\u003C/b>\u003Ca href=\"https://datatracker.ietf.org/doc/html/rfc9110\">https://datatracker.ietf.org/doc/html/rfc9110\u003C/a>",{},[],{"content":522,"meta":523,"items":524},"\u003Cb>Google API Design Guide\u003C/b>\u003Ca href=\"https://cloud.google.com/apis/design/\">https://cloud.google.com/apis/design/\u003C/a>",{},[],{"content":526,"meta":527,"items":528},"\u003Cb>Microsoft REST API Guidelines\u003C/b>\u003Ca href=\"https://github.com/microsoft/api-guidelines/blob/vNext/azure/Guidelines.md\">https://github.com/microsoft/api-guidelines/blob/vNext/azure/Guidelines.md\u003C/a>",{},[],{"id":530,"type":30,"data":531},"v-L6i8yKBh",{"text":532},"#restapi #systemdesign","2.31.0",{"authorId":535,"name":536,"avatar":537,"username":538},"bje9Vrx386VzjYXPjj8t2UsYtDv1","Gloria Mazzi","https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/900f4bde-d2bc-4a20-9ae9-4c5d48996901/1184.webp","id191722913817","SYSTEM_DESIGN","PUBLISHED",[542],{"emojiId":543,"count":27,"reactedByUser":19},1,{"comments":545,"favorites":27,"views":546,"hits":547},0,17,231,"2025-10-09T08:39:16.61","2025-10-09T10:37:05.677",null,{"postId":552,"title":553,"slug":554,"preview":555,"html":556,"content":557,"author":615,"authorUsername":619,"topic":620,"status":540,"reactions":621,"counters":627,"createdAt":630,"updatedAt":631,"publishedPostId":550,"favorite":19},"e440ef16-570c-41f9-9b4e-724dc7fd3369","xAI updates Grok Imagine model — now it generates video with character speech and in better quality","044673-xai-updates-grok-imagine-model-generates-video-with-character-speech-better-quality","\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">The latest version of the AI video generation model is now available for free on the \u003Ca href=\"https://grok.com/imagine\">Grok website\u003C/a> and its mobile apps for \u003Ca href=\"https://apps.apple.com/us/app/grok-%D0%B8%D0%B8-%D0%B0%D1%81%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BD%D1%82/id6670324846?l=ru\">iOS\u003C/a> and \u003Ca href=\"https://play.google.com/store/apps/details?id=ai.x.grok&hl=ru\">Android\u003C/a>. Following its initial release, this update introduces significant new features and enhancements.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--media\">\u003Cfigure class=\"block-content content-block-image\">\u003Cvideo src=\"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/8f1bc349-f77d-478f-9ef4-c3c4b04fb90c/a9a961fe-28d5-4f8a-95c7-1efc17409e6817902429029080188759.mp4\" class=\"rounded-xl w-full\" preload=\"auto\" autoplay muted playsinline loop>Your browser does not support the video tag.\u003C/video>\u003C/figure>\u003Cspan class=\"caption-text text-sm mt-3\">Example of a video generated with background music.\u003C/span>\u003C/div>","\u003Cdiv class=\"content-wrapper break-words\">\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">The latest version of the AI video generation model is now available for free on the \u003Ca href=\"https://grok.com/imagine\">Grok website\u003C/a> and its mobile apps for \u003Ca href=\"https://apps.apple.com/us/app/grok-%D0%B8%D0%B8-%D0%B0%D1%81%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BD%D1%82/id6670324846?l=ru\">iOS\u003C/a> and \u003Ca href=\"https://play.google.com/store/apps/details?id=ai.x.grok&hl=ru\">Android\u003C/a>. Following its initial release, this update introduces significant new features and enhancements.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--media\">\u003Cfigure class=\"block-content content-block-image\">\u003Cvideo src=\"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/8f1bc349-f77d-478f-9ef4-c3c4b04fb90c/a9a961fe-28d5-4f8a-95c7-1efc17409e6817902429029080188759.mp4\" class=\"rounded-xl w-full\" preload=\"auto\" autoplay muted playsinline loop>Your browser does not support the video tag.\u003C/video>\u003C/figure>\u003Cspan class=\"caption-text text-sm mt-3\">Example of a video generated with background music.\u003C/span>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">What's New in Grok Imagine v0.9?\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">\u003Cb>New 'Speech' Mode:\u003C/b> Users can now make characters speak by providing text. This joins the existing Custom, Fun, and Spicy modes, the latter of which allows for videos with partial nudity and suggestive movements.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Longer Videos:\u003C/b> The model can now generate videos up to six seconds in length.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Rapid Quality Improvement:\u003C/b> Social media users are highlighting the dramatic improvement in quality since the model's initial release in early August 2025.\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--media\">\u003Cfigure class=\"block-content content-block-image\">\u003Cvideo src=\"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/d47ab55a-bef1-44a9-a44d-86548d75b623/529195dc-becf-4f88-852b-e36161ad91705079340660026946751.mp4\" class=\"rounded-xl w-full\" preload=\"auto\" autoplay muted playsinline loop>Your browser does not support the video tag.\u003C/video>\u003C/figure>\u003Cspan class=\"caption-text text-sm mt-3\">Grok Imagine v0.9 generating speech for an actress from a source image. \u003C/span>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">A Look Back: The Previous Version\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">For comparison, the previous version of the model lacked the ability to add speech to characters, which underscores the significant progress made in this latest update.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--media\">\u003Cfigure class=\"block-content content-block-image\">\u003Cvideo src=\"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/b5f29c3f-b136-460a-bdad-82afad4af272/5fff7419-9b4a-4f16-8628-6afa1357708217328938417345182533.mp4\" class=\"rounded-xl w-full\" preload=\"auto\" autoplay muted playsinline loop>Your browser does not support the video tag.\u003C/video>\u003C/figure>\u003Cspan class=\"caption-text text-sm mt-3\">An example from the previous version of Grok Imagine. \u003C/span>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Ca href=\"/tag/news\" target=\"_blank\" rel=\"noopener noreferrer ugc\">#news\u003C/a> \u003Ca href=\"/tag/ai\" target=\"_blank\" rel=\"noopener noreferrer ugc\">#ai\u003C/a> \u003Ca href=\"/tag/grok\" target=\"_blank\" rel=\"noopener noreferrer ugc\">#grok\u003C/a>\u003C/p>\u003C/div>\u003C/div>",{"time":558,"blocks":559,"version":533},1759837665107,[560,564,570,574,591,597,601,605,611],{"id":561,"type":30,"data":562},"xY8rP5tQz7",{"text":563},"The latest version of the AI video generation model is now available for free on the \u003Ca href=\"https://grok.com/imagine\">Grok website\u003C/a> and its mobile apps for \u003Ca href=\"https://apps.apple.com/us/app/grok-%D0%B8%D0%B8-%D0%B0%D1%81%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BD%D1%82/id6670324846?l=ru\">iOS\u003C/a> and \u003Ca href=\"https://play.google.com/store/apps/details?id=ai.x.grok&hl=ru\">Android\u003C/a>. Following its initial release, this update introduces significant new features and enhancements.",{"id":565,"type":16,"data":566},"a9bC1dF4gH",{"caption":567,"withBorder":19,"withBackground":19,"stretched":19,"file":568},"Example of a video generated with background music.",{"url":569},"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/8f1bc349-f77d-478f-9ef4-c3c4b04fb90c/a9a961fe-28d5-4f8a-95c7-1efc17409e6817902429029080188759.mp4",{"id":571,"type":24,"data":572},"kL5mN8jPq2",{"text":573,"level":73},"What's New in Grok Imagine v0.9?",{"id":575,"type":44,"data":576},"rS9tV3wXz6",{"style":46,"meta":577,"items":578},{},[579,583,587],{"content":580,"meta":581,"items":582},"\u003Cb>New 'Speech' Mode:\u003C/b> Users can now make characters speak by providing text. This joins the existing Custom, Fun, and Spicy modes, the latter of which allows for videos with partial nudity and suggestive movements.",{},[],{"content":584,"meta":585,"items":586},"\u003Cb>Longer Videos:\u003C/b> The model can now generate videos up to six seconds in length.",{},[],{"content":588,"meta":589,"items":590},"\u003Cb>Rapid Quality Improvement:\u003C/b> Social media users are highlighting the dramatic improvement in quality since the model's initial release in early August 2025.",{},[],{"id":592,"type":16,"data":593},"vC7xZ1bNf8",{"caption":594,"withBorder":19,"withBackground":19,"stretched":19,"file":595},"Grok Imagine v0.9 generating speech for an actress from a source image. ",{"url":596},"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/d47ab55a-bef1-44a9-a44d-86548d75b623/529195dc-becf-4f88-852b-e36161ad91705079340660026946751.mp4",{"id":598,"type":24,"data":599},"iN6jO0kRz9",{"text":600,"level":73},"A Look Back: The Previous Version",{"id":602,"type":30,"data":603},"wD3zF7gVb2",{"text":604},"For comparison, the previous version of the model lacked the ability to add speech to characters, which underscores the significant progress made in this latest update.",{"id":606,"type":16,"data":607},"qA5xS8tUj6",{"caption":608,"withBorder":19,"withBackground":19,"stretched":19,"file":609},"An example from the previous version of Grok Imagine. ",{"url":610},"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/b5f29c3f-b136-460a-bdad-82afad4af272/5fff7419-9b4a-4f16-8628-6afa1357708217328938417345182533.mp4",{"id":612,"type":30,"data":613},"bWBzEUpW5k",{"text":614},"#news #ai #grok",{"authorId":616,"name":617,"avatar":618,"username":619},"js9nOXdaWKhIGloRqskbZDY1WnL2","Leonid Herasimau","https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/60fdf5c8-13ea-41de-b2e9-566870b67fc2/592.webp","id357938428487","AI",[622,623,625],{"emojiId":546,"count":543,"reactedByUser":19},{"emojiId":624,"count":543,"reactedByUser":19},4,{"emojiId":626,"count":27,"reactedByUser":19},13,{"comments":27,"favorites":624,"views":628,"hits":629},254,417,"2025-10-07T11:41:52.745","2025-10-09T08:21:12.902",{"postId":633,"title":634,"slug":635,"preview":636,"html":637,"content":638,"author":679,"authorUsername":683,"topic":620,"status":540,"reactions":684,"counters":686,"createdAt":689,"updatedAt":690,"publishedPostId":550,"favorite":19},"a113f154-f9b1-4e8a-a40b-3694c477e82f","Google's Next-Gen AI Video Model, Veo 3.1, Surfaces Online","766425-googles-next-gen-ai-video-model-veo-3-1-surfaces-online","\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Details of Veo 3.1, Google's updated AI video generation model, have surfaced \u003Ca href=\"https://higgsfield.ai/veo3.1\">on the Higgsfield AI\u003C/a> platform and Google's own Vertex AI cloud service. While the tool isn't public yet, the leaks point to several significant upgrades over its predecessor.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--media\">\u003Cfigure class=\"block-content content-block-image\">\u003Cimg src=\"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/705aed82-9dc2-485d-9834-bd08cea35c1b/1184.webp\" alt=\"Image\" class=\"rounded-xl medium-zoom-image\" loading=\"lazy\">\u003C/figure>\u003C/div>","\u003Cdiv class=\"content-wrapper break-words\">\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Details of Veo 3.1, Google's updated AI video generation model, have surfaced \u003Ca href=\"https://higgsfield.ai/veo3.1\">on the Higgsfield AI\u003C/a> platform and Google's own Vertex AI cloud service. While the tool isn't public yet, the leaks point to several significant upgrades over its predecessor.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--media\">\u003Cfigure class=\"block-content content-block-image\">\u003Cimg src=\"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/705aed82-9dc2-485d-9834-bd08cea35c1b/1184.webp\" alt=\"Image\" class=\"rounded-xl medium-zoom-image\" loading=\"lazy\">\u003C/figure>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">Key Leaked Features\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">\u003Cb>1080p Resolution & Longer Clips:\u003C/b> The model is expected to generate videos in 1080p with a duration exceeding 30 seconds—a major leap from the 8-second limit of the previous version.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Scene Builder for Consistency:\u003C/b> A new 'scene builder' feature will likely analyze existing footage to generate subsequent clips, ensuring consistent characters and scene elements across shots.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Multi-Prompting Capabilities:\u003C/b> Veo 3.1 may support multi-prompting, allowing users to define different instructions for various scenes within a single video timeline.\u003C/li>\u003C/ul>\u003C/div>\u003Cfigure class=\"block-wrapper block-wrapper--media\">\u003Cdiv class=\"block-wrapper__content\">\u003Cblockquote class=\"block-quote block-quote--text-small\">\u003Cdiv class=\"block-quote__line\">\u003C/div>\u003Cdiv class=\"block-quote__text\">An official announcement is anticipated at Google's upcoming 'Gemini at Work' event, which will showcase the latest AI solutions for business and productivity.\u003C/div>\u003C/blockquote>\u003C/div>\u003C/figure>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Ca href=\"/tag/ai\" target=\"_blank\" rel=\"noopener noreferrer ugc\">#ai\u003C/a> \u003Ca href=\"/tag/news\" target=\"_blank\" rel=\"noopener noreferrer ugc\">#news\u003C/a> \u003Ca href=\"/tag/google\" target=\"_blank\" rel=\"noopener noreferrer ugc\">#google\u003C/a> \u003Ca href=\"/tag/veo3\" target=\"_blank\" rel=\"noopener noreferrer ugc\">#veo3\u003C/a>\u003C/p>\u003C/div>\u003C/div>",{"time":639,"blocks":640,"version":533},1759998221194,[641,645,650,654,671,675],{"id":642,"type":30,"data":643},"B9dGh5jK8L",{"text":644},"Details of Veo 3.1, Google's updated AI video generation model, have surfaced \u003Ca href=\"https://higgsfield.ai/veo3.1\">on the Higgsfield AI\u003C/a> platform and Google's own Vertex AI cloud service. While the tool isn't public yet, the leaks point to several significant upgrades over its predecessor.",{"id":646,"type":16,"data":647},"f55f33c6-7",{"caption":18,"withBorder":19,"withBackground":19,"stretched":19,"file":648},{"url":649},"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/705aed82-9dc2-485d-9834-bd08cea35c1b/1184.webp",{"id":651,"type":24,"data":652},"C7kMn9pQ2R",{"text":653,"level":73},"Key Leaked Features",{"id":655,"type":44,"data":656},"D1sVt3wX6Z",{"style":46,"meta":657,"items":658},{},[659,663,667],{"content":660,"meta":661,"items":662},"\u003Cb>1080p Resolution & Longer Clips:\u003C/b> The model is expected to generate videos in 1080p with a duration exceeding 30 seconds—a major leap from the 8-second limit of the previous version.",{},[],{"content":664,"meta":665,"items":666},"\u003Cb>Scene Builder for Consistency:\u003C/b> A new 'scene builder' feature will likely analyze existing footage to generate subsequent clips, ensuring consistent characters and scene elements across shots.",{},[],{"content":668,"meta":669,"items":670},"\u003Cb>Multi-Prompting Capabilities:\u003C/b> Veo 3.1 may support multi-prompting, allowing users to define different instructions for various scenes within a single video timeline.",{},[],{"id":672,"type":35,"data":673},"E5uFy7zH9V",{"quoteText":674,"authorText":18},"An official announcement is anticipated at Google's upcoming 'Gemini at Work' event, which will showcase the latest AI solutions for business and productivity.",{"id":676,"type":30,"data":677},"qtbF-W3nDZ",{"text":678},"#ai #news #google #veo3",{"authorId":680,"name":681,"avatar":682,"username":683},"MNVqYgN2cURXIJ86dc0aFhblcZk2","Anna Aasen","https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/b46d079e-9436-4501-a3f2-ae09b8b0be0f/1184.webp","id451389229890",[685],{"emojiId":73,"count":27,"reactedByUser":19},{"comments":545,"favorites":27,"views":687,"hits":688},15,210,"2025-10-09T08:21:00.453","2025-10-09T10:22:50.646",{"postId":692,"title":693,"slug":694,"preview":695,"html":696,"content":697,"author":902,"authorUsername":906,"topic":907,"status":540,"reactions":908,"counters":910,"createdAt":913,"updatedAt":914,"publishedPostId":550,"favorite":19},"5817d45d-f8a1-43fc-937d-9ecb55df32ac","The Future of Cloud Computing: AI, Multi-Cloud, and the $723 Billion Revolution","385268-the-future-of-cloud-computing-ai-multi-cloud-and-the-723-billion-revolution","\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">The cloud computing industry is in the midst of its most significant transformation yet. Fueled by the integration of artificial intelligence, global spending on public cloud services is projected to hit \u003Cb>$723.4 billion in 2025\u003C/b>, a staggering 21% increase from 2024. With 72% of companies already leveraging generative AI, this trend is radically reshaping resource allocation and strategic priorities across the board. This isn't just a gradual evolution—it's a fundamental shift in digital infrastructure.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--media\">\u003Cfigure class=\"block-content content-block-image\">\u003Cimg src=\"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/f90698b8-2f2b-4a93-b5be-8124208e384a/1184.webp\" alt=\"Image\" class=\"rounded-xl medium-zoom-image\" loading=\"lazy\">\u003C/figure>\u003C/div>","\u003Cdiv class=\"content-wrapper break-words\">\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">The cloud computing industry is in the midst of its most significant transformation yet. Fueled by the integration of artificial intelligence, global spending on public cloud services is projected to hit \u003Cb>$723.4 billion in 2025\u003C/b>, a staggering 21% increase from 2024. With 72% of companies already leveraging generative AI, this trend is radically reshaping resource allocation and strategic priorities across the board. This isn't just a gradual evolution—it's a fundamental shift in digital infrastructure.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--media\">\u003Cfigure class=\"block-content content-block-image\">\u003Cimg src=\"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/f90698b8-2f2b-4a93-b5be-8124208e384a/1184.webp\" alt=\"Image\" class=\"rounded-xl medium-zoom-image\" loading=\"lazy\">\u003C/figure>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">AI Takes Center Stage in Cloud Infrastructure\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">The explosive growth of AI workloads is the single most significant development in the cloud landscape. Gartner predicts that by 2029, a remarkable \u003Cb>50% of all cloud computing resources\u003C/b> will be dedicated to AI applications. This seismic shift is already evident in the financial performance of major cloud providers:\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">\u003Cb>Amazon Web Services (AWS):\u003C/b> Posted revenues of \u003Cb>$27.5 billion\u003C/b> in Q3 2024, up 19% year-over-year.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Microsoft Azure:\u003C/b> Reached \u003Cb>$26.7 billion\u003C/b>, securing a 20% market share.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Google Cloud:\u003C/b> Showed impressive growth with \u003Cb>$13.6 billion\u003C/b> in Q2 2025, a 32% year-over-year increase.\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">Multi-Cloud is the New Standard\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Single-vendor strategies are becoming obsolete, with \u003Cb>80% of companies now operating in multi-cloud environments\u003C/b>. This approach mitigates vendor lock-in and provides the flexibility to leverage best-in-class solutions from different providers.\u003C/p>\u003C/div>\u003Cfigure class=\"block-wrapper block-wrapper--media\">\u003Cdiv class=\"block-wrapper__content\">\u003Cblockquote class=\"block-quote block-quote--text-small block-quote--has-author\">\u003Cdiv class=\"block-quote__line\">\u003C/div>\u003Cdiv class=\"block-quote__text\">Multi-cloud is no longer just about risk mitigation. It’s about accessing best-of-breed AI from AWS, hybrid capabilities from Azure, and Google Cloud's leadership in analytics—all within a unified strategy.\u003C/div>\u003Cdiv class=\"block-quote__author\">CIO of a Fortune 500 company\u003C/div>\u003C/blockquote>\u003C/div>\u003C/figure>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Current market share distribution highlights this diverse ecosystem:\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">\u003Cb>AWS:\u003C/b> Leads with a 32% global share, excelling in infrastructure.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Azure:\u003C/b> Holds 23%, dominating the hybrid cloud space.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Google Cloud:\u003C/b> Owns 12%, with strengths in AI/ML and analytics.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Others:\u003C/b> The remaining 33% is shared by providers like Alibaba Cloud, IBM, and Oracle.\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">Serverless Computing Reaches Critical Mass\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Serverless architecture, which abstracts server management away from developers, is gaining massive momentum. By 2025, adoption is expected to exceed \u003Cb>75% among cloud users\u003C/b>, with the market projected to grow by 23.17% annually through 2028 as companies focus on reducing operational overhead and improving scalability.\u003C/p>\u003C/div>\u003Cfigure class=\"block-wrapper block-wrapper--media\">\u003Cdiv class=\"block-wrapper__content\">\u003Cblockquote class=\"block-quote block-quote--text-small block-quote--has-author\">\u003Cdiv class=\"block-quote__line\">\u003C/div>\u003Cdiv class=\"block-quote__text\">A serverless architecture allows our teams to focus on innovation instead of infrastructure management. We’ve achieved 40% faster deployment cycles and 30% cost savings on variable workloads.\u003C/div>\u003Cdiv class=\"block-quote__author\">CTO of a major e-commerce company\u003C/div>\u003C/blockquote>\u003C/div>\u003C/figure>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">Edge Computing: A Strategic Priority\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Edge computing, which processes data closer to its source, has moved from an experimental phase to a strategic imperative. The global market is set to reach \u003Cb>$261 billion in 2025\u003C/b>, driven by low-latency applications like IoT, AR/VR, and autonomous systems. The Asia-Pacific region is leading the charge, leveraging advanced 5G networks for smart city and industrial automation projects.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">The Spotlight on Cost Optimization\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Despite rising investments, an estimated \u003Cb>32% of cloud spending is wasted\u003C/b> due to over-provisioning and resource mismanagement. The \u003Ci>CloudZero 2024 State of Cloud Cost Intelligence\u003C/i> report reveals a critical gap:\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">Only \u003Cb>30%\u003C/b> of companies have a clear understanding of their cloud spending.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>60%\u003C/b> experience cloud costs that exceed their initial budgets.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>78%\u003C/b> have made cost optimization their top priority for 2025.\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">Security and Compliance Shape Strategy\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Cloud security remains a major concern. A recent Fortinet survey found that 95% of businesses are still worried about cloud security, with misconfigurations accounting for 68% of incidents. In response, companies are increasingly adopting zero-trust architectures and advanced monitoring. The high stakes are clear: the average cost of a data breach reached \u003Cb>$4.88 million in 2024\u003C/b>, soaring to over $10.9 million in the healthcare sector.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">Global and Industry-Specific Cloud Trends\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Cloud adoption varies significantly by region and industry:\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">\u003Cb>North America:\u003C/b> Remains the market leader with a mature infrastructure.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Asia-Pacific:\u003C/b> Demonstrates the fastest growth, led by India, China, and Southeast Asia.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Europe:\u003C/b> Focuses on data sovereignty and GDPR compliance, driving hybrid and multi-cloud solutions.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Finance:\u003C/b> 81% of insurers use the cloud for claims processing, with AI reducing manual work by 40%.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Healthcare:\u003C/b> AI-powered diagnostics and telehealth platforms are driving demand, though data privacy remains a challenge.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Retail:\u003C/b> E-commerce leverages serverless architectures to scale during peak demand and optimize costs.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Manufacturing:\u003C/b> IoT and edge computing are used for predictive maintenance and production optimization.\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">The Road Ahead: Key Predictions for 2025/2026\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Col class=\"block-content content-block-list-ordered\">\u003Cli class=\"content-block-list-item\">\u003Cb>AI-First Cloud:\u003C/b> Cloud strategies will be designed with AI as the central component.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Green Cloud Computing:\u003C/b> A greater emphasis on energy efficiency and renewable energy sources.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Specialized Industry Clouds:\u003C/b> Platforms tailored to specific industry needs for security and compliance.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Seamless Interoperability:\u003C/b> Open-source standards will become crucial for multi-cloud environments.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Intelligent Cost Optimization:\u003C/b> A shift from basic monitoring to granular unit-cost analysis.\u003C/li>\u003C/ol>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Ca href=\"/tag/cloud\" target=\"_blank\" rel=\"noopener noreferrer ugc\">#cloud\u003C/a> \u003Ca href=\"/tag/ai\" target=\"_blank\" rel=\"noopener noreferrer ugc\">#ai\u003C/a>\u003C/p>\u003C/div>\u003C/div>",{"time":698,"blocks":699,"version":533},1759999924825,[700,704,709,713,717,734,738,742,747,751,772,776,780,785,789,793,797,801,818,822,826,830,834,867,871,898],{"id":701,"type":30,"data":702},"f8g9h0i1j",{"text":703},"The cloud computing industry is in the midst of its most significant transformation yet. Fueled by the integration of artificial intelligence, global spending on public cloud services is projected to hit \u003Cb>$723.4 billion in 2025\u003C/b>, a staggering 21% increase from 2024. With 72% of companies already leveraging generative AI, this trend is radically reshaping resource allocation and strategic priorities across the board. This isn't just a gradual evolution—it's a fundamental shift in digital infrastructure.",{"id":705,"type":16,"data":706},"k2l3m4n5o",{"caption":18,"withBorder":19,"withBackground":19,"stretched":19,"file":707},{"url":708},"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/f90698b8-2f2b-4a93-b5be-8124208e384a/1184.webp",{"id":710,"type":24,"data":711},"p6q7r8s9t",{"text":712,"level":73},"AI Takes Center Stage in Cloud Infrastructure",{"id":714,"type":30,"data":715},"u0v1w2x3y",{"text":716},"The explosive growth of AI workloads is the single most significant development in the cloud landscape. Gartner predicts that by 2029, a remarkable \u003Cb>50% of all cloud computing resources\u003C/b> will be dedicated to AI applications. This seismic shift is already evident in the financial performance of major cloud providers:",{"id":718,"type":44,"data":719},"z4a5b6c7d",{"style":46,"meta":720,"items":721},{},[722,726,730],{"content":723,"meta":724,"items":725},"\u003Cb>Amazon Web Services (AWS):\u003C/b> Posted revenues of \u003Cb>$27.5 billion\u003C/b> in Q3 2024, up 19% year-over-year.",{},[],{"content":727,"meta":728,"items":729},"\u003Cb>Microsoft Azure:\u003C/b> Reached \u003Cb>$26.7 billion\u003C/b>, securing a 20% market share.",{},[],{"content":731,"meta":732,"items":733},"\u003Cb>Google Cloud:\u003C/b> Showed impressive growth with \u003Cb>$13.6 billion\u003C/b> in Q2 2025, a 32% year-over-year increase.",{},[],{"id":735,"type":24,"data":736},"e8f9g0h1i",{"text":737,"level":73},"Multi-Cloud is the New Standard",{"id":739,"type":30,"data":740},"j2k3l4m5n",{"text":741},"Single-vendor strategies are becoming obsolete, with \u003Cb>80% of companies now operating in multi-cloud environments\u003C/b>. This approach mitigates vendor lock-in and provides the flexibility to leverage best-in-class solutions from different providers.",{"id":743,"type":35,"data":744},"o6p7q8r9s",{"quoteText":745,"authorText":746},"Multi-cloud is no longer just about risk mitigation. It’s about accessing best-of-breed AI from AWS, hybrid capabilities from Azure, and Google Cloud's leadership in analytics—all within a unified strategy.","CIO of a Fortune 500 company",{"id":748,"type":30,"data":749},"t0u1v2w3x",{"text":750},"Current market share distribution highlights this diverse ecosystem:",{"id":752,"type":44,"data":753},"y4z5a6b7c",{"style":46,"meta":754,"items":755},{},[756,760,764,768],{"content":757,"meta":758,"items":759},"\u003Cb>AWS:\u003C/b> Leads with a 32% global share, excelling in infrastructure.",{},[],{"content":761,"meta":762,"items":763},"\u003Cb>Azure:\u003C/b> Holds 23%, dominating the hybrid cloud space.",{},[],{"content":765,"meta":766,"items":767},"\u003Cb>Google Cloud:\u003C/b> Owns 12%, with strengths in AI/ML and analytics.",{},[],{"content":769,"meta":770,"items":771},"\u003Cb>Others:\u003C/b> The remaining 33% is shared by providers like Alibaba Cloud, IBM, and Oracle.",{},[],{"id":773,"type":24,"data":774},"d8e9f0g1h",{"text":775,"level":73},"Serverless Computing Reaches Critical Mass",{"id":777,"type":30,"data":778},"i2j3k4l5m",{"text":779},"Serverless architecture, which abstracts server management away from developers, is gaining massive momentum. By 2025, adoption is expected to exceed \u003Cb>75% among cloud users\u003C/b>, with the market projected to grow by 23.17% annually through 2028 as companies focus on reducing operational overhead and improving scalability.",{"id":781,"type":35,"data":782},"n6o7p8q9r",{"quoteText":783,"authorText":784},"A serverless architecture allows our teams to focus on innovation instead of infrastructure management. We’ve achieved 40% faster deployment cycles and 30% cost savings on variable workloads.","CTO of a major e-commerce company",{"id":786,"type":24,"data":787},"s0t1u2v3w",{"text":788,"level":73},"Edge Computing: A Strategic Priority",{"id":790,"type":30,"data":791},"x4y5z6a7b",{"text":792},"Edge computing, which processes data closer to its source, has moved from an experimental phase to a strategic imperative. The global market is set to reach \u003Cb>$261 billion in 2025\u003C/b>, driven by low-latency applications like IoT, AR/VR, and autonomous systems. The Asia-Pacific region is leading the charge, leveraging advanced 5G networks for smart city and industrial automation projects.",{"id":794,"type":24,"data":795},"c8d9e0f1g",{"text":796,"level":73},"The Spotlight on Cost Optimization",{"id":798,"type":30,"data":799},"h2i3j4k5l",{"text":800},"Despite rising investments, an estimated \u003Cb>32% of cloud spending is wasted\u003C/b> due to over-provisioning and resource mismanagement. The \u003Ci>CloudZero 2024 State of Cloud Cost Intelligence\u003C/i> report reveals a critical gap:",{"id":802,"type":44,"data":803},"m6n7o8p9q",{"style":46,"meta":804,"items":805},{},[806,810,814],{"content":807,"meta":808,"items":809},"Only \u003Cb>30%\u003C/b> of companies have a clear understanding of their cloud spending.",{},[],{"content":811,"meta":812,"items":813},"\u003Cb>60%\u003C/b> experience cloud costs that exceed their initial budgets.",{},[],{"content":815,"meta":816,"items":817},"\u003Cb>78%\u003C/b> have made cost optimization their top priority for 2025.",{},[],{"id":819,"type":24,"data":820},"r0s1t2u3v",{"text":821,"level":73},"Security and Compliance Shape Strategy",{"id":823,"type":30,"data":824},"w4x5y6z7a",{"text":825},"Cloud security remains a major concern. A recent Fortinet survey found that 95% of businesses are still worried about cloud security, with misconfigurations accounting for 68% of incidents. In response, companies are increasingly adopting zero-trust architectures and advanced monitoring. The high stakes are clear: the average cost of a data breach reached \u003Cb>$4.88 million in 2024\u003C/b>, soaring to over $10.9 million in the healthcare sector.",{"id":827,"type":24,"data":828},"b8c9d0e1f",{"text":829,"level":73},"Global and Industry-Specific Cloud Trends",{"id":831,"type":30,"data":832},"g2h3i4j5k",{"text":833},"Cloud adoption varies significantly by region and industry:",{"id":835,"type":44,"data":836},"l6m7n8o9p",{"style":46,"meta":837,"items":838},{},[839,843,847,851,855,859,863],{"content":840,"meta":841,"items":842},"\u003Cb>North America:\u003C/b> Remains the market leader with a mature infrastructure.",{},[],{"content":844,"meta":845,"items":846},"\u003Cb>Asia-Pacific:\u003C/b> Demonstrates the fastest growth, led by India, China, and Southeast Asia.",{},[],{"content":848,"meta":849,"items":850},"\u003Cb>Europe:\u003C/b> Focuses on data sovereignty and GDPR compliance, driving hybrid and multi-cloud solutions.",{},[],{"content":852,"meta":853,"items":854},"\u003Cb>Finance:\u003C/b> 81% of insurers use the cloud for claims processing, with AI reducing manual work by 40%.",{},[],{"content":856,"meta":857,"items":858},"\u003Cb>Healthcare:\u003C/b> AI-powered diagnostics and telehealth platforms are driving demand, though data privacy remains a challenge.",{},[],{"content":860,"meta":861,"items":862},"\u003Cb>Retail:\u003C/b> E-commerce leverages serverless architectures to scale during peak demand and optimize costs.",{},[],{"content":864,"meta":865,"items":866},"\u003Cb>Manufacturing:\u003C/b> IoT and edge computing are used for predictive maintenance and production optimization.",{},[],{"id":868,"type":24,"data":869},"q0r1s2t3u",{"text":870,"level":73},"The Road Ahead: Key Predictions for 2025/2026",{"id":872,"type":44,"data":873},"v4w5x6y7z",{"style":874,"meta":875,"items":877},"ordered",{"counterType":876},"numeric",[878,882,886,890,894],{"content":879,"meta":880,"items":881},"\u003Cb>AI-First Cloud:\u003C/b> Cloud strategies will be designed with AI as the central component.",{},[],{"content":883,"meta":884,"items":885},"\u003Cb>Green Cloud Computing:\u003C/b> A greater emphasis on energy efficiency and renewable energy sources.",{},[],{"content":887,"meta":888,"items":889},"\u003Cb>Specialized Industry Clouds:\u003C/b> Platforms tailored to specific industry needs for security and compliance.",{},[],{"content":891,"meta":892,"items":893},"\u003Cb>Seamless Interoperability:\u003C/b> Open-source standards will become crucial for multi-cloud environments.",{},[],{"content":895,"meta":896,"items":897},"\u003Cb>Intelligent Cost Optimization:\u003C/b> A shift from basic monitoring to granular unit-cost analysis.",{},[],{"id":899,"type":30,"data":900},"f2g3h4i5j",{"text":901},"#cloud #ai",{"authorId":903,"name":904,"avatar":905,"username":906},"UlGvGXQ817XJmjaYxHY41mh6ihm2","Matteo Romano","https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/3d3ece27-85ce-4f04-a7a1-07e208a84e11/592.webp","id538394532786","CLOUD",[909],{"emojiId":624,"count":27,"reactedByUser":19},{"comments":545,"favorites":27,"views":911,"hits":912},7,150,"2025-10-09T08:40:32.117","2025-10-09T10:22:44.964",{"postId":916,"title":917,"slug":918,"preview":919,"html":920,"content":921,"author":1207,"authorUsername":619,"topic":1208,"status":540,"reactions":1209,"counters":1213,"createdAt":1216,"updatedAt":1217,"publishedPostId":550,"favorite":19},"83c90bfe-788f-4ef4-aae0-4bb4de623ff0","How to Get into ChatGPT, Perplexity, and Google AI Answers: A Practical Guide for GEO","005881-how-to-get-into-chatgpt-perplexity-google-ai-answers-practical-guide-for-geo","\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Holding a top position in Google's organic search results used to be the ultimate goal for any business. It was a near-guarantee of visibility, clicks, and consistent traffic. \u003Cb>That guarantee is now gone.\u003C/b>\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--media\">\u003Cfigure class=\"block-content content-block-image\">\u003Cimg src=\"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/faf5b249-1d53-4806-a8bb-9854b0c68af2/1184.webp\" alt=\"Image\" class=\"rounded-xl medium-zoom-image\" loading=\"lazy\">\u003C/figure>\u003C/div>","\u003Cdiv class=\"content-wrapper break-words\">\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Holding a top position in Google's organic search results used to be the ultimate goal for any business. It was a near-guarantee of visibility, clicks, and consistent traffic. \u003Cb>That guarantee is now gone.\u003C/b>\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--media\">\u003Cfigure class=\"block-content content-block-image\">\u003Cimg src=\"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/faf5b249-1d53-4806-a8bb-9854b0c68af2/1184.webp\" alt=\"Image\" class=\"rounded-xl medium-zoom-image\" loading=\"lazy\">\u003C/figure>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">The rise of AI-powered search features, like Google's AI Overviews and conversational answers from platforms like ChatGPT and Perplexity, has fundamentally changed the search landscape. These systems don't just show a list of links; they synthesize information from multiple sources to provide a direct, comprehensive answer at the top of the page.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">As a result, even websites with flawless technical SEO, expert-written content, and top rankings are experiencing significant traffic drops. They are becoming invisible, bypassed by AI that answers user questions before a user ever has a chance to click on a traditional search result.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>The rules of the game have changed radically,\u003C/b> and promotion strategies stuck in 2020 are no longer effective.\u003C/p>\u003C/div>\u003Cfigure class=\"block-wrapper block-wrapper--media\">\u003Cdiv class=\"block-wrapper__content\">\u003Cblockquote class=\"block-quote block-quote--text-small block-quote--has-author\">\u003Cdiv class=\"block-quote__line\">\u003C/div>\u003Cdiv class=\"block-quote__text\">The number one position in organic search results loses 34.5% of clicks when an AI Overview is present above it.\u003C/div>\u003Cdiv class=\"block-quote__author\">Ahrefs Independent Analysis\u003C/div>\u003C/blockquote>\u003C/div>\u003C/figure>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Think about that number. A site can be in first place, but \u003Cb>a third of its potential traffic evaporates\u003C/b>. Simply because artificial intelligence answered the user's question before they could even get to the link.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">The situation is even more serious than it first appears. According to \u003Ca href=\"https://www.searchenginejournal.com/impact-of-ai-overviews-how-publishers-need-to-adapt/556843/\" rel=\"noopener noreferrer nofollow\">a detailed analysis by Pew Research Center\u003C/a>, users click on results only 8% of the time when an AI Overview is present, compared to 15% without it—a \u003Cb>46.7% drop in click-through rate\u003C/b>. And \u003Ca href=\"https://www.searchenginejournal.com/impact-of-ai-overviews-how-publishers-need-to-adapt/556843/\" rel=\"noopener noreferrer nofollow\">data from Similarweb\u003C/a> records an even more alarming trend: the growth of so-called \u003Ci>zero-click searches\u003C/i> from 56% to 69% between May 2024 and May 2025.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">This is happening \u003Ci>right now\u003C/i>, as you read this article. Not in a year. Not sometime in the future. \u003Cb>Today.\u003C/b>\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">The question is no longer academic but critical for business survival: how do you get into these AI answers? How do you become the source that ChatGPT, Perplexity, Claude, and Google AI Overviews cite and recommend?\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">GEO: The New Optimization Discipline You Need to Know About\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">A new term has emerged that will change the digital marketing industry in the coming years—\u003Cb>GEO, or Generative Engine Optimization\u003C/b>. This is the practice of optimizing content specifically for generative artificial intelligence systems.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Let's break down the fundamental difference. Classic SEO works with algorithms that rank web pages and show you a list of ten blue links. GEO works fundamentally differently: it optimizes content for \u003Ca href=\"https://suddo.io\" rel=\"noopener noreferrer nofollow\">Large Language Models\u003C/a> (LLMs), which don't just rank pages. They actively select three to five of the most authoritative sources, extract key information, synthesize it, and generate a \u003Ci>single, coherent answer\u003C/i> directly in the search interface.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">The difference is not just technical—\u003Ci>it's fundamental.\u003C/i>\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Google shows a list and leaves the final choice to you. ChatGPT or Perplexity make the decision \u003Ci>for you\u003C/i> based on their criteria of authoritativeness and relevance. They autonomously decide which three to five sites out of millions are reliable enough to be included. If you're not one of them, the user may never even know your site exists.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Researchers from Princeton University, Georgia Tech, and others published \u003Ca href=\"https://arxiv.org/abs/2311.09735\" rel=\"noopener noreferrer nofollow\">a foundational scientific paper titled \"GEO: Generative Engine Optimization.\"\u003C/a> Their rigorous analysis proved that \u003Cb>proper GEO can increase content visibility in AI-generated answers by up to 40%.\u003C/b>\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">The result of their work is unambiguous: only certain sites with proper optimization regularly appear in AI citations. The rest remain invisible to generative systems.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">This isn't because the content is low quality or the site is slow. It's because the content is not structured in a way that Large Language Models can efficiently process, analyze, and extract key information in the fractions of a second they have to work.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">How Large Language Models Choose Sources\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>Speed of information extraction\u003C/b> is the first and most critical selection factor.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">LLMs operate in real-time with strict constraints. When you ask a question, the system can't leisurely study every potential source. It gets a list of relevant pages and must decide whether to include or exclude each one in \u003Ci>milliseconds\u003C/i>.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Imagine two websites answering the same question:\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">\u003Cb>Site A (The Slow Site):\u003C/b> Information is buried in a 2,000-word wall of text. Key facts like price and features are hidden in long paragraphs. Headings are vague. To get answers, the LLM must read and parse the entire thing, a slow and resource-intensive process.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Site B (The Fast Site):\u003C/b> The page has a clear, logical structure with descriptive headings like Price and Plans and Technical Specifications. Most importantly, it uses structured data from \u003Ca href=http://Schema.org>Schema.org\u003C/a> in a \u003Ccode class=inline-code>JSON-LD\u003C/code> format. The LLM sees this block, instantly parses the data, and gets all the critical information in milliseconds.\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Which source will the system choose? The answer is obvious.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>Structured data from \u003Ca href=\"http://Schema.org\" rel=\"noopener noreferrer nofollow\">Schema.org\u003C/a> is a priority signal of source quality.\u003C/b>\u003C/p>\u003C/div>\u003Cfigure class=\"block-wrapper block-wrapper--media\">\u003Cdiv class=\"block-wrapper__content\">\u003Cblockquote class=\"block-quote block-quote--text-small block-quote--has-author\">\u003Cdiv class=\"block-quote__line\">\u003C/div>\u003Cdiv class=\"block-quote__text\">Schema Markup helps Microsoft's Large Language Models understand and interpret the content of web pages.\u003C/div>\u003Cdiv class=\"block-quote__author\">Fabrice Canel, Principal Product Manager at Microsoft Bing\u003C/div>\u003C/blockquote>\u003C/div>\u003C/figure>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">This isn't just a small improvement. A \u003Ca href=\"https://www.schemaapp.com/schema-markup/the-semantic-value-of-schema-markup-in-2025/\" rel=\"noopener noreferrer nofollow\">benchmark study by Data World\u003C/a> shows that LLMs using structured data achieve an answer accuracy level \u003Cb>300% higher\u003C/b> than models working only with unstructured text. That's a threefold superiority.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">This is why implementing \u003Ca href=\"http://Schema.org\" rel=\"noopener noreferrer nofollow\">Schema.org\u003C/a> is moving from the 'nice to have' category to 'critically necessary for survival'. Yet, according to \u003Ca href=\"https://www.epicnotion.com/blog/faq-schema-in-2025/\" rel=\"noopener noreferrer nofollow\">available data\u003C/a>, a colossal \u003Cb>87.6% of all websites\u003C/b> on the internet ignore structured data. Each of these sites is losing potential visibility in AI search every single day.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>E-E-A-T signals of trust and authoritativeness in the age of AI.\u003C/b>\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">AI systems are designed to avoid citing unreliable or misleading sources. That's why they rely on the concept of \u003Cb>E-E-A-T\u003C/b>, which stands for \u003Cb>E\u003C/b>xperience, \u003Cb>E\u003C/b>xpertise, \u003Cb>A\u003C/b>uthoritativeness, and \u003Cb>T\u003C/b>rustworthiness.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">A site that clearly indicates its authors, their qualifications, and provides full company contact information gains a huge competitive advantage over anonymous content of unknown origin. It's a powerful signal that the information can be trusted.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">Seven Key Factors for Getting into AI Answers\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Ca href=\"https://arxiv.org/pdf/2311.09735\" rel=\"noopener noreferrer nofollow\">The detailed Princeton University study\u003C/a> demonstrated that some GEO methods are far more effective than others. Here are seven factors that actually work.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Col class=\"block-content content-block-list-ordered\">\u003Cli class=\"content-block-list-item\">\u003Cb>Comprehensive structured data from \u003Ca href=http://Schema.org>Schema.org\u003C/a>.\u003C/b> This is the language you use to communicate directly with AI. Use \u003Ccode class=inline-code>Product Schema\u003C/code> for products, \u003Ccode class=inline-code>Service Schema\u003C/code> for services, \u003Ccode class=inline-code>Article Schema\u003C/code> for articles, and \u003Ccode class=inline-code>FAQPage Schema\u003C/code> for Q&A sections. Correct implementation can lead to significant increases in visibility and click-through rates.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Systematic citation of authoritative sources.\u003C/b> The Princeton study found that linking to authoritative studies, official documents, and recognized experts led to an impressive \u003Cb>115.1% increase in visibility\u003C/b> for some sites. LLMs are programmed to trust content that backs up its claims.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Structuring content in a question-and-answer format.\u003C/b> Adding FAQ sections with real user questions and concise answers significantly increases the likelihood of being cited. Start article sections with the specific questions your audience is asking.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Saturating content with specific statistics.\u003C/b> LLMs love specific numbers and measurable data. Instead of many companies use this, write according to a 2024 Gartner study, 47% of B2B companies have implemented this. Be precise.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Including direct quotes from recognized experts.\u003C/b> Adding quotes from verified industry experts, with their names and titles, signals that your content is based on expert opinion, not just a random retelling of information.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Explicitly demonstrating timeliness through dates.\u003C/b> Always indicate the publication and update dates of your content. Use the \u003Ccode class=inline-code>datePublished\u003C/code> and \u003Ccode class=inline-code>dateModified\u003C/code> fields in \u003Ccode class=inline-code>Article Schema\u003C/code>. AI systems prioritize fresh, current information.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Flawless technical accessibility and performance.\u003C/b> Core Web Vitals, page load speed, and mobile optimization all matter. A slow or buggy site might simply be skipped by an AI system due to a timeout.\u003C/li>\u003C/ol>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">Step-by-Step GEO Implementation Checklist\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>Week One: Audit and Prioritization\u003C/b>\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">Identify your 20-30 most critical pages (based on traffic and conversions).\u003C/li>\u003Cli class=\"content-block-list-item\">Check if these pages appear in AI Overviews for your target queries. You can do this manually or with tools like \u003Ca href=https://www.seoclarity.net/research/ai-overviews-impact>seoClarity\u003C/a>.\u003C/li>\u003Cli class=\"content-block-list-item\">Analyze your top competitors. What structured data are they using?\u003C/li>\u003Cli class=\"content-block-list-item\">Use the \u003Ca href=https://search.google.com/test/rich-results>Google Rich Results Test\u003C/a> and the \u003Ca href=https://validator.schema.org>Schema Markup Validator\u003C/a> to check for errors.\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>Week Two: Critical Markup Implementation\u003C/b>\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Focus on the highest-impact schema for your most important pages. For e-commerce, this is \u003Ccode class=\"inline-code\">Product Schema\u003C/code>. For B2B, it's \u003Ccode class=\"inline-code\">Service Schema\u003C/code>. For content, it's \u003Ccode class=\"inline-code\">Article Schema\u003C/code> and \u003Ccode class=\"inline-code\">FAQ Schema\u003C/code>. Use the \u003Ccode class=\"inline-code\">JSON-LD\u003C/code> format exclusively—this is \u003Ca href=\"https://www.searchenginejournal.com/technical-seo/schema/\" rel=\"noopener noreferrer nofollow\">Google's official recommendation\u003C/a>.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>Week Three: Strengthen E-E-A-T Signals\u003C/b>\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Create detailed author biographies and mark them up with \u003Ccode class=\"inline-code\">Person Schema\u003C/code>. Include photos, titles, experience, and links to professional profiles. In parallel, expand your \u003Ccode class=\"inline-code\">Organization Schema\u003C/code> with your company's history, address, contact info, awards, and social media links.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>Week Four: Monitor and Scale\u003C/b>\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Systematically track your pages' appearance in AI Overviews and check for mentions in ChatGPT, Perplexity, and Claude. If you see a positive trend after a month, it's a signal to scale your GEO efforts across the entire site, using programmatic generation for large projects.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">Critical Risks and Honest Limitations\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>Risk One: Manual Penalties.\u003C/b> Google is crystal clear: any discrepancy between your structured data and the visible content on the page is considered manipulation. Marking up a fake 5-star rating or an incorrect price is a guaranteed path to a penalty.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>Risk Two: No Absolute Guarantees.\u003C/b> GEO \u003Ci>significantly increases\u003C/i> the probability of being cited, but it's not a 100% guarantee. AI systems use dozens of factors, and structured data is just one piece of the puzzle.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>Risk Three: Visibility Doesn't Always Equal Clicks.\u003C/b> This is a critical point. Many users will get their answer from the AI Overview and never click through to your site. Your brand gets mentioned, but it may not generate direct traffic.\u003C/p>\u003C/div>\u003Cfigure class=\"block-wrapper block-wrapper--media\">\u003Cdiv class=\"block-wrapper__content\">\u003Cblockquote class=\"block-quote block-quote--text-small block-quote--has-author\">\u003Cdiv class=\"block-quote__line\">\u003C/div>\u003Cdiv class=\"block-quote__text\">Only 1% of users actually click on the links provided within an AI Overview as sources of information.\u003C/div>\u003Cdiv class=\"block-quote__author\">Pew Research Center\u003C/div>\u003C/blockquote>\u003C/div>\u003C/figure>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Finally, remember the trade-off. Implementing high-quality structured markup is a significant investment of time and resources. The alternative, however, is a gradual and steady loss of visibility in an AI-driven world.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">Conclusion: The Investment in Future Visibility Begins Today\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">The world of digital marketing has changed irrevocably. The way we search for information has changed fundamentally.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">According to \u003Ca href=\"https://xponent21.com/insights/googles-ai-overviews-surpass-50-of-queries-doubling-since-august-2024/\" rel=\"noopener noreferrer nofollow\">current data from Xponent21\u003C/a>, Google's AI Overviews now appear in \u003Cb>more than 50% of all search queries\u003C/b>—double the rate from just eight months ago. This trend will only intensify.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">The question is no longer \u003Ci>whether\u003C/i> to adapt. The real question is: will you implement GEO before your competitors do? Because AI answers typically cite only three to five sources. \u003Cb>The spots on this exclusive list are limited.\u003C/b>\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">If the task seems daunting, start small. Choose your ten most important pages. Implement basic, correct markup. Track your metrics. See the results for yourself.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">GEO is not a magic bullet. It is a technically sound and strategic way to communicate with machines in their native language of structured data. In a world where AI is the main intermediary between your content and your audience, mastering this language is no longer an option—it's a basic requirement for survival.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Ca href=\"/tag/news\" target=\"_blank\" rel=\"noopener noreferrer ugc\">#news\u003C/a> \u003Ca href=\"/tag/seo\" target=\"_blank\" rel=\"noopener noreferrer ugc\">#seo\u003C/a> \u003Ca href=\"/tag/geo\" target=\"_blank\" rel=\"noopener noreferrer ugc\">#geo\u003C/a>\u003C/p>\u003C/div>\u003C/div>",{"time":922,"blocks":923,"version":533},1759493549743,[924,928,933,937,941,945,950,954,958,962,966,970,974,978,982,986,990,994,998,1002,1006,1010,1014,1027,1031,1035,1040,1044,1048,1052,1056,1060,1064,1068,1101,1105,1109,1130,1134,1138,1142,1146,1150,1154,1158,1162,1166,1170,1175,1179,1183,1187,1191,1195,1199,1203],{"id":925,"type":30,"data":926},"new-intro-1",{"text":927},"Holding a top position in Google's organic search results used to be the ultimate goal for any business. It was a near-guarantee of visibility, clicks, and consistent traffic. \u003Cb>That guarantee is now gone.\u003C/b>",{"id":929,"type":16,"data":930},"YJ7050JFrj",{"caption":18,"withBorder":19,"withBackground":19,"stretched":19,"file":931},{"url":932},"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/faf5b249-1d53-4806-a8bb-9854b0c68af2/1184.webp",{"id":934,"type":30,"data":935},"new-intro-2",{"text":936},"The rise of AI-powered search features, like Google's AI Overviews and conversational answers from platforms like ChatGPT and Perplexity, has fundamentally changed the search landscape. These systems don't just show a list of links; they synthesize information from multiple sources to provide a direct, comprehensive answer at the top of the page.",{"id":938,"type":30,"data":939},"new-intro-3",{"text":940},"As a result, even websites with flawless technical SEO, expert-written content, and top rankings are experiencing significant traffic drops. They are becoming invisible, bypassed by AI that answers user questions before a user ever has a chance to click on a traditional search result.",{"id":942,"type":30,"data":943},"fb900f03-1",{"text":944},"\u003Cb>The rules of the game have changed radically,\u003C/b> and promotion strategies stuck in 2020 are no longer effective.",{"id":946,"type":35,"data":947},"lTyP4GwuhT",{"quoteText":948,"authorText":949},"The number one position in organic search results loses 34.5% of clicks when an AI Overview is present above it.","Ahrefs Independent Analysis",{"id":951,"type":30,"data":952},"387b9c65-8",{"text":953},"Think about that number. A site can be in first place, but \u003Cb>a third of its potential traffic evaporates\u003C/b>. Simply because artificial intelligence answered the user's question before they could even get to the link.",{"id":955,"type":30,"data":956},"971d6de3-1",{"text":957},"The situation is even more serious than it first appears. According to \u003Ca href=\"https://www.searchenginejournal.com/impact-of-ai-overviews-how-publishers-need-to-adapt/556843/\" rel=\"noopener noreferrer nofollow\">a detailed analysis by Pew Research Center\u003C/a>, users click on results only 8% of the time when an AI Overview is present, compared to 15% without it—a \u003Cb>46.7% drop in click-through rate\u003C/b>. And \u003Ca href=\"https://www.searchenginejournal.com/impact-of-ai-overviews-how-publishers-need-to-adapt/556843/\" rel=\"noopener noreferrer nofollow\">data from Similarweb\u003C/a> records an even more alarming trend: the growth of so-called \u003Ci>zero-click searches\u003C/i> from 56% to 69% between May 2024 and May 2025.",{"id":959,"type":30,"data":960},"0660f88d-c",{"text":961},"This is happening \u003Ci>right now\u003C/i>, as you read this article. Not in a year. Not sometime in the future. \u003Cb>Today.\u003C/b>",{"id":963,"type":30,"data":964},"47788820-0",{"text":965},"The question is no longer academic but critical for business survival: how do you get into these AI answers? How do you become the source that ChatGPT, Perplexity, Claude, and Google AI Overviews cite and recommend?",{"id":967,"type":24,"data":968},"1c03c525-f",{"text":969,"level":73},"GEO: The New Optimization Discipline You Need to Know About",{"id":971,"type":30,"data":972},"1af58451-b",{"text":973},"A new term has emerged that will change the digital marketing industry in the coming years—\u003Cb>GEO, or Generative Engine Optimization\u003C/b>. This is the practice of optimizing content specifically for generative artificial intelligence systems.",{"id":975,"type":30,"data":976},"e5b0238d-b",{"text":977},"Let's break down the fundamental difference. Classic SEO works with algorithms that rank web pages and show you a list of ten blue links. GEO works fundamentally differently: it optimizes content for \u003Ca href=\"https://suddo.io\" rel=\"noopener noreferrer nofollow\">Large Language Models\u003C/a> (LLMs), which don't just rank pages. They actively select three to five of the most authoritative sources, extract key information, synthesize it, and generate a \u003Ci>single, coherent answer\u003C/i> directly in the search interface.",{"id":979,"type":30,"data":980},"3e3e2eef-3",{"text":981},"The difference is not just technical—\u003Ci>it's fundamental.\u003C/i>",{"id":983,"type":30,"data":984},"f67955bc-c",{"text":985},"Google shows a list and leaves the final choice to you. ChatGPT or Perplexity make the decision \u003Ci>for you\u003C/i> based on their criteria of authoritativeness and relevance. They autonomously decide which three to five sites out of millions are reliable enough to be included. If you're not one of them, the user may never even know your site exists.",{"id":987,"type":30,"data":988},"ef460684-f",{"text":989},"Researchers from Princeton University, Georgia Tech, and others published \u003Ca href=\"https://arxiv.org/abs/2311.09735\" rel=\"noopener noreferrer nofollow\">a foundational scientific paper titled \"GEO: Generative Engine Optimization.\"\u003C/a> Their rigorous analysis proved that \u003Cb>proper GEO can increase content visibility in AI-generated answers by up to 40%.\u003C/b>",{"id":991,"type":30,"data":992},"56685ea9-1",{"text":993},"The result of their work is unambiguous: only certain sites with proper optimization regularly appear in AI citations. The rest remain invisible to generative systems.",{"id":995,"type":30,"data":996},"4ea9be76-5",{"text":997},"This isn't because the content is low quality or the site is slow. It's because the content is not structured in a way that Large Language Models can efficiently process, analyze, and extract key information in the fractions of a second they have to work.",{"id":999,"type":24,"data":1000},"bb5c67d7-8",{"text":1001,"level":73},"How Large Language Models Choose Sources",{"id":1003,"type":30,"data":1004},"5f886a23-a",{"text":1005},"\u003Cb>Speed of information extraction\u003C/b> is the first and most critical selection factor.",{"id":1007,"type":30,"data":1008},"97dd7e5c-d",{"text":1009},"LLMs operate in real-time with strict constraints. When you ask a question, the system can't leisurely study every potential source. It gets a list of relevant pages and must decide whether to include or exclude each one in \u003Ci>milliseconds\u003C/i>.",{"id":1011,"type":30,"data":1012},"b9a89ea3-4",{"text":1013},"Imagine two websites answering the same question:",{"id":1015,"type":44,"data":1016},"S4aXMuKalR",{"style":46,"meta":1017,"items":1018},{},[1019,1023],{"content":1020,"meta":1021,"items":1022},"\u003Cb>Site A (The Slow Site):\u003C/b> Information is buried in a 2,000-word wall of text. Key facts like price and features are hidden in long paragraphs. Headings are vague. To get answers, the LLM must read and parse the entire thing, a slow and resource-intensive process.",{},[],{"content":1024,"meta":1025,"items":1026},"\u003Cb>Site B (The Fast Site):\u003C/b> The page has a clear, logical structure with descriptive headings like \"Price and Plans\" and \"Technical Specifications.\" Most importantly, it uses structured data from \u003Ca href=\"http://Schema.org\">Schema.org\u003C/a> in a \u003Ccode class=\"inline-code\">JSON-LD\u003C/code> format. The LLM sees this block, instantly parses the data, and gets all the critical information in milliseconds.",{},[],{"id":1028,"type":30,"data":1029},"8b3fd541-c",{"text":1030},"Which source will the system choose? The answer is obvious.",{"id":1032,"type":30,"data":1033},"4faaafaf-d",{"text":1034},"\u003Cb>Structured data from \u003Ca href=\"http://Schema.org\" rel=\"noopener noreferrer nofollow\">Schema.org\u003C/a> is a priority signal of source quality.\u003C/b>",{"id":1036,"type":35,"data":1037},"NJ_j5PQ9Ua",{"quoteText":1038,"authorText":1039},"Schema Markup helps Microsoft's Large Language Models understand and interpret the content of web pages.","Fabrice Canel, Principal Product Manager at Microsoft Bing",{"id":1041,"type":30,"data":1042},"00ceea7c-7",{"text":1043},"This isn't just a small improvement. A \u003Ca href=\"https://www.schemaapp.com/schema-markup/the-semantic-value-of-schema-markup-in-2025/\" rel=\"noopener noreferrer nofollow\">benchmark study by Data World\u003C/a> shows that LLMs using structured data achieve an answer accuracy level \u003Cb>300% higher\u003C/b> than models working only with unstructured text. That's a threefold superiority.",{"id":1045,"type":30,"data":1046},"f017a14f-5",{"text":1047},"This is why implementing \u003Ca href=\"http://Schema.org\" rel=\"noopener noreferrer nofollow\">Schema.org\u003C/a> is moving from the 'nice to have' category to 'critically necessary for survival'. Yet, according to \u003Ca href=\"https://www.epicnotion.com/blog/faq-schema-in-2025/\" rel=\"noopener noreferrer nofollow\">available data\u003C/a>, a colossal \u003Cb>87.6% of all websites\u003C/b> on the internet ignore structured data. Each of these sites is losing potential visibility in AI search every single day.",{"id":1049,"type":30,"data":1050},"1f69044a-2",{"text":1051},"\u003Cb>E-E-A-T signals of trust and authoritativeness in the age of AI.\u003C/b>",{"id":1053,"type":30,"data":1054},"ff0ca2cf-8",{"text":1055},"AI systems are designed to avoid citing unreliable or misleading sources. That's why they rely on the concept of \u003Cb>E-E-A-T\u003C/b>, which stands for \u003Cb>E\u003C/b>xperience, \u003Cb>E\u003C/b>xpertise, \u003Cb>A\u003C/b>uthoritativeness, and \u003Cb>T\u003C/b>rustworthiness.",{"id":1057,"type":30,"data":1058},"74abcd8f-0",{"text":1059},"A site that clearly indicates its authors, their qualifications, and provides full company contact information gains a huge competitive advantage over anonymous content of unknown origin. It's a powerful signal that the information can be trusted.",{"id":1061,"type":24,"data":1062},"542e62f1-9",{"text":1063,"level":73},"Seven Key Factors for Getting into AI Answers",{"id":1065,"type":30,"data":1066},"2cfbd5dc-2",{"text":1067},"\u003Ca href=\"https://arxiv.org/pdf/2311.09735\" rel=\"noopener noreferrer nofollow\">The detailed Princeton University study\u003C/a> demonstrated that some GEO methods are far more effective than others. Here are seven factors that actually work.",{"id":1069,"type":44,"data":1070},"VIwIQv6K9h",{"style":874,"meta":1071,"items":1072},{"counterType":876},[1073,1077,1081,1085,1089,1093,1097],{"content":1074,"meta":1075,"items":1076},"\u003Cb>Comprehensive structured data from \u003Ca href=\"http://Schema.org\">Schema.org\u003C/a>.\u003C/b> This is the language you use to communicate directly with AI. Use \u003Ccode class=\"inline-code\">Product Schema\u003C/code> for products, \u003Ccode class=\"inline-code\">Service Schema\u003C/code> for services, \u003Ccode class=\"inline-code\">Article Schema\u003C/code> for articles, and \u003Ccode class=\"inline-code\">FAQPage Schema\u003C/code> for Q&A sections. Correct implementation can lead to significant increases in visibility and click-through rates.",{},[],{"content":1078,"meta":1079,"items":1080},"\u003Cb>Systematic citation of authoritative sources.\u003C/b> The Princeton study found that linking to authoritative studies, official documents, and recognized experts led to an impressive \u003Cb>115.1% increase in visibility\u003C/b> for some sites. LLMs are programmed to trust content that backs up its claims.",{},[],{"content":1082,"meta":1083,"items":1084},"\u003Cb>Structuring content in a question-and-answer format.\u003C/b> Adding FAQ sections with real user questions and concise answers significantly increases the likelihood of being cited. Start article sections with the specific questions your audience is asking.",{},[],{"content":1086,"meta":1087,"items":1088},"\u003Cb>Saturating content with specific statistics.\u003C/b> LLMs love specific numbers and measurable data. Instead of \"many companies use this,\" write \"according to a 2024 Gartner study, 47% of B2B companies have implemented this.\" Be precise.",{},[],{"content":1090,"meta":1091,"items":1092},"\u003Cb>Including direct quotes from recognized experts.\u003C/b> Adding quotes from verified industry experts, with their names and titles, signals that your content is based on expert opinion, not just a random retelling of information.",{},[],{"content":1094,"meta":1095,"items":1096},"\u003Cb>Explicitly demonstrating timeliness through dates.\u003C/b> Always indicate the publication and update dates of your content. Use the \u003Ccode class=\"inline-code\">datePublished\u003C/code> and \u003Ccode class=\"inline-code\">dateModified\u003C/code> fields in \u003Ccode class=\"inline-code\">Article Schema\u003C/code>. AI systems prioritize fresh, current information.",{},[],{"content":1098,"meta":1099,"items":1100},"\u003Cb>Flawless technical accessibility and performance.\u003C/b> Core Web Vitals, page load speed, and mobile optimization all matter. A slow or buggy site might simply be skipped by an AI system due to a timeout.",{},[],{"id":1102,"type":24,"data":1103},"4d261b88-1",{"text":1104,"level":73},"Step-by-Step GEO Implementation Checklist",{"id":1106,"type":30,"data":1107},"31996425-b",{"text":1108},"\u003Cb>Week One: Audit and Prioritization\u003C/b>",{"id":1110,"type":44,"data":1111},"dhXI6eqagR",{"style":46,"meta":1112,"items":1113},{},[1114,1118,1122,1126],{"content":1115,"meta":1116,"items":1117},"Identify your 20-30 most critical pages (based on traffic and conversions).",{},[],{"content":1119,"meta":1120,"items":1121},"Check if these pages appear in AI Overviews for your target queries. You can do this manually or with tools like \u003Ca href=\"https://www.seoclarity.net/research/ai-overviews-impact\">seoClarity\u003C/a>.",{},[],{"content":1123,"meta":1124,"items":1125},"Analyze your top competitors. What structured data are they using?",{},[],{"content":1127,"meta":1128,"items":1129},"Use the \u003Ca href=\"https://search.google.com/test/rich-results\">Google Rich Results Test\u003C/a> and the \u003Ca href=\"https://validator.schema.org\">Schema Markup Validator\u003C/a> to check for errors.",{},[],{"id":1131,"type":30,"data":1132},"17436ae9-6",{"text":1133},"\u003Cb>Week Two: Critical Markup Implementation\u003C/b>",{"id":1135,"type":30,"data":1136},"L1NRHMwe-Y",{"text":1137},"Focus on the highest-impact schema for your most important pages. For e-commerce, this is \u003Ccode class=\"inline-code\">Product Schema\u003C/code>. For B2B, it's \u003Ccode class=\"inline-code\">Service Schema\u003C/code>. For content, it's \u003Ccode class=\"inline-code\">Article Schema\u003C/code> and \u003Ccode class=\"inline-code\">FAQ Schema\u003C/code>. Use the \u003Ccode class=\"inline-code\">JSON-LD\u003C/code> format exclusively—this is \u003Ca href=\"https://www.searchenginejournal.com/technical-seo/schema/\" rel=\"noopener noreferrer nofollow\">Google's official recommendation\u003C/a>.",{"id":1139,"type":30,"data":1140},"e5bbb6bb-2",{"text":1141},"\u003Cb>Week Three: Strengthen E-E-A-T Signals\u003C/b>",{"id":1143,"type":30,"data":1144},"eb3124c8-e",{"text":1145},"Create detailed author biographies and mark them up with \u003Ccode class=\"inline-code\">Person Schema\u003C/code>. Include photos, titles, experience, and links to professional profiles. In parallel, expand your \u003Ccode class=\"inline-code\">Organization Schema\u003C/code> with your company's history, address, contact info, awards, and social media links.",{"id":1147,"type":30,"data":1148},"9463b71f-9",{"text":1149},"\u003Cb>Week Four: Monitor and Scale\u003C/b>",{"id":1151,"type":30,"data":1152},"48dad3d9-5",{"text":1153},"Systematically track your pages' appearance in AI Overviews and check for mentions in ChatGPT, Perplexity, and Claude. If you see a positive trend after a month, it's a signal to scale your GEO efforts across the entire site, using programmatic generation for large projects.",{"id":1155,"type":24,"data":1156},"cf234c93-8",{"text":1157,"level":73},"Critical Risks and Honest Limitations",{"id":1159,"type":30,"data":1160},"093f84ab-0",{"text":1161},"\u003Cb>Risk One: Manual Penalties.\u003C/b> Google is crystal clear: any discrepancy between your structured data and the visible content on the page is considered manipulation. Marking up a fake 5-star rating or an incorrect price is a guaranteed path to a penalty.",{"id":1163,"type":30,"data":1164},"656b47bc-f",{"text":1165},"\u003Cb>Risk Two: No Absolute Guarantees.\u003C/b> GEO \u003Ci>significantly increases\u003C/i> the probability of being cited, but it's not a 100% guarantee. AI systems use dozens of factors, and structured data is just one piece of the puzzle.",{"id":1167,"type":30,"data":1168},"6ce376d4-1",{"text":1169},"\u003Cb>Risk Three: Visibility Doesn't Always Equal Clicks.\u003C/b> This is a critical point. Many users will get their answer from the AI Overview and never click through to your site. Your brand gets mentioned, but it may not generate direct traffic.",{"id":1171,"type":35,"data":1172},"lTyP4GwuhT-2",{"quoteText":1173,"authorText":1174},"Only 1% of users actually click on the links provided within an AI Overview as sources of information.","Pew Research Center",{"id":1176,"type":30,"data":1177},"dcbfb62c-4",{"text":1178},"Finally, remember the trade-off. Implementing high-quality structured markup is a significant investment of time and resources. The alternative, however, is a gradual and steady loss of visibility in an AI-driven world.",{"id":1180,"type":24,"data":1181},"a64c6e16-d",{"text":1182,"level":73},"Conclusion: The Investment in Future Visibility Begins Today",{"id":1184,"type":30,"data":1185},"7fa783cb-6",{"text":1186},"The world of digital marketing has changed irrevocably. The way we search for information has changed fundamentally.",{"id":1188,"type":30,"data":1189},"d31b0f7e-9",{"text":1190},"According to \u003Ca href=\"https://xponent21.com/insights/googles-ai-overviews-surpass-50-of-queries-doubling-since-august-2024/\" rel=\"noopener noreferrer nofollow\">current data from Xponent21\u003C/a>, Google's AI Overviews now appear in \u003Cb>more than 50% of all search queries\u003C/b>—double the rate from just eight months ago. This trend will only intensify.",{"id":1192,"type":30,"data":1193},"f8b16611-4",{"text":1194},"The question is no longer \u003Ci>whether\u003C/i> to adapt. The real question is: will you implement GEO before your competitors do? Because AI answers typically cite only three to five sources. \u003Cb>The spots on this exclusive list are limited.\u003C/b>",{"id":1196,"type":30,"data":1197},"e87f6605-6",{"text":1198},"If the task seems daunting, start small. Choose your ten most important pages. Implement basic, correct markup. Track your metrics. See the results for yourself.",{"id":1200,"type":30,"data":1201},"24c86c3b-2",{"text":1202},"GEO is not a magic bullet. It is a technically sound and strategic way to communicate with machines in their native language of structured data. In a world where AI is the main intermediary between your content and your audience, mastering this language is no longer an option—it's a basic requirement for survival.",{"id":1204,"type":30,"data":1205},"01b309f8-0",{"text":1206},"#news #seo #geo",{"authorId":616,"name":617,"avatar":618,"username":619},"MARKETING",[1210,1211],{"emojiId":543,"count":27,"reactedByUser":19},{"emojiId":1212,"count":543,"reactedByUser":19},11,{"comments":543,"favorites":73,"views":1214,"hits":1215},56,429,"2025-10-03T11:57:17.847","2025-10-05T12:45:14.852",{"postId":1219,"title":1220,"slug":1221,"preview":1222,"html":1223,"content":1224,"author":1276,"authorUsername":1280,"topic":620,"status":540,"reactions":1281,"counters":1283,"createdAt":1286,"updatedAt":1287,"publishedPostId":550,"favorite":19},"17c2f948-7e02-4fbd-ae3c-beff651051dc","Google Challenges OpenAI with Gemini CLI Extensions","684079-google-challenges-openai-with-gemini-cli-extensions","\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Right after OpenAI launched \u003Ca href=\"https://openai.com/index/introducing-apps-in-chatgpt/\">ChatGPT Apps\u003C/a>, Google has entered the ring with its own ecosystem: \u003Ca href=\"https://blog.google/technology/developers/gemini-cli-extensions/\">Gemini CLI Extensions\u003C/a>. A new race is on to become the definitive \u003Ci>operating system for AI tools\u003C/i>, allowing developers to integrate external services directly into their command line.\u003C/p>\u003C/div>","\u003Cdiv class=\"content-wrapper break-words\">\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Right after OpenAI launched \u003Ca href=\"https://openai.com/index/introducing-apps-in-chatgpt/\">ChatGPT Apps\u003C/a>, Google has entered the ring with its own ecosystem: \u003Ca href=\"https://blog.google/technology/developers/gemini-cli-extensions/\">Gemini CLI Extensions\u003C/a>. A new race is on to become the definitive \u003Ci>operating system for AI tools\u003C/i>, allowing developers to integrate external services directly into their command line.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Gemini CLI is an open-source AI agent that operates from the terminal. The new extension system allows seamless integration with popular services like \u003Cb>Dynatrace, Elastic, Figma, Harness, Postman, Shopify, Snyk, and Stripe\u003C/b>, alongside Google's own tools such as \u003Cb>Cloud Run, GKE, and Firebase\u003C/b>.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">How It Works\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Each extension comes with a built-in \u003Cb>playbook\u003C/b>, which instructs the AI on how to use the integrated tool. This eliminates the need for manual setup; you can install an extension with a single command:\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--media block-content content-block-code\">\u003Cpre>\u003Ccode class=\"language-autohotkey hljs\">gemini extensions install <GitHub URL or local path>\u003C/code>\u003C/pre>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">\u003Cb>Playbook-Driven:\u003C/b> Each extension's 'playbook' guides the AI, ensuring seamless and predictable tool interaction without extra configuration.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Standardized Protocol:\u003C/b> The system is built on the Model Context Protocol (MCP) for consistent and reliable communication between the AI and the tools.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Rich Integrations:\u003C/b> The framework supports Google's own developer tools and even includes creative additions like 'Nano Banana' for image generation.\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">A Growing Ecosystem\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">To support this initiative, Google has launched the \u003Cb>Gemini CLI Extensions Page\u003C/b>, a public directory where developers can discover and install extensions from the community, official partners, and Google itself.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Ca href=\"/tag/news\" target=\"_blank\" rel=\"noopener noreferrer ugc\">#news\u003C/a> \u003Ca href=\"/tag/google\" target=\"_blank\" rel=\"noopener noreferrer ugc\">#google\u003C/a> \u003Ca href=\"/tag/gemini\" target=\"_blank\" rel=\"noopener noreferrer ugc\">#gemini\u003C/a>\u003C/p>\u003C/div>\u003C/div>",{"time":1225,"blocks":1226,"version":533},1759990201350,[1227,1231,1235,1239,1243,1247,1264,1268,1272],{"id":1228,"type":30,"data":1229},"1ec752ae",{"text":1230},"Right after OpenAI launched \u003Ca href=\"https://openai.com/index/introducing-apps-in-chatgpt/\">ChatGPT Apps\u003C/a>, Google has entered the ring with its own ecosystem: \u003Ca href=\"https://blog.google/technology/developers/gemini-cli-extensions/\">Gemini CLI Extensions\u003C/a>. A new race is on to become the definitive \u003Ci>operating system for AI tools\u003C/i>, allowing developers to integrate external services directly into their command line.",{"id":1232,"type":30,"data":1233},"2e1e9447",{"text":1234},"Gemini CLI is an open-source AI agent that operates from the terminal. The new extension system allows seamless integration with popular services like \u003Cb>Dynatrace, Elastic, Figma, Harness, Postman, Shopify, Snyk, and Stripe\u003C/b>, alongside Google's own tools such as \u003Cb>Cloud Run, GKE, and Firebase\u003C/b>.",{"id":1236,"type":24,"data":1237},"4e262145",{"text":1238,"level":73},"How It Works",{"id":1240,"type":30,"data":1241},"d164506c",{"text":1242},"Each extension comes with a built-in \u003Cb>playbook\u003C/b>, which instructs the AI on how to use the integrated tool. This eliminates the need for manual setup; you can install an extension with a single command:",{"id":1244,"type":142,"data":1245},"c5f356c9",{"code":1246},"gemini extensions install <GitHub URL or local path>",{"id":1248,"type":44,"data":1249},"b1227092",{"style":46,"meta":1250,"items":1251},{},[1252,1256,1260],{"content":1253,"meta":1254,"items":1255},"\u003Cb>Playbook-Driven:\u003C/b> Each extension's 'playbook' guides the AI, ensuring seamless and predictable tool interaction without extra configuration.",{},[],{"content":1257,"meta":1258,"items":1259},"\u003Cb>Standardized Protocol:\u003C/b> The system is built on the Model Context Protocol (MCP) for consistent and reliable communication between the AI and the tools.",{},[],{"content":1261,"meta":1262,"items":1263},"\u003Cb>Rich Integrations:\u003C/b> The framework supports Google's own developer tools and even includes creative additions like 'Nano Banana' for image generation.",{},[],{"id":1265,"type":24,"data":1266},"34df39c5",{"text":1267,"level":73},"A Growing Ecosystem",{"id":1269,"type":30,"data":1270},"f90a187b",{"text":1271},"To support this initiative, Google has launched the \u003Cb>Gemini CLI Extensions Page\u003C/b>, a public directory where developers can discover and install extensions from the community, official partners, and Google itself.",{"id":1273,"type":30,"data":1274},"1jR4lWQwm9",{"text":1275},"#news #google #gemini",{"authorId":1277,"name":1278,"avatar":1279,"username":1280},"DSvYJaa9k8QR19V1H0aZRgy5ZRv1","Jack Orr","https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/44999fae-debf-453a-8fe0-7156abe690e0/1184.webp","id341685472603",[1282],{"emojiId":543,"count":27,"reactedByUser":19},{"comments":545,"favorites":27,"views":1284,"hits":1285},21,360,"2025-10-09T06:08:27.347","2025-10-09T08:21:03.278",{"postId":1289,"title":1290,"slug":1291,"preview":1292,"html":1293,"content":1294,"author":1683,"authorUsername":619,"topic":1684,"status":540,"reactions":1685,"counters":1692,"createdAt":1695,"updatedAt":1696,"publishedPostId":550,"favorite":19},"8fcd6c02-bf30-4d52-b5ef-b725d3d91cbf","SSL Certificates in 2025: The Most Profitable Scam in Internet History","879021-ssl-certificates-2025-most-profitable-scam-internet-history","\u003Cdiv class=\"block-wrapper--media\">\u003Cfigure class=\"block-content content-block-image\">\u003Cimg src=\"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/6a8513d9-e420-43c2-9abf-e7f3f7172d85/1184.webp\" alt=\"Image\" class=\"rounded-xl medium-zoom-image\" loading=\"lazy\">\u003C/figure>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>$199 per file.\u003C/b> In 2005, that's exactly how much an SSL certificate from VeriSign cost. Not for a program, not for a database, but for a few kilobytes of encrypted text that tells a browser, 'this site is genuinely who it claims to be.' Every year. For every domain. No exceptions.\u003C/p>\u003C/div>","\u003Cdiv class=\"content-wrapper break-words\">\u003Cdiv class=\"block-wrapper--media\">\u003Cfigure class=\"block-content content-block-image\">\u003Cimg src=\"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/6a8513d9-e420-43c2-9abf-e7f3f7172d85/1184.webp\" alt=\"Image\" class=\"rounded-xl medium-zoom-image\" loading=\"lazy\">\u003C/figure>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>$199 per file.\u003C/b> In 2005, that's exactly how much an SSL certificate from VeriSign cost. Not for a program, not for a database, but for a few kilobytes of encrypted text that tells a browser, 'this site is genuinely who it claims to be.' Every year. For every domain. No exceptions.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Today, you can get the exact same security, identical encryption, and browser trust for free. You can install it in 30 seconds and even have it renew automatically. Yet, hosting companies still charge $50, $100, or even $200 for 'premium' SSL certificates that work exactly the same as the free ones. How does an entire industry continue to rip people off for something that has become a commodity?\u003C/p>\u003C/div>\u003Cfigure class=\"block-wrapper block-wrapper--media\">\u003Cdiv class=\"block-wrapper__content\">\u003Cblockquote class=\"block-quote block-quote--text-small\">\u003Cdiv class=\"block-quote__line\">\u003C/div>\u003Cdiv class=\"block-quote__text\">\u003Cp>Welcome to the story of the most profitable scam in internet history. A scam so elegant, so well-marketed, and so deeply ingrained in the hosting industry that it continues to print money even after everyone knows it's a scam.\u003C/p>\u003C/div>\u003C/blockquote>\u003C/div>\u003C/figure>\u003Cdiv class=\"block-wrapper--default\">\u003Chr class=\"block-content content-block-delimiter\">\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">How the SSL Gold Rush Began\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">In 1994, Netscape created SSL (Secure Sockets Layer) to protect online communications. The concept was simple: encrypt data between the browser and the server. But a problem arose: how do you know that the server you're connecting to is really who it claims to be? The solution was digital certificates from trusted Certificate Authorities (CAs), which verified a site's identity and issued a certificate that browsers trusted.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">The original plan was elegant:\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">Encrypt communications ✓\u003C/li>\u003Cli class=\"content-block-list-item\">Verify identity ✓\u003C/li>\u003Cli class=\"content-block-list-item\">Create trust in e-commerce ✓\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">But in reality, it was a bit weak:\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">Created a market of artificial scarcity\u003C/li>\u003Cli class=\"content-block-list-item\">Turned basic cryptography into a luxury item\u003C/li>\u003Cli class=\"content-block-list-item\">Built a cartel that controlled internet security for decades\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">By 2000, companies like VeriSign, Thawte, and Comodo were printing money. They charged hundreds of dollars for what was essentially an automated process. The profit margins were insane. The actual cost of issuing a certificate? Less than a dollar. The selling price? \u003Cb>$100-500 per year.\u003C/b>\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Chr class=\"block-content content-block-delimiter\">\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">How Simple Math Became a Million-Dollar Business\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Let's break down the economics of SSL certificates circa 2010:\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>Cost to issue one certificate:\u003C/b>\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">Server power: $0.01\u003C/li>\u003Cli class=\"content-block-list-item\">Electricity: $0.001\u003C/li>\u003Cli class=\"content-block-list-item\">Staff time (automated): $0.50\u003C/li>\u003Cli class=\"content-block-list-item\">Certificate Authority infrastructure: $0.10\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Total: $0.611\u003C/b>\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>Selling price:\u003C/b>\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">Basic SSL: $50/year\u003C/li>\u003Cli class=\"content-block-list-item\">Business SSL: $150/year\u003C/li>\u003Cli class=\"content-block-list-item\">Extended Validation SSL: $300/year\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Margin: from 8,000% to 49,000%\u003C/b>\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">The genius of the business model was that it combined artificial scarcity (only 'trusted' CAs could issue certificates), fear-based marketing ('your site is insecure without SSL'), technical complexity, and recurring revenue. VeriSign built a multi-billion dollar business on this, and in 2010, \u003Ca href=\"https://en.wikipedia.org/wiki/Verisign\">the company sold its entire SSL business to Symantec for $1.28 billion\u003C/a>. For digital signatures that cost them pennies.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Chr class=\"block-content content-block-delimiter\">\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">When Everything Changed: The Let's Encrypt Revolution\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">In 2012, a group of digital 'Robin Hoods' founded the Internet Security Research Group (ISRG) with one goal: to make SSL certificates free and automatic. The project was called \u003Cb>Let's Encrypt\u003C/b>, and it destroyed the SSL certificate industry's business model overnight.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Launched in December 2015, it offered completely free SSL certificates, automated issuance (30 seconds vs. 3 days), the same level of security as paid certificates, and support from major tech companies. The result exceeded all expectations. In a few years, \u003Ca href=\"https://letsencrypt.org/2020/02/27/one-billion-certs/\">Let's Encrypt grew from its first certificate to one billion issued\u003C/a>, and then to \u003Ca href=\"https://techcrunch.com/2022/11/30/lets-encrypt-https-three-billion/\">3 billion\u003C/a>. By 2025, the project \u003Ca href=\"https://www.sci-tech-today.com/stats/ssl-statistics-updated/\">controls 58.3% of the entire SSL certificate market\u003C/a>. They didn't just compete; they completely trashed the entire business model.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Chr class=\"block-content content-block-delimiter\">\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">Why 'Premium' SSL is a Marketing Fiction\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">After Let's Encrypt launched, Certificate Authorities had a problem: how to justify a $200 price tag for something that's available for free? Their solution was to invent artificial differences and call the paid certificates 'premium'.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch2 class=\"block-content\">Better Encryption\u003C/h2>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>Claim:\u003C/b> Paid certificates use stronger encryption algorithms.\u003Cbr>\u003Cb>Reality:\u003C/b> All certificates use the same encryption standards. A free Let's Encrypt certificate uses the same AES-256 encryption as a 'premium' $500 certificate.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch2 class=\"block-content\">Better Warranty\u003C/h2>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>Claim:\u003C/b> Paid certificates come with a $10,000-$250,000 warranty.\u003Cbr>\u003Cb>Reality:\u003C/b> These warranties are marketing gimmicks with so many exclusions that they are practically useless. \u003Ca href=\"https://scotthelme.co.uk/do-ssl-warranties-protect-you-as-much-as-rocks-keep-tigers-away/\">Security experts can't find any documented cases\u003C/a> of successful payouts.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch2 class=\"block-content\">Better Browser Support\u003C/h2>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>Claim:\u003C/b> Paid certificates work better in older browsers.\u003Cbr>\u003Cb>Reality:\u003C/b> Let's Encrypt certificates have 99.9% browser compatibility, identical to paid certificates.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch2 class=\"block-content\">Better Validation\u003C/h2>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>Claim:\u003C/b> Paid certificates provide stricter identity verification.\u003Cbr>\u003Cb>Reality:\u003C/b> Most paid certificates use the same Domain Validation (DV) as Let's Encrypt. Extended Validation (EV) certificates, which show company names, have proven ineffective against phishing.\u003C/p>\u003C/div>\u003Cfigure class=\"block-wrapper block-wrapper--media\">\u003Cdiv class=\"block-wrapper__content\">\u003Cblockquote class=\"block-quote block-quote--text-small\">\u003Cdiv class=\"block-quote__line\">\u003C/div>\u003Cdiv class=\"block-quote__text\">\u003Cp>There is no technical difference between a free Let's Encrypt certificate and a 'premium' $200 certificate. They use the same cryptography, provide the same security, and work identically in browsers.\u003C/p>\u003C/div>\u003C/blockquote>\u003C/div>\u003C/figure>\u003Cdiv class=\"block-wrapper--default\">\u003Chr class=\"block-content content-block-delimiter\">\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">The Symantec Scandal That No One Talks About\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">In 2017, the SSL certificate industry faced its biggest scandal. Google discovered that Symantec (the largest SSL provider) had been mis-issuing certificates for years without proper validation, for domains it didn't own, and covering up security breaches. In response, \u003Ca href=\"https://security.googleblog.com/2017/09/chromes-plan-to-distrust-symantec.html\">Google announced\u003C/a> that Chrome would stop trusting all Symantec certificates.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>The consequences:\u003C/b>\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">Millions of websites suddenly had 'untrusted' certificates\u003C/li>\u003Cli class=\"content-block-list-item\">Symantec was forced to sell its certificate business to DigiCert\u003C/li>\u003Cli class=\"content-block-list-item\">The entire 'trusted CA' model was exposed as fundamentally flawed\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">While this was happening, Let's Encrypt—the 'free' certificate authority—had better security practices and more transparent operations than the 'premium' providers who charged hundreds of dollars. A higher price does not mean higher security. Sometimes it just means better marketing.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Chr class=\"block-content content-block-delimiter\">\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">How Hosting Companies Perpetuate the Scam\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Even after Let's Encrypt proved that SSL certificates should be free, many hosting companies continue to sell paid certificates. Why? The economics are too tempting:\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">Cost to provide a Let's Encrypt SSL: $0\u003C/li>\u003Cli class=\"content-block-list-item\">Price of a 'premium' SSL: $50-200/year\u003C/li>\u003Cli class=\"content-block-list-item\">Net margin: 100%\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>Their scummy tactics:\u003C/b>\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch2 class=\"block-content\">Hiding the Free Options\u003C/h2>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Most hosting companies offer Let's Encrypt SSL but hide it in confusing menus or technical documentation. The paid options are prominently displayed during checkout.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch2 class=\"block-content\">Fear-Based Marketing\u003C/h2>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">'Protect your site with a premium SSL!', 'Don't trust your business to free certificates!', 'Get maximum security with our corporate SSL!'\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch2 class=\"block-content\">Artificial Limitations\u003C/h2>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Some hosts make free SSL harder to use by not offering automatic renewal, requiring manual installation, restricting it to certain plans, or providing poor documentation.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Chr class=\"block-content content-block-delimiter\">\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">Liberation: Why Free SSL is Actually Better\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Free SSL isn't just equal to paid SSL; in many ways, it's superior. \u003Cb>Automation\u003C/b> from Let's Encrypt eliminates the human error common with manual paid renewals. \u003Cb>Security\u003C/b> is enhanced by \u003Ca href=\"https://letsencrypt.org/2015/11/09/why-90-days/\">90-day certificates that limit the damage from key compromise\u003C/a>, a shorter and safer window than year-long paid certificates. Finally, \u003Cb>Transparency\u003C/b> is a core tenet of Let's Encrypt, with all certificates publicly logged, unlike the opaque operations of paid CAs. The inconvenient truth for the SSL industry is that their 'premium' product is often worse than the free alternative.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">How to Never Pay for SSL Again\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Ready to stop being part of the SSL scam? Here's how:\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Col class=\"block-content content-block-list-ordered\">\u003Cli class=\"content-block-list-item\">\u003Cb>If you're choosing a host,\u003C/b> ask if they include free, automatic SSL (Let's Encrypt). Avoid any host that pushes 'premium' SSL during signup.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>If you're already paying for SSL,\u003C/b> check if your host offers a free Let's Encrypt option and switch immediately. Don't renew your paid certificate.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>If you're a developer,\u003C/b> use tools like Certbot to automate Let's Encrypt and educate your clients. Never recommend paid SSL unless there's a specific, niche requirement.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>If you run a business,\u003C/b> audit your SSL expenses. Switch to providers that include free SSL and reallocate that budget to real security improvements.\u003C/li>\u003C/ol>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">In 2025, there is no legitimate reason for most websites to pay for SSL certificates. Anyone charging you for basic SSL is either uninformed or taking advantage of your lack of knowledge.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Chr class=\"block-content content-block-delimiter\">\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">Conclusion\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">For nearly 20 years, the SSL certificate industry convinced the world that basic website security is a luxury service. They created artificial scarcity and used fear-based marketing to justify outrageous markups. Let's Encrypt broke this model, proving that SSL certificates can be free, automated, and more secure than expensive alternatives.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Nevertheless, the scam continues. Hosting companies still sell 'premium' SSL certificates that do nothing more than the free alternatives. The solution is simple:\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">Use free SSL certificates (Let's Encrypt)\u003C/li>\u003Cli class=\"content-block-list-item\">Choose hosting providers that include SSL at no extra charge\u003C/li>\u003Cli class=\"content-block-list-item\">Learn the basic concepts of SSL\u003C/li>\u003Cli class=\"content-block-list-item\">Stop paying for what should be free\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">In 2025, paying for basic SSL certificates is like paying for air. The SSL certificate industry built a billion-dollar business on artificial scarcity and fear. It's time for everyone to stop participating in this scam.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Ca href=\"/tag/news\" target=\"_blank\" rel=\"noopener noreferrer ugc\">#news\u003C/a> \u003Ca href=\"/tag/ssl\" target=\"_blank\" rel=\"noopener noreferrer ugc\">#ssl\u003C/a>\u003C/p>\u003C/div>\u003C/div>",{"time":1295,"blocks":1296,"version":1682},1758312213952,[1297,1302,1306,1310,1314,1317,1321,1325,1329,1346,1350,1367,1371,1374,1378,1382,1386,1411,1415,1436,1440,1443,1447,1451,1455,1458,1462,1466,1470,1474,1478,1482,1486,1490,1494,1498,1502,1505,1509,1513,1517,1534,1538,1541,1545,1549,1566,1570,1574,1578,1582,1586,1590,1594,1597,1601,1605,1609,1613,1634,1638,1641,1645,1649,1653,1674,1678],{"id":1298,"type":16,"data":1299},"a1458ca9-c",{"file":1300,"caption":18,"withBorder":19,"stretched":19,"withBackground":19},{"url":1301},"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/6a8513d9-e420-43c2-9abf-e7f3f7172d85/1184.webp",{"id":1303,"type":30,"data":1304},"intro_para_1",{"text":1305},"\u003Cb>$199 per file.\u003C/b> In 2005, that's exactly how much an SSL certificate from VeriSign cost. Not for a program, not for a database, but for a few kilobytes of encrypted text that tells a browser, 'this site is genuinely who it claims to be.' Every year. For every domain. No exceptions.",{"id":1307,"type":30,"data":1308},"intro_para_2",{"text":1309},"Today, you can get the exact same security, identical encryption, and browser trust for free. You can install it in 30 seconds and even have it renew automatically. Yet, hosting companies still charge $50, $100, or even $200 for 'premium' SSL certificates that work exactly the same as the free ones. How does an entire industry continue to rip people off for something that has become a commodity?",{"id":1311,"type":35,"data":1312},"intro_quote",{"quoteText":1313,"authorText":18},"Welcome to the story of the most profitable scam in internet history. A scam so elegant, so well-marketed, and so deeply ingrained in the hosting industry that it continues to print money even after everyone knows it's a scam.",{"id":1315,"type":67,"data":1316},"divider_1",{},{"id":1318,"type":24,"data":1319},"94bc7cce-1",{"text":1320,"level":73},"How the SSL Gold Rush Began",{"id":1322,"type":30,"data":1323},"goldrush_para_1",{"text":1324},"In 1994, Netscape created SSL (Secure Sockets Layer) to protect online communications. The concept was simple: encrypt data between the browser and the server. But a problem arose: how do you know that the server you're connecting to is really who it claims to be? The solution was digital certificates from trusted Certificate Authorities (CAs), which verified a site's identity and issued a certificate that browsers trusted.",{"id":1326,"type":30,"data":1327},"d5cd3145-e",{"text":1328},"The original plan was elegant:",{"id":1330,"type":44,"data":1331},"2f81c404-e",{"style":46,"meta":1332,"items":1333},{},[1334,1338,1342],{"content":1335,"meta":1336,"items":1337},"Encrypt communications ✓",{},[],{"content":1339,"meta":1340,"items":1341},"Verify identity ✓",{},[],{"content":1343,"meta":1344,"items":1345},"Create trust in e-commerce ✓",{},[],{"id":1347,"type":30,"data":1348},"7d621498-b",{"text":1349},"But in reality, it was a bit weak:",{"id":1351,"type":44,"data":1352},"23e2a82b-d",{"style":46,"meta":1353,"items":1354},{},[1355,1359,1363],{"content":1356,"meta":1357,"items":1358},"Created a market of artificial scarcity",{},[],{"content":1360,"meta":1361,"items":1362},"Turned basic cryptography into a luxury item",{},[],{"content":1364,"meta":1365,"items":1366},"Built a cartel that controlled internet security for decades",{},[],{"id":1368,"type":30,"data":1369},"goldrush_para_2",{"text":1370},"By 2000, companies like VeriSign, Thawte, and Comodo were printing money. They charged hundreds of dollars for what was essentially an automated process. The profit margins were insane. The actual cost of issuing a certificate? Less than a dollar. The selling price? \u003Cb>$100-500 per year.\u003C/b>",{"id":1372,"type":67,"data":1373},"divider_2",{},{"id":1375,"type":24,"data":1376},"2af1655f-3",{"text":1377,"level":73},"How Simple Math Became a Million-Dollar Business",{"id":1379,"type":30,"data":1380},"5dab9436-2",{"text":1381},"Let's break down the economics of SSL certificates circa 2010:",{"id":1383,"type":30,"data":1384},"005aa1bd-e",{"text":1385},"\u003Cb>Cost to issue one certificate:\u003C/b>",{"id":1387,"type":44,"data":1388},"53d74174-b",{"style":46,"meta":1389,"items":1390},{},[1391,1395,1399,1403,1407],{"content":1392,"meta":1393,"items":1394},"Server power: $0.01",{},[],{"content":1396,"meta":1397,"items":1398},"Electricity: $0.001",{},[],{"content":1400,"meta":1401,"items":1402},"Staff time (automated): $0.50",{},[],{"content":1404,"meta":1405,"items":1406},"Certificate Authority infrastructure: $0.10",{},[],{"content":1408,"meta":1409,"items":1410},"\u003Cb>Total: $0.611\u003C/b>",{},[],{"id":1412,"type":30,"data":1413},"6de896e2-2",{"text":1414},"\u003Cb>Selling price:\u003C/b>",{"id":1416,"type":44,"data":1417},"aeadadb2-9",{"style":46,"meta":1418,"items":1419},{},[1420,1424,1428,1432],{"content":1421,"meta":1422,"items":1423},"Basic SSL: $50/year",{},[],{"content":1425,"meta":1426,"items":1427},"Business SSL: $150/year",{},[],{"content":1429,"meta":1430,"items":1431},"Extended Validation SSL: $300/year",{},[],{"content":1433,"meta":1434,"items":1435},"\u003Cb>Margin: from 8,000% to 49,000%\u003C/b>",{},[],{"id":1437,"type":30,"data":1438},"math_para_1",{"text":1439},"The genius of the business model was that it combined artificial scarcity (only 'trusted' CAs could issue certificates), fear-based marketing ('your site is insecure without SSL'), technical complexity, and recurring revenue. VeriSign built a multi-billion dollar business on this, and in 2010, \u003Ca href=\"https://en.wikipedia.org/wiki/Verisign\">the company sold its entire SSL business to Symantec for $1.28 billion\u003C/a>. For digital signatures that cost them pennies.",{"id":1441,"type":67,"data":1442},"divider_3",{},{"id":1444,"type":24,"data":1445},"c90bdd50-2",{"text":1446,"level":73},"When Everything Changed: The Let's Encrypt Revolution",{"id":1448,"type":30,"data":1449},"revolution_para_1",{"text":1450},"In 2012, a group of digital 'Robin Hoods' founded the Internet Security Research Group (ISRG) with one goal: to make SSL certificates free and automatic. The project was called \u003Cb>Let's Encrypt\u003C/b>, and it destroyed the SSL certificate industry's business model overnight.",{"id":1452,"type":30,"data":1453},"revolution_para_2",{"text":1454},"Launched in December 2015, it offered completely free SSL certificates, automated issuance (30 seconds vs. 3 days), the same level of security as paid certificates, and support from major tech companies. The result exceeded all expectations. In a few years, \u003Ca href=\"https://letsencrypt.org/2020/02/27/one-billion-certs/\">Let's Encrypt grew from its first certificate to one billion issued\u003C/a>, and then to \u003Ca href=\"https://techcrunch.com/2022/11/30/lets-encrypt-https-three-billion/\">3 billion\u003C/a>. By 2025, the project \u003Ca href=\"https://www.sci-tech-today.com/stats/ssl-statistics-updated/\">controls 58.3% of the entire SSL certificate market\u003C/a>. They didn't just compete; they completely trashed the entire business model.",{"id":1456,"type":67,"data":1457},"divider_4",{},{"id":1459,"type":24,"data":1460},"0eb3383f-1",{"text":1461,"level":73},"Why 'Premium' SSL is a Marketing Fiction",{"id":1463,"type":30,"data":1464},"fiction_para_1",{"text":1465},"After Let's Encrypt launched, Certificate Authorities had a problem: how to justify a $200 price tag for something that's available for free? Their solution was to invent artificial differences and call the paid certificates 'premium'.",{"id":1467,"type":24,"data":1468},"fabf35d7-0",{"text":1469,"level":27},"\"Better Encryption\"",{"id":1471,"type":30,"data":1472},"fiction_para_2",{"text":1473},"\u003Cb>Claim:\u003C/b> Paid certificates use stronger encryption algorithms.\u003Cbr>\u003Cb>Reality:\u003C/b> All certificates use the same encryption standards. A free Let's Encrypt certificate uses the same AES-256 encryption as a 'premium' $500 certificate.",{"id":1475,"type":24,"data":1476},"d6efe0cf-d",{"text":1477,"level":27},"\"Better Warranty\"",{"id":1479,"type":30,"data":1480},"fiction_para_3",{"text":1481},"\u003Cb>Claim:\u003C/b> Paid certificates come with a $10,000-$250,000 warranty.\u003Cbr>\u003Cb>Reality:\u003C/b> These warranties are marketing gimmicks with so many exclusions that they are practically useless. \u003Ca href=\"https://scotthelme.co.uk/do-ssl-warranties-protect-you-as-much-as-rocks-keep-tigers-away/\">Security experts can't find any documented cases\u003C/a> of successful payouts.",{"id":1483,"type":24,"data":1484},"5d6e7e84-4",{"text":1485,"level":27},"\"Better Browser Support\"",{"id":1487,"type":30,"data":1488},"fiction_para_4",{"text":1489},"\u003Cb>Claim:\u003C/b> Paid certificates work better in older browsers.\u003Cbr>\u003Cb>Reality:\u003C/b> Let's Encrypt certificates have 99.9% browser compatibility, identical to paid certificates.",{"id":1491,"type":24,"data":1492},"b206ed73-d",{"text":1493,"level":27},"\"Better Validation\"",{"id":1495,"type":30,"data":1496},"fiction_para_5",{"text":1497},"\u003Cb>Claim:\u003C/b> Paid certificates provide stricter identity verification.\u003Cbr>\u003Cb>Reality:\u003C/b> Most paid certificates use the same Domain Validation (DV) as Let's Encrypt. Extended Validation (EV) certificates, which show company names, have proven ineffective against phishing.",{"id":1499,"type":35,"data":1500},"fiction_quote",{"quoteText":1501,"authorText":18},"There is no technical difference between a free Let's Encrypt certificate and a 'premium' $200 certificate. They use the same cryptography, provide the same security, and work identically in browsers.",{"id":1503,"type":67,"data":1504},"divider_5",{},{"id":1506,"type":24,"data":1507},"cb62ea73-e",{"text":1508,"level":73},"The Symantec Scandal That No One Talks About",{"id":1510,"type":30,"data":1511},"scandal_para_1",{"text":1512},"In 2017, the SSL certificate industry faced its biggest scandal. Google discovered that Symantec (the largest SSL provider) had been mis-issuing certificates for years without proper validation, for domains it didn't own, and covering up security breaches. In response, \u003Ca href=\"https://security.googleblog.com/2017/09/chromes-plan-to-distrust-symantec.html\">Google announced\u003C/a> that Chrome would stop trusting all Symantec certificates.",{"id":1514,"type":30,"data":1515},"a4cbdd15-9",{"text":1516},"\u003Cb>The consequences:\u003C/b>",{"id":1518,"type":44,"data":1519},"611bf50e-f",{"style":46,"meta":1520,"items":1521},{},[1522,1526,1530],{"content":1523,"meta":1524,"items":1525},"Millions of websites suddenly had 'untrusted' certificates",{},[],{"content":1527,"meta":1528,"items":1529},"Symantec was forced to sell its certificate business to DigiCert",{},[],{"content":1531,"meta":1532,"items":1533},"The entire 'trusted CA' model was exposed as fundamentally flawed",{},[],{"id":1535,"type":30,"data":1536},"scandal_para_2",{"text":1537},"While this was happening, Let's Encrypt—the 'free' certificate authority—had better security practices and more transparent operations than the 'premium' providers who charged hundreds of dollars. A higher price does not mean higher security. Sometimes it just means better marketing.",{"id":1539,"type":67,"data":1540},"divider_6",{},{"id":1542,"type":24,"data":1543},"84539d8c-5",{"text":1544,"level":73},"How Hosting Companies Perpetuate the Scam",{"id":1546,"type":30,"data":1547},"hosting_para_1",{"text":1548},"Even after Let's Encrypt proved that SSL certificates should be free, many hosting companies continue to sell paid certificates. Why? The economics are too tempting:",{"id":1550,"type":44,"data":1551},"cea4b265-1",{"style":46,"meta":1552,"items":1553},{},[1554,1558,1562],{"content":1555,"meta":1556,"items":1557},"Cost to provide a Let's Encrypt SSL: $0",{},[],{"content":1559,"meta":1560,"items":1561},"Price of a 'premium' SSL: $50-200/year",{},[],{"content":1563,"meta":1564,"items":1565},"Net margin: 100%",{},[],{"id":1567,"type":30,"data":1568},"90054949-5",{"text":1569},"\u003Cb>Their scummy tactics:\u003C/b>",{"id":1571,"type":24,"data":1572},"c7b6d76d-0",{"text":1573,"level":27},"Hiding the Free Options",{"id":1575,"type":30,"data":1576},"c79218d8-c",{"text":1577},"Most hosting companies offer Let's Encrypt SSL but hide it in confusing menus or technical documentation. The paid options are prominently displayed during checkout.",{"id":1579,"type":24,"data":1580},"23fffb61-c",{"text":1581,"level":27},"Fear-Based Marketing",{"id":1583,"type":30,"data":1584},"8a6eeb05-4",{"text":1585},"'Protect your site with a premium SSL!', 'Don't trust your business to free certificates!', 'Get maximum security with our corporate SSL!'",{"id":1587,"type":24,"data":1588},"64c70122-8",{"text":1589,"level":27},"Artificial Limitations",{"id":1591,"type":30,"data":1592},"9d98d8dd-1",{"text":1593},"Some hosts make free SSL harder to use by not offering automatic renewal, requiring manual installation, restricting it to certain plans, or providing poor documentation.",{"id":1595,"type":67,"data":1596},"divider_7",{},{"id":1598,"type":24,"data":1599},"72978e70-1",{"text":1600,"level":73},"Liberation: Why Free SSL is Actually Better",{"id":1602,"type":30,"data":1603},"liberation_para_1",{"text":1604},"Free SSL isn't just equal to paid SSL; in many ways, it's superior. \u003Cb>Automation\u003C/b> from Let's Encrypt eliminates the human error common with manual paid renewals. \u003Cb>Security\u003C/b> is enhanced by \u003Ca href=\"https://letsencrypt.org/2015/11/09/why-90-days/\">90-day certificates that limit the damage from key compromise\u003C/a>, a shorter and safer window than year-long paid certificates. Finally, \u003Cb>Transparency\u003C/b> is a core tenet of Let's Encrypt, with all certificates publicly logged, unlike the opaque operations of paid CAs. The inconvenient truth for the SSL industry is that their 'premium' product is often worse than the free alternative.",{"id":1606,"type":24,"data":1607},"79bb3118-4",{"text":1608,"level":73},"How to Never Pay for SSL Again",{"id":1610,"type":30,"data":1611},"howto_para_1",{"text":1612},"Ready to stop being part of the SSL scam? Here's how:",{"id":1614,"type":44,"data":1615},"howto_list_1",{"style":874,"meta":1616,"items":1617},{"counterType":876},[1618,1622,1626,1630],{"content":1619,"meta":1620,"items":1621},"\u003Cb>If you're choosing a host,\u003C/b> ask if they include free, automatic SSL (Let's Encrypt). Avoid any host that pushes 'premium' SSL during signup.",{},[],{"content":1623,"meta":1624,"items":1625},"\u003Cb>If you're already paying for SSL,\u003C/b> check if your host offers a free Let's Encrypt option and switch immediately. Don't renew your paid certificate.",{},[],{"content":1627,"meta":1628,"items":1629},"\u003Cb>If you're a developer,\u003C/b> use tools like Certbot to automate Let's Encrypt and educate your clients. Never recommend paid SSL unless there's a specific, niche requirement.",{},[],{"content":1631,"meta":1632,"items":1633},"\u003Cb>If you run a business,\u003C/b> audit your SSL expenses. Switch to providers that include free SSL and reallocate that budget to real security improvements.",{},[],{"id":1635,"type":30,"data":1636},"howto_para_2",{"text":1637},"In 2025, there is no legitimate reason for most websites to pay for SSL certificates. Anyone charging you for basic SSL is either uninformed or taking advantage of your lack of knowledge.",{"id":1639,"type":67,"data":1640},"divider_8",{},{"id":1642,"type":24,"data":1643},"bfa28172-4",{"text":1644,"level":73},"Conclusion",{"id":1646,"type":30,"data":1647},"conclusion_para_1",{"text":1648},"For nearly 20 years, the SSL certificate industry convinced the world that basic website security is a luxury service. They created artificial scarcity and used fear-based marketing to justify outrageous markups. Let's Encrypt broke this model, proving that SSL certificates can be free, automated, and more secure than expensive alternatives.",{"id":1650,"type":30,"data":1651},"conclusion_para_2",{"text":1652},"Nevertheless, the scam continues. Hosting companies still sell 'premium' SSL certificates that do nothing more than the free alternatives. The solution is simple:",{"id":1654,"type":44,"data":1655},"1ab4409e-f",{"style":46,"meta":1656,"items":1657},{},[1658,1662,1666,1670],{"content":1659,"meta":1660,"items":1661},"Use free SSL certificates (Let's Encrypt)",{},[],{"content":1663,"meta":1664,"items":1665},"Choose hosting providers that include SSL at no extra charge",{},[],{"content":1667,"meta":1668,"items":1669},"Learn the basic concepts of SSL",{},[],{"content":1671,"meta":1672,"items":1673},"Stop paying for what should be free",{},[],{"id":1675,"type":30,"data":1676},"conclusion_para_3",{"text":1677},"In 2025, paying for basic SSL certificates is like paying for air. The SSL certificate industry built a billion-dollar business on artificial scarcity and fear. It's time for everyone to stop participating in this scam.",{"id":1679,"type":30,"data":1680},"J83VVdoxbE",{"text":1681},"#news #ssl","2.31.0-rc.7",{"authorId":616,"name":617,"avatar":618,"username":619},"BACKEND",[1686,1687,1688,1690],{"emojiId":543,"count":27,"reactedByUser":19},{"emojiId":73,"count":543,"reactedByUser":19},{"emojiId":1689,"count":543,"reactedByUser":19},5,{"emojiId":1691,"count":543,"reactedByUser":19},8,{"comments":543,"favorites":543,"views":1693,"hits":1694},100,291,"2025-09-19T19:44:35.825","2025-09-26T00:06:59.372",{"postId":1698,"title":1699,"slug":1700,"preview":1701,"html":1702,"content":1703,"author":1734,"authorUsername":619,"topic":620,"status":540,"reactions":1735,"counters":1737,"createdAt":1739,"updatedAt":1740,"publishedPostId":550,"favorite":19},"bbd1cc4c-fdeb-4676-9261-b5442abec1ff","Alibaba Open-Sourced Qwen3-VL","937089-alibaba-qwen3-vl","\u003Cdiv class=\"block-wrapper--media\">\u003Cfigure class=\"block-content content-block-image\">\u003Cimg src=\"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/71c9f412-a98d-4996-937b-b9181dfc83d1/1184.webp\" alt=\"Image\" class=\"rounded-xl medium-zoom-image\" loading=\"lazy\">\u003C/figure>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Alibaba has made one of the most notable steps in its open technology strategy. The company has open-sourced the code for \u003Ca href=\"https://huggingface.co/collections/Qwen/qwen3-vl-68d2a7c1b8a8afce4ebd2dbe\" rel=\"noopener noreferrer nofollow\">Qwen3-VL\u003C/a>, a new multimodal model that combines text and visual capabilities. Unlike traditional LLMs that primarily work with text, Qwen3-VL can analyze images, videos, and manage interfaces, taking it to a new level of application in real-world business tasks.\u003C/p>\u003C/div>","\u003Cdiv class=\"content-wrapper break-words\">\u003Cdiv class=\"block-wrapper--media\">\u003Cfigure class=\"block-content content-block-image\">\u003Cimg src=\"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/71c9f412-a98d-4996-937b-b9181dfc83d1/1184.webp\" alt=\"Image\" class=\"rounded-xl medium-zoom-image\" loading=\"lazy\">\u003C/figure>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Alibaba has made one of the most notable steps in its open technology strategy. The company has open-sourced the code for \u003Ca href=\"https://huggingface.co/collections/Qwen/qwen3-vl-68d2a7c1b8a8afce4ebd2dbe\" rel=\"noopener noreferrer nofollow\">Qwen3-VL\u003C/a>, a new multimodal model that combines text and visual capabilities. Unlike traditional LLMs that primarily work with text, Qwen3-VL can analyze images, videos, and manage interfaces, taking it to a new level of application in real-world business tasks.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Key features include: precise event detection in videos up to two hours long, expanded OCR support from 19 to 32 languages, including rare alphabets and complex slanted text. A significant technological breakthrough is its ability to handle a context length of 256,000 tokens, with the potential to expand to one million. This means the model can analyze huge documents, image arrays, or entire movies without loss of quality.\u003C/p>\u003C/div>\u003Cfigure class=\"block-wrapper block-wrapper--media\">\u003Cdiv class=\"block-wrapper__content\">\u003Cblockquote class=\"block-quote block-quote--text-small\">\u003Cdiv class=\"block-quote__line\">\u003C/div>\u003Cdiv class=\"block-quote__text\">\u003Cp>Engineers emphasize that Qwen3-VL can be used in a wide variety of fields: in business—for automating office tasks, creating diagrams in Draw.io or managing graphical interfaces, in medicine—for analyzing scans and identifying risks, in industry—for real-time object monitoring.\u003C/p>\u003C/div>\u003C/blockquote>\u003C/div>\u003C/figure>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Publishing the source code is a strategic move: Alibaba is betting on the developer community to foster an ecosystem around Qwen. This is a response not only to competitors from China but also to global players like OpenAI and Google, who traditionally keep their top solutions closed-source.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Chr class=\"block-content content-block-delimiter\">\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Ca href=\"/tag/news\" target=\"_blank\" rel=\"noopener noreferrer ugc\">#news\u003C/a>\u003C/p>\u003C/div>\u003C/div>",{"time":1704,"blocks":1705,"version":1682},1758726058289,[1706,1711,1715,1719,1723,1727,1730],{"id":1707,"type":16,"data":1708},"a96dbcb1-5",{"file":1709,"caption":18,"withBorder":19,"stretched":19,"withBackground":19},{"url":1710},"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/71c9f412-a98d-4996-937b-b9181dfc83d1/1184.webp",{"id":1712,"type":30,"data":1713},"685fe41d-0",{"text":1714},"Alibaba has made one of the most notable steps in its open technology strategy. The company has open-sourced the code for \u003Ca href=\"https://huggingface.co/collections/Qwen/qwen3-vl-68d2a7c1b8a8afce4ebd2dbe\" rel=\"noopener noreferrer nofollow\">Qwen3-VL\u003C/a>, a new multimodal model that combines text and visual capabilities. Unlike traditional LLMs that primarily work with text, Qwen3-VL can analyze images, videos, and manage interfaces, taking it to a new level of application in real-world business tasks.",{"id":1716,"type":30,"data":1717},"5a5f51aa-1",{"text":1718},"Key features include: precise event detection in videos up to two hours long, expanded OCR support from 19 to 32 languages, including rare alphabets and complex slanted text. A significant technological breakthrough is its ability to handle a context length of 256,000 tokens, with the potential to expand to one million. This means the model can analyze huge documents, image arrays, or entire movies without loss of quality.",{"id":1720,"type":35,"data":1721},"d2731c5b-8",{"quoteText":1722,"authorText":18},"Engineers emphasize that Qwen3-VL can be used in a wide variety of fields: in business—for automating office tasks, creating diagrams in Draw.io or managing graphical interfaces, in medicine—for analyzing scans and identifying risks, in industry—for real-time object monitoring.",{"id":1724,"type":30,"data":1725},"b859157e-4",{"text":1726},"Publishing the source code is a strategic move: Alibaba is betting on the developer community to foster an ecosystem around Qwen. This is a response not only to competitors from China but also to global players like OpenAI and Google, who traditionally keep their top solutions closed-source.",{"id":1728,"type":67,"data":1729},"1404d230-d",{},{"id":1731,"type":30,"data":1732},"2GnFNcBOWv",{"text":1733},"#news",{"authorId":616,"name":617,"avatar":618,"username":619},[1736],{"emojiId":73,"count":543,"reactedByUser":19},{"comments":543,"favorites":543,"views":1738,"hits":547},42,"2025-09-24T14:55:37.413","2025-09-25T15:56:33.012",{"postId":1742,"title":1743,"slug":1744,"preview":1745,"html":1746,"content":1747,"author":1815,"authorUsername":1819,"topic":1820,"status":540,"reactions":1821,"counters":1823,"createdAt":1826,"updatedAt":1827,"publishedPostId":550,"favorite":19},"a4af356d-42a6-4201-814d-064b28d6ecb1","Cloudflare has updated robots.txt: Now sites can prohibit AI chatbots from stealing content","120689-cloudflare-updated-robots-txt-sites-can-prohibit-ai-chatbots-from-stealing-content","\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Cloudflare has announced support for new directives for the robots.txt file, taking into account that sites are now visited not only by search engine bots but also by AI chatbots.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--media\">\u003Cfigure class=\"block-content content-block-image\">\u003Cimg src=\"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/42bb1394-d928-44e8-9787-5940420fa32c/1184.webp\" alt=\"Image source: cloudflare.com\" class=\"rounded-xl medium-zoom-image\" loading=\"lazy\">\u003C/figure>\u003Cspan class=\"caption-text text-sm mt-3\">Image source: cloudflare.com\u003C/span>\u003C/div>","\u003Cdiv class=\"content-wrapper break-words\">\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Cloudflare has announced support for new directives for the robots.txt file, taking into account that sites are now visited not only by search engine bots but also by AI chatbots.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--media\">\u003Cfigure class=\"block-content content-block-image\">\u003Cimg src=\"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/42bb1394-d928-44e8-9787-5940420fa32c/1184.webp\" alt=\"Image source: cloudflare.com\" class=\"rounded-xl medium-zoom-image\" loading=\"lazy\">\u003C/figure>\u003Cspan class=\"caption-text text-sm mt-3\">Image source: cloudflare.com\u003C/span>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">The robots.txt file can be found on almost every website. It contains directives about which pages search engines and bots can visit and which they cannot. The requirements of this file are not technically mandatory, but in the early days of the internet, when services like Google complied with them, problems didn't arise. The advent of AI changed everything: chatbots do not index sites in the traditional sense, but copy their content for training or generating responses.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">The systems of many AI companies simply ignore robots.txt or disguise themselves as search engine bots to bypass restrictions. Cloudflare protects about 20% of the internet's resources, and the company has the ability to monitor these processes on a large scale. Therefore, it has introduced the 'Content Signals Policy' (\u003Ca href=\"https://blog.cloudflare.com/content-signals-policy/\" target=\"_blank\" rel=\"nofollow\">Content Signals Policy\u003C/a>) — a new way for site owners to specify whether they allow AI to work with their materials.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">The new policy is based on new robots.txt instructions. Three options are available:\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">search — using materials to create a search index and display links or text snippets in search results;\u003C/li>\u003Cli class=\"content-block-list-item\">ai-input — using content directly in AI responses, including when a chatbot extracts information from a site page to generate an answer;\u003C/li>\u003Cli class=\"content-block-list-item\">ai-train — using content for training and fine-tuning AI models.\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--media\">\u003Cfigure class=\"block-content content-block-image\">\u003Cimg src=\"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/5f3c7926-6ac3-4928-bc5c-6dc265f3a1d7/1184.webp\" alt=\"Image source: Steve Johnson / unsplash.com\" class=\"rounded-xl medium-zoom-image\" loading=\"lazy\">\u003C/figure>\u003Cspan class=\"caption-text text-sm mt-3\">Image source: Steve Johnson / unsplash.com\u003C/span>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Each of these instructions can take the values 'yes' or 'no'. This means a site owner can allow their content to be shown in search results but prohibit AI training on these materials. Cloudflare has already rolled out this feature for over 3.8 million domains. By default, search is set to 'yes', using materials in AI responses is set to 'no', and training is left undefined for the site owner to decide.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Cloudflare registers the settings of these directives as legally significant, meaning they can be used in legal disputes with AI developers. If the majority of AI developers start complying with these directives, a new de facto standard will be established on the internet — otherwise, conflicts involving blocking and legal measures are likely to arise. A problematic player could be Google, whose Googlebot is used for both site indexing and AI functions, leaving site owners with no way to opt out of the tech giant's solutions without losing their search engine rankings.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">For now, the regulation of the AI segment remains extremely fragmented. The video generator \u003Ca href=\"https://suddo.io/ai/735060-openai-unveils-sora-2-video-generator-tiktok-style-ios-app\">OpenAI Sora 2\u003C/a>, as it turns out, is capable of completely recreating missions from the game Cyberpunk 2077, although it's unlikely the companies gave permission to use this content. The same applies to characters like Mario and Pikachu, although Nintendo rarely gets into conflicts with major players.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Cloudflare is now testing a 'crawl-to-pay' feature — site owners will be able to charge for bot access to their resources. Upon a free access attempt, the system will issue a 402 error — \u003Ccode class=\"inline-code\">Payment Required\u003C/code>.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Ca href=\"/tag/news\" target=\"_blank\" rel=\"noopener noreferrer ugc\">#news\u003C/a> \u003Ca href=\"/tag/cloudflare\" target=\"_blank\" rel=\"noopener noreferrer ugc\">#cloudflare\u003C/a>\u003C/p>\u003C/div>\u003C/div>",{"time":1748,"blocks":1749,"version":533},1759533463328,[1750,1754,1760,1764,1768,1772,1789,1795,1799,1803,1807,1811],{"id":1751,"type":30,"data":1752},"fa39f6b1-b",{"text":1753},"Cloudflare has announced support for new directives for the robots.txt file, taking into account that sites are now visited not only by search engine bots but also by AI chatbots.",{"id":1755,"type":16,"data":1756},"e71f2c77-6",{"caption":1757,"withBorder":19,"withBackground":19,"stretched":19,"file":1758},"Image source: cloudflare.com",{"url":1759},"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/42bb1394-d928-44e8-9787-5940420fa32c/1184.webp",{"id":1761,"type":30,"data":1762},"429803ba-3",{"text":1763},"The robots.txt file can be found on almost every website. It contains directives about which pages search engines and bots can visit and which they cannot. The requirements of this file are not technically mandatory, but in the early days of the internet, when services like Google complied with them, problems didn't arise. The advent of AI changed everything: chatbots do not index sites in the traditional sense, but copy their content for training or generating responses.",{"id":1765,"type":30,"data":1766},"c35fde65-0",{"text":1767},"The systems of many AI companies simply ignore robots.txt or disguise themselves as search engine bots to bypass restrictions. Cloudflare protects about 20% of the internet's resources, and the company has the ability to monitor these processes on a large scale. Therefore, it has introduced the 'Content Signals Policy' (\u003Ca href=\"https://blog.cloudflare.com/content-signals-policy/\" target=\"_blank\" rel=\"nofollow\">Content Signals Policy\u003C/a>) — a new way for site owners to specify whether they allow AI to work with their materials.",{"id":1769,"type":30,"data":1770},"8ca77566-6",{"text":1771},"The new policy is based on new robots.txt instructions. Three options are available:",{"id":1773,"type":44,"data":1774},"d2fc2a4a-9",{"style":46,"meta":1775,"items":1776},{},[1777,1781,1785],{"content":1778,"meta":1779,"items":1780},"search — using materials to create a search index and display links or text snippets in search results;",{},[],{"content":1782,"meta":1783,"items":1784},"ai-input — using content directly in AI responses, including when a chatbot extracts information from a site page to generate an answer;",{},[],{"content":1786,"meta":1787,"items":1788},"ai-train — using content for training and fine-tuning AI models.",{},[],{"id":1790,"type":16,"data":1791},"9a57e4a9-f",{"caption":1792,"withBorder":19,"withBackground":19,"stretched":19,"file":1793},"Image source: Steve Johnson / unsplash.com",{"url":1794},"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/5f3c7926-6ac3-4928-bc5c-6dc265f3a1d7/1184.webp",{"id":1796,"type":30,"data":1797},"4bc89134-5",{"text":1798},"Each of these instructions can take the values 'yes' or 'no'. This means a site owner can allow their content to be shown in search results but prohibit AI training on these materials. Cloudflare has already rolled out this feature for over 3.8 million domains. By default, search is set to 'yes', using materials in AI responses is set to 'no', and training is left undefined for the site owner to decide.",{"id":1800,"type":30,"data":1801},"c1210ae1-0",{"text":1802},"Cloudflare registers the settings of these directives as legally significant, meaning they can be used in legal disputes with AI developers. If the majority of AI developers start complying with these directives, a new de facto standard will be established on the internet — otherwise, conflicts involving blocking and legal measures are likely to arise. A problematic player could be Google, whose Googlebot is used for both site indexing and AI functions, leaving site owners with no way to opt out of the tech giant's solutions without losing their search engine rankings.",{"id":1804,"type":30,"data":1805},"c5bd06f5-4",{"text":1806},"For now, the regulation of the AI segment remains extremely fragmented. The video generator \u003Ca href=\"https://suddo.io/ai/735060-openai-unveils-sora-2-video-generator-tiktok-style-ios-app\">OpenAI Sora 2\u003C/a>, as it turns out, is capable of completely recreating missions from the game Cyberpunk 2077, although it's unlikely the companies gave permission to use this content. The same applies to characters like Mario and Pikachu, although Nintendo rarely gets into conflicts with major players.",{"id":1808,"type":30,"data":1809},"70cf165d-2",{"text":1810},"Cloudflare is now testing a 'crawl-to-pay' feature — site owners will be able to charge for bot access to their resources. Upon a free access attempt, the system will issue a 402 error — \u003Ccode class=\"inline-code\">Payment Required\u003C/code>.",{"id":1812,"type":30,"data":1813},"O75_5ALkYu",{"text":1814},"#news #cloudflare",{"authorId":1816,"name":1817,"avatar":1818,"username":1819},"2pX4nuM91bYHM96w7LyweEVhSK93","Sebastian Wren","https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/4d1b8e0f-5c75-4011-9d62-f68c65019ac6/592.webp","id749922274161","NEWS",[1822],{"emojiId":543,"count":73,"reactedByUser":19},{"comments":545,"favorites":73,"views":1824,"hits":1825},105,289,"2025-10-03T23:15:44.159","2025-10-03T23:20:13.377",{"postId":1829,"title":1830,"slug":1831,"preview":1832,"html":1833,"content":1834,"author":2507,"authorUsername":619,"topic":1684,"status":540,"reactions":2508,"counters":2510,"createdAt":2513,"updatedAt":2513,"publishedPostId":550,"favorite":19},"bfb607ec-b70e-4969-8055-655d4e58917b","Microservices vs. Monoliths yet again","393348-microservices-vs-monoliths-yet-again","\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>\u003C/b> If you’ve been around developers or tech discussions, you’ve probably heard a blizzard of buzzwords: \u003Ccode class=\"inline-code\">microservices\u003C/code>, \u003Ccode class=\"inline-code\">monoliths\u003C/code>, \u003Ccode class=\"inline-code\">cloud-native\u003C/code>, \u003Ccode class=\"inline-code\">serverless\u003C/code>, \u003Ccode class=\"inline-code\">agile\u003C/code>. It can feel like trying to learn a new language where everyone uses big words, but not always with the same meaning.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--media\">\u003Cfigure class=\"block-content content-block-image\">\u003Cimg src=\"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/15b2e3f0-0d76-4be6-8541-c7c8362198c1/1184.webp\" alt=\"Image\" class=\"rounded-xl medium-zoom-image\" loading=\"lazy\">\u003C/figure>\u003C/div>","\u003Cdiv class=\"content-wrapper break-words\">\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>Welcome to the wonderful, and sometimes wonderfully confusing, world of building software!\u003C/b>\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>\u003C/b> If you’ve been around developers or tech discussions, you’ve probably heard a blizzard of buzzwords: \u003Ccode class=\"inline-code\">microservices\u003C/code>, \u003Ccode class=\"inline-code\">monoliths\u003C/code>, \u003Ccode class=\"inline-code\">cloud-native\u003C/code>, \u003Ccode class=\"inline-code\">serverless\u003C/code>, \u003Ccode class=\"inline-code\">agile\u003C/code>. It can feel like trying to learn a new language where everyone uses big words, but not always with the same meaning.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--media\">\u003Cfigure class=\"block-content content-block-image\">\u003Cimg src=\"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/15b2e3f0-0d76-4be6-8541-c7c8362198c1/1184.webp\" alt=\"Image\" class=\"rounded-xl medium-zoom-image\" loading=\"lazy\">\u003C/figure>\u003C/div>\u003Cfigure class=\"block-wrapper block-wrapper--media\">\u003Cdiv class=\"block-wrapper__content\">\u003Cblockquote class=\"block-quote block-quote--text-small\">\u003Cdiv class=\"block-quote__line\">\u003C/div>\u003Cdiv class=\"block-quote__text\">\u003Cp>It’s enough to make anyone’s head spin, and sometimes, it feels like we’re all just pretending to understand each other while secretly hoping no one asks us to explain it in detail.\u003C/p>\u003C/div>\u003C/blockquote>\u003C/div>\u003C/figure>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">One of the biggest soap operas in the tech world over the last few years has been the dramatic tale of \u003Cb>\"Microservices vs. Monoliths.\"\u003C/b> The story often goes like this: Once upon a time, there were big, clunky things called \u003Ci>monoliths\u003C/i>. They were slow, hard to change, and generally made developers sad. Then, like superheroes, along came \u003Ci>microservices\u003C/i> – small, nimble, and ready to save the day! Everyone should abandon their old monoliths and rush to build everything with microservices, and then we’ll all live happily ever after.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">It’s a nice story, isn't it? Simple, clear, with a good guy and a bad guy. The only problem is, like most simple stories about complicated things, \u003Cb>it’s not entirely true\u003C/b>. In fact, blindly following this story has led many well-meaning teams down a path of \u003Ci>accidental complexity\u003C/i>, frustration, and a lot of late nights trying to fix things that didn't need to be so complicated in the first place. We’ve all been there, or know someone who has, trying to debug a system that feels like a tangled ball of Christmas lights – \u003Ci>in July\u003C/i>.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">The aim of this (\u003Ci>rather long\u003C/i>) chat is to try and \u003Cb>untangle some of that spaghetti\u003C/b>. We’ll look at what these terms really mean, explore why the simple story isn't always helpful, and discuss a more thoughtful way to design software. Hopefully, by the end, you’ll feel a bit more confident about these ideas and a little less likely to accidentally build your own \u003Ccode class=\"inline-code\">\"multiverse of madness,\"\u003C/code> as a wise (and slightly stressed) developer once put it.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Chr class=\"block-content content-block-delimiter\">\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch2 class=\"block-content\">The Popular Myths: Why Simple Stories Can Lead to Big Problems\u003C/h2>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Why did the \"\u003Ci>monoliths are bad, microservices are good\u003C/i>\" story become so popular? Well, \u003Cb>we love simple answers\u003C/b>. \u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">It’s easier to pick a side than to understand all the messy details in between. Also, the tech industry loves \u003Ci>new, shiny things\u003C/i>. When a company like \u003Ca href=\"https://netflix.com\">Netflix\u003C/a> or \u003Ca href=\"https://amazon.com\">Amazon\u003C/a> talks about how they use microservices, everyone wants to copy them, even if their problems and resources are completely different.\u003C/p>\u003C/div>\u003Cfigure class=\"block-wrapper block-wrapper--media\">\u003Cdiv class=\"block-wrapper__content\">\u003Cblockquote class=\"block-quote block-quote--text-small\">\u003Cdiv class=\"block-quote__line\">\u003C/div>\u003Cdiv class=\"block-quote__text\">\u003Cp>It’s like seeing a Formula 1 race car and deciding you need one to drive to the grocery store. It might look cool, but it’s probably not the most practical choice.\u003C/p>\u003C/div>\u003C/blockquote>\u003C/div>\u003C/figure>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Let’s look at some of the \u003Cb>common, overly simple arguments\u003C/b> you hear:\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">\u003Cb>Monoliths are impossible to scale!\u003C/b> \u003Ci>Is that always true?\u003C/i> Or is it that badly designed monoliths are hard to scale? A well-structured monolith can often be scaled quite effectively, at least up to a certain point\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Microservices make you agile and fast!\u003C/b> They can, but they can also slow you down immensely if you’re not prepared for the extra complexity they bring in managing all those tiny pieces. Imagine trying to coordinate a hundred tiny ants to carry a crumb versus one strong beetle. \u003Ci>The ants could be faster if perfectly coordinated, but that coordination is a huge task in itself\u003C/i>\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>With microservices, if one part fails, the rest of the system keeps working!\u003C/b> This is a nice idea, called \u003Ci>fault isolation\u003C/i>. But in reality, if your \u003Ccode class=inline-code>user login\u003C/code> microservice fails, can your \u003Ccode class=inline-code>show user’s shopping cart\u003C/code> microservice really keep working meaningfully? Often, these services depend on each other\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>You can use the best programming language for each microservice!\u003C/b> This is technically true (\u003Ci>polyglot programming\u003C/i>). It sounds exciting – a little Python here, some Go there. But think about your team. Do you have experts in all those languages? It can quickly become a \u003Ci>maintenance nightmare\u003C/i>\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Microservices are easier to understand because each one is small.\u003C/b> A single microservice might be small, yes. But understanding how \u003Ci>50 small microservices interact\u003C/i> can be much harder than understanding one larger, well-organized codebase\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">The danger of these simple stories is that they make us \u003Cb>jump to solutions before we’ve even properly understood our problem\u003C/b>. We start building with \u003Ccode class=\"inline-code\">microservices\u003C/code> because it's the \"modern way,\" without asking if it's the right way for us, right now. This can lead to what’s sometimes called \u003Ccode class=\"inline-code\">résumé-driven development\u003C/code> – choosing technologies because they look good on a CV, not because they are the best fit for the job\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Chr class=\"block-content content-block-delimiter\">\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch2 class=\"block-content\">Thinking in Layers: A More Sensible Way to Look at Software Design\u003C/h2>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">So, if \"\u003Ci>monolith vs. microservice\u003C/i>\" is too simple, how should we think about it? \u003Cb>A more helpful approach is to break down the design of software into a few different aspects or \"dimensions.\"\u003C/b> This lets us see that there are many more choices than just two. Let's explore three key dimensions:\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Col class=\"block-content content-block-list-ordered\">\u003Cli class=\"content-block-list-item\">\u003Cb>Modules\u003C/b>: How we organize the code itself into \u003Ci>logical, understandable pieces\u003C/i>\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Repositories\u003C/b>: Where we store that code and \u003Ci>how teams collaborate\u003C/i> on it\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Artifacts\u003C/b>: The actual \u003Ci>runnable things\u003C/i> we deploy to servers, and how many of them there are\u003C/li>\u003C/ol>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Understanding these dimensions separately helps us make more informed decisions and see that the path from a \u003Ccode class=\"inline-code\">monolith\u003C/code> to \u003Ccode class=\"inline-code\">microservices\u003C/code> (if that's even the right path for you) \u003Cb>is not a single jump, but a series of choices\u003C/b> along these different lines.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Chr class=\"block-content content-block-delimiter\">\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch2 class=\"block-content\">Dimension 1: The Art of Organization – Understanding Modules\u003C/h2>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Before we even think about servers or networks, we need to think about how to \u003Cb>organize our code so that other devs can understand and work with it\u003C/b>. This is where \u003Ci>modules\u003C/i> come in.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">What Exactly is a Module?\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Imagine you're writing a book. You wouldn't just write one gigantic, unbroken stream of text, would you? You'd organize it into chapters, perhaps sections within chapters, and paragraphs within sections. Each of these units deals with a specific part of the story or a particular idea. \u003Cb>Modules in software are very similar.\u003C/b>\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>A module is a way of grouping related code that performs a specific function or handles a particular area of responsibility within your application.\u003C/b> Think of it as a well-defined \u003Ci>\"black box\"\u003C/i> with a clear job. For an e-commerce website, you might have:\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">A \u003Cb>UserAccounts\u003C/b> module (handles logins, registrations, profiles)\u003C/li>\u003Cli class=\"content-block-list-item\">A \u003Cb>ProductCatalog\u003C/b> module (manages product information, categories, search)\u003C/li>\u003Cli class=\"content-block-list-item\">An \u003Cb>Ordering\u003C/b> module (takes care of shopping carts, checkouts, order history)\u003C/li>\u003Cli class=\"content-block-list-item\">A \u003Cb>PaymentProcessing\u003C/b> module (interfaces with payment gateways)\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Each module has its own internal workings, but it presents a clear \"face\" (an \u003Ci>API or interface\u003C/i>) to other modules that might need to use its services.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">Why Bother with Modules? The Benefits are Big!\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">\u003Cb>Reduces Brain Strain (Cognitive Load)\u003C/b>: Modules allow developers to focus on one part of the system at a time\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Better Teamwork\u003C/b>: Modules provide natural boundaries for work\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Easier Testing (Sometimes)\u003C/b>: It can be easier to write and run tests for a smaller, well-defined module\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Potential for Reuse\u003C/b>: A well-designed module can sometimes be reused\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Clearer Boundaries and Responsibilities (\u003Ci>Encapsulation\u003C/i>)\u003C/b>: Good modules hide their internal complexity. This is \u003Ci>huge\u003C/i> for long-term maintainability\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">The Goldilocks Problem: When is Modularization Just Right?\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">While modules are great, \u003Cb>you can also go too far\u003C/b>.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">\u003Cb>Don't Chop Too Early\u003C/b>: Trying to break a new project into many tiny modules can be counterproductive\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Avoid Module Soup\u003C/b>: Hundreds of tiny modules can create its own complexity.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>The Distributed Monolith Nightmare\u003C/b> (A Sneak Peek): This is a particularly nasty trap where separate pieces are incredibly chatty and dependent. \u003Ci>Often worse than a well-structured monolith\u003C/i>\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">Crucial Point: Modules Are NOT Automatically Microservices!\u003C/h3>\u003C/div>\u003Cfigure class=\"block-wrapper block-wrapper--media\">\u003Cdiv class=\"block-wrapper__content\">\u003Cblockquote class=\"block-quote block-quote--text-small\">\u003Cdiv class=\"block-quote__line\">\u003C/div>\u003Cdiv class=\"block-quote__text\">\u003Cp>You can have a beautifully modular system that is still a monolith in terms of how it's deployed. A module is a design and organization concept for your codebase. A microservice is typically a deployment and runtime concept.\u003C/p>\u003C/div>\u003C/blockquote>\u003C/div>\u003C/figure>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>This is so important it's worth repeating.\u003C/b> You can, and \u003Ci>often should\u003C/i>, design your monolith with clear module boundaries. This makes it a \u003Cb>good monolith\u003C/b>, and it also gives you options to change how you deploy it later if you need to.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Chr class=\"block-content content-block-delimiter\">\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch2 class=\"block-content\">Dimension 2: Home Sweet Code – Navigating Repositories\u003C/h2>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Once you've started thinking about modules, the next question is: \u003Cb>where does all this code live?\u003C/b>\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>\u003C/b> A \u003Ci>repository\u003C/i> (often shortened to \u003Ci>repo\u003C/i>) is simply the place where your source code is stored and managed, usually with a version control system like \u003Ccode class=\"inline-code\">Git\u003C/code>. The way you structure your repositories can have a \u003Cb>big impact\u003C/b> on how your team works.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">The Monorepo: Everyone Under One Roof\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">A \u003Cb>monorepo\u003C/b> is when \u003Ci>all the code for your entire system\u003C/i> – all the different modules, perhaps even for multiple related projects – lives in \u003Cb>one single, large repository\u003C/b>.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>The Good Stuff:\u003C/b>\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">\u003Cb>Visibility\u003C/b>: Everyone can see all the code\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Atomic Changes\u003C/b>: Easier to keep everything consistent\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Easier Refactoring (Sometimes)\u003C/b>: Tools can help more easily\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Unified Tooling\u003C/b>: One set of build tools, testing scripts, etc\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>The Not-So-Good Stuff:\u003C/b>\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">\u003Cb>Slowness at Scale\u003C/b>: Common operations can become slow without specialized tooling\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Complex Build Systems\u003C/b>: Needed to avoid building everything every time\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Noisy Neighbors\u003C/b>: Changes can accidentally break unrelated parts\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Permission Granularity\u003C/b>: Can be harder to give different teams access to only their parts\u003C/li>\u003C/ul>\u003C/div>\u003Cfigure class=\"block-wrapper block-wrapper--media\">\u003Cdiv class=\"block-wrapper__content\">\u003Cblockquote class=\"block-quote block-quote--text-small\">\u003Cdiv class=\"block-quote__line\">\u003C/div>\u003Cdiv class=\"block-quote__text\">\u003Cp>Many developers dream of the simplicity of having everything they need in one place, in one IDE window, without juggling multiple projects. A well-managed monorepo can sometimes get close to this dream, but it takes effort.\u003C/p>\u003C/div>\u003C/blockquote>\u003C/div>\u003C/figure>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">Multiple Repositories (Polyrepo): A House for Every Module (or Group)\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">The other common approach is to have a \u003Cb>separate repository for each module\u003C/b>, or for each small group of closely related modules.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>The Good Stuff:\u003C/b>\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">\u003Cb>Clear Ownership\u003C/b>: Very clear which team owns which repository\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Independent Lifecycles\u003C/b>: Each repo can have its own release schedule\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Smaller, Faster Operations\u003C/b>: \u003Ccode class=inline-code>git clone\u003C/code> is faster, builds are typically faster\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Tooling Freedom (Sometimes)\u003C/b>: Different teams might choose different tools\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>The Not-So-Good Stuff:\u003C/b>\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">\u003Cb>Cross-Cutting Changes are a Nightmare\u003C/b>: Coordinating multiple PRs is slow and error-prone\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Dependency Management Hell\u003C/b>: Ensuring compatibility can become a full-time job\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Code Discovery\u003C/b>: Harder to find code or understand connections\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Duplicated Effort\u003C/b>: Boilerplate code, build scripts, CI/CD configs might be duplicated\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">Is There a 'Right' Answer?\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>No, not really.\u003C/b> Both \u003Ci>monorepos\u003C/i> and \u003Ci>polyrepos\u003C/i> have their pros and cons. The best choice depends on your team, system complexity, company culture, and available tools. Some very large companies use monorepos successfully (like \u003Ca href=\"https://google.com\">Google\u003C/a> and \u003Ca href=\"https://facebook.com\">Facebook\u003C/a>), and others use many repositories successfully.\u003C/p>\u003C/div>\u003Cfigure class=\"block-wrapper block-wrapper--media\">\u003Cdiv class=\"block-wrapper__content\">\u003Cblockquote class=\"block-quote block-quote--text-small\">\u003Cdiv class=\"block-quote__line\">\u003C/div>\u003Cdiv class=\"block-quote__text\">\u003Cp>The key is to understand the trade-offs and choose consciously, rather than just picking one because it's trendy.\u003C/p>\u003C/div>\u003C/blockquote>\u003C/div>\u003C/figure>\u003Cdiv class=\"block-wrapper--default\">\u003Chr class=\"block-content content-block-delimiter\">\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch2 class=\"block-content\">Dimension 3: Hitting the Servers – The World of Artifacts (and Where Microservices Really Live)\u003C/h2>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">We've organized our code into modules, and we've decided where that code will live in repositories. Now, the crucial question: \u003Cb>how do we actually run this software?\u003C/b> This brings us to \u003Ci>artifacts\u003C/i>.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">An \u003Cb>artifact\u003C/b> is the \u003Ci>packaged, runnable unit\u003C/i> of your software that you deploy to a server. This could be a \u003Ccode class=\"inline-code\">.jar\u003C/code> or \u003Ccode class=\"inline-code\">.war\u003C/code> file for Java applications, an executable program, or, very commonly these days, a \u003Ccode class=\"inline-code\">Docker container image\u003C/code>.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">The \u003Cb>big decision\u003C/b> here is:\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">Do you package all (or most) of your modules into \u003Cb>one single artifact\u003C/b> and run it as one big process? This is often called a \u003Ci>monolithic deployment.\u003C/i>\u003C/li>\u003Cli class=\"content-block-list-item\">Or do you package individual modules into \u003Cb>many separate, smaller artifacts\u003C/b>, each running as its own independent process? This is the heart of what people usually mean by a \u003Ci>microservices architecture.\u003C/i>\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">The Single Artifact Approach (Monolithic Deployment)\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>The Upsides\u003C/b> (Why it's often a good place to start):\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">\u003Cb>Simpler to Build and Deploy\u003C/b>: One thing to build, test, and deploy\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Easier Debugging (In-Process)\u003C/b>: Step through code across module boundaries easily\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>No Network Worries (Internally)\u003C/b>: Communication is fast and reliable\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Simpler Transactions\u003C/b>: Wrap operations in a single database transaction\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Easier to Reason About\u003C/b>: Easier to understand data flow and control\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>The Downsides\u003C/b> (Why people want to move away from it sometimes):\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">\u003Cb>Scaling Challenges (Sometimes)\u003C/b>: Can't scale just the busy part\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>One Bad Apple Spoils the Bunch\u003C/b>: A bug in one module can crash the whole app\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Technology Lock-in\u003C/b>: Harder to mix and match technologies\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Slower Release Cycles (Potentially)\u003C/b>: Entire artifact may need re-testing and re-deployment\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">The Many Separate Artifacts Approach (Microservices Architecture)\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Here, your UserAccounts module might become the \u003Ccode class=\"inline-code\">user-account-service\u003C/code> artifact, the ProductCatalog module becomes the \u003Ccode class=\"inline-code\">product-catalog-service\u003C/code> artifact, and so on. Each runs as its own little program, often in its own \u003Ccode class=\"inline-code\">Docker container\u003C/code>, and they talk to each other \u003Ci>over the network\u003C/i>.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>The Allure\u003C/b> (Why this is so popular):\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">\u003Cb>Independent Scaling\u003C/b>: This is a \u003Ci>big one\u003C/i>. Scale only busy services\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Technology Diversity (Polyglot)\u003C/b>: Pick the best tool for each job\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Fault Isolation (The Dream)\u003C/b>: If one service crashes, others ideally keep working\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Independent Deployments & Team Autonomy\u003C/b>: Faster development cycles for individual teams\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">The Price You Pay: The Huge Complexity of Distributed Systems\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">This is where things get \u003Cb>\u003Ci>really tricky\u003C/i>\u003C/b>, and it's the part that the simple \"microservices are great!\" story often glosses over. When your different pieces of software run as separate processes and have to talk to each other over a network, you have just entered the challenging world of \u003Ci>distributed systems\u003C/i>.\u003C/p>\u003C/div>\u003Cfigure class=\"block-wrapper block-wrapper--media\">\u003Cdiv class=\"block-wrapper__content\">\u003Cblockquote class=\"block-quote block-quote--text-small block-quote--has-author\">\u003Cdiv class=\"block-quote__line\">\u003C/div>\u003Cdiv class=\"block-quote__text\">\u003Cp>And it comes with a whole suitcase full of new problems you didn't have before.\u003C/p>\u003C/div>\u003Cdiv class=\"block-quote__author\">The Catch\u003C/div>\u003C/blockquote>\u003C/div>\u003C/figure>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">\u003Cb>The Network is a Liar (and Slow, and Unreliable)\u003C/b>: Calls can fail for many reasons\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Data On The Move (Serialization)\u003C/b>: Converting data (e.g., \u003Ccode class=inline-code>JSON\u003C/code>, \u003Ccode class=inline-code>Protocol Buffers\u003C/code>) takes time and CPU\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Service Discovery: Where Are You?\u003C/b> How services find each other\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Load Balancing: Who's Next?\u003C/b> Distributing requests among service copies\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Things Will Fail – Be Prepared! (Fault Tolerance)\u003C/b>: Requires \u003Ci>Retries\u003C/i>, \u003Ci>Circuit Breakers\u003C/i>, etc.\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Transactions are Hard (Really Hard!)\u003C/b>: Leads to concepts like \u003Ci>Eventual Consistency\u003C/i> and \u003Ci>Sagas\u003C/i>\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>Seeing What's Going On (Observability)\u003C/b>: Needs \u003Ci>Centralized Logging\u003C/i>, \u003Ci>Distributed Tracing\u003C/i>, \u003Ci>Monitoring and Alerting\u003C/i>\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Cb>More Moving Parts = More To Go Wrong\u003C/b>: Operationally much more complex\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch3 class=\"block-content\">So, Is It Worth It?\u003C/h3>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Sometimes, \u003Cb>absolutely yes!\u003C/b> For very large applications, with many teams, where the benefits outweigh the massive increase in complexity, microservices can be a powerful approach. But for many smaller to medium-sized applications or teams, the added complexity can easily crush them. It's a \u003Ci>trade-off\u003C/i>, and you need to be honest about whether you need those benefits enough to pay the price in complexity.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Chr class=\"block-content content-block-delimiter\">\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch2 class=\"block-content\">The Journey, Not a Destination: Software Loves to Evolve\u003C/h2>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">One of the biggest mistakes people make is thinking they have to choose \"monolith\" or \"microservices\" on day one and then stick with it forever. \u003Cb>Software development is a \u003Ci>journey of learning and adaptation\u003C/i>.\u003C/b> Your system will change, your team will change, your business needs will change.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>Starting Simple is Often Smart\u003C/b>: For many new projects, especially if the requirements are not perfectly clear or the team is small, starting with a \u003Ci>\"modular monolith\"\u003C/i> is often the most sensible approach. This means:\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Col class=\"block-content content-block-list-ordered\">\u003Cli class=\"content-block-list-item\">Design your code with \u003Cb>clear module boundaries\u003C/b> from the beginning\u003C/li>\u003Cli class=\"content-block-list-item\">Keep all your code in \u003Cb>one repository\u003C/b> (a monorepo) for simplicity\u003C/li>\u003Cli class=\"content-block-list-item\">Deploy it all as \u003Cb>one single artifact\u003C/b>\u003C/li>\u003C/ol>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">This allows you to \u003Cb>build and iterate quickly\u003C/b>, without getting bogged down in the complexities of distributed systems before you even have a working product.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>Evolving Gracefully (If and When Needed):\u003C/b> If you've built a good modular monolith, you have options for the future.\u003C/p>\u003C/div>\u003Cfigure class=\"block-wrapper block-wrapper--media\">\u003Cdiv class=\"block-wrapper__content\">\u003Cblockquote class=\"block-quote block-quote--text-small\">\u003Cdiv class=\"block-quote__line\">\u003C/div>\u003Cdiv class=\"block-quote__text\">\u003Cp>The key here is those good module boundaries you designed at the start. If your monolith is a spaghetti code mess with no clear internal structure, trying to carve out a microservice from it later will be like performing complex surgery with a butter knife – painful and probably messy.\u003C/p>\u003C/div>\u003C/blockquote>\u003C/div>\u003C/figure>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>Don't Over-Engineer for a Future That May Never Come.\u003C/b> There's a strong temptation to build for \"what if\" scenarios. This is called \u003Ci>premature optimization\u003C/i> (or \u003Ci>premature complexification\u003C/i>) and it's often a trap. Follow the YAGNI principle:\u003C/p>\u003C/div>\u003Cfigure class=\"block-wrapper block-wrapper--media\">\u003Cdiv class=\"block-wrapper__content\">\u003Cblockquote class=\"block-quote block-quote--text-small\">\u003Cdiv class=\"block-quote__line\">\u003C/div>\u003Cdiv class=\"block-quote__text\">\u003Cp>You Ain't Gonna Need It.\u003C/p>\u003C/div>\u003C/blockquote>\u003C/div>\u003C/figure>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Build what you need now, design it well so it can evolve, and then evolve it \u003Ci>when the need actually arises\u003C/i>.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Chr class=\"block-content content-block-delimiter\">\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch2 class=\"block-content\">Conclusion: It's Your Software, Your Team, Your Choices\u003C/h2>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Phew! That was a lot of information. If you've made it this far, \u003Cb>thank you for sticking with it\u003C/b>.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">The main takeaway I hope you get from all this is that \u003Cb>there's no single \"right\" way to design software\u003C/b>. The \"monolith vs. microservices\" debate is often a \u003Ci>false choice\u003C/i>. Instead, think about those three dimensions we discussed.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">When you're faced with an architectural decision, try to \u003Cb>step back from the hype\u003C/b> and ask:\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cul class=\"block-content content-block-list-unordered\">\u003Cli class=\"content-block-list-item\">\u003Ci>What problem are we really trying to solve?\u003C/i>\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Ci>What are the actual needs of our users and our business?\u003C/i>\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Ci>What are the skills and size of our team? Can we realistically manage the complexity?\u003C/i>\u003C/li>\u003Cli class=\"content-block-list-item\">\u003Ci>What's the simplest thing that could possibly work well right now, while still giving us options to evolve later?\u003C/i>\u003C/li>\u003C/ul>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">Don't choose an architecture because it's trendy or because \u003Ca href=\"https://google.com\">Google\u003C/a> uses it. \u003Cb>Choose it because it makes sense for \u003Ci>you\u003C/i>.\u003C/b> And remember, it's okay to start simple. It's okay to have a well-structured monolith. It's okay to evolve your system piece by piece as you learn and grow.\u003C/p>\u003C/div>\u003Cfigure class=\"block-wrapper block-wrapper--media\">\u003Cdiv class=\"block-wrapper__content\">\u003Cblockquote class=\"block-quote block-quote--text-small\">\u003Cdiv class=\"block-quote__line\">\u003C/div>\u003Cdiv class=\"block-quote__text\">\u003Cp>The goal is to deliver value and to build systems that don't make you want to tear your hair out every time you need to make a change.\u003C/p>\u003C/div>\u003C/blockquote>\u003C/div>\u003C/figure>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>Building software is a \u003Ci>continuous learning process\u003C/i>.\u003C/b> We’ll all make mistakes, we’ll all learn from them, and hopefully, we’ll all get a little bit better at it over time.\u003C/p>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Chr class=\"block-content content-block-delimiter\">\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Ch2 class=\"block-content\">The Obligatory Disclaimers \u003C/h2>\u003C/div>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>This Isn't Everything\u003C/b>: The world of software architecture is \u003Ci>vast and deep\u003C/i>. I've simplified many things and skipped over many other important topics. This is just one perspective, aimed at clearing up some common confusion. \u003Cb>There's always more to learn!\u003C/b>\u003C/p>\u003C/div>\u003Cfigure class=\"block-wrapper block-wrapper--media\">\u003Cdiv class=\"block-wrapper__content\">\u003Cblockquote class=\"block-quote block-quote--text-small\">\u003Cdiv class=\"block-quote__line\">\u003C/div>\u003Cdiv class=\"block-quote__text\">\u003Cp>We're all figuring it out: Do I have all the answers? Absolutely not. Does anyone? Probably not. The best we can do is share our experiences, learn from each other, and try to make slightly fewer mistakes tomorrow than we made yesterday.\u003C/p>\u003C/div>\u003C/blockquote>\u003C/div>\u003C/figure>\u003Cdiv class=\"block-wrapper--default\">\u003Cp class=\"block-content\">\u003Cb>Good luck with your software adventures!\u003C/b>\u003C/p>\u003C/div>\u003C/div>",{"time":1835,"blocks":1836,"version":1682},1746801798813,[1837,1840,1845,1850,1854,1857,1861,1865,1867,1871,1875,1879,1883,1887,1912,1916,1918,1922,1926,1943,1947,1949,1953,1957,1961,1965,1969,1990,1994,1998,2023,2027,2031,2048,2052,2056,2060,2062,2066,2070,2074,2078,2082,2086,2107,2111,2132,2136,2140,2144,2147,2168,2171,2192,2196,2200,2204,2206,2210,2214,2218,2222,2235,2239,2243,2268,2272,2293,2297,2301,2305,2326,2330,2334,2339,2376,2380,2384,2386,2390,2394,2398,2415,2419,2423,2427,2431,2435,2439,2441,2445,2448,2451,2455,2476,2480,2484,2488,2491,2495,2499,2503],{"id":1303,"type":30,"data":1838},{"text":1839},"\u003Cb>Welcome to the wonderful, and sometimes wonderfully confusing, world of building software!\u003C/b>",{"id":1841,"type":30,"data":1842},"bQuHWyoAOI",{"text":1843,"showPreview":1844},"\u003Cb>\u003C/b> If you’ve been around developers or tech discussions, you’ve probably heard a blizzard of buzzwords: \u003Ccode class=\"inline-code\">microservices\u003C/code>, \u003Ccode class=\"inline-code\">monoliths\u003C/code>, \u003Ccode class=\"inline-code\">cloud-native\u003C/code>, \u003Ccode class=\"inline-code\">serverless\u003C/code>, \u003Ccode class=\"inline-code\">agile\u003C/code>. It can feel like trying to learn a new language where everyone uses big words, but not always with the same meaning.",true,{"id":1846,"type":16,"data":1847},"okwrTgg54j",{"file":1848,"caption":18,"withBorder":19,"stretched":19,"withBackground":19,"showPreview":1844},{"url":1849},"https://media.suddo.io/file/2f3af38f-ffaf-465d-b6b8-b927250a64dc/15b2e3f0-0d76-4be6-8541-c7c8362198c1/1184.webp",{"id":1851,"type":35,"data":1852},"intro_quote_1",{"quoteText":1853,"authorText":18},"It’s enough to make anyone’s head spin, and sometimes, it feels like we’re all just pretending to understand each other while secretly hoping no one asks us to explain it in detail.",{"id":1307,"type":30,"data":1855},{"text":1856},"One of the biggest soap operas in the tech world over the last few years has been the dramatic tale of \u003Cb>\"Microservices vs. Monoliths.\"\u003C/b> The story often goes like this: Once upon a time, there were big, clunky things called \u003Ci>monoliths\u003C/i>. They were slow, hard to change, and generally made developers sad. Then, like superheroes, along came \u003Ci>microservices\u003C/i> – small, nimble, and ready to save the day! Everyone should abandon their old monoliths and rush to build everything with microservices, and then we’ll all live happily ever after.",{"id":1858,"type":30,"data":1859},"intro_para_3",{"text":1860},"It’s a nice story, isn't it? Simple, clear, with a good guy and a bad guy. The only problem is, like most simple stories about complicated things, \u003Cb>it’s not entirely true\u003C/b>. In fact, blindly following this story has led many well-meaning teams down a path of \u003Ci>accidental complexity\u003C/i>, frustration, and a lot of late nights trying to fix things that didn't need to be so complicated in the first place. We’ve all been there, or know someone who has, trying to debug a system that feels like a tangled ball of Christmas lights – \u003Ci>in July\u003C/i>.",{"id":1862,"type":30,"data":1863},"intro_para_4",{"text":1864},"The aim of this (\u003Ci>rather long\u003C/i>) chat is to try and \u003Cb>untangle some of that spaghetti\u003C/b>. We’ll look at what these terms really mean, explore why the simple story isn't always helpful, and discuss a more thoughtful way to design software. Hopefully, by the end, you’ll feel a bit more confident about these ideas and a little less likely to accidentally build your own \u003Ccode class=\"inline-code\">\"multiverse of madness,\"\u003C/code> as a wise (and slightly stressed) developer once put it.",{"id":1315,"type":67,"data":1866},{},{"id":1868,"type":24,"data":1869},"header_myths",{"text":1870,"level":27},"The Popular Myths: Why Simple Stories Can Lead to Big Problems",{"id":1872,"type":30,"data":1873},"myths_para_1",{"text":1874},"Why did the \"\u003Ci>monoliths are bad, microservices are good\u003C/i>\" story become so popular? Well, \u003Cb>we love simple answers\u003C/b>. ",{"id":1876,"type":30,"data":1877},"8VPekpXUYZ",{"text":1878},"It’s easier to pick a side than to understand all the messy details in between. Also, the tech industry loves \u003Ci>new, shiny things\u003C/i>. When a company like \u003Ca href=\"https://netflix.com\">Netflix\u003C/a> or \u003Ca href=\"https://amazon.com\">Amazon\u003C/a> talks about how they use microservices, everyone wants to copy them, even if their problems and resources are completely different.",{"id":1880,"type":35,"data":1881},"myths_quote_1",{"quoteText":1882,"authorText":18},"It’s like seeing a Formula 1 race car and deciding you need one to drive to the grocery store. It might look cool, but it’s probably not the most practical choice.",{"id":1884,"type":30,"data":1885},"myths_para_2",{"text":1886},"Let’s look at some of the \u003Cb>common, overly simple arguments\u003C/b> you hear:",{"id":1888,"type":44,"data":1889},"myths_list_1",{"style":46,"meta":1890,"items":1891},{},[1892,1896,1900,1904,1908],{"content":1893,"meta":1894,"items":1895},"\u003Cb>\"Monoliths are impossible to scale!\"\u003C/b> \u003Ci>Is that always true?\u003C/i> Or is it that badly designed monoliths are hard to scale? A well-structured monolith can often be scaled quite effectively, at least up to a certain point",{},[],{"content":1897,"meta":1898,"items":1899},"\u003Cb>\"Microservices make you agile and fast!\"\u003C/b> They can, but they can also slow you down immensely if you’re not prepared for the extra complexity they bring in managing all those tiny pieces. Imagine trying to coordinate a hundred tiny ants to carry a crumb versus one strong beetle. \u003Ci>The ants could be faster if perfectly coordinated, but that coordination is a huge task in itself\u003C/i>",{},[],{"content":1901,"meta":1902,"items":1903},"\u003Cb>\"With microservices, if one part fails, the rest of the system keeps working!\"\u003C/b> This is a nice idea, called \u003Ci>fault isolation\u003C/i>. But in reality, if your \u003Ccode class=\"inline-code\">user login\u003C/code> microservice fails, can your \u003Ccode class=\"inline-code\">show user’s shopping cart\u003C/code> microservice really keep working meaningfully? Often, these services depend on each other",{},[],{"content":1905,"meta":1906,"items":1907},"\u003Cb>\"You can use the best programming language for each microservice!\"\u003C/b> This is technically true (\u003Ci>polyglot programming\u003C/i>). It sounds exciting – a little Python here, some Go there. But think about your team. Do you have experts in all those languages? It can quickly become a \u003Ci>maintenance nightmare\u003C/i>",{},[],{"content":1909,"meta":1910,"items":1911},"\u003Cb>\"Microservices are easier to understand because each one is small.\"\u003C/b> A single microservice might be small, yes. But understanding how \u003Ci>50 small microservices interact\u003C/i> can be much harder than understanding one larger, well-organized codebase",{},[],{"id":1913,"type":30,"data":1914},"myths_para_3",{"text":1915},"The danger of these simple stories is that they make us \u003Cb>jump to solutions before we’ve even properly understood our problem\u003C/b>. We start building with \u003Ccode class=\"inline-code\">microservices\u003C/code> because it's the \"modern way,\" without asking if it's the right way for us, right now. This can lead to what’s sometimes called \u003Ccode class=\"inline-code\">résumé-driven development\u003C/code> – choosing technologies because they look good on a CV, not because they are the best fit for the job",{"id":1372,"type":67,"data":1917},{},{"id":1919,"type":24,"data":1920},"header_layers",{"text":1921,"level":27},"Thinking in Layers: A More Sensible Way to Look at Software Design",{"id":1923,"type":30,"data":1924},"layers_para_1",{"text":1925},"So, if \"\u003Ci>monolith vs. microservice\u003C/i>\" is too simple, how should we think about it? \u003Cb>A more helpful approach is to break down the design of software into a few different aspects or \"dimensions.\"\u003C/b> This lets us see that there are many more choices than just two. Let's explore three key dimensions:",{"id":1927,"type":44,"data":1928},"layers_list_1",{"style":874,"meta":1929,"items":1930},{"counterType":876},[1931,1935,1939],{"content":1932,"meta":1933,"items":1934},"\u003Cb>Modules\u003C/b>: How we organize the code itself into \u003Ci>logical, understandable pieces\u003C/i>",{},[],{"content":1936,"meta":1937,"items":1938},"\u003Cb>Repositories\u003C/b>: Where we store that code and \u003Ci>how teams collaborate\u003C/i> on it",{},[],{"content":1940,"meta":1941,"items":1942},"\u003Cb>Artifacts\u003C/b>: The actual \u003Ci>runnable things\u003C/i> we deploy to servers, and how many of them there are",{},[],{"id":1944,"type":30,"data":1945},"layers_para_2",{"text":1946},"Understanding these dimensions separately helps us make more informed decisions and see that the path from a \u003Ccode class=\"inline-code\">monolith\u003C/code> to \u003Ccode class=\"inline-code\">microservices\u003C/code> (if that's even the right path for you) \u003Cb>is not a single jump, but a series of choices\u003C/b> along these different lines.",{"id":1441,"type":67,"data":1948},{},{"id":1950,"type":24,"data":1951},"header_dim1",{"text":1952,"level":27},"Dimension 1: The Art of Organization – Understanding Modules",{"id":1954,"type":30,"data":1955},"dim1_para_1",{"text":1956},"Before we even think about servers or networks, we need to think about how to \u003Cb>organize our code so that other devs can understand and work with it\u003C/b>. This is where \u003Ci>modules\u003C/i> come in.",{"id":1958,"type":24,"data":1959},"dim1_header_whatis",{"text":1960,"level":73},"What Exactly is a Module?",{"id":1962,"type":30,"data":1963},"dim1_para_2",{"text":1964},"Imagine you're writing a book. You wouldn't just write one gigantic, unbroken stream of text, would you? You'd organize it into chapters, perhaps sections within chapters, and paragraphs within sections. Each of these units deals with a specific part of the story or a particular idea. \u003Cb>Modules in software are very similar.\u003C/b>",{"id":1966,"type":30,"data":1967},"dim1_para_3",{"text":1968},"\u003Cb>A module is a way of grouping related code that performs a specific function or handles a particular area of responsibility within your application.\u003C/b> Think of it as a well-defined \u003Ci>\"black box\"\u003C/i> with a clear job. For an e-commerce website, you might have:",{"id":1970,"type":44,"data":1971},"dim1_list_modules",{"style":46,"meta":1972,"items":1973},{},[1974,1978,1982,1986],{"content":1975,"meta":1976,"items":1977},"A \u003Cb>UserAccounts\u003C/b> module (handles logins, registrations, profiles)",{},[],{"content":1979,"meta":1980,"items":1981},"A \u003Cb>ProductCatalog\u003C/b> module (manages product information, categories, search)",{},[],{"content":1983,"meta":1984,"items":1985},"An \u003Cb>Ordering\u003C/b> module (takes care of shopping carts, checkouts, order history)",{},[],{"content":1987,"meta":1988,"items":1989},"A \u003Cb>PaymentProcessing\u003C/b> module (interfaces with payment gateways)",{},[],{"id":1991,"type":30,"data":1992},"dim1_para_4",{"text":1993},"Each module has its own internal workings, but it presents a clear \"face\" (an \u003Ci>API or interface\u003C/i>) to other modules that might need to use its services.",{"id":1995,"type":24,"data":1996},"dim1_header_benefits",{"text":1997,"level":73},"Why Bother with Modules? The Benefits are Big!",{"id":1999,"type":44,"data":2000},"dim1_list_benefits",{"style":46,"meta":2001,"items":2002},{},[2003,2007,2011,2015,2019],{"content":2004,"meta":2005,"items":2006},"\u003Cb>Reduces Brain Strain (Cognitive Load)\u003C/b>: Modules allow developers to focus on one part of the system at a time",{},[],{"content":2008,"meta":2009,"items":2010},"\u003Cb>Better Teamwork\u003C/b>: Modules provide natural boundaries for work",{},[],{"content":2012,"meta":2013,"items":2014},"\u003Cb>Easier Testing (Sometimes)\u003C/b>: It can be easier to write and run tests for a smaller, well-defined module",{},[],{"content":2016,"meta":2017,"items":2018},"\u003Cb>Potential for Reuse\u003C/b>: A well-designed module can sometimes be reused",{},[],{"content":2020,"meta":2021,"items":2022},"\u003Cb>Clearer Boundaries and Responsibilities (\u003Ci>Encapsulation\u003C/i>)\u003C/b>: Good modules hide their internal complexity. This is \u003Ci>huge\u003C/i> for long-term maintainability",{},[],{"id":2024,"type":24,"data":2025},"dim1_header_goldilocks",{"text":2026,"level":73},"The Goldilocks Problem: When is Modularization \"Just Right\"?",{"id":2028,"type":30,"data":2029},"dim1_para_5",{"text":2030},"While modules are great, \u003Cb>you can also go too far\u003C/b>.",{"id":2032,"type":44,"data":2033},"dim1_list_goldilocks",{"style":46,"meta":2034,"items":2035},{},[2036,2040,2044],{"content":2037,"meta":2038,"items":2039},"\u003Cb>Don't Chop Too Early\u003C/b>: Trying to break a new project into many tiny modules can be counterproductive",{},[],{"content":2041,"meta":2042,"items":2043},"\u003Cb>Avoid \"Module Soup\"\u003C/b>: Hundreds of tiny modules can create its own complexity.",{},[],{"content":2045,"meta":2046,"items":2047},"\u003Cb>The \"Distributed Monolith\" Nightmare\u003C/b> (A Sneak Peek): This is a particularly nasty trap where \"separate\" pieces are incredibly chatty and dependent. \u003Ci>Often worse than a well-structured monolith\u003C/i>",{},[],{"id":2049,"type":24,"data":2050},"dim1_header_crucial",{"text":2051,"level":73},"Crucial Point: Modules Are NOT Automatically Microservices!",{"id":2053,"type":35,"data":2054},"dim1_quote_crucial",{"quoteText":2055,"authorText":18},"You can have a beautifully modular system that is still a \"monolith\" in terms of how it's deployed. A module is a design and organization concept for your codebase. A microservice is typically a deployment and runtime concept.",{"id":2057,"type":30,"data":2058},"dim1_para_6",{"text":2059},"\u003Cb>This is so important it's worth repeating.\u003C/b> You can, and \u003Ci>often should\u003C/i>, design your monolith with clear module boundaries. This makes it a \u003Cb>good monolith\u003C/b>, and it also gives you options to change how you deploy it later if you need to.",{"id":1456,"type":67,"data":2061},{},{"id":2063,"type":24,"data":2064},"header_dim2",{"text":2065,"level":27},"Dimension 2: Home Sweet Code – Navigating Repositories",{"id":2067,"type":30,"data":2068},"dim2_para_1",{"text":2069},"Once you've started thinking about modules, the next question is: \u003Cb>where does all this code live?\u003C/b>",{"id":2071,"type":30,"data":2072},"BM_eJu3oij",{"text":2073},"\u003Cb>\u003C/b> A \u003Ci>repository\u003C/i> (often shortened to \u003Ci>repo\u003C/i>) is simply the place where your source code is stored and managed, usually with a version control system like \u003Ccode class=\"inline-code\">Git\u003C/code>. The way you structure your repositories can have a \u003Cb>big impact\u003C/b> on how your team works.",{"id":2075,"type":24,"data":2076},"dim2_header_monorepo",{"text":2077,"level":73},"The Monorepo: Everyone Under One Roof",{"id":2079,"type":30,"data":2080},"dim2_para_monorepo_def",{"text":2081},"A \u003Cb>monorepo\u003C/b> is when \u003Ci>all the code for your entire system\u003C/i> – all the different modules, perhaps even for multiple related projects – lives in \u003Cb>one single, large repository\u003C/b>.",{"id":2083,"type":30,"data":2084},"dim2_para_monorepo_good",{"text":2085},"\u003Cb>The Good Stuff:\u003C/b>",{"id":2087,"type":44,"data":2088},"dim2_list_monorepo_good",{"style":46,"meta":2089,"items":2090},{},[2091,2095,2099,2103],{"content":2092,"meta":2093,"items":2094},"\u003Cb>Visibility\u003C/b>: Everyone can see all the code",{},[],{"content":2096,"meta":2097,"items":2098},"\u003Cb>Atomic Changes\u003C/b>: Easier to keep everything consistent",{},[],{"content":2100,"meta":2101,"items":2102},"\u003Cb>Easier Refactoring (Sometimes)\u003C/b>: Tools can help more easily",{},[],{"content":2104,"meta":2105,"items":2106},"\u003Cb>Unified Tooling\u003C/b>: One set of build tools, testing scripts, etc",{},[],{"id":2108,"type":30,"data":2109},"dim2_para_monorepo_bad",{"text":2110},"\u003Cb>The Not-So-Good Stuff:\u003C/b>",{"id":2112,"type":44,"data":2113},"dim2_list_monorepo_bad",{"style":46,"meta":2114,"items":2115},{},[2116,2120,2124,2128],{"content":2117,"meta":2118,"items":2119},"\u003Cb>Slowness at Scale\u003C/b>: Common operations can become slow without specialized tooling",{},[],{"content":2121,"meta":2122,"items":2123},"\u003Cb>Complex Build Systems\u003C/b>: Needed to avoid building everything every time",{},[],{"content":2125,"meta":2126,"items":2127},"\u003Cb>\"Noisy Neighbors\"\u003C/b>: Changes can accidentally break unrelated parts",{},[],{"content":2129,"meta":2130,"items":2131},"\u003Cb>Permission Granularity\u003C/b>: Can be harder to give different teams access to only their parts",{},[],{"id":2133,"type":35,"data":2134},"dim2_quote_monorepo_dream",{"quoteText":2135,"authorText":18},"Many developers dream of the simplicity of having everything they need in one place, in one IDE window, without juggling multiple projects. A well-managed monorepo can sometimes get close to this dream, but it takes effort.",{"id":2137,"type":24,"data":2138},"dim2_header_polyrepo",{"text":2139,"level":73},"Multiple Repositories (Polyrepo): A House for Every Module (or Group)",{"id":2141,"type":30,"data":2142},"dim2_para_polyrepo_def",{"text":2143},"The other common approach is to have a \u003Cb>separate repository for each module\u003C/b>, or for each small group of closely related modules.",{"id":2145,"type":30,"data":2146},"dim2_para_polyrepo_good",{"text":2085},{"id":2148,"type":44,"data":2149},"dim2_list_polyrepo_good",{"style":46,"meta":2150,"items":2151},{},[2152,2156,2160,2164],{"content":2153,"meta":2154,"items":2155},"\u003Cb>Clear Ownership\u003C/b>: Very clear which team owns which repository",{},[],{"content":2157,"meta":2158,"items":2159},"\u003Cb>Independent Lifecycles\u003C/b>: Each repo can have its own release schedule",{},[],{"content":2161,"meta":2162,"items":2163},"\u003Cb>Smaller, Faster Operations\u003C/b>: \u003Ccode class=\"inline-code\">git clone\u003C/code> is faster, builds are typically faster",{},[],{"content":2165,"meta":2166,"items":2167},"\u003Cb>Tooling Freedom (Sometimes)\u003C/b>: Different teams might choose different tools",{},[],{"id":2169,"type":30,"data":2170},"dim2_para_polyrepo_bad",{"text":2110},{"id":2172,"type":44,"data":2173},"dim2_list_polyrepo_bad",{"style":46,"meta":2174,"items":2175},{},[2176,2180,2184,2188],{"content":2177,"meta":2178,"items":2179},"\u003Cb>Cross-Cutting Changes are a Nightmare\u003C/b>: Coordinating multiple PRs is slow and error-prone",{},[],{"content":2181,"meta":2182,"items":2183},"\u003Cb>Dependency Management Hell\u003C/b>: Ensuring compatibility can become a full-time job",{},[],{"content":2185,"meta":2186,"items":2187},"\u003Cb>Code Discovery\u003C/b>: Harder to find code or understand connections",{},[],{"content":2189,"meta":2190,"items":2191},"\u003Cb>Duplicated Effort\u003C/b>: Boilerplate code, build scripts, CI/CD configs might be duplicated",{},[],{"id":2193,"type":24,"data":2194},"dim2_header_rightanswer",{"text":2195,"level":73},"Is There a 'Right' Answer?",{"id":2197,"type":30,"data":2198},"dim2_para_rightanswer",{"text":2199},"\u003Cb>No, not really.\u003C/b> Both \u003Ci>monorepos\u003C/i> and \u003Ci>polyrepos\u003C/i> have their pros and cons. The best choice depends on your team, system complexity, company culture, and available tools. Some very large companies use monorepos successfully (like \u003Ca href=\"https://google.com\">Google\u003C/a> and \u003Ca href=\"https://facebook.com\">Facebook\u003C/a>), and others use many repositories successfully.",{"id":2201,"type":35,"data":2202},"dim2_quote_rightanswer",{"quoteText":2203,"authorText":18},"The key is to understand the trade-offs and choose consciously, rather than just picking one because it's trendy.",{"id":1503,"type":67,"data":2205},{},{"id":2207,"type":24,"data":2208},"header_dim3",{"text":2209,"level":27},"Dimension 3: Hitting the Servers – The World of Artifacts (and Where Microservices Really Live)",{"id":2211,"type":30,"data":2212},"dim3_para_1",{"text":2213},"We've organized our code into modules, and we've decided where that code will live in repositories. Now, the crucial question: \u003Cb>how do we actually run this software?\u003C/b> This brings us to \u003Ci>artifacts\u003C/i>.",{"id":2215,"type":30,"data":2216},"dim3_para_2",{"text":2217},"An \u003Cb>artifact\u003C/b> is the \u003Ci>packaged, runnable unit\u003C/i> of your software that you deploy to a server. This could be a \u003Ccode class=\"inline-code\">.jar\u003C/code> or \u003Ccode class=\"inline-code\">.war\u003C/code> file for Java applications, an executable program, or, very commonly these days, a \u003Ccode class=\"inline-code\">Docker container image\u003C/code>.",{"id":2219,"type":30,"data":2220},"dim3_para_3",{"text":2221},"The \u003Cb>big decision\u003C/b> here is:",{"id":2223,"type":44,"data":2224},"dim3_list_decision",{"style":46,"meta":2225,"items":2226},{},[2227,2231],{"content":2228,"meta":2229,"items":2230},"Do you package all (or most) of your modules into \u003Cb>one single artifact\u003C/b> and run it as one big process? This is often called a \u003Ci>\"monolithic deployment.\"\u003C/i>",{},[],{"content":2232,"meta":2233,"items":2234},"Or do you package individual modules into \u003Cb>many separate, smaller artifacts\u003C/b>, each running as its own independent process? This is the heart of what people usually mean by a \u003Ci>\"microservices architecture.\"\u003C/i>",{},[],{"id":2236,"type":24,"data":2237},"dim3_header_single_artifact",{"text":2238,"level":73},"The Single Artifact Approach (Monolithic Deployment)",{"id":2240,"type":30,"data":2241},"dim3_para_single_artifact_upsides",{"text":2242},"\u003Cb>The Upsides\u003C/b> (Why it's often a good place to start):",{"id":2244,"type":44,"data":2245},"dim3_list_single_artifact_upsides",{"style":46,"meta":2246,"items":2247},{},[2248,2252,2256,2260,2264],{"content":2249,"meta":2250,"items":2251},"\u003Cb>Simpler to Build and Deploy\u003C/b>: One thing to build, test, and deploy",{},[],{"content":2253,"meta":2254,"items":2255},"\u003Cb>Easier Debugging (In-Process)\u003C/b>: Step through code across module boundaries easily",{},[],{"content":2257,"meta":2258,"items":2259},"\u003Cb>No Network Worries (Internally)\u003C/b>: Communication is fast and reliable",{},[],{"content":2261,"meta":2262,"items":2263},"\u003Cb>Simpler Transactions\u003C/b>: Wrap operations in a single database transaction",{},[],{"content":2265,"meta":2266,"items":2267},"\u003Cb>Easier to Reason About\u003C/b>: Easier to understand data flow and control",{},[],{"id":2269,"type":30,"data":2270},"dim3_para_single_artifact_downsides",{"text":2271},"\u003Cb>The Downsides\u003C/b> (Why people want to move away from it sometimes):",{"id":2273,"type":44,"data":2274},"dim3_list_single_artifact_downsides",{"style":46,"meta":2275,"items":2276},{},[2277,2281,2285,2289],{"content":2278,"meta":2279,"items":2280},"\u003Cb>Scaling Challenges (Sometimes)\u003C/b>: Can't scale just the busy part",{},[],{"content":2282,"meta":2283,"items":2284},"\u003Cb>One Bad Apple Spoils the Bunch\u003C/b>: A bug in one module can crash the whole app",{},[],{"content":2286,"meta":2287,"items":2288},"\u003Cb>Technology Lock-in\u003C/b>: Harder to mix and match technologies",{},[],{"content":2290,"meta":2291,"items":2292},"\u003Cb>Slower Release Cycles (Potentially)\u003C/b>: Entire artifact may need re-testing and re-deployment",{},[],{"id":2294,"type":24,"data":2295},"dim3_header_many_artifacts",{"text":2296,"level":73},"The Many Separate Artifacts Approach (Microservices Architecture)",{"id":2298,"type":30,"data":2299},"dim3_para_many_artifacts_def",{"text":2300},"Here, your UserAccounts module might become the \u003Ccode class=\"inline-code\">user-account-service\u003C/code> artifact, the ProductCatalog module becomes the \u003Ccode class=\"inline-code\">product-catalog-service\u003C/code> artifact, and so on. Each runs as its own little program, often in its own \u003Ccode class=\"inline-code\">Docker container\u003C/code>, and they talk to each other \u003Ci>over the network\u003C/i>.",{"id":2302,"type":30,"data":2303},"dim3_para_many_artifacts_allure",{"text":2304},"\u003Cb>The Allure\u003C/b> (Why this is so popular):",{"id":2306,"type":44,"data":2307},"dim3_list_many_artifacts_allure",{"style":46,"meta":2308,"items":2309},{},[2310,2314,2318,2322],{"content":2311,"meta":2312,"items":2313},"\u003Cb>Independent Scaling\u003C/b>: This is a \u003Ci>big one\u003C/i>. Scale only busy services",{},[],{"content":2315,"meta":2316,"items":2317},"\u003Cb>Technology Diversity (Polyglot)\u003C/b>: Pick the best tool for each job",{},[],{"content":2319,"meta":2320,"items":2321},"\u003Cb>Fault Isolation (The Dream)\u003C/b>: If one service crashes, others ideally keep working",{},[],{"content":2323,"meta":2324,"items":2325},"\u003Cb>Independent Deployments & Team Autonomy\u003C/b>: Faster development cycles for individual teams",{},[],{"id":2327,"type":24,"data":2328},"dim3_header_price",{"text":2329,"level":73},"The Price You Pay: The Huge Complexity of \"Distributed Systems\"",{"id":2331,"type":30,"data":2332},"dim3_para_price_intro",{"text":2333},"This is where things get \u003Cb>\u003Ci>really tricky\u003C/i>\u003C/b>, and it's the part that the simple \"microservices are great!\" story often glosses over. When your different pieces of software run as separate processes and have to talk to each other over a network, you have just entered the challenging world of \u003Ci>distributed systems\u003C/i>.",{"id":2335,"type":35,"data":2336},"dim3_quote_price",{"quoteText":2337,"authorText":2338},"And it comes with a whole suitcase full of new problems you didn't have before.","The Catch",{"id":2340,"type":44,"data":2341},"dim3_list_price_problems",{"style":46,"meta":2342,"items":2343},{},[2344,2348,2352,2356,2360,2364,2368,2372],{"content":2345,"meta":2346,"items":2347},"\u003Cb>The Network is a Liar (and Slow, and Unreliable)\u003C/b>: Calls can fail for many reasons",{},[],{"content":2349,"meta":2350,"items":2351},"\u003Cb>Data On The Move (Serialization)\u003C/b>: Converting data (e.g., \u003Ccode class=\"inline-code\">JSON\u003C/code>, \u003Ccode class=\"inline-code\">Protocol Buffers\u003C/code>) takes time and CPU",{},[],{"content":2353,"meta":2354,"items":2355},"\u003Cb>Service Discovery: \"Where Are You?\"\u003C/b> How services find each other",{},[],{"content":2357,"meta":2358,"items":2359},"\u003Cb>Load Balancing: \"Who's Next?\"\u003C/b> Distributing requests among service copies",{},[],{"content":2361,"meta":2362,"items":2363},"\u003Cb>Things Will Fail – Be Prepared! (Fault Tolerance)\u003C/b>: Requires \u003Ci>Retries\u003C/i>, \u003Ci>Circuit Breakers\u003C/i>, etc.",{},[],{"content":2365,"meta":2366,"items":2367},"\u003Cb>Transactions are Hard (Really Hard!)\u003C/b>: Leads to concepts like \u003Ci>Eventual Consistency\u003C/i> and \u003Ci>Sagas\u003C/i>",{},[],{"content":2369,"meta":2370,"items":2371},"\u003Cb>Seeing What's Going On (Observability)\u003C/b>: Needs \u003Ci>Centralized Logging\u003C/i>, \u003Ci>Distributed Tracing\u003C/i>, \u003Ci>Monitoring and Alerting\u003C/i>",{},[],{"content":2373,"meta":2374,"items":2375},"\u003Cb>More Moving Parts = More To Go Wrong\u003C/b>: Operationally much more complex",{},[],{"id":2377,"type":24,"data":2378},"dim3_header_worthit",{"text":2379,"level":73},"So, Is It Worth It?",{"id":2381,"type":30,"data":2382},"dim3_para_worthit",{"text":2383},"Sometimes, \u003Cb>absolutely yes!\u003C/b> For very large applications, with many teams, where the benefits outweigh the massive increase in complexity, microservices can be a powerful approach. But for many smaller to medium-sized applications or teams, the added complexity can easily crush them. It's a \u003Ci>trade-off\u003C/i>, and you need to be honest about whether you need those benefits enough to pay the price in complexity.",{"id":1539,"type":67,"data":2385},{},{"id":2387,"type":24,"data":2388},"header_journey",{"text":2389,"level":27},"The Journey, Not a Destination: Software Loves to Evolve",{"id":2391,"type":30,"data":2392},"journey_para_1",{"text":2393},"One of the biggest mistakes people make is thinking they have to choose \"monolith\" or \"microservices\" on day one and then stick with it forever. \u003Cb>Software development is a \u003Ci>journey of learning and adaptation\u003C/i>.\u003C/b> Your system will change, your team will change, your business needs will change.",{"id":2395,"type":30,"data":2396},"journey_para_2",{"text":2397},"\u003Cb>Starting Simple is Often Smart\u003C/b>: For many new projects, especially if the requirements are not perfectly clear or the team is small, starting with a \u003Ci>\"modular monolith\"\u003C/i> is often the most sensible approach. This means:",{"id":2399,"type":44,"data":2400},"journey_list_startsimple",{"style":874,"meta":2401,"items":2402},{"counterType":876},[2403,2407,2411],{"content":2404,"meta":2405,"items":2406},"Design your code with \u003Cb>clear module boundaries\u003C/b> from the beginning",{},[],{"content":2408,"meta":2409,"items":2410},"Keep all your code in \u003Cb>one repository\u003C/b> (a monorepo) for simplicity",{},[],{"content":2412,"meta":2413,"items":2414},"Deploy it all as \u003Cb>one single artifact\u003C/b>",{},[],{"id":2416,"type":30,"data":2417},"journey_para_3",{"text":2418},"This allows you to \u003Cb>build and iterate quickly\u003C/b>, without getting bogged down in the complexities of distributed systems before you even have a working product.",{"id":2420,"type":30,"data":2421},"journey_para_4_evolve",{"text":2422},"\u003Cb>Evolving Gracefully (If and When Needed):\u003C/b> If you've built a good modular monolith, you have options for the future.",{"id":2424,"type":35,"data":2425},"journey_quote_spaghetti",{"quoteText":2426,"authorText":18},"The key here is those good module boundaries you designed at the start. If your monolith is a \"spaghetti code\" mess with no clear internal structure, trying to carve out a microservice from it later will be like performing complex surgery with a butter knife – painful and probably messy.",{"id":2428,"type":30,"data":2429},"journey_para_5_yagni",{"text":2430},"\u003Cb>Don't Over-Engineer for a Future That May Never Come.\u003C/b> There's a strong temptation to build for \"what if\" scenarios. This is called \u003Ci>premature optimization\u003C/i> (or \u003Ci>premature complexification\u003C/i>) and it's often a trap. Follow the YAGNI principle:",{"id":2432,"type":35,"data":2433},"journey_quote_yagni",{"quoteText":2434,"authorText":18},"You Ain't Gonna Need It.",{"id":2436,"type":30,"data":2437},"journey_para_6_yagni_cont",{"text":2438},"Build what you need now, design it well so it can evolve, and then evolve it \u003Ci>when the need actually arises\u003C/i>.",{"id":1595,"type":67,"data":2440},{},{"id":2442,"type":24,"data":2443},"header_conclusion",{"text":2444,"level":27},"Conclusion: It's Your Software, Your Team, Your Choices",{"id":1646,"type":30,"data":2446},{"text":2447},"Phew! That was a lot of information. If you've made it this far, \u003Cb>thank you for sticking with it\u003C/b>.",{"id":1650,"type":30,"data":2449},{"text":2450},"The main takeaway I hope you get from all this is that \u003Cb>there's no single \"right\" way to design software\u003C/b>. The \"monolith vs. microservices\" debate is often a \u003Ci>false choice\u003C/i>. Instead, think about those three dimensions we discussed.",{"id":2452,"type":30,"data":2453},"conclusion_para_3_ask",{"text":2454},"When you're faced with an architectural decision, try to \u003Cb>step back from the hype\u003C/b> and ask:",{"id":2456,"type":44,"data":2457},"conclusion_list_ask",{"style":46,"meta":2458,"items":2459},{},[2460,2464,2468,2472],{"content":2461,"meta":2462,"items":2463},"\u003Ci>What problem are we really trying to solve?\u003C/i>",{},[],{"content":2465,"meta":2466,"items":2467},"\u003Ci>What are the actual needs of our users and our business?\u003C/i>",{},[],{"content":2469,"meta":2470,"items":2471},"\u003Ci>What are the skills and size of our team? Can we realistically manage the complexity?\u003C/i>",{},[],{"content":2473,"meta":2474,"items":2475},"\u003Ci>What's the simplest thing that could possibly work well right now, while still giving us options to evolve later?\u003C/i>",{},[],{"id":2477,"type":30,"data":2478},"conclusion_para_4",{"text":2479},"Don't choose an architecture because it's trendy or because \u003Ca href=\"https://google.com\">Google\u003C/a> uses it. \u003Cb>Choose it because it makes sense for \u003Ci>you\u003C/i>.\u003C/b> And remember, it's okay to start simple. It's okay to have a well-structured monolith. It's okay to evolve your system piece by piece as you learn and grow.",{"id":2481,"type":35,"data":2482},"conclusion_quote_goal",{"quoteText":2483,"authorText":18},"The goal is to deliver value and to build systems that don't make you want to tear your hair out every time you need to make a change.",{"id":2485,"type":30,"data":2486},"conclusion_para_5",{"text":2487},"\u003Cb>Building software is a \u003Ci>continuous learning process\u003C/i>.\u003C/b> We’ll all make mistakes, we’ll all learn from them, and hopefully, we’ll all get a little bit better at it over time.",{"id":2489,"type":67,"data":2490},"divider_9",{},{"id":2492,"type":24,"data":2493},"header_disclaimers",{"text":2494,"level":27},"The Obligatory Disclaimers ",{"id":2496,"type":30,"data":2497},"disclaimers_para_2",{"text":2498},"\u003Cb>This Isn't Everything\u003C/b>: The world of software architecture is \u003Ci>vast and deep\u003C/i>. I've simplified many things and skipped over many other important topics. This is just one perspective, aimed at clearing up some common confusion. \u003Cb>There's always more to learn!\u003C/b>",{"id":2500,"type":35,"data":2501},"disclaimers_quote_figuringout",{"quoteText":2502,"authorText":18},"We're all figuring it out: Do I have all the answers? Absolutely not. Does anyone? Probably not. The best we can do is share our experiences, learn from each other, and try to make slightly fewer mistakes tomorrow than we made yesterday.",{"id":2504,"type":30,"data":2505},"final_para",{"text":2506},"\u003Cb>Good luck with your software adventures!\u003C/b>",{"authorId":616,"name":617,"avatar":618,"username":619},[2509],{"emojiId":543,"count":624,"reactedByUser":19},{"comments":545,"favorites":73,"views":2511,"hits":2512},126,1137,"2025-04-09T14:50:34.859",["Reactive",2515],{"$si18n:cached-locale-configs":2516,"$si18n:resolved-locale":18,"$sshowLoginModal":19},{},["Set"],["ShallowReactive",2519],{"feed-tag-none-none-hot-google-0":-1},"/tag/google",{"auth":2522,"app":2523,"theme":2524,"main":2613,"i18n":2615,"ui":2619},{"logged":19,"user":550,"authReady":19},{"lastUpdatedPostId":550,"lastUpdateTime":550},{"layout":2525,"themeName":2526,"routerTransition":2527,"routerTransitionDuration":545,"rtl":19,"boxed":2528,"sidebar":2530,"footer":2536,"responsive":2537,"toolbarHeight":2544,"viewPadding":2541,"headerBarHeight":2546,"colors":2547,"borderRadius":2575,"lineHeight":2578,"fontSize":2580,"fontWeight":2583,"fontFamily":2586,"typography":2588},"VerticalNav","light","fade-up",{"enabled":1844,"toolbar":1844,"width":2529},1600,{"autoClose":1844,"collapsed":19,"autoCloseBreakpoint":2531,"animEase":2532,"animDuration":2533,"openWidth":2534,"closeWidth":2535},1000,"ease-in-out",0.3,300,64,{"show":1844},{"breakpoint":2538,"override":2539},700,{"viewPadding":2540,"toolbarHeight":2543},{"desk":2541,"mobile":2542},40,20,{"desk":2544,"mobile":2545},80,70,60,{"light":2548,"dark":2563},{"sidebarBackground":2549,"bodyBackground":2550,"background":2549,"backgroundSecondary":2551,"text":2552,"textSecondary":2553,"textTertiary":2554,"border":2555,"hover":2556,"primary":2557,"info":2558,"success":2559,"warning":2560,"error":2561,"extra1":2558,"extra2":2562,"extra3":2560,"extra4":2561},"rgb(255, 255, 255)","rgb(245, 247, 249)","#F2F2F2","rgb(0, 0, 0)","#000","rgb(114, 115, 115)","rgb(226, 230, 233)","rgba(221, 224, 225, 0.5)","hsl(221.2, 83.2%, 53.3%)","rgb(97, 102, 255)","rgb(0, 179, 122)","rgb(255, 183, 0)","rgb(255, 0, 85)","rgb(255, 97, 200)",{"sidebarBackground":2564,"bodyBackground":2565,"background":2564,"backgroundSecondary":2566,"text":2567,"textSecondary":2568,"textTertiary":2569,"border":2570,"hover":2571,"primary":2572,"info":2558,"success":2573,"warning":2560,"error":2574,"extra1":2558,"extra2":2562,"extra3":2560,"extra4":2561},"rgb(35, 35, 36)","rgb(22, 22, 23)","rgb(44, 44, 45)","rgb(201, 204, 207)","#c9cccf","rgb(150, 157, 160)","rgb(53, 52, 54)","rgb(58, 58, 58)","rgb(65, 138, 244)","rgb(51, 160, 62)","rgb(214, 51, 62)",{"default":2576,"small":2577},"8px","4px",{"default":2579},"1.25",{"default":2581,"cardTitle":2582},"16px","18px",{"default":2584,"strong":2585,"cardTitle":2585},"400","600",{"default":2587,"display":2587,"mono":2587},"Roboto, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif",{"h1":2589,"h2":2594,"h3":2597,"h4":2600,"h5":2603,"h6":2606,"p":2610},{"fontFamily":2590,"fontSize":2591,"fontWeight":2592,"lineHeight":2593},"{fontFamily.display}","30px","700","38",{"fontFamily":2590,"fontSize":2595,"fontWeight":2592,"lineHeight":2596},"26px","33",{"fontFamily":2590,"fontSize":2598,"fontWeight":2592,"lineHeight":2599},"22px","28",{"fontFamily":2590,"fontSize":2582,"fontWeight":2601,"lineHeight":2602},"500","23",{"fontFamily":2590,"fontSize":2604,"fontWeight":2592,"lineHeight":2605},"14px","18",{"fontFamily":2607,"fontSize":2608,"fontWeight":2601,"lineHeight":2609},"{fontFamily.default}","12px","15",{"fontFamily":2607,"fontSize":2611,"lineHeight":2612},"{fontSize.default}","20",{"API_URL":-1,"forceRefresh":2614,"loadingBar":550},1760034801848,{"locale":2616,"availableLocales":2618},["Ref",2617],"en",[2617],{"feedRefreshKey":545}]