项目实训营
header-img

掌握

TechScrum DevOps 项目实训营

导师 7 周精心辅导,获得可写入简历的项目经验

来自 Amazon 的工程师,手把手带着做项目

header-img
feature真实商业项目
feature导师辅导项目
featureDevOps 必会技术栈
feature增加项目经验
feature真实商业项目
feature导师辅导项目
featureDevOps 必会技术栈
feature增加项目经验

课程大纲

    DevOps Fundamentals
    Environment/Local Builds

    Project Familiarization

    • Download and install the required project dependencies.
    • Understand the project's directory structure and primary functionalities.
    • Review project documentation and comments.

    Technical Stack & Environment

    • Identify the tech stack: Typescript, Node.js, etc.
    • Set up the development environment: Node.js, npm/yarn.
    • Identify required environment variables and their purposes.

    Local Execution

    • Run the project's installation and start commands.
    • Test the main functionalities of the project to ensure it operates correctly locally.

    Cloud Infrastructure Setup

    • Select the appropriate cloud platform based on project needs.
    • Manually set up the necessary cloud services for frontend, such as storage and CDN services.
    • Configure related networking and security settings.
    DevOps Infrastructure as Code
    Basic Frontend/Backend IaC Code

    Frontend IaC

    • Choose and familiarize with an IaC tool.
    • Write simple IaC scripts for frontend deployment.

    Backend Cloud Components

    • Choose cloud servers or container services based on backend requirements.
    • Manually deploy backend code, set up database connections, etc.
    • Test backend functionalities and performance.

    Backend IaC

    • Use the chosen IaC tool to script backend deployment.
    Frontend/Backend IaC Enhancement + Monitoring

    IaC Enhancement for Frontend & Backend

    • Optimize existing IaC scripts for frontend and backend.
    • Add or modify resources based on project requirements.

    Monitoring

    • Select appropriate monitoring tools.
    • Implement health checks for the frontend.
    • Set up and configure cloud-based monitoring tools to monitor frontend CDN's performance and availability.
    DevOps Monitoring and Logging
    Cloud Account, GitHub Organization, Frontend/Backend Monitoring

    Shared Resources

    • Create a GitHub organization and invite team members.
    • Choose a cloud platform and set up a shared account.

    IaC & CI/CD for Frontend/Backend

    • Deploy frontend and backend applications in the shared account.
    • Optimize IaC scripts based on the characteristics of the shared account.
    • Establish Continuous Integration/Continuous Deployment pipelines.

    Extended Monitoring

    • Expand monitoring capabilities for frontend and backend, including application performance and error rates.
    • Set up alerts to ensure prompt issue responses.
    Monitoring Tools IaC

    Manual Setup of Monitoring Tools

    • Choose monitoring tools like Prometheus, and Grafana based on project needs.
    • Manually deploy these monitoring tools on the cloud platform.

    IaC for ELK

    • Familiarize with ELK's deployment and management.
    • Use an IaC tool to script ELK deployment.
    IaC for Monitoring

    Infrastructure Enhancement

    • Optimize networking, storage, and compute resources based on the expansion needs of the project.

    IaC for Monitoring Tools

    • Script the deployment of Prometheus, and Grafana using IaC.
    • Automate the deployment of these tools on the cloud platform.

    Integration & Pipeline Setup

    • Ensure monitoring tools can correctly monitor frontend and backend applications.
    • Configure integrations between monitoring tools and other services, such as alerts and log management(ELK/Opensearch).
    DevOps Failover Strategies
    Failover

    Failover Strategies

    • Learn and determine the appropriate failover strategies for the project.
    • Configure and test auto-recovery functionalities.
    • Optimize the application to handle various failure scenarios.

    Challenge:

    API Gateway + Lambda:

    • Implement using Terraform, possibly in combination with SAM (Serverless Application Model).
    • Prioritize using Lambdas written by developers.
    • If the developer hasn't finished the Lambda function, the DevOps team can write a backup Lambda (for example, for handling tfstate files or frontend). This can be invoked using API Gateway, EventBridge, or S3.

    EKS (Elastic Kubernetes Service) + AKS (Azure Kubernetes Service):

    • Implement one of the platforms.
    • Use Terraform to set up the cluster, worker nodes, and other foundational infrastructure.
    • Deploy applications via a pipeline, with the pipeline located in the code repository.

    Code Testing:

    • Set up a SonarQube server and integrate it into the Jenkins pipeline. Email the test results to developers.
    • Incorporate Snyk into the pipeline and email the test reports to developers.
    • Scan once a week to compare code improvements.
    • Implement unit tests for critical parts of the application and ensure they run as part of the CI/CD pipeline.

    Load Testing:

    • Use tools like JMeter or Locust to simulate heavy traffic to your infrastructure.
    • Analyze the system's response and identify bottlenecks.
    • Optimize the infrastructure based on the findings and retest.

    Security:

    • Integrate with some cloud platform security tools, like AWS securityhub….
    • Integrate automated security scans in the CI/CD pipeline.
    • Ensure all services are running with least privilege access.

    Failover Trigger:

    • Design mechanisms to detect system failures, such as health checks or monitoring alarms.
    • Implement automated or semi-automated processes to redirect traffic to the failover infrastructure in case of system failure.

    Vault:

    • Set up a Vault server.
    • Store credentials in Vault and modify or create new pipelines accordingly.

    GitHub Actions/Bitbucket Pipelines:

    • Re-implement Jenkins code pipelines using either GitHub Actions or Bitbucket Pipelines, depending on the type of the project's code repository.
logo

Follow Us

linkedinfacebooktwitterinstagramweiboyoutubebilibilitiktokxigua

We Accept

/image/layout/pay-paypal.png/image/layout/pay-visa.png/image/layout/pay-master-card.png/image/layout/pay-stripe.png/image/layout/pay-alipay.png

地址

Level 10b, 144 Edward Street, Brisbane CBD(Headquarter)
Level 8, 11 York st, Wynyard, Sydney CBD
Business Hub, 155 Waymouth St, Adelaide SA 5000

Disclaimer

footer-disclaimerfooter-disclaimer

JR Academy acknowledges Traditional Owners of Country throughout Australia and recognises the continuing connection to lands, waters and communities. We pay our respect to Aboriginal and Torres Strait Islander cultures; and to Elders past and present. Aboriginal and Torres Strait Islander peoples should be aware that this website may contain images or names of people who have since passed away.

匠人学院网站上的所有内容,包括课程材料、徽标和匠人学院网站上提供的信息,均受澳大利亚政府知识产权法的保护。严禁未经授权使用、销售、分发、复制或修改。违规行为可能会导致法律诉讼。通过访问我们的网站,您同意尊重我们的知识产权。 JR Academy Pty Ltd 保留所有权利,包括专利、商标和版权。任何侵权行为都将受到法律追究。查看用户协议

© 2017-2024 JR Academy Pty Ltd. All rights reserved.

ABN 26621887572