Also, every process runs in a completely isolated software container, meaning that it's secure and fully shielded from interference by external factors. With a serverless setup, these documents can be processed in parallel without any slowdown. It might even lead to a downtime for the entire application as the server buckles under the strains being placed on it by the massive workload. For example, if 10,000 documents are uploaded at the exact same time, this would pose a serious challenge to a server that typically only expects a few dozen documents to be uploaded at any given moment. First off, serverless allows for practically instant and massive scalability, since we can request as much compute power as we need to cary out as many tasks as are needed at each instant. This has some distinct benefits over the traditional self-managed server setup. Release the compute power as soon as the process finishes Request compute power available in an instantĮxecute the task's logic in a dedicated software container In similar fashion, a typical serverless workflow consists of three steps for every task that is executed:
That's an incredible inefficiency that car sharing clubs attempt to address by allowing people to simply rent a car for as long as they need it, at any time, and return it without worrying about things like maintenance. Shockingly, the average car is only in use for 4% of its lifetime! The other 96% of the time, it's parked somewhere just taking up space. That is, Parsel rents the spare computational resources of our cloud provider, Amazon Web Services, only when we need them.Ī good way of thinking about this paradigm inversion is with the analogy of car sharing clubs like Zipcar. A serverless architecture inverts this paradigm completely: rather than relying on a dedicated server that is always on, even when nobody is visiting the site, serverless applications rent just the compute power needed to serve up the application purely on an on-demand basis. Traditionally, when building web-based applications, a dedicated server (or servers) that is always online is used to process and store data and serve up content whenever a user visits the website or application.
Parsel is built using a serverless architecture. Our architecture ensures that we can analyse your document as quickly as possible, while completely isolated from any other processes. Furthermore, any data we store in our private cloud environment is fully encrypted-at-rest. Any communication with the outside world is fully encrypted (encrypted-in-transit), and thus not at risk of being stolen or spied on, as encrypted data is meaningless without knowledge of the protected private encryption key. Our entire software architecture is hosted on AWS on our own Private Virtual Cloud, which is a private, secure and closed off virtual environment.
#PLAY SUPPLE ONLINE FREE DOWNLOAD#
To ensure this, we encrypt your document from the moment you upload it, all the way to the point where you download your desired output. We understand that documents and images contain sensitive information that must be kept private at all costs. All documents processed by Parsel are transmitted and stored securely In this post we hope to convince you that these principles matter, and show why they're the architectural foundation that Parsel was built upon. With all of this in mind, we set out to define an architecture that adhered to the above three principles. We also wanted to be able to improve the product in an organic way, by iterating fast on new features without worrying about breaking anything in the document processing pipeline. We also knew that processing workloads would be spiky and therefore it would be hard to predict the level of computational resources needed at any given time. We knew that Parsel was going to be processing potentially sensitive documents (financial documents, initially, then expanding from there). In this post, we hear from the head of Parsel's data science team, Daniel Vliegenthart, about the technical architecture under the hood of Parsel and what that means for handling large document processing workloads without any performance degradation.įrom the moment we first started thinking about Parsel as a product, we had three adjectives in mind for its technical architecture: secure, scalable and supple.