Concepts
DevOps is a set of practices that combines software development (Dev) and IT operations (Ops). It aims to shorten the system development life cycle and provide continuous delivery with high software quality. DevOps is complementary with Agile software development; several DevOps aspects came from Agile methodology.
Key concepts of DevOps include:
- Continuous Integration (CI): Developers regularly merge their code changes into a central repository, after which automated builds and tests are run.
- Continuous Delivery (CD): The combined practices of continuous integration and automated testing allow for the continuous delivery of code changes to a staging or production system.
- Infrastructure as Code (IaC): Infrastructure is defined and managed using code and software development techniques, such as version control and continuous integration.
- Monitoring and Logging: Keeping track of how applications and systems are performing in real-time to understand ongoing IT infrastructure status.
- Communication and Collaboration: Increased communication and collaboration in an organization is one of the key cultural aspects of DevOps. The use of DevOps tooling and automation of the software delivery process tends to increase collaboration between the teams.
CI/CD
Pipeline
Service-level agreement - SLA
Service-level agreement, well-known as SLA, is
Other Approaches
NoOps
NoOps, short for "No Operations", is a concept in software development where the software is designed in such a way that it requires minimal or even no IT operations support. This is often achieved through the use of fully automated processes and systems, which eliminate the need for manual intervention in tasks such as deployment, scaling, and systems management.
The goal of NoOps is to allow the software developers to focus on writing new features for the application, rather than spending time on operational concerns. This is often achieved through the use of Platform as a Service (PaaS) providers, which handle many of the operational tasks automatically.
https://www.jenkins.io/doc/tutorials/build-a-java-app-with-maven/
Jenkins
Install plugins: - Blue Ocean - Docker - Docker Pipeline - Kubernetes Cli
https://www.jenkins.io/doc/tutorials/build-a-java-app-with-maven/
https://www.jenkins.io/blog/2017/02/07/declarative-maven-project/