diff --git a/README.md b/README.md index 7e38b253de2..88124f019fb 100644 --- a/README.md +++ b/README.md @@ -68,10 +68,11 @@ [build-url]: https://github.com/zenml-io/zenml/actions/workflows/ci.yml
-

Build portable, production-ready MLOps pipelines.

+ +

Create an MLOps workflow for your entire team.

- Join our + Join our Slack Slack Community and be part of the ZenML family.
@@ -82,13 +83,13 @@ · Report Bug · - Vote New Features + Sign up for Cloud · Read Blog · Contribute to Open Source · - Meet the Team + Projects Showcase

🎉 Version 0.55.3 is out. Check out the release notes @@ -104,21 +105,15 @@
🏁 Table of Contents
    -
  1. Introduction
  2. -
  3. Quickstart
  4. +
  5. Introduction
  6. +
  7. Quickstart
  8. - Create your own MLOps Platform - + Learning
  9. -
  10. Roadmap
  11. -
  12. Contributing and Community
  13. -
  14. Getting Help
  15. -
  16. License
  17. +
  18. Roadmap
  19. +
  20. Contributing and Community
  21. +
  22. Getting Help
  23. +
  24. License
@@ -141,17 +136,46 @@ experimentation while writing code that is production-ready from the get-go. - 🛫 ZenML enables MLOps infrastructure experts to define, deploy, and manage sophisticated production environments that are easy to use for colleagues. -![The long journey from experimentation to production.](/docs/book/.gitbook/assets/intro-zenml-overview.png) - -ZenML provides a user-friendly syntax designed for ML workflows, compatible with -any cloud or tool. It enables centralized pipeline management, enabling -developers to write code once and effortlessly deploy it to various -infrastructures. -
- + ZenML Hero
+# 🛠️ Why ZenML? + +![Walkthrough of ZenML Model Control Plane (Dashboard available only on ZenML Cloud)](/docs/book/.gitbook/assets/mcp_walkthrough.gif) + +ZenML offers a systematic approach to structuring your machine learning codebase for a seamless transition to production. It's an ideal solution for teams grappling with establishing an internal standard for coordinating ML operations. ZenML provides not just a tool, but a workflow strategy that guides you in integrating all your tools and infrastructure effectively. + +Use ZenML if: + +- You need to easily automate ML workflows on services like an Airflow cluster or AWS Sagemaker Pipelines. +- Your ML tasks require repeatability and reproducibility. +- Automating and standardizing ML workflows across your team is a challenge. +- Your team integrates multiple tools with no central platform. +- You'd like a single place to track data, code, configuration, and models along with your cloud artifact storage. +- Collaboration and hand-overs between multiple teams is difficult. + +# ☄️ What makes ZenML different? + +![Before and after ZenML](/docs/book/.gitbook/assets/zenml-why.png) + +ZenML marries the capabilities of a classic pipeline tool like [Airflow](https://airflow.apache.org/) and a metadata tracking service like [MLflow](https://mlflow.org/). Furthermore, both these types of tools can seamlessly co-exist with ZenML, providing a comprehensive, end-to-end ML experience. + +It excels at: + +- Enabling creation of simple, pythonic [ML pipelines](https://docs.zenml.io/user-guide/starter-guide/create-an-ml-pipeline) that function locally and on any [orchestration backend](https://docs.zenml.io/user-guide/production-guide/cloud-orchestration). +- Automating versioning of [data](https://docs.zenml.io/user-guide/starter-guide/manage-artifacts) and [models](https://docs.zenml.io/user-guide/starter-guide/track-ml-models) on [remote artifact storage like S3](https://docs.zenml.io/user-guide/production-guide/remote-storage). +- Abstracting infrastructure and run configuration from code through a [simple YAML config](https://docs.zenml.io/user-guide/advanced-guide/pipelining-features/configure-steps-pipelines). +- Logging complex [metadata](https://docs.zenml.io/user-guide/advanced-guide/data-management/logging-metadata) for models and artifacts. +- Automatically containerizing and deploying your workflows to the cloud, connected to your [code repository](https://docs.zenml.io/user-guide/production-guide/connect-code-repository). +- Connecting your [secret store](https://docs.zenml.io/user-guide/advanced-guide/secret-management) to your ML workflows. + +However, ZenML doesn't: + +- Automatically create visuals and track experiments: It [integrates with experiment trackers](https://docs.zenml.io/stacks-and-components/component-guide/experiment-trackers) that specialize in this task. +- Package and deploy models: ZenML catalogs models and metadata, streamlining model deployment. Refer to [ZenML model deployers](https://docs.zenml.io/stacks-and-components/component-guide/model-deployers) for more information. +- Handle distributed computation: While ZenML pipelines scale vertically with ease, it [works with tools like Spark](https://docs.zenml.io/stacks-and-components/component-guide/step-operators/spark-kubernetes) for intricate distributed workflows. + # 🤸 Quickstart [Install ZenML](https://docs.zenml.io/getting-started/installation) via @@ -167,22 +191,18 @@ Take a tour with the guided quickstart by running: zenml go ``` -# 🖼️ Create your own MLOps Platform - -ZenML allows you to create and manage your own MLOps platform using -best-in-class open-source and cloud-based technologies. Here is an example of -how you could set this up for your team: - -## 🔋 1. Deploy ZenML +# 🔋 Deploy ZenML For full functionality ZenML should be deployed on the cloud to enable collaborative features as the central MLOps interface for teams. -![ZenML Architecture Diagram.](docs/book/.gitbook/assets/Scenario3.png) +
+ ZenML Architecture Diagram. +
Currently, there are two main options to deploy ZenML: -- **ZenML Cloud**: With [ZenML Cloud](https://docs.zenml.io/deploying-zenml/zenml-cloud), +- **ZenML Cloud**: With [ZenML Cloud](cloud.zenml.io/?utm_source=readme&utm_medium=referral_link&utm_campaign=cloud_promotion&utm_content=signup_link), you can utilize a control plane to create ZenML servers, also known as tenants. These tenants are managed and maintained by ZenML's dedicated team, alleviating the burden of server management from your end. @@ -192,73 +212,16 @@ ZenML on your own self-hosted environment](https://docs.zenml.io/deploying-zenml This can be achieved through various methods, including using our CLI, Docker, Helm, or HuggingFace Spaces. -## 👨‍🍳 2. Deploy Stack Components - -ZenML boasts a ton of [integrations](https://zenml.io/integrations) into -popular MLOps tools. The [ZenML Stack](https://docs.zenml.io/user-guide/starter-guide/understand-stacks) -concept ensures that these tools work nicely together, therefore bringing -structure and standardization into the MLOps workflow. +# 🖼️ Learning -Deploying and configuring this is super easy with ZenML. For **AWS**, this might -look a bit like this +The best way to learn about ZenML is the [docs](https://docs.zenml.io). We recommend beginning with the [Starter Guide](https://docs.zenml.io/user-guide/starter-guide) to get up and running quickly. -```bash -# Deploy and register an orchestrator and an artifact store -zenml orchestrator deploy kubernetes_orchestrator --flavor kubernetes --cloud aws -zenml artifact-store deploy s3_artifact_store --flavor s3 - -# Register this combination of components as a stack -zenml stack register production_stack --orchestrator kubernetes_orchestrator --artifact-store s3_artifact_store --set # Register your production environment -``` +For inspiration, here are some other examples and use cases: -When you run a pipeline with this stack set, it will be running on your deployed -Kubernetes cluster. - -You can also [deploy your own tooling manually](https://docs.zenml.io/stacks-and-components/stack-deployment). - -## 🏇 3. Create a Pipeline - -Here's an example of a hello world ZenML pipeline in code: - -```python -# run.py -from zenml import pipeline, step - - -@step -def step_1() -> str: - """Returns the `world` substring.""" - return "world" - - -@step -def step_2(input_one: str, input_two: str) -> None: - """Combines the two strings at its input and prints them.""" - combined_str = input_one + ' ' + input_two - print(combined_str) - - -@pipeline -def my_pipeline(): - output_step_one = step_1() - step_2(input_one="hello", input_two=output_step_one) - - -if __name__ == "__main__": - my_pipeline() -``` - -```bash -python run.py -``` - -## 👭 4. Start the Dashboard - -Open up the ZenML dashboard using this command. - -```bash -zenml show -``` +1. [E2E Batch Inference](examples/e2e/): Feature engineering, training, and inference pipelines for tabular machine learning. +2. [Basic NLP with BERT](examples/e2e_nlp/): Feature engineering, training, and inference focused on NLP. +3. [LLM RAG Pipeline with Langchain and OpenAI](https://github.com/zenml-io/zenml-projects/tree/main/llm-agents): Using Langchain to create a simple RAG pipeline. +4. [Huggingface Model to Sagemaker Endpoint](https://github.com/zenml-io/zenml-projects/tree/main/huggingface-sagemaker): Automated MLOps on Amazon Sagemaker and HuggingFace. # 🗺 Roadmap @@ -266,14 +229,14 @@ ZenML is being built in public. The [roadmap](https://zenml.io/roadmap) is a regularly updated source of truth for the ZenML community to understand where the product is going in the short, medium, and long term. -ZenML is managed by a [core team](https://zenml.io/company#CompanyTeam) of +ZenML is managed by a [core team](https://zenml.io/company) of developers that are responsible for making key decisions and incorporating feedback from the community. The team oversees feedback via various channels, and you can directly influence the roadmap as follows: - Vote on your most wanted feature on our [Discussion board](https://zenml.io/discussion). -- Start a thread in our [Slack channel](https://zenml.io/slack-invite). +- Start a thread in our [Slack channel](https://zenml.io/slack). - [Create an issue](https://github.com/zenml-io/zenml/issues/new/choose) on our GitHub repo. @@ -291,12 +254,12 @@ Guide](CONTRIBUTING.md) for all relevant details. The first point of call should be [our Slack group](https://zenml.io/slack-invite/). Ask your questions about bugs or specific use cases, and someone from -the [core team](https://zenml.io/company#CompanyTeam) will respond. +the [core team](https://zenml.io/company) will respond. Or, if you prefer, [open an issue](https://github.com/zenml-io/zenml/issues/new/choose) on our GitHub repo. -# Vulnerability affecting `zenml<0.67` (CVE-2024-25723) +# Vulnerability affecting `zenml<0.46.7` (CVE-2024-25723) We have identified a critical security vulnerability in ZenML versions prior to 0.46.7. This vulnerability potentially allows unauthorized users to take diff --git a/docs/book/.gitbook/assets/zenml-cloud-tenant-overview.png b/docs/book/.gitbook/assets/zenml-cloud-tenant-overview.png new file mode 100644 index 00000000000..92b62294394 Binary files /dev/null and b/docs/book/.gitbook/assets/zenml-cloud-tenant-overview.png differ diff --git a/docs/book/.gitbook/assets/zenml-hero.png b/docs/book/.gitbook/assets/zenml-hero.png new file mode 100644 index 00000000000..6b3680d6475 Binary files /dev/null and b/docs/book/.gitbook/assets/zenml-hero.png differ diff --git a/docs/book/.gitbook/assets/zenml-why.png b/docs/book/.gitbook/assets/zenml-why.png new file mode 100644 index 00000000000..f6950394e75 Binary files /dev/null and b/docs/book/.gitbook/assets/zenml-why.png differ diff --git a/docs/book/deploying-zenml/zenml-cloud/cloud-system-architecture.md b/docs/book/deploying-zenml/zenml-cloud/cloud-system-architecture.md index 0f0e63006e8..a3c43a942f4 100644 --- a/docs/book/deploying-zenml/zenml-cloud/cloud-system-architecture.md +++ b/docs/book/deploying-zenml/zenml-cloud/cloud-system-architecture.md @@ -5,7 +5,7 @@ description: Different variations of the ZenML Cloud architecture depending on y # System Architecture {% hint style="info" %} -If you would like to evaluate ZenML Cloud, please [book a demo](https://zenml.io/book-a-demo) and we can help you decide what scenario suits you best! +If you're interested in assessing ZenML Cloud, you can create a [free account](https://cloud.zenml.io/?utm_source=docs&utm_medium=referral_link&utm_campaign=cloud_promotion&utm_content=signup_link), which defaults to a [Scenario 1](#scenario-1-full-saas) deployment. To upgrade to different scenarios, please [reach out to us](mailto:cloud@zenml.io). {% endhint %} Machine learning often involves data that is sensitive and thus data security is a fundamental requirement. The ZenML Cloud is flexible enough to meet your security requirements, from easy installations to completely airgapped deployments. @@ -16,7 +16,7 @@ The ZenML Cloud consists of the following moving pieces: * **Single Sign-On (SSO)**: The ZenML Cloud API is integrated with [Auth0](https://auth0.com/) as an SSO provider to manage user authentication and authorization. Users can log in to the ZenML Cloud dashboard using their social media accounts or their corporate credentials. * **Secrets Store**: All secrets and credentials required to access customer infrastructure services are stored in a secure secrets store. The ZenML Cloud API has access to these secrets and uses them to access customer infrastructure services on behalf of the ZenML Cloud. The secrets store can be hosted either by the ZenML Cloud or by the customer. * **ML Metadata Store**: This is where all ZenML metadata is stored, including ML metadata such as tracking and versioning information about pipelines and models. -* **ZenML Cloud Agent**: This service is optionally deployed customer-side, and interacts with customer MLOps stack components on behalf of the remote ZenML Cloud control plane. +* **ZenML Cloud Agent (Optional)**: This service is optionally deployed customer-side, and interacts with customer MLOps stack components on behalf of the remote ZenML Cloud control plane. The above five interact with other MLOps stack components, secrets, and data in varying scenarios described below. @@ -78,6 +78,6 @@ Here is a concrete example of how this works: In this scenario, all services, data, and secrets are deployed on the customer cloud. This is the opposite of Scenario 1, and is meant for customers who require completely airgapped deployments, for the tightest security standards. -Are you interested in the ZenML Cloud? While in beta, we're looking for early adopters to talk to! [Sign up](https://cloud.zenml.io) and get access to Scenario 1. with a free 30 day trial now! +Are you interested in the ZenML Cloud? While in beta, we're looking for early adopters to talk to! [Sign up](https://cloud.zenml.io/?utm_source=docs&utm_medium=referral_link&utm_campaign=cloud_promotion&utm_content=signup_link) and get access to Scenario 1. with a free 30 day trial now!
ZenML Scarf
diff --git a/docs/book/deploying-zenml/zenml-cloud/zenml-cloud.md b/docs/book/deploying-zenml/zenml-cloud/zenml-cloud.md index dc249f57ad3..121bcaab548 100644 --- a/docs/book/deploying-zenml/zenml-cloud/zenml-cloud.md +++ b/docs/book/deploying-zenml/zenml-cloud/zenml-cloud.md @@ -4,28 +4,44 @@ description: Your one-stop MLOps control plane. # ☁ ZenML Cloud -ZenML Cloud is a Software-as-a-Service (SaaS) platform that extends the capabilities of the open-source ZenML product. It provides you with a centralized control plane to effortlessly launch and manage their ZenML server instances. The core foundation of ZenML Cloud remains the powerful open-source offering, but with ZenML Cloud, you gain access to a host of additional features designed to streamline the machine learning workflow. +One of the most straightforward paths to start with a deployed ZenML server is to use [ZenML Cloud](https://zenml.io/cloud). ZenML Cloud eliminates the need for you to dedicate time and resources to deploy and manage a ZenML server, allowing you to focus primarily on your MLOps workflows.
- -

An architectural overview of the ZenML Cloud

- +

ZenML Cloud comes equipped with a powerful cloud-only dashboard

+{% hint style="info" %} +If you're interested in assessing ZenML Cloud, you can simply create a [free account](https://cloud.zenml.io/?utm_source=docs&utm_medium=referral_link&utm_campaign=cloud_promotion&utm_content=signup_link). Learn more about ZenML Cloud on the [ZenML Website](https://zenml.io/cloud). +{% endhint %} + ## Key features -ZenML Cloud brings convenience to your machine learning workflows by allowing you to deploy a managed instance of ZenML servers with a single click. This means you can set up and manage your machine learning pipelines effortlessly without the hassle of dealing with infrastructure complexities. We take care of all the necessary upgrades and backups, ensuring that your system remains up-to-date and resilient while you focus on your core MLOps tasks. As a valued cloud customer, you'll also benefit from priority support, ensuring that you receive the assistance you need to make the most of our platform. +ZenML Cloud is a Software-as-a-Service (SaaS) platform that enhances the functionalities of the open-source ZenML product. It equips you with a centralized interface to seamlessly launch and manage ZenML server instances. While it remains rooted in the robust open-source offering, ZenML Cloud offers extra features designed to optimize your machine learning workflow. -Data security and privacy are of utmost importance at ZenML Cloud. You can connect your infrastructure safely and securely and we track only metadata through an encrypted connection, ensuring that your sensitive information remains confidential. Our platform offers seamless integration with your cloud services through service connectors, making it easy to connect and utilize various cloud resources without compromising data security. Additionally, we store your secrets in a safe and secure isolated environment, providing an extra layer of protection for your valuable data. +### Managed ZenML Server (Multi-tenancy) -As a ZenML Cloud user, you also gain early access to a powerful control plane that centralizes user management and streamlines your workflows. With centralized management of users, handling access and permissions becomes efficient and organized. Moreover, ZenML Cloud users enjoy exclusive access to a range of cloud-only features, providing you with a competitive edge and the opportunity to stay ahead in the rapidly evolving field of machine learning. +ZenML Cloud simplifies your machine learning workflows, enabling you to deploy a managed instance of ZenML servers with just one click. This eradicates the need to handle infrastructure complexities, making the set-up and management of your machine learning pipelines a breeze. We handle all pertinent system updates and backups, thus ensuring your system stays current and robust, allowing you to zero in on your essential MLOps tasks. As a ZenML Cloud user, you'll also have priority support, giving you the necessary aid to fully utilize the platform. -{% hint style="info" %} -ZenML Cloud is currently in the beta phase, offering users the opportunity to host a managed ZenML instance and gain early access to the exciting new features mentioned above. Beta users will receive priority access to the enhanced functionalities and dedicated support to ensure a smooth onboarding experience. -{% endhint %} +### Maximum data security + +At ZenML Cloud, your data security and privacy are our top priority. The platform enables a secure connection to your infrastructure, tracking only metadata via an encrypted connection to maintain the confidentiality of your sensitive information. ZenML Cloud integrates smoothly with your cloud services via service connectors, allowing a straightforward connection with various cloud resources without sacrificing data security. We hold your confidential information in a secure and isolated environment, offering an extra degree of protection. If desired, you can even [supply your own secret store](cloud-system-architecture.md#scenario-2-hybrid-saas-with-customer-secret-store-managed-by-zenml). + +Click [here](cloud-system-architecture.md) to understand about the ZenML Cloud system architecture. + +### Role-based access control and permissions + +Utilizing ZenML Cloud provides you with early access to a robust control plane that unifies user management and optimizes your workflows. Efficiently manage access and permissions through centralized user administration. Create fine-grained permissions for resources such as stacks, pipelines, models, etc. + +### A brand-new, modern MLOps experience + +![Walkthrough of ZenML Model Control Plane](../../.gitbook/assets/mcp_walkthrough.gif) + +We have built the ZenML Cloud from the ground-up. With ZenML Cloud, you get access to a new dashboard, with a better experience. The new dashboard features more functionality such as the [Model Control Plane](../../user-guide/starter-guide/track-ml-models.md) and [Artifact Control Plane](../../user-guide/starter-guide/manage-artifacts.md). + +### Triggers, CI/CD, Reports and more -## Coming soon... +Additionally, ZenML Cloud users get exclusive access to an array of cloud-specific features, such as triggering pipelines directly through the dashboard, integrating with your code repository CI/CD system, generating usage reports and more. -
CI/CD/CT with TriggersContinuous Integration, Continuous Deployment, and Continuous Training are all integrated into your repository.https://zenml.io/cloud-features/continuous-integration-and-delivery-ci-cd
ML Model Control PlaneAll your models are conveniently gathered in one place. Up-to-date information about your training, deployments, and endpoints all within one view.https://zenml.io/cloud-features/ml-models-control-plane
Managed MLOps infrastructureZenML Cloud also includes hosted instances of support stack components like MLflow.https://zenml.io/cloud-features/managed-ml-ops-infrastructure
Tenants and WorkspacesCreate multiple ZenML tenants and workspaces within tenants to subdivide your team's efforts neatly.https://zenml.io/cloud-features/tenants-and-workspaces
User ManagementUser permission management and project-specific configurationshttps://zenml.io/cloud-features/user-management
Role Based Access ControlManage permissions and roles at an organizational levelhttps://zenml.io/cloud-features/role-based-access-control
+Learn more about ZenML Cloud on the [ZenML Website](https://zenml.io/cloud). -
ZenML Scarf
+
ZenML Scarf
\ No newline at end of file diff --git a/docs/book/getting-started/installation.md b/docs/book/getting-started/installation.md index c7a102266a4..39367236c54 100644 --- a/docs/book/getting-started/installation.md +++ b/docs/book/getting-started/installation.md @@ -80,3 +80,9 @@ docker run -it -d -p 8080:8080 zenmldocker/zenml-server
ZenML Scarf
+ +## Deploying the server + +Though ZenML can run entirely as a pip package on a local system, its advanced features are dependent on a centrally-deployed ZenML server accessible to other MLOps stack components. You can read more about it [here](../deploying-zenml/why-deploy-zenml.md). + +For the deployment of ZenML, you have the option to either [self-host](../deploying-zenml/zenml-self-hosted/zenml-self-hosted.md) it or register for a free account on [ZenML Cloud](https://cloud.zenml.io/?utm_source=docs&utm_medium=referral_link&utm_campaign=cloud_promotion&utm_content=signup_link). \ No newline at end of file diff --git a/docs/book/user-guide/advanced-guide/data-management/model-management.md b/docs/book/user-guide/advanced-guide/data-management/model-management.md index e5bd8713130..1ee52f718c1 100644 --- a/docs/book/user-guide/advanced-guide/data-management/model-management.md +++ b/docs/book/user-guide/advanced-guide/data-management/model-management.md @@ -35,7 +35,7 @@ and workflow. Registering models can be done in a number of ways depending on your specific needs. You can explicitly register models using the CLI or the Python SDK, or you can just allow ZenML to implicitly register your models as part of a -pipeline run. (If you are using [ZenML Cloud](https://cloud.zenml.io/) you already +pipeline run. (If you are using [ZenML Cloud](https://cloud.zenml.io/?utm_source=docs&utm_medium=referral_link&utm_campaign=cloud_promotion&utm_content=signup_link/) you already have access to [a dashboard interface that allows you to register models](./model-control-plane-dashboard.md).) diff --git a/docs/book/user-guide/production-guide/deploying-zenml.md b/docs/book/user-guide/production-guide/deploying-zenml.md index 3eb6e7bf36e..6774fbbc992 100644 --- a/docs/book/user-guide/production-guide/deploying-zenml.md +++ b/docs/book/user-guide/production-guide/deploying-zenml.md @@ -21,7 +21,7 @@ While there are many options on how to [deploy ZenML](../../deploying-zenml/), t ### Option 1: Sign up for a free ZenML Cloud Trial [ZenML Cloud](https://zenml.io/cloud) is a managed SaaS solution that offers a one-click deployment for your ZenML server. -Click [here](https://cloud.zenml.io) to start a free trial. +Click [here](https://cloud.zenml.io/?utm_source=docs&utm_medium=referral_link&utm_campaign=cloud_promotion&utm_content=signup_link) to start a free trial. On top of the one-click experience, ZenML Cloud also comes built-in with additional features and a new dashboard that might be beneficial to follow for this guide. You can always go back to self-hosting after your learning journey is complete.