AIoT DevOps and Infrastructure: Difference between revisions

Line 17: Line 17:


== Ignite AIoT: DevOps and Infrastructure ==
== Ignite AIoT: DevOps and Infrastructure ==
The introduction of DevOps - together with Continuous Integration / Continuous Delivery (CI/CD) - has fundamentally changed the way how software is developed, integrated, tested, and deployed. DevOps and CI/CD are key enablers of agile development. However, today`s DevOps practices are predominantly focusing on cloud and enterprise application development. For successfull AIoT products, DevOps will have to be extended to include AI and IoT.
=== Agile DevOps for Cloud and Enterprise Applications ===
=== Agile DevOps for Cloud and Enterprise Applications ===
DevOps organizations break down the traditional barriers between development and operations, focusing on cross-functional teams which support all aspects of development, testing, integration and deployment. Successful DevOps organizations avoid overspecialization and instead focus instead on cross-training and open communication between all DevOps stakeholders.
The DevOps culture is usually closely aligned with the agile culture, both are required for incremental and explorative development.
Continuous Integration / Continuous Delivery (CI/CD) emphasize automation tools that drive build and test, ultimately enabling a highly efficient and agile software life cycle. The Continuous Integration (CI) process typically requires commitment of all code changes to a central code repository. Each new check-in triggers an automated process which re-builds the system, automatically performs unit tests, and executes automated code-quality checks. The resulting software packages are deployed to a CI server, with optional notification of a repository manager.
Continuous Testing (CT) goes beyond simple unit tests, and utilizes complex test suites which combine different test scripts to simulate and test complex interactions and processes.
Finally, Continuous Delivery (CD) uses [https://en.wikipedia.org/wiki/Infrastructure_as_code Infrastructure-as-Code (IaC)] concepts to deploy updated software packages to the different test and production environments.
[[File:2.3-DevOps-Enterprise.png|800px|frameless|center|Agile DevOps for Cloud and Enterprise Applications]]
[[File:2.3-DevOps-Enterprise.png|800px|frameless|center|Agile DevOps for Cloud and Enterprise Applications]]
=== Agile DevOps for AI ===
=== Agile DevOps for AI ===
Many new concepts create challenges for AI DevOps
Many new concepts create challenges for AI DevOps

Revision as of 20:38, 1 September 2020

Ignite AIoTArtificial IntelligenceInternet of ThingsBusiness ModelProduct ArchitectureDevOps & InfrastructureTrust & SecurityReliability & ResilienceVerification & ValidationIgnite AIoT - DevOps and Infrastructure

Ignite AIoT: DevOps and Infrastructure

The introduction of DevOps - together with Continuous Integration / Continuous Delivery (CI/CD) - has fundamentally changed the way how software is developed, integrated, tested, and deployed. DevOps and CI/CD are key enablers of agile development. However, today`s DevOps practices are predominantly focusing on cloud and enterprise application development. For successfull AIoT products, DevOps will have to be extended to include AI and IoT.

Agile DevOps for Cloud and Enterprise Applications

DevOps organizations break down the traditional barriers between development and operations, focusing on cross-functional teams which support all aspects of development, testing, integration and deployment. Successful DevOps organizations avoid overspecialization and instead focus instead on cross-training and open communication between all DevOps stakeholders.

The DevOps culture is usually closely aligned with the agile culture, both are required for incremental and explorative development.

Continuous Integration / Continuous Delivery (CI/CD) emphasize automation tools that drive build and test, ultimately enabling a highly efficient and agile software life cycle. The Continuous Integration (CI) process typically requires commitment of all code changes to a central code repository. Each new check-in triggers an automated process which re-builds the system, automatically performs unit tests, and executes automated code-quality checks. The resulting software packages are deployed to a CI server, with optional notification of a repository manager.

Continuous Testing (CT) goes beyond simple unit tests, and utilizes complex test suites which combine different test scripts to simulate and test complex interactions and processes.

Finally, Continuous Delivery (CD) uses Infrastructure-as-Code (IaC) concepts to deploy updated software packages to the different test and production environments.

Agile DevOps for Cloud and Enterprise Applications

Agile DevOps for AI

Many new concepts create challenges for AI DevOps

  • New roles: data scientist, AI engineer
  • New artefacts (in addition to code): Data, Models
  • New methods / processes: AI/data-centric, e.g. „Agile CRISP-DM“, Cognitive Project Management for AI (CPMAI)
  • New AI tools + infrastructure

Additional AI DevOps challenges

  • Reproduceability of models
  • Model validation
  • Versioning: Models, code, data
  • Lineage: Track evolution of models over time
  • Testing and test automation: AI requires new methods and infrastructure
  • Security: Deliberately skewed models as new attack vector / adversarial attacks
  • Monitoring and re-training: Model decay requires constant monitoring and re-training
DevOps for AI

Agile DevOps for IoT

DevOps for IoT

Agile DevOps for AIoT