Introduction to project ORAS

Microsoft Developer · Beginner ·☁️ DevOps & Cloud ·2y ago

Key Takeaways

Introduces project ORAS and its role in the container ecosystem

Full Transcript

[Music] hey everyone uh we have another episode of open at Microsoft today I'm tody and I'm sitting today with sa uh we are both on the Azure containers team and we will talk about AAS so s what is oras all right so oras as it stands is oci registry of storage and let's talk about the registry first I think it's important to understand uh how contain ERS kind of like move so and we are talking about container registry right right container registry just to make sure yes that's good to clarify so um so you you kind of build a container and then you need to store it somewhere and that would be the registry um the interesting aspect is that the registry implements uh what is called as the distribution specification and it's not just about containers it's uh a generic content addressable store uh and what that is is you can identify um content in that registry through a digest and it is um pretty much immutable in many ways are you saying that I can store other stuff not only images in the Registries yes and that's why it's called the distribution spec it's not just image uh storage spec or something like that so um what what we learned along the way is that you have containers that you run in production right so you need to deploy them somehow and deployments uh one example of how you can uh talk about a deployment is through a Helm chart so okay when you yeah go can I the so can I store the helm chart also in the registry exactly so you can have your container image and you can Define your deployment of Helm chart and store that along with your image is what we kind of like slowly discovered that will make it more useful right so can you like tell me a little bit about the history of oras how did it start uh so so maybe if you look back at uh the history you can I would like to first of all thank uh two people one is Josh dolitzky and the other Shu Zang uh Josh is a to member on oci and shu is member of the ACR team they had a lot of collaboration and they came up with oras but before oras happened uh Josh was working on chart Museum which is about storing Helm charts and I remember that yeah and so you want to store a Helm chart and so uh from Azure side we kind of like implemented storing Helm charts in ACR that those were two different apis right so one was for chart storage and the other one was the kind of the uh registry or distribution V2 that came out of Docker right exactly so now we have to manage two apis right and then we figured out that the registry API is actually pretty uh uh what do you say pretty ubiquitous in many ways like you can use it to store multiple content types so why not kind of like unify the apis so that's where we start with the AAS project and Josh and Shu kind of like started writing this up and showing the experience we were pretty excited because you could store anything almost in the registry going forward and that's when the change happened between Helm 2 and Helm 3 and so Helm 3 was supporting the oci um yes so Helm 2 would uh was was a Helm was was the traditional helmm chart the way I remember it as uh Helm 3 started supporting oci registry as storage so they introduced commands that enable storing it directly into the registry and the auras uh libraries were used inside Helm um just kind of like walking the timeline I think it's important to look at how we drove the rest of uh container ecosystem to use uh the registry to store other artifacts so if you kind of look back you can see that uh there's also an oci working group that got created which help helped I was going to ask you about the oci involvement also so the idea was that uh the oci group understood that we are storing more than just images and why don't we kind of formalize it right and um the aura's uh uh what do you say uh specification uh or the aura's model of storing an artifact became a specification that was donated as a part of the working group to oci and that's one of the proposals that was there in the oi working group and so today if you look back we are helping Define how artifacts or non-container images will be stored in the registry can we actually can you show me how it works so sure short demo storing like simple text file or because you said we can store everything right all right all right let's let's let's get to the demo I I think you're really really interested in the demo yeah I am so um jumping back here first of all uh maybe I should give some context here uh I'm running a local registry which is which will help me kind of like uh use oras as a CLI so let's go ahead and create a simple artifact and in this case maybe I'll give some context which is um here I'm going to create a simple text file and the idea is that that text file is your artifact it's not a container image right so let's kind of see what's in the text file it's nothing but a simple hello world now let's go ahead and push um this artifact to my local registry and I'm going to specify an artifact type of application example the artifact type is what we call as an ion type and why why is the artifact type important so why right so what we understood is that the image has uh we understand the image as a container image or a Docker image or an oci image um uh that is useful for uh container run times this artifact is useful for different kinds of CIS and tools so we we need to kind of like let let the registry know that what type is it so that you can then query that and work with that specific data type rather than just everything is a container image uh secure supply chain is very popular right now in the in the industry are you saying that I can store artifacts that are related to the secure supply chain absolutely and I think interestingly oras artifacts were used before this whole secure supply chain industry kind of like uh started kicking in so M we we quickly realize that people want to store signatures people want to store s bombs they want to store Source or any any other kind of thing along with the image uh and so that's where we find the value of artifacts going forward because you have a storage that is that spans the same API across clouds right you go to ECR ACR dockerhub you have a registry and that will be supported by all Registries right right and so making this a specification hopefully we will have other providers Implement storing artifacts um along with images going forward because you don't have to invent yet another API for this let's see how we going to push the text file to the all right so in this in this I've just pushed the text file and you can see that there is a digest for this text file right so let's kind of look at we use your CLI to verify that this image has been pushed and you can see that there is a repository called hello uh and then this uh repository should have a t that we've just pushed which should be hello latest right and so you can see that we can use a CLI to query for repositories query for tags um and underlying it's using the distribution API so this should work across any registry not just my local registry yeah yeah that that's actually very cool how how do I pull it back all right so I'm going to jump into just looking at what the Manifest is here so that I can kind of describe oh the that's the the artifact uses manifest s were to actually the image manifest right so the image manifest is nothing but a Json blob that describes what the image is and in our case it would be what the artifact is uh so just kind of paying attention to uh here you can see that I have uh the example application that uh I have just uploaded and then that's what you push when you push that's the that's the artifact type exactly and now you can see that there is a title uh which is the hello text which we just pushed as well that's the name of the file that you actually pushed and and the layer is going to be the tar layer for that specific uh text file so you can see that um any content can be uploaded to the registry uh using the schema right uh and now back to answer your question let's see how we can pull this right I think that's what you are asking so I'm going to remove the text file from my logo file system and then go ahead and use auras to pull the image uh which is sorry I should I should have said pull the artifact not pull the image right so here I'm pulling the artifact hello latest and just like an image pull it goes ahead and pulls the content back down and I can see that uh my text file is now local so I think that that summarizes the pull and the push part that's pretty cool so uh now I can push actually anything to the registry right I can push ISO images for VMS I can push you said s bombs text files C pictures all other stuff all are all the specification was WR with cat pictures if you want to know so we we use cat pictures as a way to not offend anybody but get get the community excited as as as an example in oi well that's that's very interesting so um maybe we can actually SK have another episode where we can talk a little bit deeper because I'm very interested in the uh supply chain for software uh because that's one area I work on so maybe next time we can talk about how we can actually use AAS to submit or push Supply definitely definitely and I'm excited to show you how what more we can do with the CLI and the and the libraries going forward okay thank you and I hope that you found this helpful and we'll see you next time

Original Description

Join Toddy Mladenov (Cloud Native + Ecosystem) and Sajay Antony (Azure Container Registry) to learn about the ORAS project and its role in the container ecosystem. In this episode you will learn about the history of the project and how it influenced the work to store artifacts in OCI registries. You will also a see a demo of storing arbitrary artifacts in a registry. Find the latest info about the open-source ORAS project available at: https://github.com/oras-project You can check out these resources for more information. ORAS: OCI Registry As Storage | OCI Registry As Storage (oras.land) Slack Channel: https://cloud-native.slack.com/archives/CJ1KHJM5Z Demo: sajayantony/oras-demos (github.com) 00:00:00 Introduction 00:00:30 How Registry works 00:02:04 A bit of history 00:04:41 Demo how it works 📌 Let's connect: Toddy | https://linkedin.com/in/toddysm Sajay | https://www.linkedin.com/in/sajayantony/ Subscribe to the Open at Microsoft: https://aka.ms/OpenAtMicrosoft Open at Microsoft Playlist: https://aka.ms/OpenAtMicrosoftPlaylist New episode every Tuesday!
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from Microsoft Developer · Microsoft Developer · 49 of 60

1 Prepare for the DP-300 exam & the Azure Database Administrator Associate cert | Data Exposed
Prepare for the DP-300 exam & the Azure Database Administrator Associate cert | Data Exposed
Microsoft Developer
2 What I Wish I Knew ... about landing a job in tech
What I Wish I Knew ... about landing a job in tech
Microsoft Developer
3 Igniting Developer Innovation with Vector Search
Igniting Developer Innovation with Vector Search
Microsoft Developer
4 Combining the power of vector search with Azure OpenAI then revolutionize image search with vectors!
Combining the power of vector search with Azure OpenAI then revolutionize image search with vectors!
Microsoft Developer
5 What I Wish I Knew ... about finding your place in tech
What I Wish I Knew ... about finding your place in tech
Microsoft Developer
6 Fluent UI React Insights: Accessible by default
Fluent UI React Insights: Accessible by default
Microsoft Developer
7 Signing Container Images with Notary Project
Signing Container Images with Notary Project
Microsoft Developer
8 What I Wish I Knew ... about finding your place in tech
What I Wish I Knew ... about finding your place in tech
Microsoft Developer
9 What programming languages does GitHub Copilot support?
What programming languages does GitHub Copilot support?
Microsoft Developer
10 What I Wish I Knew ... about how much your job can change
What I Wish I Knew ... about how much your job can change
Microsoft Developer
11 What I Wish I Knew ... about how much your job can change
What I Wish I Knew ... about how much your job can change
Microsoft Developer
12 How do I become more confident about AI?
How do I become more confident about AI?
Microsoft Developer
13 How do I become more confident about AI?
How do I become more confident about AI?
Microsoft Developer
14 Performance Demos of SQL’s Intelligent Query Processing Feedback capabilities | Data Exposed
Performance Demos of SQL’s Intelligent Query Processing Feedback capabilities | Data Exposed
Microsoft Developer
15 What I Wish I Knew ... about coming to Microsoft
What I Wish I Knew ... about coming to Microsoft
Microsoft Developer
16 What I Wish I Knew ... about coming to Microsoft
What I Wish I Knew ... about coming to Microsoft
Microsoft Developer
17 Revolutionizing Image Search with Vectors
Revolutionizing Image Search with Vectors
Microsoft Developer
18 Igniting developer innovation with Vector search and Azure OpenAI
Igniting developer innovation with Vector search and Azure OpenAI
Microsoft Developer
19 Getting Started with Azure AI Studio's Prompt Flow - Part 2
Getting Started with Azure AI Studio's Prompt Flow - Part 2
Microsoft Developer
20 What I Wish I Knew ... about finding my career path
What I Wish I Knew ... about finding my career path
Microsoft Developer
21 What I Wish I Knew ... about finding my career path
What I Wish I Knew ... about finding my career path
Microsoft Developer
22 Windows Terminal's journey to Open Source
Windows Terminal's journey to Open Source
Microsoft Developer
23 Can I trust the code that GitHub Copilot generates?
Can I trust the code that GitHub Copilot generates?
Microsoft Developer
24 What I Wish I Knew ... about interviewing
What I Wish I Knew ... about interviewing
Microsoft Developer
25 What I Wish I Knew ... about interviewing
What I Wish I Knew ... about interviewing
Microsoft Developer
26 What is the Microsoft TechSpark Program?
What is the Microsoft TechSpark Program?
Microsoft Developer
27 SQL Server 2022: Accelerate query performance while reducing query compile time - w/ no code changes
SQL Server 2022: Accelerate query performance while reducing query compile time - w/ no code changes
Microsoft Developer
28 What I Wish I Knew ... about discovering computer science
What I Wish I Knew ... about discovering computer science
Microsoft Developer
29 What I Wish I Knew ... about discovering computer science
What I Wish I Knew ... about discovering computer science
Microsoft Developer
30 Call center transcription and analysis using Azure AI
Call center transcription and analysis using Azure AI
Microsoft Developer
31 How to use Text Analytics for health in Azure AI Language
How to use Text Analytics for health in Azure AI Language
Microsoft Developer
32 Azure OpenAI-powered summarization in Azure AI Language
Azure OpenAI-powered summarization in Azure AI Language
Microsoft Developer
33 Accelerate data labeling using Azure OpenAI and Azure AI Language
Accelerate data labeling using Azure OpenAI and Azure AI Language
Microsoft Developer
34 Building a Private ChatGPT with Azure OpenAI
Building a Private ChatGPT with Azure OpenAI
Microsoft Developer
35 What I Wish I Knew ... about how to interview
What I Wish I Knew ... about how to interview
Microsoft Developer
36 What I Wish I Knew ... about how to interview
What I Wish I Knew ... about how to interview
Microsoft Developer
37 Getting Started with Azure AI Studio's Prompt Flow - Part 3
Getting Started with Azure AI Studio's Prompt Flow - Part 3
Microsoft Developer
38 Intelligent Apps with Azure Kubernetes Service (AKS)
Intelligent Apps with Azure Kubernetes Service (AKS)
Microsoft Developer
39 Getting Started with Azure Blob Storage | Data Exposed: MVP Edition
Getting Started with Azure Blob Storage | Data Exposed: MVP Edition
Microsoft Developer
40 Chat + Your Data + Plugins
Chat + Your Data + Plugins
Microsoft Developer
41 What I Wish I Knew ... about different career paths
What I Wish I Knew ... about different career paths
Microsoft Developer
42 What I Wish I Knew ... about different career paths
What I Wish I Knew ... about different career paths
Microsoft Developer
43 Advanced Dev Tunnels Features | OD122
Advanced Dev Tunnels Features | OD122
Microsoft Developer
44 Learn Live - Manage performance and availability in Azure Cosmos DB for PostgreSQL
Learn Live - Manage performance and availability in Azure Cosmos DB for PostgreSQL
Microsoft Developer
45 Plan your SQL Migration to Azure with confidence | Data Exposed
Plan your SQL Migration to Azure with confidence | Data Exposed
Microsoft Developer
46 What I Wish I Knew ... about social skills in a tech career
What I Wish I Knew ... about social skills in a tech career
Microsoft Developer
47 What I Wish I Knew ... about social skills in a tech career
What I Wish I Knew ... about social skills in a tech career
Microsoft Developer
48 All About Vectors, Search, and Function Calling in Azure OpenAI - Labor Day Special
All About Vectors, Search, and Function Calling in Azure OpenAI - Labor Day Special
Microsoft Developer
Introduction to project ORAS
Introduction to project ORAS
Microsoft Developer
50 What I Wish I Knew ... about finding the right major
What I Wish I Knew ... about finding the right major
Microsoft Developer
51 What I Wish I Knew ... about finding the right major
What I Wish I Knew ... about finding the right major
Microsoft Developer
52 What I Wish I Knew ... about how to approach programming
What I Wish I Knew ... about how to approach programming
Microsoft Developer
53 What I Wish I Knew ... about how to approach programming
What I Wish I Knew ... about how to approach programming
Microsoft Developer
54 Learn Live - Scale from a single node to multiple nodes with Azure Cosmos DB for PostgreSQL
Learn Live - Scale from a single node to multiple nodes with Azure Cosmos DB for PostgreSQL
Microsoft Developer
55 What I Wish I Knew ... about diversity in tech #1
What I Wish I Knew ... about diversity in tech #1
Microsoft Developer
56 What I Wish I Knew ... about diversity in tech #1
What I Wish I Knew ... about diversity in tech #1
Microsoft Developer
57 Get started with SQL Server AGs across Windows, Linux and Container Replicas | Data Exposed
Get started with SQL Server AGs across Windows, Linux and Container Replicas | Data Exposed
Microsoft Developer
58 Writing LLM Apps with Azure AI and PromptFlow
Writing LLM Apps with Azure AI and PromptFlow
Microsoft Developer
59 What I Wish I Knew ... about how cool working in tech could be
What I Wish I Knew ... about how cool working in tech could be
Microsoft Developer
60 Open Source foundation models in Azure Machine Learning & optimization techniques behind the scenes
Open Source foundation models in Azure Machine Learning & optimization techniques behind the scenes
Microsoft Developer

Related Reads

📰
Run the Readiness Audit Before You Flip DNS
Run a readiness audit before flipping DNS to catch critical bugs and prevent downtime
Dev.to · Jeremy Longshore
📰
Automate Deployment Testing | 🏗️ Build A Version Management System
Learn to automate deployment testing and build a version management system to streamline your development workflow
Dev.to · Ntombizakhona Mabaso
📰
Cómo probar correos de aprobación en Terraform sin tocar bandejas reales
Learn to test approval emails in Terraform without touching real inboxes, ensuring infrastructure flow validation and trazabilidad
Dev.to · Alex Carter
📰
Elasticsearch LogsDB: A Simple Change That Reduced Storage by 40%
Learn how Elasticsearch's LogsDB reduced storage by 40% with a simple change, and apply similar strategies to your own logging infrastructure
Medium · DevOps

Chapters (4)

Introduction
0:30 How Registry works
2:04 A bit of history
4:41 Demo how it works
Up next
Containers on Amazon ECS with Mama J
AWS Developers
Watch →