Talk presented at DevOpsDays in Auckland (2017) discussing how DevOps applies to Embedded Software Development. This talk discusses the approaches Navico have taken in the past and are planning to do going forward.
Generative AI and Security (1).pptx.pdfPriyanka Aash
Generative AI and Security Testing discusses generative AI, including its definition as a subset of AI focused on generating content similar to human creations. The document outlines the evolution of generative AI from artificial neural networks to modern models like GPT, GANs, and VAEs. It provides examples of different types of generative AI like text, image, audio, and video generation. The document proposes potential uses of generative AI like GPT for security testing tasks such as malware generation, adversarial attack simulation, and penetration testing assistance.
Building the Artificially Intelligent EnterpriseDatabricks
Mike Ferguson is Managing Director of Intelligent Business Strategies Limited and specializes in business intelligence/analytics and data management. He discusses building the artificially intelligent enterprise and transitioning to a self-learning enterprise. Some key challenges discussed include the siloed and fractured nature of current data and analytics efforts, with many tools and scripts in use without integration. He advocates sorting out the data foundation, implementing DataOps and MLOps, creating a data and analytics marketplace, and integrating analytics into business processes to drive value from AI.
B2C ecommerce business model - The Hancopf approach Vinny O'Brien ecommerceco...eCommerce Summit
The document discusses an approach called the HanCopf Framework for developing an ecommerce strategy. It examines key areas like capability, operations, platform, finances, and opportunity realization. The approach considers various factors in each area and how they interconnect. It aims to leverage existing capabilities, skills of others, and give competitive advantage. The goal is to build for scale by combining existing business strategy with ecommerce, future-proofing the strategy.
The document provides an overview of an Israeli IT market study conducted in 2021 by STKI analysts. It discusses the impacts of COVID-19 on accelerating digital transformation and the implementation of new technologies. It then introduces the concepts of a "remote-first economy", "data economy", "distributive economy", and "passion economy" as frameworks for understanding trends in a post-COVID world. The document emphasizes that the most enduring impact of COVID-19 will be as an "implementation accelerant", driving organizations to rapidly implement technologies to deliver value.
KNIME Analytics Platform is an open source data analytics platform that allows users to discover insights from data through customizable workflows. It provides over 1000 analytic techniques through nodes for tasks like statistics, data mining, text mining, and more. Workflows can integrate various data sources, transform the data, apply models, and output results in standard formats. The platform is open source and free to use, customize, and extend through its community and commercial extensions.
This document discusses MLOps, which aims to standardize and streamline machine learning model development and deployment through continuous delivery. MLOps applies agile principles to machine learning projects and treats models and datasets as first-class citizens within CI/CD systems. The document outlines three levels of MLOps implementation from manual to fully automated pipelines. It also describes common MLOps platform tools for data management, modeling, and operationalization, including tools for data labeling, versioning, experiment tracking, hyperparameter optimization, model deployment, and monitoring.
This document discusses model-based systems engineering (MBSE) and the use of system modeling languages. It motivates MBSE by describing how system models can integrate requirements, design, analysis and other engineering artifacts. It then provides an overview of the SysML modeling language and how it supports structural, behavioral, requirements and parametric modeling of systems. Finally, it describes how a system architecture model can act as an integrating framework to link various engineering analysis models across the lifecycle.
Generative AI represents a pivotal moment in computing history, opening up new opportunities for scientific discoveries. By harnessing extensive and diverse datasets, we can construct new general-purpose Foundation Models that can be fine-tuned for specific prediction and exploration tasks. This talk introduces our research program, which focuses on leveraging the power of Generative AI for materials discovery. Generative AI facilitates rapid exploration of vast materials design spaces, enabling the identification of new compounds and combinations. However, this field also presents significant challenges, such as effectively representing crystals in a compact manner and striking the right balance between utilizing known structural regions and venturing into unexplored territories. Our research delves into the development of a new kind of generative models specifically designed to search for diverse molecular/crystal regions that yield high returns, as defined by domain experts. In addition, our toolset includes Large Language Models that have been fine-tuned using materials literature and scientific knowledge. These models possess the ability to comprehend extensive volumes of materials literature, encompassing molecular string representations, mathematical equations in LaTeX, and codebases. We explore the open challenges, including effectively representing deep domain knowledge and implementing efficient querying techniques to address materials discovery problems.
I am an instructor of the MLOps workshop for some anonymous startup incubation program where the objectives are (1) to orchestrate and deploy updates to the application and the deep learning model in a unified way. (2) To design a DevOps pipeline to coordinate retrieving the latest best model from the model registry, packaging the web application, deploying the web application and inferencing web service.
MLOps – Applying DevOps to Competitive AdvantageDATAVERSITY
MLOps is a practice for collaboration between Data Science and operations to manage the production machine learning (ML) lifecycles. As an amalgamation of “machine learning” and “operations,” MLOps applies DevOps principles to ML delivery, enabling the delivery of ML-based innovation at scale to result in:
Faster time to market of ML-based solutions
More rapid rate of experimentation, driving innovation
Assurance of quality, trustworthiness, and ethical AI
MLOps is essential for scaling ML. Without it, enterprises risk struggling with costly overhead and stalled progress. Several vendors have emerged with offerings to support MLOps: the major offerings are Microsoft Azure ML and Google Vertex AI. We looked at these offerings from the perspective of enterprise features and time-to-value.
【Intern Case Study_矽智財】
矽智財 (IP) 是 IC 設計所使用的智慧財產權,是一組事前設計好並驗證完畢、可重複使用的功能組塊,屬於半導體產業的上游,隨著 IC 產業垂直分工化的趨勢而崛起,具有高進入門檻、無庫存、高毛利等特色。
矽智財產業的商業模式為將設計好的 IP 模組授權給買家使用,初次會收取授權金 (License),往後開始量產則轉為收取權利金 (Royalty)。隨著先進製程不斷演進,全球矽智財市場也高速成長,終端市場以消費性電子為大宗,車用與 AI 應用則為主要成長動能。
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeSteve Mercier
Slides from my talk at ConFoo Montreal, February 2016. A presentation on how to apply configuration management (CM) principles for your various environments, to control changes made to them. You apply CM on your code, why not on your environments content? This presentation will present the infrastructure as code principles using Chef and/or Ansible. Topics discussed include Continuous Integration, Continuous Delivery/Deployment principles, Infrastructure As Code and DevOps.
The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...Burns Sheehan
Continuous delivery (CD) is a set of practices that aims to build, test, and release high quality software frequently and reliably. It is based on automating the software delivery process, including integrating, testing, and deploying code changes. The key principles of CD are automating builds, deployments, testing, and having everyone responsible for the release process. This reduces risk and allows teams to get feedback faster through more frequent releases of working software.
KNIME Analytics Platform is an open source data analytics platform that allows users to discover insights from data through customizable workflows. It provides over 1000 analytic techniques through nodes for tasks like statistics, data mining, text mining, and more. Workflows can integrate various data sources, transform the data, apply models, and output results in standard formats. The platform is open source and free to use, customize, and extend through its community and commercial extensions.
This document discusses MLOps, which aims to standardize and streamline machine learning model development and deployment through continuous delivery. MLOps applies agile principles to machine learning projects and treats models and datasets as first-class citizens within CI/CD systems. The document outlines three levels of MLOps implementation from manual to fully automated pipelines. It also describes common MLOps platform tools for data management, modeling, and operationalization, including tools for data labeling, versioning, experiment tracking, hyperparameter optimization, model deployment, and monitoring.
This document discusses model-based systems engineering (MBSE) and the use of system modeling languages. It motivates MBSE by describing how system models can integrate requirements, design, analysis and other engineering artifacts. It then provides an overview of the SysML modeling language and how it supports structural, behavioral, requirements and parametric modeling of systems. Finally, it describes how a system architecture model can act as an integrating framework to link various engineering analysis models across the lifecycle.
Generative AI represents a pivotal moment in computing history, opening up new opportunities for scientific discoveries. By harnessing extensive and diverse datasets, we can construct new general-purpose Foundation Models that can be fine-tuned for specific prediction and exploration tasks. This talk introduces our research program, which focuses on leveraging the power of Generative AI for materials discovery. Generative AI facilitates rapid exploration of vast materials design spaces, enabling the identification of new compounds and combinations. However, this field also presents significant challenges, such as effectively representing crystals in a compact manner and striking the right balance between utilizing known structural regions and venturing into unexplored territories. Our research delves into the development of a new kind of generative models specifically designed to search for diverse molecular/crystal regions that yield high returns, as defined by domain experts. In addition, our toolset includes Large Language Models that have been fine-tuned using materials literature and scientific knowledge. These models possess the ability to comprehend extensive volumes of materials literature, encompassing molecular string representations, mathematical equations in LaTeX, and codebases. We explore the open challenges, including effectively representing deep domain knowledge and implementing efficient querying techniques to address materials discovery problems.
I am an instructor of the MLOps workshop for some anonymous startup incubation program where the objectives are (1) to orchestrate and deploy updates to the application and the deep learning model in a unified way. (2) To design a DevOps pipeline to coordinate retrieving the latest best model from the model registry, packaging the web application, deploying the web application and inferencing web service.
MLOps – Applying DevOps to Competitive AdvantageDATAVERSITY
MLOps is a practice for collaboration between Data Science and operations to manage the production machine learning (ML) lifecycles. As an amalgamation of “machine learning” and “operations,” MLOps applies DevOps principles to ML delivery, enabling the delivery of ML-based innovation at scale to result in:
Faster time to market of ML-based solutions
More rapid rate of experimentation, driving innovation
Assurance of quality, trustworthiness, and ethical AI
MLOps is essential for scaling ML. Without it, enterprises risk struggling with costly overhead and stalled progress. Several vendors have emerged with offerings to support MLOps: the major offerings are Microsoft Azure ML and Google Vertex AI. We looked at these offerings from the perspective of enterprise features and time-to-value.
【Intern Case Study_矽智財】
矽智財 (IP) 是 IC 設計所使用的智慧財產權,是一組事前設計好並驗證完畢、可重複使用的功能組塊,屬於半導體產業的上游,隨著 IC 產業垂直分工化的趨勢而崛起,具有高進入門檻、無庫存、高毛利等特色。
矽智財產業的商業模式為將設計好的 IP 模組授權給買家使用,初次會收取授權金 (License),往後開始量產則轉為收取權利金 (Royalty)。隨著先進製程不斷演進,全球矽智財市場也高速成長,終端市場以消費性電子為大宗,車用與 AI 應用則為主要成長動能。
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeSteve Mercier
Slides from my talk at ConFoo Montreal, February 2016. A presentation on how to apply configuration management (CM) principles for your various environments, to control changes made to them. You apply CM on your code, why not on your environments content? This presentation will present the infrastructure as code principles using Chef and/or Ansible. Topics discussed include Continuous Integration, Continuous Delivery/Deployment principles, Infrastructure As Code and DevOps.
The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...Burns Sheehan
Continuous delivery (CD) is a set of practices that aims to build, test, and release high quality software frequently and reliably. It is based on automating the software delivery process, including integrating, testing, and deploying code changes. The key principles of CD are automating builds, deployments, testing, and having everyone responsible for the release process. This reduces risk and allows teams to get feedback faster through more frequent releases of working software.
This document discusses the benefits of continuous delivery and deployment. It notes that without proper processes, deployments can fail due to crashes, failed migrations, or interrupted updates when introducing new features. Continuous delivery uses tools and methodologies to make releases low risk, fast, predictable, and ensure smooth deployments. The document outlines some of the key aspects of continuous delivery like source code management, continuous integration, automated deployments, monitoring, and root cause analysis. It discusses how these practices can help make software releases cheaper, more frequent, rapid, and reduce stress and errors compared to traditional release processes.
The Continuous delivery Value @ codemotion 2014David Funaro
System Crash, failure data migration, partial update: issues that no one would ever want to meet during the deploy and ... hoping for the best is not enough.
The deployment activity is important as those that precede it. The Continuous Delivery will give you low risk, cheap, fast, predictable delivery and ... soundly.
Agile & DevOps - It's all about project successAdam Stephensen
The document provides information on DevOps practices and tools from Microsoft. It discusses how DevOps enables continuous delivery of value through integrating people, processes, and tools. Benefits of DevOps include more frequent and stable releases, lower change failure rates, and empowered development teams. The document provides examples of DevOps scenarios and recommends discussing solutions and migration plans with Microsoft.
DevOps, sibling of Agile is born of the need to improve IT service delivery agility to the more stable environment.
DevOps movement emphasizes tearing the boundaries between makers (Development) & caretakers (Operations) of IT services/products.
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...WSO2
Continuous integration, continuous delivery, and continuous deployment are essential practices adopted by agile organizations to meet the new demands of digital transformation. Ultimately, the goal is to accelerate development and test processes and get new code out to production fast. This slide deck focuses on sustainably flowing ideas into the hands of customers in the form of innovative digital capabilities and applications, and continuously improving the digital business with CI/CD.
This document provides an overview of test driven development (TDD), continuous integration (CI), continuous delivery (CD) and continuous deployment. It defines TDD as writing tests before code to guide development. CI involves integrating code into a shared repository daily and automating builds and testing. CD allows software to be released to production at any time if all tests pass. Continuous deployment automatically deploys software to production whenever changes are merged into the main branch. The document discusses benefits like higher quality, faster delivery and flexibility, and recommends automating everything and having developers and operations work together.
The document discusses transforming traditional enterprise software development processes by applying DevOps and Agile principles at scale. It describes how one large company reduced development costs by $45M/year and increased innovation capacity from 5% to 40% by adopting these practices. These include adopting Agile development models, continuous delivery, automated testing, and breaking down organizational silos between development and operations teams. The challenges of applying these practices at an enterprise level are also addressed, such as long term planning predictability and ensuring architectural and deployment readiness across multiple components.
Udvid din test portefølje med coded ui test og cloud load testPeter Lindberg
The document discusses expanding a test portfolio with Coded UI tests and cloud-based load testing in Visual Studio. It covers automating tests with Microsoft Test Manager, creating automated UI tests using Coded UI, and performing load testing on applications hosted in the cloud using Visual Studio Online. Conducting load testing early and customizing tests to measure key performance metrics can help ensure applications meet expectations before public release.
This document discusses test driven development (TDD) and automation for PHP projects. It covers what TDD is, why it should be done, where tests should run, who should adopt TDD, and why unit testing, code coverage, code sniffing and Selenium are important. It also discusses tools for PHP TDD like Xdebug, PHPUnit, PHP_CodeSniffer and IDEs. The document provides examples of writing test cases with the red-green-refactor process and integrating TDD into a build system with automated testing on every code change.
Release software is no less important than activities that precede it.
The Continuous Delivery is a set of practices and methodologies that build an ecosystem for the software development lifecycle.
We will see how to build this ecosystem around the applications developed, for which this release activities becomes a low-risk, inexpensive, fast and predictable.
This document provides an introduction to DevOps concepts including continuous integration, continuous delivery, infrastructure as code, and configuration management. It discusses the need for DevOps to improve processes like manual setups, lack of change tracking, and long release cycles. Key DevOps practices include infrastructure as code, configuration management, continuous integration, and continuous delivery. The document demonstrates a continuous delivery pipeline using Gocd.
This talk describes how we use a scaled approach for CI/CD. The system is set up for iOS and Android Apps but many of the concepts presented are applicable for any type of application. We will cover the different pipeline stages a change goes through, how we automate many levels of testing, treat our CI infrastructure as code, which key metrics we use and we track them on dashboards. All this demonstrates how we can get close to Continuous Delivery for platforms still ruled by App stores.
Do you want a deep dive into the dev/test portion of DevOps and application lifecycle management (ALM)?
Do you want an overview of unit testing, functional UI testing and load testing?
Do you want to learn about continuous deployment?
Do you want to walk through how testers ensure that business value is delivered?
This session is for you.
deliver:agile - Enable your Agile Team with Continuous Delivery PipelinesEsteban Garcia
Continuous Delivery session from deliver:Agile
As your Agile team looks to shorten the cycle time from idea to production, it is important to give them the tools that will enable continuous feedback, collaboration with stakeholders, and most importantly, a way to get the product in front of the customer and enable a feedback loop.
This session will teach you how to create an effective release pipeline that incorporates Continuous Integration, automated testing, cloud deployment with Infrastructure as Code, Instrumentation, load testing, and more.
We will go from zero to Production in less than an hour and you will go back to work on Monday ready to deploy!
Learning Outcomes:
Continuous Integration
Continuous Deployment
Automation
4. Challenges in Embedded
Software Development
Hardware!
Resource Constrained
Deal with the
performance implications
Debugging
Learn to debug and deal
with
- OS bugs
- Hardware bug
- UFO bugs
Oscilloscope and JTAG is
your friend
Environment
- Thermal
- Moisture
- Power consumption
10. The Principles
High Frequency
Increase the ability to
release software to customers
faster
Reduce Overheads
Reduce the work required to
release features & products
to the market
Improve Defect Resolution
Enable finding defects faster
and as close to the developer
as possible
Automate
Automate all inefficient
manual tasks
Reduce Response Times
Enable developers to respond
to defects faster
22. Architecture
◍ Old Codebase
◍ Backwards compatibility with older hardware
◍ Continuing to support advancements in new hardware
◍ Desire to provide value to customers (new features on
all products)
Legacy Architecture
23. All of this meant
◍ Defects were found late
◍ Software stabilisation was taking longer
◍ Manual testing couldn’t keep up with product growth
◍ Costs were increasing (including Opportunity Costs)
◍ We were impacting our ability to innovate
Time
Cost of Finding and Resolving Defects
25. Does CI/CD provide Answers?
High Frequency
◍ Reduce product release
timeframes
◍ Get new features to
customers faster
Reduce Overheads
◍ Become more efficient
◍ Reduce costs
Improve Defect Resolution
◍ Higher quality software
◍ Better brand perception
◍ More sales!
Automate
◍ Become more efficient
◍ Faster turnaround times
Reduce Response Times
◍ Prevent bugs on top of bugs
◍ Higher quality software
28. Our Plan
Improve Tools & Architecture
Seek integration and flexibility over
compliance and process
Improve Build Speeds
Everything is depends on
faster builds so fix this.
Quality Control Incoming Code
Validate the quality of incoming code
automatically
Automated Testing
Manual testing can’t keep up, focus on
automating as much as possible
29. “You can have data without information, but you cannot
have information without data - Daniel Keys Moran
30. Previous VCS
◍ Proprietary tool with limited
support or updates
◍ Extremely limited integration
with other tools
◍ Lack of CI support
◍ No Code Review capability
Improve Tools
Bitbucket/Git
◍ Git!
◍ Integrated Code Reviews
◍ Significantly better
integration with CI
◍ Integration fully supported
with all tools
40. Tools to look into
◍ ccache/clcache – for improving C++ compilation times
◍ IncrediBuild – faster parallel builds (tight
integration in Visual Studio)
◍ distcc – Open Source (free) alternative to IncrediBuild
46. So how did we approach this?
◍ Start with micro tests
- Unit Testing (Simulator)
- Unit Testing (Real Hardware)
◍ Build Tools
- Software Tools (N2K Simulator, Remote Control)
- Hardware Tools (Repurpose/Build)
47. UI Test Automation
◍ Build or Buy
◍ Functional Testing vs API Testing
◍ Utilise HW Test Tools
◍ Execute on Real HW as well as Simulators
◍ BAT vs Full Regression
48. CI Pipeline
◍ Code Commit -> Pull Request
◍ Automated Build / Unit Tests (on HW)
◍ Merge to Master
◍ Daily Integration Builds on Master for
- All HW platforms
- All Application Variations
◍ Ready for QA.
49. What’s Next?
◍ Configuration as Code
◍ Code Quality Tools
◍ Simulate More Hardware
◍ Increase Analytics and Reporting
◍ Fully Simulated Test Environments for Dev
◍ Scale – From internal infrastructure to the Cloud
◍ Grow the team (We need you)
50. CI Pipeline
◍ Code Commit -> Pull Request
◍ Automated Build / Unit Tests/ Functional UI Tests
◍ Automated Architecture / Code Formatting Checks
(SonarCube/clang)
◍ Merge to Master
◍ Daily Integration Builds on Master for
- All HW platforms
- All Application Variations
◍ Full Automated UI Test Coverage
◍ Ready for release.
51. Lessons Learnt
◍ Culture!
◍ Collect Data
◍ Get Executive Buy-in
◍ Change your Tools and Processes if needed
◍ Test Automation is key
- Invest in HW
- Simulate!
- Virtualise
◍ Focus on Good Software Design for Everything