Looking for a few pointers

6 posts, 2 answers
  1. Stephen
    Stephen avatar
    45 posts
    Member since:
    Jul 2010

    Posted 24 Feb 2014 Link to this post

    Hello,

    I am new to Kendo / Everlive / Backend Services and I am looking to evaluate the Telerik Platform as a technology choice.  I come from a .Net background.  For this I have a small proof of concept scenario that I am trying to develop.  I am pretty comfortable with how I can generally proceed on the client end, however, I am a little more lost as to what needs to occur in regards to Cloud Code.

    In terms of the server my scenario is that I want to download an external CSV file (I can see how to do this from your documentation), parse it, and then store the results in the server content.  Ideally this process would be done as a scheduled job (I can see this is on the coming soon list in another thread) so initially I am just going to have it as a before read.

    As to my questions:
    • I don't want to retrieve the file every time.  I take it there is no caching (such as AppFabric caching) that would allow me to persist data in fast storage, would I need to store my state in something more persistent?
    • Is there a way to use external JavaScript libraries in Cloud Code?  Or if for example I wanted non-trivial parsing logic would I need to copy / paste code out of these libraries and put it into my Cloud Code?  (Or otherwise write my own custom logic for parsing this)
    • What is the best practice in regards to managing potentially large Cloud Code code bases / files?
    • Is the usage scenario for Cloud Code meant to just handle very simple CRUD operations, would I need some other infrastructure if I wanted to do anything more complex?

    Thanks in advance,

    Stephen

  2. Answer
    Anton Dobrev
    Admin
    Anton Dobrev avatar
    539 posts

    Posted 25 Feb 2014 Link to this post

    Hi Stephen,

    1. Currently the Telerik Backend Services offering does not include a caching service. However, there would be few ways to check if the .csv has to be downloaded or not, depending on your use case. Some of them could be:
      • Check with an external call if there is a new version of the file
      • Store in a separate content type the state of the file and refer to it in every 'beforeRead' event
    2. External JS libraries cannot be referenced from the cloud code. You can implement your custom functions, namespaces and/or modules and use them in the cloud code events. It is noteworthy that the context referencing the currently executing code (this) is limited in the cloud code.
    3. Telerik Backend Services offers reading, deleting and uploading custom cloud code files. We are planning to introduce new features like versioning and source control integration, but at the moment cannot be more specific on this subject.
    4. The Cloud Code layer is designed to be the business logic tier for your app. One limitation imposed by the Cloud Code is the execution time. It is limited to 10 seconds for a given event handler.  

    Let us know if further questions arise.

    Best regards,
    Anton Dobrev
    Telerik
    Everlive is now Telerik Backend Services, and is part of the Telerik Platform. For more information on the new name, and to learn more about the Platform, register for the free online keynote and webinar on Wednesday, February 12, 2014 at 11:00 a.m. ET (8:00 a.m. PT)
  3. Stephen
    Stephen avatar
    45 posts
    Member since:
    Jul 2010

    Posted 25 Feb 2014 in reply to Anton Dobrev Link to this post

    Hi Anton,

    Thank you for your answers.  You have pretty much answered everything I asked for, but I am a little concerned in regards to how the backend services will cope with things other than basic CRUD operations.

    The closest competitor in the Microsoft space is Azure Mobile Services which (from what I understand) have concepts such as shared code allowing you to have custom JavaScript that can be re-used in multiple files, as well as being able to use third party JavaScript libraries.  This will allow a developer to deal with non-trivial scenarios and keep the code base clean.















  4. Answer
    Lyubomir Dokov
    Admin
    Lyubomir Dokov avatar
    43 posts

    Posted 26 Feb 2014 Link to this post

    Hello Stephen,

    We are currently working to enhance the cloud code experience and functionality. We will be adding other places where you could plug cloud code - for custom authentication and custom endpoints that execute cloud functions. We will also allow scheduling of cloud code functions that will make it very easy to handle your periodic reporting or clean-up tasks.

    Even now we are testing a functionality that will allow you to debug the cloud code(breakpoints and everything), which will make it much easier for developers. We will also be adding the ability to work with multiple files and upload libraries that you want to use. With all those I believe we will have the best experience and functionality in the market.

    What I would like to stress here is that our goal is to make it possible for developers to rely entirely on our cloud code, without the need to develop other services. Our cloud code is not designed only for some simple validation. We know we have work to do yet, but we are on track and will continue to bring all those new features to the cloud code platform.

    If you have any suggestions, we will be happy to read from you. You could also go to our Feedback Portal where you can suggest and vote for the features you want.


    Regards,
    Lyubomir Dokov
    Telerik
    Everlive is now Telerik Backend Services, and is part of the Telerik Platform. For more information on the new name, and to learn more about the Platform, register for the free online keynote and webinar on Wednesday, February 12, 2014 at 11:00 a.m. ET (8:00 a.m. PT)
  5. Stephen
    Stephen avatar
    45 posts
    Member since:
    Jul 2010

    Posted 26 Feb 2014 Link to this post

    Thanks Lyubomir,

    Given Telerik's track record I am sure that you will eventually meet all of those goals, however, when evaluating technology choices for clients we often need to live in the here and now and at the moment the biggest roadblock (to me at least) is the lack of functionality in Cloud Code in comparison to Azure Mobile Services.

    I love the idea of an integrated solution package that you are offering at Telerik but once the 30 day trials start to expire you are wanting people to pay for your service.  Obviously, they don't 'have' to and can use AppBuilder in conjunction with another backend service, however, you are still going to be charging them for back-end functionality in their subscription. (I am ignoring the free option on purpose in this statement)  

    At this point in time if you have any complexity in your backend development is frustrating.  Everything needs to be in the JS handling the request which is going to result in copy / paste code - something that is abhorrent to any competent developer.  If I want to use a library I am going to need to copy/paste + integrate it and I am writing workarounds for scheduled jobs (I know, I know, its coming) 

    Tools should enable a developer, not cause them frustration.  As I said in my initial statement, I believe in the long term future of the Telerik platform, however, one cannot help but feel the back end services release may be a little premature.
  6. Lyubomir Dokov
    Admin
    Lyubomir Dokov avatar
    43 posts

    Posted 27 Feb 2014 Link to this post

    Hello Stephen,

    Thank you for sharing your thoughts. I can totally understand your point.

    However, I wouldn't say the release was premature, Telerik Backend Services are successfully powering LIVE apps at the moment. Indeed, we might not cover all possible scenarios for all possible apps right now, but we have the energy and flexibility to make it happen very soon.

    Even at this moment we are developing some features that cannot be found in today's BaaS world. We are also strengthening our story in other areas, like push notifications, where customer interest is highest.

    We are aiming at providing great integration stories. You can use only AppBuilder and you can use it with Azure Mobile Services, if that is what you want. But in AppBuilder there is a nice integration with Kendo Mobile, and Kendo Mobile has great integration with Telerik Backend Services. And this goes on and on with other Telerik products. Our idea is to empower developers, not lock them in.


    Regards,
    Lyubomir Dokov
    Telerik
    Everlive is now Telerik Backend Services, and is part of the Telerik Platform. For more information on the new name, and to learn more about the Platform, register for the free online keynote and webinar on Wednesday, February 12, 2014 at 11:00 a.m. ET (8:00 a.m. PT)
Back to Top