Overview
Welcome! 👋😃
This Content Library serves as a key resource as part of the GitHub Well-Architected program. It provides a comprehensive guide for organizations to understand, implement, and optimize their use of GitHub in a way that enhances their software development lifecycle (SDLC). It is designed to help teams create secure, high-performing, resilient, and efficient infrastructure for their applications. Through a combination of best practices, detailed strategies, and insights, the framework aims to foster a culture of excellence in software development and collaboration.
Overall, the GitHub Well-Architected program enhances the quality of software development and collaboration by helping it to:
- Enhance team collaboration and project management, making workflows more efficient and productive.
- Integrate security practices throughout the software development lifecycle, ensuring code and data are protected.
- Foster innovation by encouraging experimentation, learning from failures, and quick iteration.
- Optimize performance of both development practices and the applications being built, ensuring they are scalable, resilient, and efficient.
- Govern access, compliance, and architecture within GitHub projects, ensuring a secure and compliant development environment.
- Leverage GitHub Copilot to boost developer productivity through AI-powered code suggestions, reducing the time spent on boilerplate code and focusing more on creative problem-solving.
- Improve the Developer Experience by providing tools and practices that make the development process more enjoyable and efficient, leading to higher quality software and more satisfied teams.
It is founded on the five pillars of GitHub architectural excellence, which are mapped to those goals: Productivity, Collaboration, Application Security, Governance, and Architecture.
Disclaimer
Each pillar provides recommended practices, risk considerations, and tradeoffs. The design decisions must be balanced across all pillars, given the business requirements. The technical and actionable guidance is broad enough for all developer workloads and articles often apply to specific scenarios. This guidance is centered on the GitHub Platform and its contributors include GitHub and its Partners.
Audience
This framework is intended for:
- Developers and Operations Teams: To streamline development workflows and operational practices.
- Security Professionals: To ensure that security is integrated into the development process from the start.
- Architects and Technical Leaders: To design and implement efficient, scalable GitHub strategies that align with organizational goals.
- Project Managers and Decision Makers: To understand the impact of GitHub practices on project outcomes and team productivity.
Objectives
The primary objectives of the GitHub Well-Architected program are to:
- Partner inclusion in development: Create technical cohesiveness and a GitHub/Partner communication channel
- Closing feedback loop from the field: Articulate decision making trade-offs based on lessons learned with added insights
- Improve skills, abilities, and confidence: Reference architectures around developer workloads and GitHub Platform implementation
- Engagement leads: Drive customer success with personal engagement from GitHub and Partners
The purpose of this Content Library
It is a living, flexible guide based on a static content library designed to help organizations effectively adopt and deploy GitHub as part of the GitHub Well-Architected program. It provides a structured approach to understanding, implementing, and optimizing the use of GitHub within your organization.
Implementation and configuration of the GitHub platform and all tools in the SDLC should be supplemented with design thinking. Implementation and configuration is covered by our GitHub public documentation and other existing resources, while this Content Library covers the design thinking around the decisions that need to be made beyond simply turning on products and features. That design thinking depth can only be achieved with this program and engagements with experts, including GitHub Services Offerings and Partner engagements.
GitHub Well-Architected is a framework is built around five key pillars:
What are Pillars and Design Principles?
In summary, design principles provide the “how” for each pillar’s “what”. They work together to provide a comprehensive guide for adopting and deploying GitHub effectively. The relationship between the design principles and the framework pillars is that each pillar is guided by a set of related design principles. These principles provide the specific strategies and best practices for achieving the goals of each pillar.
- Pillars are the key areas of focus or the main components that the framework aims to address.
- Each pillar is defined by a specific business outcome that is achieved by following the prescriptions of the pillar.
- To achieve these outcomes, each pillar focuses on a set of principles that guide the deployment of GitHub.
- These principles represent the broad categories of best practices and design principles.
- Design principles are the fundamental concepts that guide the development of the framework.
- They are the core ideas that should be considered when deploying the GitHub platform.
- There can be many design principles that include concepts supporting the framework pillars.
Each pillar represents a critical aspect of GitHub usage and is guided by their set of design principles. These principles provide the strategies and best practices for achieving the goals of each pillar. For example, the Productivity pillar might be guided by design principles such as “Automate repetitive tasks” and “Integrate CI/CD pipelines”. These principles provide concrete strategies for achieving increased productivity with GitHub.
A flexible guide
This Content Library is not a one-size-fits-all solution, nor does it replace GitHub’s official documentation, but rather it serves as a flexible guide that can be adapted to meet the unique needs and circumstances of each organization. It is designed to be iterative, allowing organizations to continually refine and improve their GitHub usage over time.
The pillars of the framework, coupled with each of their design principles, are intended to help you delve responsibly deep into the technical design of the GitHub Platform, and to help you continuously evaluate your readiness for production.
Not only is the framework designed to help you understand key concepts, design principles, and architectural best practices for building on GitHub, it provides a consistent approach for customers and partners to evaluate and implement designs that scale with your needs over time. To accomplish this, the principles help you understand the trade-offs in decision making and guide you toward best practices.
Finally, we have Services, Support, and Partners ready to assist you at every step in your journey
Related Links
This framework is a living document, designed to evolve with advancements in technology, changes in best practices, and the feedback from the community. It serves as a flexible guide, supplementing GitHub’s official documentation, and can be adapted to meet the unique needs of each organization.