Code Monkey home page Code Monkey logo

Comments (7)

zhongyi-zhang avatar zhongyi-zhang commented on August 13, 2024 1

Yeah CRD, I heard that azure service operator, which should fit your scenario better than broker, is now in developing. But I don't know when it will go public. @frodopwns @Azadehkhojandi would you consider about the scenario @guibirow shared? I believe this is a good case to show the advantage of operator :).

from open-service-broker-azure.

sakthi-vetrivel avatar sakthi-vetrivel commented on August 13, 2024 1

@guibirow This project is now available at https://github.com/Azure/azure-service-operator

from open-service-broker-azure.

zhongyi-zhang avatar zhongyi-zhang commented on August 13, 2024

OSBA targets at managing service instances, said Azure resources and their configurations, what your apps don't care. So that your apps can just use the service. Take cosmosDB as an example, with the connection string in binding, your app can use a client to easily create collections, and it is already in the service itself level. Does it make sense?

from open-service-broker-azure.

guibirow avatar guibirow commented on August 13, 2024

IMHO it doesn't make sense, mainly for the simple fact CosmosDB RU is managed either at database level or collection level. The main resource is the collection not the DB.

I can't let applications create collections whenever they want because it generate a cost that can't be predictable, it also open room for misconfiguration, abandoned resources and many other things.

If collections were managed like tables in a relational database where you pay for the database only, the problem would be much smaller but we would still need to create the collection by other means.

makes no sense use OSBA if we have to manage half of the work using other tools.

I appreciate your help.

from open-service-broker-azure.

zhongyi-zhang avatar zhongyi-zhang commented on August 13, 2024

Oh I just realized that the "dedicated provisioned throughput mode" was introduced in CosmosDB and they raied the collection as a resource. My knowledge to CosmosDB collection stayed at same-as-MongoDB-collection stage. I got your point...
As collection is already the third layer (collection -- database -- database account) in this service, I think a grandchild service module needs to be added to OSBA. The implementation and usage are both more complicated in vertical. Would it be clearer to put a "createIfNotExists" in app initialization?

from open-service-broker-azure.

guibirow avatar guibirow commented on August 13, 2024

We don't plan to allow clients to create collection if it does not exist because our plan is:

  • Least privileged consumers, were applications are only allowed to consume azure resources, not create it.
  • Keep track of resource consumption and costs per application(micro-service)
  • Create a RU auto-scale logic per database and collection, when our services scales it also scales the data storage throughput.

In summary,
we would like to define the collections needed by the application as a Custom Resource Definition and nothing more. Something similar to the ingress resources, where we define an ingress class and each application define their routing rules.

If the collection will be put in a shared database or their own database, it should be responsibility of the cluster\infrastructure administrator to decide, the developers should only provide the resource definition for provisioning.

from open-service-broker-azure.

guibirow avatar guibirow commented on August 13, 2024

@frodopwns @Azadehkhojandi is there any updates about the azure service operator mentioned by @zhongyi-zhang
Could you point us to a preview or docs if it is available?

from open-service-broker-azure.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.