Skip to main content

When Will Amazon Zocalo Get An API?

I was among the thousands of attendees of yesterday's Amazon AWS Summit in New York. One of the key services announced was Zocalo, a file storage and sharing service for the enterprise.

One aspect of the Zocalo service that wasn't clear is whether it will have an API. Part of the system I am currently working on provides a workflow for analysts to work with small sets of files. An API for Zocalo would allow automated process and analysts to jointly curate the files.

Other AWS services have great API's: I've especially enjoyed working with the Java libraries for AWS services. Amazon usually takes API development very seriously and produces solid interfaces. Interoperating Zocalo with other AWS services would be the killer feature for my current use case, and an API with good libraries would facilitate this.

Here are some ideas for what could be done combining Zocalo and other AWS services:

  • Analyze file access and update logs using EMR or Kinesis. This could reveal suspicious access patterns associated with loss of IP, or it could be used to run a cluster analysis of users to identify ad-hoc groups that are collaborating on content.
  • Build content-based workflows. Workflows that depend on file data could be built on top of Zocalo. This allows easy ad-hoc access to the data, while also enabling systems where the data is modified by automated processes or external systems. For example, new versions could automatically trigger review from a quality assurance group.
  • Find trending topics in documents. If new versions could be fed into Amazon Kinesis, it would be possible for the system to identify trending keywords or phrases in real time. Data could be fed into Redshift and shown to editors or management.
  • Manage users and security automatically. For example, when a new user is provisioned in ActiveDirectory then the onboarding system could trigger the user to be added to Zocalo and could grant appropriate access rights.
I'm sure there are many other interesting things that can be done through an API integration, maybe even capabilities provided by outside vendors that expands the partner network concept. Zocalo is an exiting offering as-is, but with an API the possibilities are multiplied.



Comments

  1. Hi Greg,

    I had some questions regarding Amazon Zocalo. It would be very helpful if you share your thoughts on the same.
    1. Can I restrict Users from uploading files of a particular name or extension? (Ex. I want users not to upload *.exe files)
    2. Can I keep files in Amazon Zocalo for eternity? If not how long?
    3. Is White labelling enabled for Amazon Zocalo?
    4. Is there any guarantee which Amazon Zocalo provides for stored documents by various users?

    Thanks
    Suvojyoty

    ReplyDelete
    Replies
    1. Thanks for your comment. I haven't spent much time looking into Zocalo since this post. After looking at the pricing and capabilities, my team decided to stick with S3 storage for our data processing system. We certainly wouldn't have been typical Zocalo users had we switched over.

      For answers to your specific questions, I strongly suggest you ask them on the Zocalo AWS forum:

      https://forums.aws.amazon.com/forum.jspa?forumID=172

      Delete
    2. Thanks for the prompt reply Greg.

      Delete

Post a Comment

Popular posts from this blog

ReactJS, NPM and Maven

I'm just starting to get into working with ReactJS, Facebook's open source rendering framework. My project uses SpringBoot for annotation-driven dependency injection and MVC. I thought it would be great if I could use a bit of ReactJS to enhance the application. If you're looking for a basic conceptual intro, I recommend ReactJS for Stupid People and of course the official documentation  is quite good. In full disclosure, I still have no idea how to do "flux" yet. As an experienced Java backend developer, I'm pretty decent at hacking Maven builds - which is precisely what this blog post is going to be about. First, a word about how React likes to be built. Like many front-end tools, there is a toolkit for the node package manager (NPM). From the command prompt, one might run npm install -g react-tools  which installs the jsx command. The  jsx  command provides the ability to transform JSX syntax into ordinary JavaScript, which is precisely what I want. O

Solved: Unable to Locate Spring Namespace Handler

I attempted to run a Spring WebMVC application, and when starting up the application complained that it didn't know how to handle the MVC namespace in my XML configuration. The project runs JDK 7 and Spring 4.0.6 using Maven as the build system. The following is my XML configuration file: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"        xmlns:mvc="http://www.springframework.org/schema/mvc"        xsi:schemaLocation="         http://www.springframework.org/schema/beans         http://www.springframework.org/schema/beans/spring-beans.xsd         http://www.springframework.org/schema/mvc         http://www.springframework.org/schema/mvc/spring-mvc.xsd">          <mvc:annotation-driven/>      </beans> I have a few more beans than this, but their details aren't especially relevant

Spark Cassandra Connector Tip

We're using Databricks as our provider for Spark execution, and we've been struggling to get the Spark Cassandra connector to work outside of the local development environment. The connector was attempting to connect to 127.0.0.1 even though we were passing the new host information into the getOrCreate(..) call. After working with Ganesh at Databricks support, we figured it out. The realization is that in Databricks, calls to getOrCreate() from a fat jar don't create a new SparkContext object. Thus, the configuration passed in gets ignored. If you want to update the Cassandra host information for the connector, you must update it after  the call to getOrCreate() instead. Add the configuration directly to the context and you'll be good to go!