SlideShare a Scribd company logo
1 of 42
Download to read offline
DATA SATURDAY
Sofia, Oct 08th
Collecting and Analysing
Spaceborn Data
Ivelin Andreev
Speaker Bio
• Software Architect @
o Digital Company
• Microsoft Azure MVP
• External Expert Eurostars-Eureka, Horizon Europe
• External Expert InnoFund Denmark, RIF Cyprus
• Business Interests
o Web Development, SOA, Integration
o IoT, Machine Learning
o Security & Performance Optimization
• Contact
ivelin.andreev@icb.bg
www.linkedin.com/in/ivelin
www.slideshare.net/ivoandreev
Thanks to our Sponsors
Upcoming Events
JSTalks, 2022
Nov 18-19
http://jstalks.net/
Agenda
• Introduction and Terms
• Azure Space Ecosystem
• Setting up Spacecraft Resource
• Setting up Infrastructure
• Consuming Connection
• Orbital Analytics with Synapse
Takeaways
• Azure Space
o https://azure.microsoft.com/en-us/blog/new-satellite-connectivity-and-geospatial-capabilities-with-azure-space
• Summary Videos
o Contact space satellites to access data
o Use Azure Orbital to communicate with satellites
o Azure Orbital Analytics with Power Apps
o Orbital for Geospatial Analytics with Synapse
• Setup Orbital
o https://docs.microsoft.com/en-us/azure/orbital/downlink-aqua
• Geospatial Analytics with Synapse (Samples)
o Ship Detection: https://github.com/microsoft/ShipDetection/
o Building Footprint: https://orca-docs.blackshark.ai/
• AZ Orbital Analytics GitHub
o https://github.com/Azure/Azure-Orbital-Analytics-Samples/blob/main/docs/Glossary.md
o https://github.com/Azure/azure-orbital-integration
Introduction
Satellite/Spacecraft Basics
• Spacecraft
o Vehicle/machine designed to fly in outer space
• Orbit
o Regular, repeating path that one object in space takes around another one
o An object in an orbit is called a satellite
• Uplink/Downlink
o Extremely sensitive antennas on satellite
o Receive from Earth (Uplink), transfer to Earth (Downlink) respectively
• The Challenge
o Setting up a ground station is complex, lengthy and expensive task
o Satellite communication is not straightforward (digitalized RF signal)
• AZ Orbital Ground Station
o Bring satellite data into your cloud environment, where data is securely delivered to your virtual network
Azure Space Ecosystem
Azure Space Ecosystem
• Azure Space
o Services, partnerships and strategy (i.e. Airbus) to integrate cloud and satellite technology
o AZ Space Products: Azure Orbital, Azure Modular Data Center (MDC),
Space Orbital Emulator, SpaceEye, Project Turing
• History
o Azure Orbital (Preview) announced Sep 2020
o Azure Orbital (GA) from 29 Aug 2022
• Benefits
o Collaboration with leading space community companies
o Extend Azure capabilities with space infrastructure
o Accelerate time to insight from Earth observations
o Develop space applications faster
o Develop applications cheaper (shared high gain antennas)
Azure Orbital
• Establishes connection between satellite
networks and the cloud
• One set of APIs across multiple sat. networks
• AZ Orbital GSaaS main parts
o Own Microsoft ground stations
o Partner ground stations
o Processing station to ingress data from satellite
• Orbital Capabilities
o Register a satellite
o Create contact profile
o Schedule contact
GA Announced 29.08.2022
Microsoft Ground Station (Quincy, WA)
Azure Orbital Workflow
1. Register a spacecraft
o Required attributes: NORAD ID, TLE, licensing
2. Create a contact profile
o Set center frequency and bandwidth
o Minimum elevation, auto tracking
3. Schedule contact
o Select spacecraft
o Select contact profile
o Select date/time window
Note: Satellite transfer is 280TB/day!!!
AZ Orbital Setup
Azure Orbital during the Preview
Fill-in AZ Orbital Onboarding form:
https://forms.office.com/r/fk32xNmDyx
Onboard to Azure Orbital Preview URL:
https://aka.ms/orbital/portal
Await a 'Preview Access Granted' email
from Azure Orbital (typically 12 h), use onboarding link even after access granted
Step 1: Microsoft.Orbital Resource Provider
• Register Microsoft.Orbital resource provider
o Subscription > Resource Providers > Microsoft.Orbital (select latest version)
• Provider still not documented
o https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-services-resource-providers
Step 2: The Spacecraft
Spacecraft object definition
• Links (Immutable)
o RF details of center frequency
o Bandwidth MHz
o Polarization (RHCP, LHCP, Linear Vertical)
• Ephemeris (Updatable)
o The latest TLE (two-line element)
o Determines path of antenna to follow during contact
o TLE is prone to expiration and needs to be updated
• Licensing
o Because of regulatory requirements
o Scheduling and contact denied w/o authorization
Spacecraft Configuration
• AZ Portal > Spacecrafts
• NASA’s AQUA public satellite
https://docs.microsoft.com/en-us/azure/orbital/downlink-aqua
Field Value
Subscription Select your subscription
Resource Group Select your resource group
Name Ivo Space 1
Region West US 2
NORAD ID 27424
TLE title line AQUA
TLE line 1 Enter TLE line 1 from Celestrak
TLE line 2 Enter TLE line 2 from Celestrak
https://celestrak.org/NORAD/elements/active.txt
NORAD Two-Line Element Set Format
• TLE data for each satellite consists of three lines in the following format:
Get TLE from Celestrak
• Orbit satellite catalogue and
visualization
• 3D visualization down since
01.09.2022 due to lack of funding
• TLEs available
https://celestrak.org/NORAD/elements/active.txt
• TLE explained
https://celestrak.org/columns/v04n03/
Satellite Links & Deployment
• Define spacecraft's capabilities by adding link configurations
If you have not been onboarded to AZ Orbital, Deployment Failure
{
"status": "Failed",
"error": {
"code": "InvalidResourceType",
"message": "The resource type could not be found in the namespace 'Microsoft.Orbital' for api version '2022-03-01'."
}
}
Spacecraft Authorization/Licensing
• Fill in spacecraft authorization form
https://forms.office.com/r/QbUef0Cmjr
o No “Spacecraft resource authorized” email (Authorization takes ~12h)
o There is/was a bug
• Authorization status is not updated
• But resource JSON shows
Step 3: Other Resources
• VNet
• Subnets
o Set subnet with at least 24 mask
o Set subnet virtual delegation
• Orbital VMs
o OS: Linux (Ubuntu 18.04 or higher)
o Size: at least 32 GiB of RAM (!!! Pricing !!!)
o Ensure that the VM has at least one standard public IP
o Create a tmpfs on the virtual machine.
o Install SOCAT utility
• Prepare VNET for AZ Orbital integration
Azure Bastion subnet
Azure Orbital subnet (delegation)
VM in subnet (NOT OK)
Azure Orbital subnet (delegation)
VM NOT in subnet (OK)
Step 4: Orbital Contact Profile (That was tough!!!)
• Save and reuse contact configurations
o Required before scheduling a contact to ingest data from a satellite into Azure.
o i.e. Min elevation 10 deg, X-band autotrack, PT5M minimum contact
• Create EventHub for telemetry
o Same Sub, RG and Region
o https://docs.microsoft.com/en-us/azure/orbital/contact-profile
o https://docs.microsoft.com/en-us/azure/orbital/downlink-aqua
Event Hubs Ground Station Telemetry
• Grant Azure Orbital the rights to send telemetry
o EventHub > IAM Access Control
o Add Role Assignment to “Azure Event Hubs Data Sender”
o Assign “User, group, or service principal”
o Select “'Azure Orbital Resource Provider”
• Capture to file (.avro) on EventHub
o File stored to AZ Storage
• View capture
o https://dataformat.net/avro/viewer-and-converter
o Body is Base64 encoded
Step 5: Links and Channels
• Link – the whole band with unique polarity and direction
• Channel – specifies frequency, bandwidth, endpoints
• Contact profile sample JSON (check URL for sample values)
o https://docs.microsoft.com/en-us/azure/orbital/concepts-contact-profile
Unique IP
in 49152 – 65535 range
Gain (db) how well the antenna
converts RF signal to el. power
Noise T (deg. K) – eq temperature
to produce noise in a system
Demodulation – broadcast=15Mbps;
playback=150Mbps
Step 6: Schedule Contact
• The Satellite Dish
o Parabolic antenna (6-8m) with a focus in the sky
o Multiple antennas available per site to solve redundancy
• Scheduling
o Triggers antenna movement to follow satellite ($$$)
o Uses TLE to discover satellite position
o TLE expires
o Optimization provided by partners
• Contact
o At connection time ~150Mbit/s of RF signal is digitized
o Data captured raw and unformatted
• Ground services integrated to Azure
Create a Contact
• Scheduling a contact triggers a deployment
• Access will be granted to Microsoft stations only
• Prepare to “listen” shortly before the time of contact
• Start listening on Step 5 port (i.e. 56001) and capture to file
socat -u tcp-listen:56001,fork create:/media/aqua/out.bin
o Verify access to output folder (i.e. use WinSCP tool for remote connection)
o 10 min communication (1GB-10GB) – depends on demodulation configuration
o Once your contact has executed, move the output file from the tmpfs to preserve it
• Note: Operation will fail if using a subnet that is already in use (this includes
the VM). Documentation update shall follow up soon
Step 7: During a Contact
Step 8: Processing Payload
• Instructions
o https://docs.microsoft.com/en-us/azure/orbital/satellite-imagery-with-orbital-ground-station
• Direct Broadcast Data
o Output from all instruments onboard (AQUA has six)
• Realtime Software Telemetry Processing System (RT-STPS) by NASA
o Process Direct Broadcast Data to Level-0 Production Data Set (.pds)
o Only Linux, Installed as a server, near realtime processing
• International Planetary Observation Processing Package (IPOPP) by NASA
o Shall be on separate machines for production workloads than RT-STPS
o Process Level-0 dataset, create Level-1 and Level-2 products
Step 8: Paying for it
• Announced 2022, Aug 29th
Azure Orbital Analytics
• Custom Vision over satellite imagery
• Process earth imagery data
• Extract time series from the observations for
understanding and prediction
Azure Orbital Analytics Reference Architecture
• Capabilities to use AI to discover insights from spaceborn data
o Orbital Analytics for AZ Synapse applies AI over satellite imagery
• Sample Solution Diagram
• Objective 1
o Basic drag-drop tools to build workflow
• Objective 2
o Be open as possible
o Uses Azure Batch (containers not supported)
• Documentation
https://docs.microsoft.com/en-
us/azure/architecture/industries/aeros
pace/geospatial-processing-analytics
Lake Murray, USA, California
Infrastructure Setup
• Instructions (Infrastructure Setup):
o https://github.com/Azure/Azure-Orbital-Analytics-Samples/blob/main/deploy/README.md
• Bicep Template Deployment (~1h)
o Use git bash
o Clone GitHub repo gh repo clone Azure/Azure-Orbital-Analytics-Samples
o Azure login, set subscription az login; az account set -s <subscription_id>
o Run setup.sh ./deploy/setup.sh <envCode> <loc> <pipelineName> <envTag>
o Cleanup - use Cleanup.sh instead of AZ Resource deletion
• Notes
o (fixed) environmentCode shall be unique to avoid conflict as storage account name is generated from its hash
• Now the subscription ID is used which is sufficiently unique (i.e. Orbital did not work)
o Region – you may not be allowed to deploy some services in some regions, (i.e. WEurope instead of WestUS2)
o (fixed) Synapse.sparktool.bicep Spark autoscale minnode count cannot be 1
o (fixed) Synapse deployment may have been created at a previous attempt and may force change environment code
Infrastructure Configuration and Preparation
• Synapse Pipeline for Custom Vision model for object detection from GeoTIFF
• Copy GeoTIFF sample data to storage account (480MB)
o ../deploy/scripts/copy_geotiff.sh [environmentName]
o Location is [environmentName]-data-rg > storage account
• Custom Vision Model
• Option 1: Publicly hosted (Preferred)
• Option 2: Download and host in own container registry
• Option 3: Own model in own container registry
o Synapse Configuration Files (samples)
• https://github.com/Azure/Azure-Orbital-Analytics-Samples/blob/main/deploy/README.md#running-the-pipeline-
custom-vision-model
Azure Synapse (Prerequisites)
1. Instructions (Synapse Prerequisites)
https://docs.microsoft.com/en-us/azure/architecture/industries/aerospace/geospatial-processing-analytics
2. Install Synapse packages
o Select Spark pools > Packages
o Upload …deployenvironment.yml
o Publish changes
3. Check packages by running in a Python notebook
o import pkg_resources for d in pkg_resources.working_set: print(d)
Azure Synapse Pipeline Deployment
• Why Synapse Analytics
o Workflow engine; Integrations out of the box; drag-drop UI
• Pipeline
o Logical group of synapse activities that perform a task
o Takes GeoTIFF images as input
o Runs geospatial analysis with Azure Synapse Analytics
o Produce GeoJSON with coordinate polygons
• Add Pipeline from Gallery
• Gallery Instructions (Pipeline configuration, updated 2022.10.07 21:00 EET, Issue #82)
o https://github.com/Azure/Azure-Orbital-Analytics-Samples/blob/main/deploy/gallery/instructions.md
• Configure Pipeline
o Linked Services – connection strings to data stores for Synapse
Specification JSON (RawData AZ BLOB
Files (RawData Data Lake Storage v2
Dataset (Azure File storage)
Pipeline 1: Transformation
• Instructions
o https://github.com/Azure/Azure-Orbital-Analytics-Samples/blob/main/docs/Pipeline-Activities.md
• Transforms Pipeline
o Foreach file, stitch multiple geotiffs
o Spark job to run Python to crop files
o Convert to PNG
o Python script to transform raw raster geotiff to 512 by 512 tiles of PNGs
o Uses config folder JSON configuration
o [envcode]-data-rg > [storage account] > [envcode]-test-container
• Custom Vision Object Detection
o Copy files, starts custom vision model (pool geolocation), copies the result to AZ storage, object detection in pool
o Pipeline configuration
Pipeline 2 : Object Detection
Thanks to our Sponsors

More Related Content

Similar to Collecting and Analysing Spaceborn Data

Introduction to OpenStack Heat
Introduction to OpenStack HeatIntroduction to OpenStack Heat
Introduction to OpenStack Heat
openstackindia
 

Similar to Collecting and Analysing Spaceborn Data (20)

Getting started with Azure Machine Learning Studio
Getting started with Azure Machine Learning StudioGetting started with Azure Machine Learning Studio
Getting started with Azure Machine Learning Studio
 
SUGCON EU 2023 - Secure Composable SaaS.pptx
SUGCON EU 2023 - Secure Composable SaaS.pptxSUGCON EU 2023 - Secure Composable SaaS.pptx
SUGCON EU 2023 - Secure Composable SaaS.pptx
 
Microsoft Azure News - 2018 October
Microsoft Azure News - 2018 OctoberMicrosoft Azure News - 2018 October
Microsoft Azure News - 2018 October
 
IoT cloud system implemented based on Azure services
IoT cloud system implemented based on Azure servicesIoT cloud system implemented based on Azure services
IoT cloud system implemented based on Azure services
 
FIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart SystemsFIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart Systems
 
Introduction to Orchestration and DevOps with OpenStack
Introduction to Orchestration and DevOps with OpenStackIntroduction to Orchestration and DevOps with OpenStack
Introduction to Orchestration and DevOps with OpenStack
 
Druid at naver.com - part 1
Druid at naver.com - part 1Druid at naver.com - part 1
Druid at naver.com - part 1
 
Paul Angus - what's new in ACS 4.11
Paul Angus - what's new in ACS 4.11Paul Angus - what's new in ACS 4.11
Paul Angus - what's new in ACS 4.11
 
Whats new in Cloudstack 4.11 - behind the headlines
Whats new in Cloudstack 4.11 - behind the headlinesWhats new in Cloudstack 4.11 - behind the headlines
Whats new in Cloudstack 4.11 - behind the headlines
 
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaSAutoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
 
Oracle E-Business Suite On Oracle Cloud
Oracle E-Business Suite On Oracle CloudOracle E-Business Suite On Oracle Cloud
Oracle E-Business Suite On Oracle Cloud
 
VMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPS
VMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPSVMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPS
VMworld 2013: Virtualizing Mission Critical Oracle RAC with vSphere and vCOPS
 
Apidays Paris 2023 - Productizing AsyncAPI for Data Replication and Changed D...
Apidays Paris 2023 - Productizing AsyncAPI for Data Replication and Changed D...Apidays Paris 2023 - Productizing AsyncAPI for Data Replication and Changed D...
Apidays Paris 2023 - Productizing AsyncAPI for Data Replication and Changed D...
 
Why Micro Focus Chose Pulsar for Data Ingestion - Pulsar Summit NA 2021
Why Micro Focus Chose Pulsar for Data Ingestion - Pulsar Summit NA 2021Why Micro Focus Chose Pulsar for Data Ingestion - Pulsar Summit NA 2021
Why Micro Focus Chose Pulsar for Data Ingestion - Pulsar Summit NA 2021
 
Azure SignalR Service, il web socket che tanto ci mancava
Azure SignalR Service, il web socket che tanto ci mancavaAzure SignalR Service, il web socket che tanto ci mancava
Azure SignalR Service, il web socket che tanto ci mancava
 
Oracle Cloud Infrastructure:2020年5月度サービス・アップデート
Oracle Cloud Infrastructure:2020年5月度サービス・アップデートOracle Cloud Infrastructure:2020年5月度サービス・アップデート
Oracle Cloud Infrastructure:2020年5月度サービス・アップデート
 
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for DatabasesDeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
 
Introduction to OpenStack Heat
Introduction to OpenStack HeatIntroduction to OpenStack Heat
Introduction to OpenStack Heat
 
Heat - keep the clouds up
Heat - keep the clouds upHeat - keep the clouds up
Heat - keep the clouds up
 
インフラ野郎Azureチーム Night
インフラ野郎Azureチーム Nightインフラ野郎Azureチーム Night
インフラ野郎Azureチーム Night
 

More from Ivo Andreev

More from Ivo Andreev (20)

Cybersecurity and Generative AI - for Good and Bad vol.2
Cybersecurity and Generative AI - for Good and Bad vol.2Cybersecurity and Generative AI - for Good and Bad vol.2
Cybersecurity and Generative AI - for Good and Bad vol.2
 
Architecting AI Solutions in Azure for Business
Architecting AI Solutions in Azure for BusinessArchitecting AI Solutions in Azure for Business
Architecting AI Solutions in Azure for Business
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and Bad
 
JS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIJS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AI
 
How do OpenAI GPT Models Work - Misconceptions and Tips for Developers
How do OpenAI GPT Models Work - Misconceptions and Tips for DevelopersHow do OpenAI GPT Models Work - Misconceptions and Tips for Developers
How do OpenAI GPT Models Work - Misconceptions and Tips for Developers
 
OpenAI GPT in Depth - Questions and Misconceptions
OpenAI GPT in Depth - Questions and MisconceptionsOpenAI GPT in Depth - Questions and Misconceptions
OpenAI GPT in Depth - Questions and Misconceptions
 
Cutting Edge Computer Vision for Everyone
Cutting Edge Computer Vision for EveryoneCutting Edge Computer Vision for Everyone
Cutting Edge Computer Vision for Everyone
 
Language Studio and Custom Models
Language Studio and Custom ModelsLanguage Studio and Custom Models
Language Studio and Custom Models
 
CosmosDB for IoT Scenarios
CosmosDB for IoT ScenariosCosmosDB for IoT Scenarios
CosmosDB for IoT Scenarios
 
Forecasting time series powerful and simple
Forecasting time series powerful and simpleForecasting time series powerful and simple
Forecasting time series powerful and simple
 
Constrained Optimization with Genetic Algorithms and Project Bonsai
Constrained Optimization with Genetic Algorithms and Project BonsaiConstrained Optimization with Genetic Algorithms and Project Bonsai
Constrained Optimization with Genetic Algorithms and Project Bonsai
 
Azure security guidelines for developers
Azure security guidelines for developers Azure security guidelines for developers
Azure security guidelines for developers
 
Autonomous Machines with Project Bonsai
Autonomous Machines with Project BonsaiAutonomous Machines with Project Bonsai
Autonomous Machines with Project Bonsai
 
Global azure virtual 2021 - Azure Lighthouse
Global azure virtual 2021 - Azure LighthouseGlobal azure virtual 2021 - Azure Lighthouse
Global azure virtual 2021 - Azure Lighthouse
 
Flux QL - Nexgen Management of Time Series Inspired by JS
Flux QL - Nexgen Management of Time Series Inspired by JSFlux QL - Nexgen Management of Time Series Inspired by JS
Flux QL - Nexgen Management of Time Series Inspired by JS
 
Azure architecture design patterns - proven solutions to common challenges
Azure architecture design patterns - proven solutions to common challengesAzure architecture design patterns - proven solutions to common challenges
Azure architecture design patterns - proven solutions to common challenges
 
Industrial IoT on Azure
Industrial IoT on AzureIndustrial IoT on Azure
Industrial IoT on Azure
 
The Power of Auto ML and How Does it Work
The Power of Auto ML and How Does it WorkThe Power of Auto ML and How Does it Work
The Power of Auto ML and How Does it Work
 
Flying a Drone with JavaScript and Computer Vision
Flying a Drone with JavaScript and Computer VisionFlying a Drone with JavaScript and Computer Vision
Flying a Drone with JavaScript and Computer Vision
 
ML with Power BI for Business and Pros
ML with Power BI for Business and ProsML with Power BI for Business and Pros
ML with Power BI for Business and Pros
 

Recently uploaded

JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)
Max Lee
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
Alluxio, Inc.
 

Recently uploaded (20)

Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfImplementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
 
SQL Injection Introduction and Prevention
SQL Injection Introduction and PreventionSQL Injection Introduction and Prevention
SQL Injection Introduction and Prevention
 
JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)
 
AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning Framework
 
AI Hackathon.pptx
AI                        Hackathon.pptxAI                        Hackathon.pptx
AI Hackathon.pptx
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
 
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesGraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
 
Naer Toolbar Redesign - Usability Research Synthesis
Naer Toolbar Redesign - Usability Research SynthesisNaer Toolbar Redesign - Usability Research Synthesis
Naer Toolbar Redesign - Usability Research Synthesis
 
Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by Design
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
 
Malaysia E-Invoice digital signature docpptx
Malaysia E-Invoice digital signature docpptxMalaysia E-Invoice digital signature docpptx
Malaysia E-Invoice digital signature docpptx
 
10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf
 
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAOpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
 
5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdf
 
CompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdfCompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdf
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
 

Collecting and Analysing Spaceborn Data

  • 1. DATA SATURDAY Sofia, Oct 08th Collecting and Analysing Spaceborn Data Ivelin Andreev
  • 2. Speaker Bio • Software Architect @ o Digital Company • Microsoft Azure MVP • External Expert Eurostars-Eureka, Horizon Europe • External Expert InnoFund Denmark, RIF Cyprus • Business Interests o Web Development, SOA, Integration o IoT, Machine Learning o Security & Performance Optimization • Contact ivelin.andreev@icb.bg www.linkedin.com/in/ivelin www.slideshare.net/ivoandreev
  • 3. Thanks to our Sponsors
  • 4. Upcoming Events JSTalks, 2022 Nov 18-19 http://jstalks.net/
  • 5. Agenda • Introduction and Terms • Azure Space Ecosystem • Setting up Spacecraft Resource • Setting up Infrastructure • Consuming Connection • Orbital Analytics with Synapse
  • 6. Takeaways • Azure Space o https://azure.microsoft.com/en-us/blog/new-satellite-connectivity-and-geospatial-capabilities-with-azure-space • Summary Videos o Contact space satellites to access data o Use Azure Orbital to communicate with satellites o Azure Orbital Analytics with Power Apps o Orbital for Geospatial Analytics with Synapse • Setup Orbital o https://docs.microsoft.com/en-us/azure/orbital/downlink-aqua • Geospatial Analytics with Synapse (Samples) o Ship Detection: https://github.com/microsoft/ShipDetection/ o Building Footprint: https://orca-docs.blackshark.ai/ • AZ Orbital Analytics GitHub o https://github.com/Azure/Azure-Orbital-Analytics-Samples/blob/main/docs/Glossary.md o https://github.com/Azure/azure-orbital-integration
  • 8. Satellite/Spacecraft Basics • Spacecraft o Vehicle/machine designed to fly in outer space • Orbit o Regular, repeating path that one object in space takes around another one o An object in an orbit is called a satellite • Uplink/Downlink o Extremely sensitive antennas on satellite o Receive from Earth (Uplink), transfer to Earth (Downlink) respectively • The Challenge o Setting up a ground station is complex, lengthy and expensive task o Satellite communication is not straightforward (digitalized RF signal) • AZ Orbital Ground Station o Bring satellite data into your cloud environment, where data is securely delivered to your virtual network
  • 10. Azure Space Ecosystem • Azure Space o Services, partnerships and strategy (i.e. Airbus) to integrate cloud and satellite technology o AZ Space Products: Azure Orbital, Azure Modular Data Center (MDC), Space Orbital Emulator, SpaceEye, Project Turing • History o Azure Orbital (Preview) announced Sep 2020 o Azure Orbital (GA) from 29 Aug 2022 • Benefits o Collaboration with leading space community companies o Extend Azure capabilities with space infrastructure o Accelerate time to insight from Earth observations o Develop space applications faster o Develop applications cheaper (shared high gain antennas)
  • 11. Azure Orbital • Establishes connection between satellite networks and the cloud • One set of APIs across multiple sat. networks • AZ Orbital GSaaS main parts o Own Microsoft ground stations o Partner ground stations o Processing station to ingress data from satellite • Orbital Capabilities o Register a satellite o Create contact profile o Schedule contact
  • 13. Microsoft Ground Station (Quincy, WA)
  • 14. Azure Orbital Workflow 1. Register a spacecraft o Required attributes: NORAD ID, TLE, licensing 2. Create a contact profile o Set center frequency and bandwidth o Minimum elevation, auto tracking 3. Schedule contact o Select spacecraft o Select contact profile o Select date/time window Note: Satellite transfer is 280TB/day!!!
  • 16. Azure Orbital during the Preview Fill-in AZ Orbital Onboarding form: https://forms.office.com/r/fk32xNmDyx Onboard to Azure Orbital Preview URL: https://aka.ms/orbital/portal Await a 'Preview Access Granted' email from Azure Orbital (typically 12 h), use onboarding link even after access granted
  • 17. Step 1: Microsoft.Orbital Resource Provider • Register Microsoft.Orbital resource provider o Subscription > Resource Providers > Microsoft.Orbital (select latest version) • Provider still not documented o https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-services-resource-providers
  • 18. Step 2: The Spacecraft Spacecraft object definition • Links (Immutable) o RF details of center frequency o Bandwidth MHz o Polarization (RHCP, LHCP, Linear Vertical) • Ephemeris (Updatable) o The latest TLE (two-line element) o Determines path of antenna to follow during contact o TLE is prone to expiration and needs to be updated • Licensing o Because of regulatory requirements o Scheduling and contact denied w/o authorization
  • 19. Spacecraft Configuration • AZ Portal > Spacecrafts • NASA’s AQUA public satellite https://docs.microsoft.com/en-us/azure/orbital/downlink-aqua Field Value Subscription Select your subscription Resource Group Select your resource group Name Ivo Space 1 Region West US 2 NORAD ID 27424 TLE title line AQUA TLE line 1 Enter TLE line 1 from Celestrak TLE line 2 Enter TLE line 2 from Celestrak https://celestrak.org/NORAD/elements/active.txt
  • 20. NORAD Two-Line Element Set Format • TLE data for each satellite consists of three lines in the following format:
  • 21. Get TLE from Celestrak • Orbit satellite catalogue and visualization • 3D visualization down since 01.09.2022 due to lack of funding • TLEs available https://celestrak.org/NORAD/elements/active.txt • TLE explained https://celestrak.org/columns/v04n03/
  • 22. Satellite Links & Deployment • Define spacecraft's capabilities by adding link configurations If you have not been onboarded to AZ Orbital, Deployment Failure { "status": "Failed", "error": { "code": "InvalidResourceType", "message": "The resource type could not be found in the namespace 'Microsoft.Orbital' for api version '2022-03-01'." } }
  • 23. Spacecraft Authorization/Licensing • Fill in spacecraft authorization form https://forms.office.com/r/QbUef0Cmjr o No “Spacecraft resource authorized” email (Authorization takes ~12h) o There is/was a bug • Authorization status is not updated • But resource JSON shows
  • 24. Step 3: Other Resources • VNet • Subnets o Set subnet with at least 24 mask o Set subnet virtual delegation • Orbital VMs o OS: Linux (Ubuntu 18.04 or higher) o Size: at least 32 GiB of RAM (!!! Pricing !!!) o Ensure that the VM has at least one standard public IP o Create a tmpfs on the virtual machine. o Install SOCAT utility • Prepare VNET for AZ Orbital integration Azure Bastion subnet Azure Orbital subnet (delegation) VM in subnet (NOT OK) Azure Orbital subnet (delegation) VM NOT in subnet (OK)
  • 25. Step 4: Orbital Contact Profile (That was tough!!!) • Save and reuse contact configurations o Required before scheduling a contact to ingest data from a satellite into Azure. o i.e. Min elevation 10 deg, X-band autotrack, PT5M minimum contact • Create EventHub for telemetry o Same Sub, RG and Region o https://docs.microsoft.com/en-us/azure/orbital/contact-profile o https://docs.microsoft.com/en-us/azure/orbital/downlink-aqua
  • 26. Event Hubs Ground Station Telemetry • Grant Azure Orbital the rights to send telemetry o EventHub > IAM Access Control o Add Role Assignment to “Azure Event Hubs Data Sender” o Assign “User, group, or service principal” o Select “'Azure Orbital Resource Provider” • Capture to file (.avro) on EventHub o File stored to AZ Storage • View capture o https://dataformat.net/avro/viewer-and-converter o Body is Base64 encoded
  • 27. Step 5: Links and Channels • Link – the whole band with unique polarity and direction • Channel – specifies frequency, bandwidth, endpoints • Contact profile sample JSON (check URL for sample values) o https://docs.microsoft.com/en-us/azure/orbital/concepts-contact-profile Unique IP in 49152 – 65535 range Gain (db) how well the antenna converts RF signal to el. power Noise T (deg. K) – eq temperature to produce noise in a system Demodulation – broadcast=15Mbps; playback=150Mbps
  • 28. Step 6: Schedule Contact • The Satellite Dish o Parabolic antenna (6-8m) with a focus in the sky o Multiple antennas available per site to solve redundancy • Scheduling o Triggers antenna movement to follow satellite ($$$) o Uses TLE to discover satellite position o TLE expires o Optimization provided by partners • Contact o At connection time ~150Mbit/s of RF signal is digitized o Data captured raw and unformatted • Ground services integrated to Azure
  • 29. Create a Contact • Scheduling a contact triggers a deployment • Access will be granted to Microsoft stations only
  • 30. • Prepare to “listen” shortly before the time of contact • Start listening on Step 5 port (i.e. 56001) and capture to file socat -u tcp-listen:56001,fork create:/media/aqua/out.bin o Verify access to output folder (i.e. use WinSCP tool for remote connection) o 10 min communication (1GB-10GB) – depends on demodulation configuration o Once your contact has executed, move the output file from the tmpfs to preserve it • Note: Operation will fail if using a subnet that is already in use (this includes the VM). Documentation update shall follow up soon Step 7: During a Contact
  • 31. Step 8: Processing Payload • Instructions o https://docs.microsoft.com/en-us/azure/orbital/satellite-imagery-with-orbital-ground-station • Direct Broadcast Data o Output from all instruments onboard (AQUA has six) • Realtime Software Telemetry Processing System (RT-STPS) by NASA o Process Direct Broadcast Data to Level-0 Production Data Set (.pds) o Only Linux, Installed as a server, near realtime processing • International Planetary Observation Processing Package (IPOPP) by NASA o Shall be on separate machines for production workloads than RT-STPS o Process Level-0 dataset, create Level-1 and Level-2 products
  • 32. Step 8: Paying for it • Announced 2022, Aug 29th
  • 33. Azure Orbital Analytics • Custom Vision over satellite imagery • Process earth imagery data • Extract time series from the observations for understanding and prediction
  • 34. Azure Orbital Analytics Reference Architecture • Capabilities to use AI to discover insights from spaceborn data o Orbital Analytics for AZ Synapse applies AI over satellite imagery • Sample Solution Diagram • Objective 1 o Basic drag-drop tools to build workflow • Objective 2 o Be open as possible o Uses Azure Batch (containers not supported) • Documentation https://docs.microsoft.com/en- us/azure/architecture/industries/aeros pace/geospatial-processing-analytics
  • 35. Lake Murray, USA, California
  • 36. Infrastructure Setup • Instructions (Infrastructure Setup): o https://github.com/Azure/Azure-Orbital-Analytics-Samples/blob/main/deploy/README.md • Bicep Template Deployment (~1h) o Use git bash o Clone GitHub repo gh repo clone Azure/Azure-Orbital-Analytics-Samples o Azure login, set subscription az login; az account set -s <subscription_id> o Run setup.sh ./deploy/setup.sh <envCode> <loc> <pipelineName> <envTag> o Cleanup - use Cleanup.sh instead of AZ Resource deletion • Notes o (fixed) environmentCode shall be unique to avoid conflict as storage account name is generated from its hash • Now the subscription ID is used which is sufficiently unique (i.e. Orbital did not work) o Region – you may not be allowed to deploy some services in some regions, (i.e. WEurope instead of WestUS2) o (fixed) Synapse.sparktool.bicep Spark autoscale minnode count cannot be 1 o (fixed) Synapse deployment may have been created at a previous attempt and may force change environment code
  • 37. Infrastructure Configuration and Preparation • Synapse Pipeline for Custom Vision model for object detection from GeoTIFF • Copy GeoTIFF sample data to storage account (480MB) o ../deploy/scripts/copy_geotiff.sh [environmentName] o Location is [environmentName]-data-rg > storage account • Custom Vision Model • Option 1: Publicly hosted (Preferred) • Option 2: Download and host in own container registry • Option 3: Own model in own container registry o Synapse Configuration Files (samples) • https://github.com/Azure/Azure-Orbital-Analytics-Samples/blob/main/deploy/README.md#running-the-pipeline- custom-vision-model
  • 38. Azure Synapse (Prerequisites) 1. Instructions (Synapse Prerequisites) https://docs.microsoft.com/en-us/azure/architecture/industries/aerospace/geospatial-processing-analytics 2. Install Synapse packages o Select Spark pools > Packages o Upload …deployenvironment.yml o Publish changes 3. Check packages by running in a Python notebook o import pkg_resources for d in pkg_resources.working_set: print(d)
  • 39. Azure Synapse Pipeline Deployment • Why Synapse Analytics o Workflow engine; Integrations out of the box; drag-drop UI • Pipeline o Logical group of synapse activities that perform a task o Takes GeoTIFF images as input o Runs geospatial analysis with Azure Synapse Analytics o Produce GeoJSON with coordinate polygons • Add Pipeline from Gallery • Gallery Instructions (Pipeline configuration, updated 2022.10.07 21:00 EET, Issue #82) o https://github.com/Azure/Azure-Orbital-Analytics-Samples/blob/main/deploy/gallery/instructions.md • Configure Pipeline o Linked Services – connection strings to data stores for Synapse Specification JSON (RawData AZ BLOB Files (RawData Data Lake Storage v2 Dataset (Azure File storage)
  • 40. Pipeline 1: Transformation • Instructions o https://github.com/Azure/Azure-Orbital-Analytics-Samples/blob/main/docs/Pipeline-Activities.md • Transforms Pipeline o Foreach file, stitch multiple geotiffs o Spark job to run Python to crop files o Convert to PNG o Python script to transform raw raster geotiff to 512 by 512 tiles of PNGs o Uses config folder JSON configuration o [envcode]-data-rg > [storage account] > [envcode]-test-container
  • 41. • Custom Vision Object Detection o Copy files, starts custom vision model (pool geolocation), copies the result to AZ storage, object detection in pool o Pipeline configuration Pipeline 2 : Object Detection
  • 42. Thanks to our Sponsors