Multi-cloud Seismic Viewer
Streaming pre-stack gathers directly from SEG-Y stored in the cloud.

Multi-cloud Seismic Viewer

Microsoft Azure have announced the general availability of Python support in Azure Functions, so it prompted me to look at them again.

Osokey use AWS Lambda to run proprietary Python code to stream seismic data from Amazon S3 object storage. The simplest version of this Lambda function reads a small range of traces, compresses them and streams them for display in a web browser. We connect to the Lambda function from the web browser using Amazon API Gateway.

On Azure we can do something similar using Azure Functions HTTP triggers and Azure API Management. After setting this up with our code, I uploaded a 2D seismic SEG-Y file to Azure Blob Storage and generated a shared access signature (SAS) URL. The URL is passed through to the Azure Function and provides time limited access to the Blob (SEG-Y file). To round out my testing, I also deployed our code to Google Cloud Functions. Note that the internet connection was throttled in the three videos to simulate a slow internet connection. See the Streaming Pre-stack Gathers and Streaming a 1TB 3D SEG-Y file videos for unthrottled examples on AWS.

Azure Functions

The video below shows an example for a 103MB 2D SEG-Y file using Azure Functions. The SEG-Y file is stored on Azure Blob Storage and is accessed using a SAS URL that provides time-limited access. To simulate a slow internet connection a "Slow 3G" profile in Chrome Dev. Tools was used. This simulates a connection with download 376kb/s and latency 2000ms. Attribution: Public sector information licensed under the UK Open Government Licence v3.0.

AWS Lambda

The video below shows an example for the same 103MB 2D SEG-Y file using AWS Lambda. The SEG-Y file is stored on Amazon S3 and is accessed using a signed URL that provides time-limited access. To simulate a slow internet connection a "Slow 3G" profile in Chrome Dev. Tools was used. This simulates a connection with download 376kb/s and latency 2000ms. Attribution: Public sector information licensed under the UK Open Government Licence v3.0.

Google Cloud Functions

The video below shows an example for the same 103MB 2D SEG-Y file using Google Cloud Functions. The SEG-Y file is stored on Google Cloud Storage and is accessed using a signed URL that provides time-limited access. To simulate a slow internet connection a "Slow 3G" profile in Chrome Dev. Tools was used. This simulates a connection with download 376kb/s and latency 2000ms. Attribution: Public sector information licensed under the UK Open Government Licence v3.0.

Streaming Pre-stack Gathers

The video below shows an example using AWS Lambda with a 22.9GB SEG-Y file containing 3D pre-stack gathers. The internet connection is not throttled, download ~36Mb/s. Attribution: Nova Scotia Department of Energy and Canada Nova Scotia Offshore Petroleum Board.

Streaming a 1TB 3D SEG-Y file

The video below shows an example using AWS Lambda with a 1TB SEG-Y file containing 3D seismic data. The internet connection is not throttled, download ~36Mb/s. Attribution: OGA open user licence.

Conclusion

With limited modification we have been able to deploy our AWS Lambda Python code to Azure Functions and Google Cloud Functions. I have not done extensive testing, but the end user performance is similar for each service. So we have a multi-cloud viewer for SEG-Y files stored as objects/blobs in the cloud!

Learn more at osokey.com and see more videos at Osokey YouTube Channel.

As a developer any preferences? I guess what matters most for clients is performance and reliability. With a suitable layer of abstraction (eg terraform + gitops) you are pretty much cloud agnostic! Livin’ the serverless multi cloud dream 🙂

Like
Reply

To view or add a comment, sign in

More articles by James S.

  • Are duplicate files muddying your data lake?

    Osokey recently helped perform a bulk ingestion of 592,921 SEG-D files to Amazon S3 object storage using an AWS…

    9 Comments
  • Anything, but random

    The way I have been drawing lines to test this new feature has been random. Usually, though a seismic interpreter will…

    2 Comments
  • .LAS events

    To develop and implement Osokey's cloud architecture it was important to think in terms of events. I recently worked…

    5 Comments
  • Seismic in the cloud: serverless, permissions and data duplication

    Serverless - where are the servers? My very simplistic view of cloud is that there are a number of different services…

    3 Comments
  • Seismic 2019 Tech-Byte delivered

    My Tech-Byte is over and so is Seismic 2019. It was great to engage in discussions about seismic data, cloud computing…

    2 Comments
  • Are you ingesting SEG-Y into the cloud?

    At Osokey we take the following approach to ingesting SEG-Y data into the Amazon Web Services (AWS) cloud. From…

    4 Comments
  • Using SEG-Y data in cloud

    I was really pleased to see that Equinor and partners in the Volve field have approved the data for sharing. In the…

    8 Comments

Others also viewed

Explore content categories