This document outlines Jose Luis Soria's presentation on designing a release pipeline. It discusses defining components, sub-pipelines, stages and orchestration, environments, steps, automation and tooling. The key aspects are defining independent components, identifying stages to filter unfit candidates and provide feedback, automating steps, and choosing tools to support the pipeline design.
MyHeritage - QA Automations in a Continuous Deployment environmentMatanGoren
In this presentation we explain the CD mindset of the MyHeritage QA and how we use Watir, Appium, Ruby, Cumcumber and other supporting technologies to allow end to end testing.
These are the link mentioned in the presentation:
Continuous Deployment Applied at MyHeritage - http://www.slideshare.net/RanLevy/continuous-deployment-applied-at-myheritage
Appium - http://appium.io/
Ruby - https://www.ruby-lang.org/en/
Watir - http://watirwebdriver.com/
page-object - https://github.com/cheezy/page-object
Selenium Grid - https://github.com/SeleniumHQ/selenium/wiki/Grid2
Selenium-Grid-Extras - https://github.com/groupon/Selenium-Grid-Extras
Jenkins - https://jenkins-ci.org/
In this presentation we explain how we use Watir, Ruby, Cumcumber and other supporting technologies to allow end to end testing in MyHeritage.
These are the links to resource mentioned in the presentation:
Ruby - https://www.ruby-lang.org/en/
Watir - http://watirwebdriver.com/
page-object - https://github.com/cheezy/page-object
Selenium Grid - https://github.com/SeleniumHQ/selenium/wiki/Grid2
Selenium-Grid-Extras - https://github.com/groupon/Selenium-Grid-Extras
Jenkins - https://jenkins-ci.org/
We also explain how QA automation engineers are an integral part of the Continuous Deployment process at MyHeritage
MyHeritage - QA Automations in a Continuous Deployment environmentMatanGoren
In this presentation we explain the CD mindset of the MyHeritage QA and how we use Watir, Appium, Ruby, Cumcumber and other supporting technologies to allow end to end testing.
These are the link mentioned in the presentation:
Continuous Deployment Applied at MyHeritage - http://www.slideshare.net/RanLevy/continuous-deployment-applied-at-myheritage
Appium - http://appium.io/
Ruby - https://www.ruby-lang.org/en/
Watir - http://watirwebdriver.com/
page-object - https://github.com/cheezy/page-object
Selenium Grid - https://github.com/SeleniumHQ/selenium/wiki/Grid2
Selenium-Grid-Extras - https://github.com/groupon/Selenium-Grid-Extras
Jenkins - https://jenkins-ci.org/
In this presentation we explain how we use Watir, Ruby, Cumcumber and other supporting technologies to allow end to end testing in MyHeritage.
These are the links to resource mentioned in the presentation:
Ruby - https://www.ruby-lang.org/en/
Watir - http://watirwebdriver.com/
page-object - https://github.com/cheezy/page-object
Selenium Grid - https://github.com/SeleniumHQ/selenium/wiki/Grid2
Selenium-Grid-Extras - https://github.com/groupon/Selenium-Grid-Extras
Jenkins - https://jenkins-ci.org/
We also explain how QA automation engineers are an integral part of the Continuous Deployment process at MyHeritage
"Building with Gradle" by Laurynas Tretjakovas.
A short introduction to Gradle. How to start using Gradle for Java projects and how does it compare to Maven and Ant.
Build software like a bag of marbles, not a castle of LEGO®Hannes Lowette
If you have ever played with LEGO®, you will know that adding, removing or changing features of a completed castle isn’t as easy as it seems. You will have to deconstruct large parts to get to where you want to be, to build it all up again afterwards. Unfortunately, our software is often built the same way. Wouldn’t it be better if our software behaved like a bag of marbles? So you can just add, remove or replace them at will?
Most of us have taken different approaches to building software: a big monolith, a collection of services, a bus architecture, etc. But whatever your large scale architecture is, at the granular level (a single service or host), you will probably still end up with tightly couple code. Adding functionality means making changes to every layer, service or component involved. It gets even harder if you want to enable or disable features for certain deployments: you’ll need to wrap code in feature flags, write custom DB migration scripts, etc. There has to be a better way!
So what if you think of functionality as loose feature assemblies? We can construct our code in such a way that adding a feature is as simple as adding the assembly to your deployment, and removing it is done by just deleting the file. We would open the door for so many scenarios!
In this talk, I will explain how to tackle the following parts of your application to achieve this goal: WebAPI, Entity Framework, Onion Architecture, IoC and database migrations. And most of all, when you would want to do this. Because… ‘it depends’.
The Evolution of Continuous Delivery at Scale @ LinkedinC4Media
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1LavwD3.
Jason Toy talks about the evolution and history of LinkedIn's release strategy. Filmed at qconsf.com.
Jason Toy drives the direction for build automation at LinkedIn, focusing on the commit to release pipeline with the ultimate goal of allowing developers to move code from dev to prod in 30 minutes.
Based on the example of the XWiki Open Source project (http://xwiki.org) this session will describe a number of practices to improve the quality of a Java project. Also, it will show how to implement these practices so that they are automatically checked and enforced. Some examples include: *How to make sure your project does not break binary compatibility unintentionally and, more generally, how to successfully evolve an API without breaking your users; *How to manage the JAR hell and avoid duplication of classes in your application at runtime; *How to automatically control the test coverage and the associated policies; *How to automate functional testing of web applications and how to avoid false-positives that plague any project..
Continuous integration using Jenkins and SonarPascal Larocque
Continuous Integration can help your to team release features faster. It reduces the risk of deployment issue and will speed up your development cycle. In this presentation we take a look at how Jenkins and Sonar can help you Test, Analyze, Deploy and gather performance metrics that will help your team increase their development quality and reduce deployment time
#Collab365 Setting up your release pipeline for SharePoint in AzureVincent Biret
Slide deck of my session at the collab365 about setting up your release pipeline for SharePoint in Azure. How can Microsoft ALM and cloud services improve the quality of your deliveries
WinOps Conf 2016 - Michael Greene - Release PipelinesWinOps Conf
There are benefits to be gained when patterns and practices from developer techniques are applied to operations. Notably, a fully automated solution where infrastructure is managed as code and all changes are automatically validated before reaching production. This is a process shift that is recognized among industry innovators. For organizations already leveraging these processes, it should be clear how to leverage Microsoft platforms. For organizations that are new to the topic, it should be clear how to bring this process to your environment and what it means to your organizational culture. This presentation explains the components of a Release Pipeline for configuration as code, the value to operations, and solutions that are used when designing a new Release Pipeline architecture.
An introduction to the concepts behind Continuous Delivery as well as an introduction to some of the tools available for implementing continuous delivery practices on a new project. This presentation is geared towards Java developers, but is applicable to all.
DevOps and Continuous Delivery reference architectures for DockerSonatype
People want to understand how to architect continuous delivery and DevOps environments using containerized applications and artifacts. We assembled this deck to represent best practices across a number of different organizations. These may look like the tool chains and infrastructure that you have built or would like to build.
Release Management: Successful Software Releases Start with a Planconnielharper
This presentation was given at devLink 2010 in Nashville, TN and will weigh the pros and cons of each type of release cycle and identify what else is needed for a successful software release.
"Building with Gradle" by Laurynas Tretjakovas.
A short introduction to Gradle. How to start using Gradle for Java projects and how does it compare to Maven and Ant.
Build software like a bag of marbles, not a castle of LEGO®Hannes Lowette
If you have ever played with LEGO®, you will know that adding, removing or changing features of a completed castle isn’t as easy as it seems. You will have to deconstruct large parts to get to where you want to be, to build it all up again afterwards. Unfortunately, our software is often built the same way. Wouldn’t it be better if our software behaved like a bag of marbles? So you can just add, remove or replace them at will?
Most of us have taken different approaches to building software: a big monolith, a collection of services, a bus architecture, etc. But whatever your large scale architecture is, at the granular level (a single service or host), you will probably still end up with tightly couple code. Adding functionality means making changes to every layer, service or component involved. It gets even harder if you want to enable or disable features for certain deployments: you’ll need to wrap code in feature flags, write custom DB migration scripts, etc. There has to be a better way!
So what if you think of functionality as loose feature assemblies? We can construct our code in such a way that adding a feature is as simple as adding the assembly to your deployment, and removing it is done by just deleting the file. We would open the door for so many scenarios!
In this talk, I will explain how to tackle the following parts of your application to achieve this goal: WebAPI, Entity Framework, Onion Architecture, IoC and database migrations. And most of all, when you would want to do this. Because… ‘it depends’.
The Evolution of Continuous Delivery at Scale @ LinkedinC4Media
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1LavwD3.
Jason Toy talks about the evolution and history of LinkedIn's release strategy. Filmed at qconsf.com.
Jason Toy drives the direction for build automation at LinkedIn, focusing on the commit to release pipeline with the ultimate goal of allowing developers to move code from dev to prod in 30 minutes.
Based on the example of the XWiki Open Source project (http://xwiki.org) this session will describe a number of practices to improve the quality of a Java project. Also, it will show how to implement these practices so that they are automatically checked and enforced. Some examples include: *How to make sure your project does not break binary compatibility unintentionally and, more generally, how to successfully evolve an API without breaking your users; *How to manage the JAR hell and avoid duplication of classes in your application at runtime; *How to automatically control the test coverage and the associated policies; *How to automate functional testing of web applications and how to avoid false-positives that plague any project..
Continuous integration using Jenkins and SonarPascal Larocque
Continuous Integration can help your to team release features faster. It reduces the risk of deployment issue and will speed up your development cycle. In this presentation we take a look at how Jenkins and Sonar can help you Test, Analyze, Deploy and gather performance metrics that will help your team increase their development quality and reduce deployment time
#Collab365 Setting up your release pipeline for SharePoint in AzureVincent Biret
Slide deck of my session at the collab365 about setting up your release pipeline for SharePoint in Azure. How can Microsoft ALM and cloud services improve the quality of your deliveries
WinOps Conf 2016 - Michael Greene - Release PipelinesWinOps Conf
There are benefits to be gained when patterns and practices from developer techniques are applied to operations. Notably, a fully automated solution where infrastructure is managed as code and all changes are automatically validated before reaching production. This is a process shift that is recognized among industry innovators. For organizations already leveraging these processes, it should be clear how to leverage Microsoft platforms. For organizations that are new to the topic, it should be clear how to bring this process to your environment and what it means to your organizational culture. This presentation explains the components of a Release Pipeline for configuration as code, the value to operations, and solutions that are used when designing a new Release Pipeline architecture.
An introduction to the concepts behind Continuous Delivery as well as an introduction to some of the tools available for implementing continuous delivery practices on a new project. This presentation is geared towards Java developers, but is applicable to all.
DevOps and Continuous Delivery reference architectures for DockerSonatype
People want to understand how to architect continuous delivery and DevOps environments using containerized applications and artifacts. We assembled this deck to represent best practices across a number of different organizations. These may look like the tool chains and infrastructure that you have built or would like to build.
Release Management: Successful Software Releases Start with a Planconnielharper
This presentation was given at devLink 2010 in Nashville, TN and will weigh the pros and cons of each type of release cycle and identify what else is needed for a successful software release.
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...Sonatype
There are numerous examples of DevOps and Continuous Delivery reference architectures available, and each of them vary in levels of detail, tools highlighted, and processes followed. Yet, there is a constant theme among the tool sets: Jenkins, Maven, Sonatype Nexus, Subversion, Git, Docker, Puppet/Chef, Rundeck, ServiceNow, and Sonar seem to show up time and again.
This presentation reports the analysis results of clarifying factors that affect productivity of enterprise software projects as follows. (1) Productivity is inversely proportional to the root of fifth power of the test case density and fault density respectively. (2) Project where high security or reliability level software is required has low productivity, and project where objectives and priorities are very clear, project where documentation tools are used, and project where sufficient work space is provided have high productivity. (3) Productivity of the project managed by skillful project manager is low because he/she tries to detect many faults. (4) If work conditions of a project where high security, reliability, or performance and efficiency level software is required are poor such that work space is narrow or role assignment and each person’s responsibility are not clarified, the project has remarkably low productivity. (IT Confidence 2014, Tokyo (Japan))
K8s-native Infrastructure as Code: einfach, deklarativ, produktivQAware GmbH
Mastering Kubernetes, Juli 2022, Mario-Leander Reimer (@LeanderReimer, Principal Software Architect bei QAware).
== Dokument bitte herunterladen, falls unscharf! Please download slides if blurred! ==
K8s-natives Infrastructure as Code: einfach, deklarativ, produktiv
Die einfache und effiziente Bereitstellung der benötigten Cloud-Infrastruktur stellt viele Teams vor erhebliche Herausforderungen. Denn zusätzlich zur Umsetzung von fachlichen Features und Microservices sind Entwickler nun oft auch für den Aufbau der benötigten Services mit Infrastructure as Code à la Terraform mit verantwortlich. Diese hohe Cognitive Load führt leider schnell zu suboptimalen Lösungen und niedriger Produktivität.
Doch es geht einfacher! Mittlerweile stehen zahlreiche K8s-native Ansätze zur Verfügung, mit denen Cloud-Infrastruktur bei den namhaften Providern vollständig deklarativ per YAML provisioniert werden kann.
Dieser Vortrag demonstriert den praktischen Einsatz einiger vielversprechender Projekte wie Crossplane, ACK oder Pulumi sowie die nahtlose Integration mit einem GitOps-Ansatz für eine einfache und optimale Developer Experience.
ETICS supporting compliance and interoperability, Gabriele Giammatteo, Engine...OW2
ETICS is a service-oriented system which supports its users in building, testing and in verifying the quality of the software produced. With ETICS it is possible to define, execute and analyse a large range of software testing cases, from static code analysis (e.g. documentation coverage, PMD metrics) to unit testing, to compliance testing, to deployment and functional testing in a multi-node environment created specifically for the test execution. ETICS build, testing and quality verification tools are offered as a service to open source projects within the OCEAN project. In this context ETICS mainly simplifies and supports testing activities improving the quality of the software being produced, verifying its compliance to standards and its interoperability features. This presentation can be seen as a continuation of ETICS presentation given last year at OW2 conference 2012. It aims at showing results from the use of ETICS as one of OCEAN services and at illustrating the approach developed to support software compliance and interoperability for the verification of the compatibility to OCCI and CDMI standards.
Cloud computing & Batch processing: potentiels & perspectives Claude Riousset
Présentation effectuée le 21/10 pour le groupe opérations du "Guide Share France"
Thème: Cloud Computing et Batch processing
Historique et rappel des concepts
Data Center & transformation
Synergie Cloud & Batch, exemple.
Perspectives OpenStack et exemples
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...Srijan Technologies
Speaker: Adheip Singh, Senior DevOps
Kubernetes has taken the tech world by storm. As an orchestration platform, it has eased the deployment & scaling of stateless applications. However, managing complex, in particular stateful applications, is a major pain.
The extensibility of Kubernetes has led to the development of a rapidly evolving ecosystem around K8S. And as an outcome of this extensibility, Kubernetes Operators were designed which eased packaging, deployment as well as management of a Kubernetes application.
In this webinar, we will talk about K8S, with a focus on extensibility and architectural aspects of K8S operators. Additionally, we will perform a live demo of our attempt at writing a Drupal Operator.
Key Takeaways
Understand the extensibility of Kubernetes
- Conceptually understand how to run stateless and stateful services on K8S
- Learn all about K8S operators
- Get a hands-on demo for writing a Drupal Operator
Who is this for
- DevOps
- Technical Architects
- Software Developers
- Anyone interested in learning how to run Drupal workloads on Kubernetes and extensibility of Kubernetes
View all our webinars at: https://www.srijan.net/webinar
Development and Third Party Maintenance for the IBM Mainframe (L. De Bruyn)NRB
This presentation describes the process leading to outsourcing and highlights not only the benefits of outsourcing application development & maintenance but also the pitfalls to avoid. It describes how we help our customers to innovate in the mainframe environment thanks to our competence, the tools we use and our experience.
Por qué los planteamientos de pruebas de rendimiento tradicionales ya no funcionan, y cuál es el acercamiento adecuado para asegurar que los sistemas soportan la carga esperada cuando pasan a producción.
DevOps For Everyone: Bringing DevOps Success to Every App and Every Role in y...Siva Rama Krishna Chunduru
Understand DevOps and it's fitment to various types of applications.
Understand various Organization Roles after Org-restructure.
Understand the way to measure the success.
apidays LIVE India 2022_Migrating from monolith to microservices.pdfapidays
apidays LIVE India 2022: Accelerating India’s digitisation with APIs
May 11 & 12, 2022
Migrating from monolith to microservices to transform user experience and build resilience
Shourya Ranka, Engineering Manager at The Economist
------------
Check out our conferences at https://www.apidays.global/
Do you want to sponsor or talk at one of our conferences?
https://apidays.typeform.com/to/ILJeAaV8
Learn more on APIscene, the global media made by the community for the community:
https://www.apiscene.io
Explore the API ecosystem with the API Landscape:
https://apilandscape.apiscene.io/
Deep dive into the API industry with our reports:
https://www.apidays.global/industry-reports/
Subscribe to our global newsletter:
https://apidays.typeform.com/to/i1MPEW
Zend Framework 2 (ZF2) is an open source, object oriented Framework designed for developing web applications and services using PHP 5.3+. This presentation covers an overview on Zend 2, advantages of using this and installation process.
Simpda 2014 - A living story: measuring quality of developments in a large in...SpagoWorld
The presentation supported the speech by Gabriele Ruffatti (founder of the SpagoWorld initiative) at SIMPDA 2014 (Milan, Italy - November 19-21, 2015). The presentation focuses on the innovative approach named Productivity Intelligence supported by Spago4Q - the open source analytic of SpagoBI suite for Quality and Performance Improvement- that allows companies and organizations to effectively monitor performances, improve quality practices and achieve higher capability levels. www.spagoworld.org
Slides for my presentation at ALE2012, "Cargo Cult Agile Training & Coaching". About common problems and pitfalls related to how we think and judge, and how they may affect the way we act when helping others to learn and work around Agile
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
Atelier - Innover avec l’IA Générative et les graphes de connaissancesNeo4j
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Allez au-delà du battage médiatique autour de l’IA et découvrez des techniques pratiques pour utiliser l’IA de manière responsable à travers les données de votre organisation. Explorez comment utiliser les graphes de connaissances pour augmenter la précision, la transparence et la capacité d’explication dans les systèmes d’IA générative. Vous partirez avec une expérience pratique combinant les relations entre les données et les LLM pour apporter du contexte spécifique à votre domaine et améliorer votre raisonnement.
Amenez votre ordinateur portable et nous vous guiderons sur la mise en place de votre propre pile d’IA générative, en vous fournissant des exemples pratiques et codés pour démarrer en quelques minutes.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Jose Luis Soria - Codemotion 2014 - Designing a release pipeline
1. MADRID · NOV 21-22 · 2014
Designing a Release Pipeline
Jose Luis Soria
Continuous Improvement Manager at Ria Financial
@jlsoriat
2. MADRID · NOV 21-22 · 2014
What is a
Release Pipeline?
3. MADRID · NOV 21-22 · 2014
What is a Release Pipeline?
Automated manifestation of your delivery process.
Feedback mechanism.
Detection of unfit release candidates.
Pull system.
Useful for CD, or any other delivery model.
4. MADRID · NOV 21-22 · 2014
Pipeline design considerations
Emergent design. No BDUF.
Start early.
Start simple and evolve with the system.
Begin with the most valuable assets.
Address the bottlenecks.
7. MADRID · NOV 21-22 · 2014
What is a (software) component? (*)
A set of artifacts (binaries, dynamic code, configuration files, other supporting files) that can be deployed and verified together without affecting other areas of the application.
(*) in a release pipeline
8. MADRID · NOV 21-22 · 2014
Choosing components
Deploy and test the smallest independent entity.
Rely on the architecture:
Logical / physical.
Layers / tenants.
See the whole.
9. MADRID · NOV 21-22 · 2014
What do we need to know?
For each component:
Meaningful name.
Description.
Priority / order (when to address it?)
Source (most likely, version control.)
Target (where it gets deployed.)
Pre-requisites.
Dependencies.
Configuration tokens.
10. MADRID · NOV 21-22 · 2014
Configuration tokens
1.Make a list of environment-dependent information.
2.Tokenize it in the configuration.
3.Gather the values for all the environments.
12. MADRID · NOV 21-22 · 2014
Activity: defining components
Our application consists on:
A web site built on top this technology stack:
MVC framework.
Client-side logic (HTML5, JavaScript.)
Entity model mapped to the DB using a ORM.
Data model residing in a DB.
13. MADRID · NOV 21-22 · 2014
Activity: defining components
Our application consists on:
A web site built on top this technology stack:
MVC framework.
Client-side logic (HTML5, JavaScript.)
Entity model mapped to the DB using a ORM.
Data model residing in a DB.
Key business logic resides on a web services layer.
We also maintain a mobile client for two platforms.
14. MADRID · NOV 21-22 · 2014
Activity: defining components
Our application consists on:
A web site built on top this technology stack:
MVC framework.
Client-side logic (HTML5, JavaScript.)
Entity model mapped to the DB using a ORM.
Data model residing in a DB.
Key business logic resides on a web services layer.
We also maintain a mobile client for two platforms.
For some operations we make calls to third-party web
services.
15. MADRID · NOV 21-22 · 2014
Example: component sheet
16. MADRID · NOV 21-22 · 2014
Implementation notes
It should be possible to independently build, deploy and test anything defined as a component.
You should decide how dependencies will be made available:
Source Control.
Artifact repositories.
Deployed (third-party) artifacts.
Etc.
17. MADRID · NOV 21-22 · 2014
Tooling
Version control systems
Git, Mercurial, SVN, TFS…
Artifact repositories
Artifactory, Nexus, Frog, NuGet…
18. MADRID · NOV 21-22 · 2014
#2 Identify
Sub-pipelines
19. MADRID · NOV 21-22 · 2014
Single pipeline
A single pipeline servicing all the components and teams.
May be able to detect which component has
changed and operate only on that one.
20. MADRID · NOV 21-22 · 2014
Onepipeline per component
Each component has its own pipeline.
Different pipelines may have different designs.
Individual pipelines may fan-in to a system pipeline.
More flexible but more complex.
21. MADRID · NOV 21-22 · 2014
Onepipeline per team
Each team has its own pipeline.
Different pipelines may have different designs.
Individual pipelines may fan-in to an integration pipeline.
22. MADRID · NOV 21-22 · 2014
Mixedapproach
Different teams building different components.
Keep it simple!
23. MADRID · NOV 21-22 · 2014
Implementationnotes
It is easier if you use a tool that allows to define sub-pipelines, fan-in, fan-out, etc.
24. MADRID · NOV 21-22 · 2014
#3 Define
Stages& Orchestration
26. MADRID · NOV 21-22 · 2014
Whatisa stage?
A set of steps or activities that are performed on a release candidate.
It lets any release candidate advance towards production, or discards it.
When a release candidate passes through a stage, our confidence on it is increased.
It is a source for feedback.
Frequently taken for environments (but they’re not the same)
27. MADRID · NOV 21-22 · 2014
Whatisorchestration?
It is the way we arrange the stages so release
candidates flow through them, in their way to production.
28. MADRID · NOV 21-22 · 2014
Tipsforstages& orchestration(I)
Feedback is the key. Arrange stages and
orchestration based on the feedback we need.
Stages are filters. The orchestration should be arranged to stop the pipeline if a stage fails.
Stages can contain both manual and automated steps.
29. MADRID · NOV 21-22 · 2014
Tipsforstages& orchestration(II)
Stages can be manually or automatically triggered (think about approvals.)
Automate as much as possible. Including the approvals.
30. MADRID · NOV 21-22 · 2014
Tipsforstages& orchestration(III)
Grow your pipeline wide, not long http://bit.ly/1jsNGP5
Build only once.
Use environment-agnostic binaries.
Version everything.
31. MADRID · NOV 21-22 · 2014
Whatdo weneedto know?
For each stage:
∘Meaningful name.
∘Clear goal.
∘Does it need a manual approval to be triggered?
∘Does it need a manual verification when it has finished?
∘Sources.
∘Flow (orchestration.)
32. MADRID · NOV 21-22 · 2014
Pipeline-levelorchestration(examples)
CommitManual testingReleaseMinimum pipelineFully automatedPartially automated, or manualLegend:
33. MADRID · NOV 21-22 · 2014
Pipeline-level orchestration
(examples)
Commit Acceptance testing Release
Exploratory testing
Capacity testing Security testing
User Acceptance
testing
Complex pipeline
Fully automated
Partially automated, or manual
Legend:
34. MADRID · NOV 21-22 · 2014
Stage-levelorchestration(example)
Code is builtOnce and Only Once: In the first stage. Subsequent stagesare run in parallel if configured that way. Pipeline gets triggered: When a developer does a check-in, or manuallyA new instance of the pipeline is createdGet next stage, relate it to the pipeline instance, prepare parameters, notify for monitoringAutomatically- triggered stage? Trigger stageWait for the user to trigger the stageGather stage results and notify them for monitoringSucceded? Stop the pipeline instanceAny stages left? NOYESNONOYESYES
35. MADRID · NOV 21-22 · 2014
Aboutsources
Version control.
Artifactrepositories.
Environmentlibraries.
36. MADRID · NOV 21-22 · 2014
Whichstagesdo I need?
Think about the kind of feedback you need.
Think about what should stop a release candidate to get to production.
Create a Value Stream Map.
37. MADRID · NOV 21-22 · 2014
Valuestreammap(example)
AssessmentApprovalPlanningCapacity testsReleaseAcceptance testsCodeSpecification2 days1 dayValue- added timeWaittimeDevelopment: cycle time ~ ? 3 days3 days? ?? ? 4 days1 day2 days2 weeks?? Delivery: lead time ~ ? Exploratory tests? UAT? ?
38. MADRID · NOV 21-22 · 2014
Prevalentstages: theCommitstage
Eliminate early release candidates that are unfit for production.
Close to (or the same as) a CI build.
Quick validations: build, unit testing, static analysis, etc.
Packaging.
For Continuous Delivery, it runs on each commit (no branches –feature toggles.)
For other models, decide when it gets triggered (for example, on each merge to trunk.)
39. MADRID · NOV 21-22 · 2014
Prevalentstages: theCommitstage
http://bit.ly/1jsSkwA
40. MADRID · NOV 21-22 · 2014
Prevalent stages: the Automated Acceptance Test stage
http://bit.ly/1jsSkwA
41. MADRID · NOV 21-22 · 2014
Prevalent stages: the Manual Test stage
http://bit.ly/1jsSkwA
42. MADRID · NOV 21-22 · 2014
Prevalent stages: non-Functional Testing stages
http://bit.ly/1jsSkwA
43. MADRID · NOV 21-22 · 2014
Activity: defining stages & orchestration
“We have a basic suite of automated acceptance tests that we plan to grow along with the system.”
“The team does (manual) functional testing.”
44. MADRID · NOV 21-22 · 2014
Activity: defining stages & orchestration
“We have a basic suite of automated acceptance tests that we plan to grow along with the system.”
“The team does (manual) functional testing.”
“We need to support 2,000 concurrent users.”
45. MADRID · NOV 21-22 · 2014
Implementationnotes
Choose a tool that allows to easily model and
visualize the flow.
Choose a tool that supports what you need for orchestration:
∘Approvals.
∘Validations.
∘Parallelization.
∘Alerts.
∘Etc.
46. MADRID · NOV 21-22 · 2014
#4 Define
Environments
47. MADRID · NOV 21-22 · 2014
Whatisanenvironment?
A set of servers, devices or any other resources we need in order to run and validate a release candidate in its way to production.
48. MADRID · NOV 21-22 · 2014
Tipsfordefiningenvironments
Prepare for deployment automation.
Lock down environments. Restrict access.
Different stages could target the same environment if needed.
Prepare for auto-provision.
Make environments disposable. Don’t turn them into bottlenecks.
Environments may not be tied to stages. It should be easy to point any stage to any environment.
49. MADRID · NOV 21-22 · 2014
Activity: defining environments
“We have a basic suite of automated acceptance tests that we plan to grow along with the system.”
“The team does (manual) functional testing.”
“We need to support 2,000 concurrent users.”
50. MADRID · NOV 21-22 · 2014
Implementationnotes
Use virtualization.
Use cloud-based environments.
Use tools for managing templates, configuration, auto-provision, etc.
51. MADRID · NOV 21-22 · 2014
Tooling
Phisicalmachines
Virtualization tools
VmWare, VirtualBox, Hyper-V, etc.
Containers
Docker
Cloud
Amazon, Google, Azure…
Environment definition
Vagrant, PowerShell DSC…
53. MADRID · NOV 21-22 · 2014
Whatisa step?
Any activity that is done in the context of a stage, that allows us to get feedback and prove the fitness of the release candidate.
Examples:
∘Deploy a component.
∘Run automated tests.
∘Run manual tests.
∘Update metrics.
∘Alert the user of some event.
∘Etc.
54. MADRID · NOV 21-22 · 2014
Tipsfordefiningsteps(I)
Consider:
The goal of the stage.
The kind of feedback you need.
Sources.
Targets (environments.)
Build and package only in the Commit stage.
55. MADRID · NOV 21-22 · 2014
Tipsfordefiningsteps(II)
Consider:
Most times, deployment is present, but not always.
(Automated) Smoke Testing should follow any deployment.
Think about both automated and manual steps.
56. MADRID · NOV 21-22 · 2014
Activity: defining steps
“We want to filter out anything producing static analysis warnings.”
“We want to try exploratory testing.”
“We may use the same environment for load testing and security testing.”
57. MADRID · NOV 21-22 · 2014
#6 Define
Automation & Tooling
58. MADRID · NOV 21-22 · 2014
Tipsforstepautomation(I)
Automate everything.
Automate everywhere (for all the environments.)
Preference for automation:
Fully automated steps.
Manually triggered automatic steps.
Manual steps.
59. MADRID · NOV 21-22 · 2014
Tipsforstepautomation(II)
Build only once.
Version everything.
This includes the automations.
Have environment lockdown in mind.
60. MADRID · NOV 21-22 · 2014
Deploymentautomationconsiderations
Deploy the same way to every environment. The target environment should be a (implicit)
parameter for the automations.
Set up (tool-agnostic) one-click deployments.
Treat configuration tokens as parameters for the automations.
Prepare for rollbacks.
61. MADRID · NOV 21-22 · 2014
Databasedeploymentconsiderations
Databasedeploymentisnotthesameas databasedevelopment.
Decide aboutthedeploymentstrategy:
Schema& Data compare.
Delta scripts (betterforContinuousDelivery.)
ORM tools(schemaupdate, migrations, etc.)
62. MADRID · NOV 21-22 · 2014
Test automationconsiderations
Q2 tests are not necessarily run through the UI.
Smoke tests may be run through the UI.
Frequently, non-functional testing can be
automated.
Leave environments and data in a known state.
A few things can’t be automated (UAT & Q3
testing.)
63. MADRID · NOV 21-22 · 2014
Whatdo weneedto know
For each step to be automated:
Automation tool or technology.
Execution model.
Parameters (at least you’ll have the configuration tokens.)
Source / target.
64. MADRID · NOV 21-22 · 2014
Aboutexecutionmodels
Native OS tool.
Agent.
Remote execution.
65. MADRID · NOV 21-22 · 2014
Activity: defining automation & tooling
“Production environment is in an isolated network”
“Operations people won’t allow us to install anything there”
66. MADRID · NOV 21-22 · 2014
Tooling
Environment provision
Puppet, Chef, Ansible
Virtualization tools (VM templates, etc.)
App deployment
Scripting (Unix shell, PowerShell, etc.)
Puppet, Chef, Ansible, VS Release Management
DB Deployment
RedGate, DBDeploy, etc.
Testing
Testing frameworks
UI automation frameworks
Non-functional testing tools
67. MADRID · NOV 21-22 · 2014
#7 Define Execution model, monitoring & metrics
68. MADRID · NOV 21-22 · 2014
Continuousdeliveryflowmodel
Pipeline instances are created on each commit. Any commit is a release candidate.
One-piece continuous flow model.
There is no way back. Any error makes the release candidate to be discarded.
Fixes are treated as new release candidates. They are run through the entire pipeline from the beginning.
69. MADRID · NOV 21-22 · 2014
Otherflowmodels
Pipeline instances are created as needed. A release candidate might comprise several commits.
Decide on the batch size. Larger batches may be cheaper but limit feedback.
Errors might be fixed in the context of the stage where they arise.
70. MADRID · NOV 21-22 · 2014
Monitoringthepipeline
Transparency.
Rely on a proper tool.
Set up alerts for key events.
Use a Cumulative Flow Diagram (CFD.)
Gather metrics and act on them.
71. MADRID · NOV 21-22 · 2014
Primarymetrics
Cycle time.
Mean Time Between Failures (MTBF.)
Mean Time To Recover (MTTR.)
72. MADRID · NOV 21-22 · 2014
Secondarymetrics
Test coverage.
Duplication of code.
Coupling.
Compilation warnings.
Code churn.
Build frequency
Etc.
73. MADRID · NOV 21-22 · 2014
Tooling
Outof thebox metricsin theorchestrationtool.
Ad-hoc reporting.
Sonar, FxCop, Ndepend, FindBugs…
74. MADRID · NOV 21-22 · 2014
#8 Plan forfutureenhancements
75. MADRID · NOV 21-22 · 2014
Examples–DevOps culture
Improvebranchingmodelifneeded.
Debuggingoptimization, symbol servers.
Canaryreleases.
Blue/greendeployments.
A/B Testing.
76. MADRID · NOV 21-22 · 2014
Examples–DevOps culture
Preventiveprofiling.
Telemetry, analytics, ApplicationPerformance Monitoring(APM.)
Proactiveresiliencyenablement(Simianarmyhttp://nflx.it/SPeTGj)
77. MADRID · NOV 21-22 · 2014
Tooling
Applicationprofilers
APM
New Relic
App Insights
Raygun
CompuwareAPM
78. MADRID · NOV 21-22 · 2014Artifact and metadata repositoriesBinaries repositoryTFS Build Drops folderReporting system (receives data from all stages) TFS Reporting – tracks Cycle Time, MTTR & MTBF Custom TFS Reporting on Work ItemsCommit stage TFS Build Definition, customized from Default templateCodeGet dependencies (package restore) BuildCommit testsContinuous integrationCode analysisBasic functional tests (manual) Version artifactsName the pipeline instance (set the build number) Update the artifact repositoryUpdate the Symbol ServerAcceptance test stage TFS Build Definition, customized from Lab template. MTM for Test Case managementChange configuration (automated) Deployment (automated) MSBuild for WPPowershell for AzureAcceptance tests (automated) MSTest, CodedUI (?) Release stage TFS Build Definition, customized from Lab templateBranch or merge to Release branch (for archiving) Deployment (automated) MSBuild for WPPowershell for AzureSmoke testing (automated) CodedUI (?) Error detection and recovery (resiliency enablement) SCOM-TFS IntegrationIntellitrace in ProductionPreemptive AnalyticsCapacity test stage TFS Build Definition, customized from Lab templateDeployment (automated) MSBuild for WPPowershell for AzureSmoke testing (automated) CodedUI (?) Performance & load testing (automated) Visual Studio perf & load testsEnvironments (automatic provision, locked down so only automated deployments are allowed) Using Lab Manager SCVMM EnvironmentsDevelopment (isolated) Local deploymentto WP and Azure emulatorsTestProductionIteration 6 Pipeline: further improvementsManualtriggerAutomatictriggerVersion Control (code and configuration) TFS Version ControlMain branch (w/ feature toggles) Release branch (for archiving) StagingDeployment & testingtriggered by Test AgentPipeline monitoringCustom solutionUAT stageUAT (manual) Acceptance criteria from TFS requirementsTFS Feedback toolManualtriggerDeployment triggeredby Test AgentUsing deploymentfrom Capacity test stageDeployment & testingtriggered by Test AgentSecurity test stageSecurity tests (manual) WACAAny additional tools? AutomatictriggerUsing deploymentfrom Capacity test stageExploratory test stage TFS Build Definition, customized from Lab templateDeployment (automated) MSBuild for WPPowershell for AzureExploratory testing (manual) MTMManualtriggerExploratoryTestDeployment & testingtriggered by Test AgentArtifact repositoryNuGet ServerSymbol ServerTFS Symbol Server
80. MADRID · NOV 21-22 · 2014
Continuouslyimprovethepipeline
Component or architectural changes.
New skills in the team.
New resources, tools, environments.
Reserve time, and make the team accountable for improvement.
82. MADRID · NOV 21-22 · 2014
Thanks!
Jose Luis Soria
ContinuousImprovementManager at Ria Financial
jlsoriat@gmail.com-@jlsoriat
http://geeks.ms/blogs/jlsoria
Slides: http://www.slideshare.net/jlsoria
http://aka.ms/releasepipeline