|
1 | 1 | ---
|
2 |
| -description: Setting your team up for success with a project repository. |
| 2 | +description: Setting your team up for success with a well-architected ZenML project. |
3 | 3 | ---
|
4 | 4 |
|
5 |
| -# 😸 Setting up a project repository |
| 5 | +# 😸 Setting up a Well-Architected ZenML Project |
6 | 6 |
|
7 |
| -ZenML code typically lives in a `git` repository. Setting this repository up correctly can make a huge impact on collaboration and |
8 |
| -getting the maximum out of your ZenML deployment. This section walks users through some of the options available to create a project |
9 |
| -repository with ZenML. |
| 7 | +Welcome to the guide on setting up a well-architected ZenML project. This section will provide you with a comprehensive overview of best practices, strategies, and considerations for structuring your ZenML projects to ensure scalability, maintainability, and collaboration within your team. |
10 | 8 |
|
11 |
| -<figure><img src="../../.gitbook/assets/Remote_with_code_repository.png" alt=""><figcaption><p>A visual representation of how the code repository fits into the general ZenML architecture.</p></figcaption></figure> |
| 9 | +## The Importance of a Well-Architected Project |
| 10 | + |
| 11 | +A well-architected ZenML project is crucial for the success of your machine learning operations (MLOps). It provides a solid foundation for your team to develop, deploy, and maintain ML models efficiently. By following best practices and leveraging ZenML's features, you can create a robust and flexible MLOps pipeline that scales with your needs. |
| 12 | + |
| 13 | +## Key Components of a Well-Architected ZenML Project |
| 14 | + |
| 15 | +### Repository Structure |
| 16 | + |
| 17 | +A clean and organized repository structure is essential for any ZenML project. This includes: |
| 18 | + |
| 19 | +- Proper folder organization for pipelines, steps, and configurations |
| 20 | +- Clear separation of concerns between different components |
| 21 | +- Consistent naming conventions |
| 22 | + |
| 23 | +Learn more about setting up your repository in the [Set up repository guide](./best-practices.md). |
| 24 | + |
| 25 | +### Version Control and Collaboration |
| 26 | + |
| 27 | +Integrating your ZenML project with version control systems like Git is crucial for team collaboration and code management. This allows for: |
| 28 | + |
| 29 | +- Makes creating pipeline builds faster, as you can leverage the same image and [have ZenML download code from your repository](../../how-to/customize-docker-builds/how-to-reuse-builds.md#use-code-repositories-to-speed-up-docker-build-times). |
| 30 | +- Easy tracking of changes |
| 31 | +- Collaboration among team members |
| 32 | + |
| 33 | +Discover how to connect your Git repository in the [Set up a repository guide](./best-practices.md). |
| 34 | + |
| 35 | +### Stacks, Pipelines, Models, and Artifacts |
| 36 | + |
| 37 | +Understanding the relationship between stacks, models, and pipelines is key to designing an efficient ZenML project: |
| 38 | + |
| 39 | +- Stacks: Define your infrastructure and tool configurations |
| 40 | +- Models: Represent your machine learning models and their metadata |
| 41 | +- Pipelines: Encapsulate your ML workflows |
| 42 | +- Artifacts: Track your data and model outputs |
| 43 | + |
| 44 | +Learn about organizing these components in the [Organizing Stacks, Pipelines, Models, and Artifacts guide](./stacks-pipelines-models.md). |
| 45 | + |
| 46 | +### Access Management and Roles |
| 47 | + |
| 48 | +Proper access management ensures that team members have the right permissions and responsibilities: |
| 49 | + |
| 50 | +- Define roles such as data scientists, MLOps engineers, and infrastructure managers |
| 51 | +- Set up [service connectors](../auth-management/README.md) and manage authorizations |
| 52 | +- Establish processes for pipeline maintenance and server upgrades |
| 53 | +- Leverage [Teams in ZenML Pro](../../getting-started/zenml-pro/teams.md) to assign roles and permissions to a group of users, to mimic your real-world team roles. |
| 54 | + |
| 55 | +Explore access management strategies in the [Access Management and Roles guide](./access-management-and-roles.md). |
| 56 | + |
| 57 | +### Shared Components and Libraries |
| 58 | + |
| 59 | +Leverage shared components and libraries to promote code reuse and standardization across your team: |
| 60 | + |
| 61 | +- Custom flavors, steps, and materializers |
| 62 | +- Shared private wheels for internal distribution |
| 63 | +- Handling authentication for specific libraries |
| 64 | + |
| 65 | +Find out more about sharing code in the [Shared Libraries and Logic for Teams guide](./shared_components_for_teams.md). |
| 66 | + |
| 67 | +### Project Templates |
| 68 | + |
| 69 | +Utilize project templates to kickstart your ZenML projects and ensure consistency: |
| 70 | + |
| 71 | +- Use pre-made templates for common use cases |
| 72 | +- Create custom templates tailored to your team's needs |
| 73 | + |
| 74 | +Learn about using and creating project templates in the [Project Templates guide](./project-templates.md). |
| 75 | + |
| 76 | +### Migration and Maintenance |
| 77 | + |
| 78 | +As your project evolves, you may need to migrate existing codebases or upgrade your ZenML server: |
| 79 | + |
| 80 | +- Strategies for migrating legacy code to newer ZenML versions |
| 81 | +- Best practices for upgrading ZenML servers |
| 82 | + |
| 83 | +Discover migration strategies and maintenance best practices in the [Migration and Maintenance guide](../../how-to/manage-the-zenml-server/best-practices-upgrading-zenml.md#upgrading-your-code). |
| 84 | + |
| 85 | +## Getting Started |
| 86 | + |
| 87 | +To begin building your well-architected ZenML project, start by exploring the guides in this section. Each guide provides in-depth information on specific aspects of project setup and management. |
| 88 | + |
| 89 | +Remember, a well-architected project is an ongoing process. Regularly review and refine your project structure, processes, and practices to ensure they continue to meet your team's evolving needs. |
| 90 | + |
| 91 | +By following these guidelines and leveraging ZenML's powerful features, you'll be well on your way to creating a robust, scalable, and collaborative MLOps environment. |
12 | 92 |
|
13 | 93 | <figure><img src="https://static.scarf.sh/a.png?x-pxid=f0b4f458-0a54-4fcd-aa95-d5ee424815bc" alt="ZenML Scarf"><figcaption></figcaption></figure>
|
0 commit comments