Platform Engineering: Build Scalable & Resilient Systems

所在平台: Udemy

课程主页: https://www.udemy.com/course/platform-engineering/

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:平台工程:构建可扩展和韧性系统 课程概述:欢迎参加由Uplatz提供的《平台工程:构建可扩展和韧性系统》课程。平台工程是一种软件开发学科,专注于构建和维护内部平台,以提高开发和运维团队的生产力与效率。其目标是提供可重用、可扩展和自动化的基础设施解决方案,简化软件开发生命周期,加快应用程序交付速度。平台工程允许创建一个标准化的高度自动化环境,让开发者专注于编写代码,而平台工程师则管理复杂的基础设施,从而改善开发者体验,加快部署速度,减少运营开销。 平台工程的关键要素包括: 1. 内部开发平台(IDP):平台工程师设计和构建针对特定开发团队需求的定制平台,通过抽象复杂的基础设施问题,提供统一的自助服务环境。 2. 自动化:自动化是平台工程的核心原则,包括基础设施供应、CI/CD管道、监控和日志管理,旨在减少手动干预和重复性任务。 3. 自助服务能力:平台提供自助工具,允许开发者独立创建环境、部署应用和排除故障,提升开发者的自主性,缩短开发周期。 4. 可扩展性和可靠性:平台设计旨在随着业务需求的增长而扩展,具备容错、监控和可观察性,确保大型应用的高可用性和可靠性。 5. 开发、运维和安全团队之间的协作:平台工程在开发、运维和安全团队之间架起桥梁,确保基础设施、工具和工作流程与各组的需求保持一致。 课程内容包括多个模块,从平台工程的基础概念到云原生技术、Kubernetes的实现、DevOps与工具的讨论,以及实际示例和面试准备。这些模块将帮助学员掌握平台工程所需的知识与技能,提升职业发展潜力,增强技术能力,最终在快速发展的平台工程领域找到更多机会。 学习平台工程的好处包括: 1. 增强职业机会:平台工程是一个迅速发展的领域,对熟练专业人员的需求旺盛。 2. 提高薪资潜力:因特殊技能要求,平台工程师的薪资竞争力强。 3. 提升技术技能:熟练掌握基础设施即代码、CI/CD管道、容器编排等前沿技术。 4. 更大的影响力:平台工程师对开发团队的效率和成功有直接影响。 5. 持续的职业成长:随着技术和趋势的不断演进,学员能确保个人的持续职业发展。 本课程是通向平台工程职业发展的重要一步,适合希望在技术领域获得深厚技能和实践经验的学习者。

课程评论(0条)

课程详情

A warm welcome to the Platform Engineering: Build Scalable & Resilient Systems course by Uplatz.Platform Engineering is a discipline in software development focused on building and maintaining an internal platform that enhances the productivity and efficiency of developers and operations teams. The goal is to provide reusable, scalable, and automated infrastructure solutions that streamline the software development lifecycle, enabling faster delivery of applications.In essence, platform engineering allows for the creation of a standardized, highly automated environment where developers can focus on writing code, while platform engineers manage the complexity of the underlying infrastructure. This leads to improved developer experience, faster deployments, and reduced operational overhead.Key Aspects of Platform Engineering:Internal Developer Platform (IDP): Platform engineers design and build IDPs, which are custom platforms tailored to meet the specific needs of the development teams within an organization. These platforms typically abstract away complex infrastructure concerns, providing a unified and self-service environment where developers can easily deploy, monitor, and manage their applications.Automation: A core principle of platform engineering is automation. This includes automating infrastructure provisioning (using Infrastructure as Code), CI/CD pipelines, monitoring, and logging. The aim is to reduce manual intervention and repetitive tasks.Self-Service Capabilities: The platform provides self-service tools, allowing developers to independently create environments, deploy applications, and troubleshoot issues without relying on other teams (such as DevOps). This boosts developer autonomy and shortens development cycles.Scalability and Reliability: Platforms built by platform engineers are designed to scale with the needs of the business. They integrate fault-tolerance, monitoring, and observability to ensure high availability and reliability, crucial for large-scale applications.Collaboration between DevOps, Security, and Developers: Platform engineering bridges the gap between DevOps teams, developers, and security teams. It aligns infrastructure, tooling, and workflows with the requirements of each group, ensuring compliance, security, and faster software delivery.How Platform Engineering Works:Infrastructure as Code (IaC): Platform engineers use IaC tools (like Terraform, Ansible, or Pulumi) to automate and manage the underlying infrastructure, ensuring it can be provisioned and maintained consistently across different environments (development, staging, production).CI/CD Pipeline Integration: They integrate Continuous Integration/Continuous Deployment (CI/CD) pipelines into the platform. This involves tools like Jenkins, GitLab CI, or GitHub Actions to automate testing, building, and deployment processes.Containerization and Orchestration: Platform engineers leverage containers (e.g., Docker) and orchestration platforms (like Kubernetes) to abstract applications from the underlying infrastructure, making deployments consistent and scalable across environments.Observability and Monitoring: Platform engineers implement monitoring, logging, and alerting tools (e.g., Prometheus, Grafana, ELK Stack) to ensure the health, performance, and security of the applications running on the platform. These insights help in proactive troubleshooting and maintenance.Security and Governance: Security best practices are embedded into the platform, such as managing secrets (with HashiCorp Vault), ensuring compliance with organizational standards, and enforcing access control and security policies.Collaboration and Tooling: Tools are designed with usability in mind, allowing developers to access necessary resources through a unified interface (like a dashboard or CLI). This allows for consistent communication between platform engineers and development teams to ensure the platform evolves with their needs.Platform Engineering - Course CurriculumModule 1: Introduction to Platform EngineeringLecture 1: Define Platform Engineering, its importance, benefits, and challenges. Discuss the future of Platform Engineering.Module 2: Core ConceptsLecture 2: Explore the benefits of Infrastructure as Code (IaC) and learn about popular tools like Terraform and Ansible.Lecture 3: Understand CI/CD pipelines, their components, and best practices.Lecture 4: Learn about self-service platforms, their purpose, and design principles. Explore Platform APIs, their role, and development considerations.Lecture 5: Master platform observability, including metrics, logging, and monitoring.Lecture 6: Deep dive into platform observability, monitoring, and the future of observability.Module 3: Cloud-NativeLecture 7: Introduction to cloud-native concepts, benefits, and challenges.Lecture 8: Real-world examples of cloud-native and its future.Lecture 9: Introduction to Kubernetes architecture, components, and cluster management.Lecture 10: Container orchestration, deployment strategies, and best practices.Lecture 11: Serverless computing, use cases, benefits, challenges, and future.Lecture 12: Cloud security, best practices, and common threats.Module 4: Design Principles and Shell ScriptingLecture 13: Understand the design principles behind platform engineering.Lecture 14: Recap and connect the terminologies learned so far.Lecture 15 & 16: Introduction to Shell Scripting.Lecture 17: Implementation of Shell Commands and Cocalc.Lecture 18: CHMO - Understanding Programming BasicsModule 5: Kubernetes and Platform LifecycleLecture 19 & 20: Implementation of Kubernetes.Lecture 21: Platform lifecycle management, including planning, development, deployment, and operations.Module 6: Observability with GrafanaLecture 22: Understanding Grafana for observability.Lecture 23: Connecting Grafana and other automation tools.Lecture 24: Grafana Labs connections.Module 7: DevOps and ToolingLecture 25: Understanding Jenkins.Lecture 26: Connection between Kubernetes and JenkinsLecture 27: DevOps implementationLecture 28: Service connectionLecture 29: Platform Engineering documentationLecture 30: Understanding Redhat OpenShiftLecture 31: Understanding GitLabModule 8: Practical Examples and Interview PreparationLecture 32: Practical examples of Platform Engineering and implementationLecture 33 & 34: How to make a resume for Platform Engineering rolesLecture 35 & 36: Common Platform Engineering interview questions and answersLecture 37: Tips and rules for interviewsLecture 38, 39 & 40: Company-oriented interview questionsLecture 41: Top questions and framing answersLecture 42: LinkedIn sessionCourse RecapFinal Lecture: Review key concepts, achievements, and next steps.Benefits of Learning Platform Engineering1. Enhanced Career OpportunitiesPlatform engineering is a rapidly growing field with high demand for skilled professionals. By mastering platform engineering, you'll unlock a wealth of career opportunities, including roles such as:Platform EngineerCloud ArchitectDevOps EngineerSite Reliability Engineer (SRE)Software Engineer specializing in InfrastructureTechnical Lead or Manager2. Increased Earning PotentialDue to the high demand and specialized skillset required, platform engineers command competitive salaries and benefits.3. Improved Technical SkillsYou'll gain proficiency in a wide array of cutting-edge technologies and tools, including:Infrastructure as Code (IaC) (Terraform, Ansible)CI/CD Pipelines (Jenkins, GitLab CI/CD)Container Orchestration (Kubernetes)Cloud Platforms (AWS, Azure, GCP)Monitoring and Observability (Prometheus, Grafana)4. Greater Impact and InfluencePlatform engineers play a crucial role in enabling and empowering development teams. You'll have a direct impact on the efficiency, productivity, and success of the entire organization.5. Problem-Solving and InnovationYou'll be challenged to think critically, solve complex problems, and find creative solutions to streamline software delivery and optimize the development experience.6. Professional Growth and DevelopmentPlatform engineering is a constantly evolving field. By staying current with emerging trends and technologies, you'll ensure continuous professional growth and development.Career Path in Platform EngineeringThe typical career path in platform engineering often starts with roles like:Software Engineer/Developer: Gaining experience in building and deploying applications lays a strong foundation for understanding developer needs and pain points.DevOps Engineer: Building on development experience, DevOps engineers gain experience in automating and streamlining the software delivery process.System Administrator: Experience in managing and maintaining infrastructure can be leveraged to transition into automating infrastructure provisioning and management.From there, individuals can progress into specialized platform engineering roles, such as:Platform Engineer: Focus on designing, building, and maintaining internal developer platforms.Cloud Architect: Design and implement cloud solutions incorporating platform engineering principles.Site Reliability Engineer (SRE): Focus on ensuring the reliability and performance of the platform and its applications.With experience and expertise, platform engineers can move into leadership positions like:Technical Lead or Manager: Lead and mentor teams of platform engineers.Director of Platform Engineering: Oversee the strategy and execution of platform initiatives across the organization.

课程标签

0人关注该课程

主题相关的课程