Skip to content

Latest commit

 

History

History
31 lines (21 loc) · 2.07 KB

File metadata and controls

31 lines (21 loc) · 2.07 KB
title Days 2 - SDLC (Software Develo

Days 2 - SDLC (Software Development Life Cycle)

Process/culture/set of standards used in the software industry to design, develop and test high quality product(s).

So we can have a cycle of: Planning => Defining => Designing => Building => Testing => Deploy and back to Planning, so it is a cycle.

These cycle containing Planing, defining, designing, building, testing and deploy are all phases in this cycle.

DevOps improves this cycle, improving the organization efficiency.

  • Planning is the starting point in the phase where requirements about the project are being gathered.

  • Next it is defining and designing phase. In defining, the requirements from the planning phase is documented. This document written is called the Software Requirements Specification Document. In the Software Requirements Specification Document they'll provide all the data that is being provided/gotten during the planning phase. In the designing phase, there are two things:

    • HLD - High Level Design
      • Scalability
      • Highly avaialable
      • Database to use
      • Number of replica
    • LLD - Low Level Design
      • What functions, models, databases and programming language to use.
  • In the next phase which is the building phase: building is simply developing

  • In the next phase, once development is completed, it goes to the testing phase to ensure that what is being released for customers is of quality. This testing is done by the QA team.

  • Next the deployment phase where the product is being taken to a test or an envionment/server that behaves exactly as the production to ensure it's working as expected before it is moved to production server, where the customers will now be able to make use of.

Where the DevOps Engineer comes in is that He helps to fasten/improve all these processes to deliver the code quickly. The DevOps Engineer ensures the building, testing and deployment processes are followed automatically without any manual intervention. everything happens in an automated way. And good automation leads to efficiency.